This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: static link with relocations
Hello
[éçåè - 13 è][éèåè]
I want to port binutils to a platform(EFI Binary Code Virtual Machine). The
image of that platform is static link, but they contain relocations.
Does binutils have build in assumption that static image don't contain
relocations??(ie. Does binutils support the model that static image contain
relocations??)
Do they use the same format as native EFI codes? If yes,
you need to link as PIE. I fixed an PIE bug recently for EFI:
http://www.sourceware.org/bugzilla/show_bug.cgi?id=11396
Yes, they use the same format as native EFI codes(object file format
COFF, excutable format PE32+).
The problem I ask is because of a discussion of EDK mailing list.
http://sourceforge.net/mailarchive/forum.php?thread_name=7C0E3215-191D-4B58-BC2B-D273281608F1%40apple.com&forum_name=edk2-devel
The memory model of EFI in IA32 is Basic Flat Model(3.2.1 in Intel 64
and IA-32 Architectures Software Developerâs Manual Volume 3A:System
Programming Guide, Part 1), which means every selector defines the
entire address space.
Because PE/COFF is designed to be run at any address, and determined
the relocations at loading time. The load address could also change if
the sequence of loads was different. The source code of loader in EFI
is:
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdePkg/Library/BasePeCoffLib/BasePeCoff.c
So I wondering whether binutils support static link image with
relocation model. I have survey the bug you fixed. In my opinion,
binutils support this model, Is it??
tnanks for you to be my mentor.
yi-hong