From: Hannah S. <ha...@sc...> - 2005-08-02 16:55:19
|
Hello! On Mon, Aug 01, 2005 at 01:58:29PM -0700, Dave Roberts wrote: >[...] >> I believe either of the following solutions would work: >> 1) Be able to handle relocating its core file. >> 2) Mark the sections of memory the core file must load into as >> reserved in an ELF section in the sbcl binary. >> Option 1 would be the best. Obviously it'll be slower to relocate >> than not to, so base addresses that will work for most systems >> without relocation would still be a good idea. However, at least, >> then, it will work for sure everywhere. >Is there any way to actually get the loader to do this for us? I'm >thinking about a dump algorithm that links the core file with an SBCL >runtime and creates an ELF. That way, not only is the memory region >reserved in the ELF, the data is actually present there, too. Since SBCL >carries its tag bits in the lower bits of an address, they should be >transparent to the loader, no? I'm not an ELF expert by any means, so >this may be a stupid idea. It's possible to include an additional section in the ELF file. ELF file sections specify their size, their offset in the file and the address they should be mapped to (and the mapping is fixed, so no need for relocation), and a few flags. Would be similar to the .data section usually present in any C program, which is never relocated either. >[...] Kind regards, Hannah. |