This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]