|
From: Tom H. <to...@co...> - 2005-09-12 10:57:09
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
>> Reserving the bottom 64M doesn't work on amd64 though as, at least on
>> my box, the default load address for an executable is 0x400000 which is
>> only 4M.
>>
>> I has to reduce spacem_minAddr to 0x400000 to make it work on amd64.
>
> Ok, interesting.
>
> What do you get from
>
> ./none/none -d -d --trace-signals=yes --trace-syscalls=yes date
Well I have also had to hack VG_(main_thread_wrapper_NORETURN) in
the amd64 code to match what you did in the x86 code and also, since
your data segment commit this morning I have had to tweak map_base
in load_client but with those hacks and the above change to the amount
of reserved memory I get:
--5358:1:debuglog DebugLog system started by Stage 2 (main), level 2 logging requested
--5358:1:main Welcome to Valgrind version 3.1.ASPACEM debug logging
--5358:1:main Checking current stack is plausible
--5358:1:main Checking initial stack was noted
--5358:1:main Starting the address space manager
--5358:2:aspacem sp_at_startup = 0x7FFFFFED7AB0 (supplied)
--5358:2:aspacem minAddr = 0x00400000 (computed)
--5358:2:aspacem maxAddr = 0x3FFFFFFFF (computed)
--5358:2:aspacem cStart = 0x00400000 (computed)
--5358:2:aspacem vStart = 0x200200000 (computed)
--5358:2:aspacem suggested_clstack_top = 0x3FF000FFF (computed)
--5358:2:aspacem <<< SHOW_SEGMENTS: Initial layout (0 segments, 0 segnames)
--5358:2:aspacem 0: RSVN 00000000-003FFFFF 4194304 ---- SmFixed
--5358:2:aspacem 1: 00400000-2001FFFFF 8190m
--5358:2:aspacem 2: RSVN 200200000-200200FFF 4096 ---- SmFixed
--5358:2:aspacem 3: 200201000-3FFFFFFFF 8189m
--5358:2:aspacem 4: RSVN 400000000-FFFFFFFFFFFFFFFF 17592186028032m ---- SmFixed
--5358:2:aspacem >>>
--5358:2:aspacem Reading /proc/self/maps
--5358:2:aspacem 0: FILE 70000000-7011CFFF 1167360 r-x- d=0xFD00 i=7704126 o=0 (0)
--5358:2:aspacem 0: FILE 7021C000-70225FFF 40960 rw-- d=0xFD00 i=7704126 o=1163264 (0)
--5358:2:aspacem 0: ANON 70226000-708E9FFF 7094272 rw-- d=0x000 i=0 o=0 (-1)
--5358:2:aspacem 0: ANON 7FFFFFEC4000-7FFFFFED8FFF 86016 rw-- d=0x000 i=0 o=0 (-1)
--5358:2:aspacem 0: ANON FFFFFFFFFF600000-FFFFFFFFFFDFFFFF 8388608 ---- d=0x000 i=0 o=0 (-1)
--5358:2:aspacem <<< SHOW_SEGMENTS: With contents of /proc/self/maps (0 segments, 1 segnames)
--5358:2:aspacem ( 0) /home/thh/src/valgrind-aspacem/none/none
--5358:2:aspacem 0: RSVN 00000000-003FFFFF 4194304 ---- SmFixed
--5358:2:aspacem 1: 00400000-6FFFFFFF 1788m
--5358:2:aspacem 2: FILE 70000000-7011CFFF 1167360 r-x- d=0xFD00 i=7704126 o=0 (0)
--5358:2:aspacem 3: 7011D000-7021BFFF 1044480
--5358:2:aspacem 4: FILE 7021C000-70225FFF 40960 rw-- d=0xFD00 i=7704126 o=1163264 (0)
--5358:2:aspacem 5: ANON 70226000-708E9FFF 7094272 rw-- d=0x000 i=0 o=0 (-1)
--5358:2:aspacem 6: 708EA000-2001FFFFF 6393m
--5358:2:aspacem 7: RSVN 200200000-200200FFF 4096 ---- SmFixed
--5358:2:aspacem 8: 200201000-3FFFFFFFF 8189m
--5358:2:aspacem 9: RSVN 400000000-7FFFFFEC3FFF 134201342m ---- SmFixed
--5358:2:aspacem 10: ANON 7FFFFFEC4000-7FFFFFED8FFF 86016 rw-- d=0x000 i=0 o=0 (-1)
--5358:2:aspacem 11: RSVN 7FFFFFED9000-FFFFFFFFFF5FFFFF 17592051826679m ---- SmFixed
--5358:2:aspacem 12: ANON FFFFFFFFFF600000-FFFFFFFFFFDFFFFF 8388608 ---- d=0x000 i=0 o=0 (-1)
--5358:2:aspacem 13: RSVN FFFFFFFFFFE00000-FFFFFFFFFFFFFFFF 2097152 ---- SmFixed
--5358:2:aspacem >>>
--5358:1:main Address space manager is running
--5358:1:main Starting the dynamic memory manager
--5358:1:mallocfr newSuperblock at 0x200201000, for VALGRIND, 1048552 payload bytes
--5358:1:main Dynamic memory manager is running
--5358:1:main Doing scan_auxv()
--5358:1:main Preprocess command line opts
--5358:1:main Loading client
--5358:1:main Setup client env
--5358:1:main preload_string = /tmp/valgrind-aspacem/lib/valgrind/vg_preload_core.so:/tmp/valgrind-aspacem/lib/valgrind/vgpreload_memcheck.so
--5358:1:main Setup client stack
--5358:2:main Client info: entry=0x400009E0 client_SP=0x3FEFFEC80 vg_argc=5 brkbase=0x50B000
--5358:1:main Setup client data (brk) segment
--5358:0:aspacem <<< SHOW_SEGMENTS: Before reserving data segment (0 segments, 1 segnames)
--5358:0:aspacem ( 0) /home/thh/src/valgrind-aspacem/none/none
--5358:0:aspacem 0: RSVN 00000000-003FFFFF 4194304 ---- SmFixed
--5358:0:aspacem 1: file 00400000-00409FFF 40960 r-x- d=0x000 i=0 o=0 (-1)
--5358:0:aspacem 2: 0040A000-00508FFF 1044480
--5358:0:aspacem 3: file 00509000-0050AFFF 8192 rw-- d=0x000 i=0 o=36864 (-1)
--5358:0:aspacem 4: 0050B000-3FFFFFFF 1018m
--5358:0:aspacem 5: file 40000000-40019FFF 106496 r-x- d=0x000 i=0 o=0 (-1)
--5358:0:aspacem 6: 4001A000-40118FFF 1044480
--5358:0:aspacem 7: file 40119000-4011AFFF 8192 rw-- d=0x000 i=0 o=102400 (-1)
--5358:0:aspacem 8: 4011B000-6FFFFFFF 766m
--5358:0:aspacem 9: FILE 70000000-7011CFFF 1167360 r-x- d=0xFD00 i=7704126 o=0 (0)
--5358:0:aspacem 10: 7011D000-7021BFFF 1044480
--5358:0:aspacem 11: FILE 7021C000-70225FFF 40960 rw-- d=0xFD00 i=7704126 o=1163264 (0)
--5358:0:aspacem 12: ANON 70226000-708E9FFF 7094272 rw-- d=0x000 i=0 o=0 (-1)
--5358:0:aspacem 13: 708EA000-2001FFFFF 6393m
--5358:0:aspacem 14: RSVN 200200000-200200FFF 4096 ---- SmFixed
--5358:0:aspacem 15: ANON 200201000-200300FFF 1048576 rwx- d=0x000 i=0 o=0 (-1)
--5358:0:aspacem 16: 200301000-3FE800FFF 8165m
--5358:0:aspacem 17: RSVN 3FE801000-3FEFFDFFF 8376320 ---- SmUpper
--5358:0:aspacem 18: anon 3FEFFE000-3FF000FFF 12288 rwx- d=0x000 i=0 o=0 (-1)
--5358:0:aspacem 19: 3FF001000-3FFFFFFFF 15m
--5358:0:aspacem 20: RSVN 400000000-7FFFFFEC3FFF 134201342m ---- SmFixed
--5358:0:aspacem 21: ANON 7FFFFFEC4000-7FFFFFED8FFF 86016 rw-- d=0x000 i=0 o=0 (-1)
--5358:0:aspacem 22: RSVN 7FFFFFED9000-FFFFFFFFFF5FFFFF 17592051826679m ---- SmFixed
--5358:0:aspacem 23: ANON FFFFFFFFFF600000-FFFFFFFFFFDFFFFF 8388608 ---- d=0x000 i=0 o=0 (-1)
--5358:0:aspacem 24: RSVN FFFFFFFFFFE00000-FFFFFFFFFFFFFFFF 2097152 ---- SmFixed
--5358:0:aspacem >>>
--5358:1:main Setup file descriptors
--5358:1:main Initialise the tool
==5358== Nulgrind, a binary JIT-compiler.
==5358== Copyright (C) 2002-2005, and GNU GPL'd, by Nicholas Nethercote.
==5358== Using LibVEX rev 1363, a library for dynamic binary translation.
==5358== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==5358== Using valgrind-3.1.ASPACEM, a dynamic binary instrumentation framework.
==5358== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
--5358:1:main Initialise scheduler
--5358:1:main Initialise thread 1's state
--5358:1:main Initialise signal management
--5358-- Max kernel-supported signal is 64
--5358:1:main Initialise TT/TC
--5358:1:main Initialise redirects
--5358:1:mallocfr newSuperblock at 0x200301000, for VALGRIND, 1048552 payload bytes
--5358:1:main Tell tool about permissions for asm helpers
==5358== For more details, rerun with: -v
==5358==
--5358:1:mallocfr newSuperblock at 0x200401000, for VALGRIND, 1048552 payload bytes
--5358:1:main
--5358:1:main
--5358:1:aspacem <<< SHOW_SEGMENTS: Memory layout at client startup (0 segments, 1 segnames)
--5358:1:aspacem ( 0) /home/thh/src/valgrind-aspacem/none/none
--5358:1:aspacem 0: RSVN 00000000-003FFFFF 4194304 ---- SmFixed
--5358:1:aspacem 1: file 00400000-00409FFF 40960 r-x- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 2: 0040A000-00508FFF 1044480
--5358:1:aspacem 3: file 00509000-0050AFFF 8192 rw-- d=0x000 i=0 o=36864 (-1)
--5358:1:aspacem 4: anon 0050B000-0050BFFF 4096 rwx- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 5: RSVN 0050C000-00D0AFFF 8384512 ---- SmLower
--5358:1:aspacem 6: 00D0B000-3FFFFFFF 1010m
--5358:1:aspacem 7: file 40000000-40019FFF 106496 r-x- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 8: 4001A000-40118FFF 1044480
--5358:1:aspacem 9: file 40119000-4011AFFF 8192 rw-- d=0x000 i=0 o=102400 (-1)
--5358:1:aspacem 10: 4011B000-6FFFFFFF 766m
--5358:1:aspacem 11: FILE 70000000-7011CFFF 1167360 r-x- d=0xFD00 i=7704126 o=0 (0)
--5358:1:aspacem 12: 7011D000-7021BFFF 1044480
--5358:1:aspacem 13: FILE 7021C000-70225FFF 40960 rw-- d=0xFD00 i=7704126 o=1163264 (0)
--5358:1:aspacem 14: ANON 70226000-708E9FFF 7094272 rw-- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 15: 708EA000-2001FFFFF 6393m
--5358:1:aspacem 16: RSVN 200200000-200200FFF 4096 ---- SmFixed
--5358:1:aspacem 17: ANON 200201000-200300FFF 1048576 rwx- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 18: ANON 200301000-200400FFF 1048576 rwx- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 19: ANON 200401000-200500FFF 1048576 rwx- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 20: 200501000-3FE800FFF 8163m
--5358:1:aspacem 21: RSVN 3FE801000-3FEFFDFFF 8376320 ---- SmUpper
--5358:1:aspacem 22: anon 3FEFFE000-3FF000FFF 12288 rwx- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 23: 3FF001000-3FFFFFFFF 15m
--5358:1:aspacem 24: RSVN 400000000-7FFFFFEC3FFF 134201342m ---- SmFixed
--5358:1:aspacem 25: ANON 7FFFFFEC4000-7FFFFFED8FFF 86016 rw-- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 26: RSVN 7FFFFFED9000-FFFFFFFFFF5FFFFF 17592051826679m ---- SmFixed
--5358:1:aspacem 27: ANON FFFFFFFFFF600000-FFFFFFFFFFDFFFFF 8388608 ---- d=0x000 i=0 o=0 (-1)
--5358:1:aspacem 28: RSVN FFFFFFFFFFE00000-FFFFFFFFFFFFFFFF 2097152 ---- SmFixed
--5358:1:aspacem >>>
--5358:1:main
--5358:1:main
--5358:1:main Running thread 1
--5358:1:syswrap- entering VG_(main_thread_wrapper_NORETURN)
--5358:1:syswrap- run_a_thread_NORETURN(tid=1): ML_(thread_wrapper) called
--5358:1:core_os ML_(thread_wrapper)(tid=1): entry
--5358:1:transtab allocate sector 0
SYSCALL[5358,1]( 12) sys_brk ( 0x0 ) --> [pre-success] Success(0x50B000)
SYSCALL[5358,1]( 9) sys_mmap2 ( 0x0, 4096, 3, 34, -1, 0 )
--5358:0:aspacem Valgrind: FATAL: find_map_space
--5358:0:aspacem Exiting now.
The file mappings at 0x40000000 are ld.so because that is what I have
set map_base to in load_client.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|