Re: RFC: bug in load_elf_binary?
From: Jeremy Fitzhardinge
Date: Fri Sep 14 2007 - 14:21:35 EST
Chris Friesen wrote:
> I believe that's correct. It's basically the equivalent of BSS, but
> used for an emulated OS (the app in question is an emulator).
Right.
>> Well, you could make the p_offset the same as the first segment with a
>> non-zero filesz. That should satisfy the elf loader, though it might
>> still confuse things.
>
> Interesting idea. Worth a try.
>
> However, this doesn't address the kernel side of things. Am I correct
> in thinking that the kernel is making an invalid assumption that it
> can find the load_addr based on the first segment?
God, that code is such a tangle. I'm not sure why it particularly cares
about the offset, though perhaps its making sure that (offset %
pagesize) == (vaddr % pagesize), which only matters for filesz>0.
It's not too surprising it falls over with more unconventional ELF files.
>> Why can't you create this mapping at runtime?
>
> Our emulated OS wants to put stuff at fixed addresses in this range,
> so we're trying to keep the loader from allocating stuff there before
> our program gets a chance to start up.
Hm, you might want to have a look at how valgrind gets itself started.
J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/