linux-user elf loader issue
Bug #1830415 reported by
antonio barbalace
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Expired
|
Undecided
|
Unassigned |
Bug Description
all versions up to 4.0 (I didn't test others)
file affected linux-user/
function load_elf_image
if (phdr[i].p_type == PT_LOAD) {
- abi_ulong a = phdr[i].p_vaddr - phdr[i].p_offset;
+ abi_ulong a = phdr[i].p_vaddr ; // - phdr[i].p_offset;
if (a < loaddr) {
To the best of my understanding of the elf format p_offset is not a virtual offset. In fact, when I load statically compiled applications, the load fails because the libc before main is trying to access phdr in the executable image but that memory is not mapped -- this is caused by the wrong loaddr above.
To post a comment you must log in.
Have you got a test case? The check-tcg tests all pass and they are statically linked elfs.