|
From: vijay n. <vi...@gm...> - 2012-09-17 08:24:33
|
Hi,
I have an executable whose start address(__executable__start) has been
modified using custom linker script. Valgrind bails out
with the following error.
PROVIDE (__executable_start = 0x00048000); . = 0x00048000 + SIZEOF_HEADERS;
>> linker script for modifying executable start.
valgrind: mmap(0x48000, 251879424) failed in UME with error 22 (Invalid
argument).
valgrind: this can be caused by executables with very large text, data or
bss segments.
Below is the program header details of the executable.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x00048034 0x00048034 0x000e0 0x000e0 R E 0x4
INTERP 0x000114 0x00048114 0x00048114 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x00048000 0x00048000 0xf035094 0xf035094 R E
0x1000
LOAD 0xf035094 0x0f07e094 0x0f07e094 0x39f9d48 0x6237198 RW
0x1000
DYNAMIC 0xf08b578 0x0f0d4578 0x0f0d4578 0x000f0 0x000f0 RW 0x4
NOTE 0x000128 0x00048128 0x00048128 0x00020 0x00020 R 0x4
STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
Is it possible to edit configure.in script so that valgrind's memory
mapping doesn't collide with that of my executable ?
Vijay Nag
|
|
From: vijay n. <vi...@gm...> - 2012-09-17 08:34:51
|
Hi Julian, Current value is hard coded to "0x38000000". If my executable start is at 0x00048000 and what should be the value of "valt_load_address_pri_norml" in such a case so that there is no overlap ? Vijay Nag On Mon, Sep 17, 2012 at 1:55 PM, Julian Seward <ju...@va...> wrote: > > > Is it possible to edit configure.in script so that valgrind's memory > > mapping doesn't collide with that of my executable ? > > Yes. Change "valt_load_address_pri_norml". > > J > -- Vijay Nag Software Engineer Mobile Internet Technology Group(MITG) Cisco Systems Mobile+:91 9844802808 Office Ph: 40675451 Skype ID:vijunag Official Mail Id: vi...@ci... |
|
From: vijay n. <vi...@gm...> - 2012-09-27 07:22:43
|
Hi Julian, After meddling with valt_load_address_pri_normal in configure.in script i see a strange error. Valgrind somehow doesn't seem to load the symbol table. I get the following warning ==10176== warning: mmap failed on /usr/sbin/boxer ==10176== no symbols or debug info loaded --10176-- Reading syms from /usr/test/lib/valgrind/memcheck-x86-linux (0x58000000) --10176-- object doesn't have a dynamic symbol table Is this a known issue and is there any fix for this ? Vijay Nag ---------- Forwarded message ---------- From: vijay nag <vi...@gm...> Date: Mon, Sep 17, 2012 at 2:04 PM Subject: Re: [Valgrind-users] text, bss or data size too big error To: Julian Seward <ju...@va...> Cc: val...@li... Hi Julian, Current value is hard coded to "0x38000000". If my executable start is at 0x00048000 and what should be the value of "valt_load_address_pri_norml" in such a case so that there is no overlap ? Vijay Nag On Mon, Sep 17, 2012 at 1:55 PM, Julian Seward <ju...@va...> wrote: > > > Is it possible to edit configure.in script so that valgrind's memory > > mapping doesn't collide with that of my executable ? > > Yes. Change "valt_load_address_pri_norml". > > J > |