On 03.03.2012, at 22:02, Alexander Graf wrote: [...]
> > $ qemu-arm -R $(( 0x10000000 )) ./brk > mmap: 0x935000 > current brk: 0xffffffff > 00000000-00008000 ---p 00000000 00:00 0 > 00008000-00009000 r-xp 00000000 08:09 1248935408 /brk > 00009000-00010000 ---p 00000000 00:00 0 > 00010000-00011000 r--p 00000000 08:09 1248935408 /brk > 00011000-00012000 rw-p 00001000 08:09 1248935408 /brk > 00012000-00013000 ---p 00000000 00:00 0 > 00013000-00813000 rw-p 00000000 00:00 0 > 00813000-0082b000 r-xp 00000000 08:09 1248675559 /lib/ld-2.15.so > 0082b000-00832000 ---p 00000000 00:00 0 > 00832000-00833000 r--p 00017000 08:09 1248675559 /lib/ld-2.15.so > 00833000-00834000 rw-p 00018000 08:09 1248675559 /lib/ld-2.15.so > 00834000-00835000 rw-p 00000000 00:00 0 > 00835000-00838000 ---p 00000000 00:00 0 > 00838000-00915000 r-xp 00000000 08:09 1248675566 /lib/libc-2.15.so > 00915000-0091c000 ---p 000dd000 08:09 1248675566 /lib/libc-2.15.so > 0091c000-0091e000 r--p 000dc000 08:09 1248675566 /lib/libc-2.15.so > 0091e000-0091f000 rw-p 000de000 08:09 1248675566 /lib/libc-2.15.so > 0091f000-00922000 rw-p 00000000 00:00 0 > 00922000-0092b000 r-xp 00000000 08:09 1248678464 /lib/libgcc_s.so.1 > 0092b000-00932000 ---p 00009000 08:09 1248678464 /lib/libgcc_s.so.1 > 00932000-00933000 r--p 00008000 08:09 1248678464 /lib/libgcc_s.so.1 > 00933000-00934000 rw-p 00009000 08:09 1248678464 /lib/libgcc_s.so.1 > 00934000-00946000 rw-p 00000000 00:00 0 > 00013000-00813000 rw-p 00000000 00:00 0 [stack] > > qemu's strace says: > 15545 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = > 0x00834000 > [...] > 15545 > mmap2(0x00005000,65536,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,0,0) = > 0x00935000 > [...] > 15545 brk(NULL) = 0x00012000 > 15545 brk(0x00812000) = 0x00012000 > > I wonder who allocates the chunk from 00012000-00013000? I don't see any > syscall returning an address in that range on the trace. Oooh that's our reserved memory range. Yikes. I think I'm slowly grasping what's going wrong here. Alex