sergei
|
af4935e346
+ Support dynamic copy relocations.
|
12 years ago |
sergei
|
4b925763c3
+ Enable CPU-specific descendants to write specific dynamic tags.
|
12 years ago |
sergei
|
49d7448f44
* Made TElfExeOutput.CreatePLT method protected virtual, so CPU-specific handling can be provided by descendants.
|
12 years ago |
sergei
|
35439c0e1d
* Moved creation of GOT section into separate virtual method.
|
12 years ago |
pierre
|
8b4603ed51
Set OSABI in elf header for openbsd OS, contributed by Pascal Stumpf
|
12 years ago |
sergei
|
0196c62ee8
+ Initial work to support versions of ELF dynamic symbols.
|
12 years ago |
sergei
|
c73ec250a6
+ Endian-swapping procedures for version (TElfverneed, etc.) records.
|
12 years ago |
sergei
|
0aa7204707
+ Added codes of dynamic relocations to TElfTarget; since most targets use similar dynamic relocation model differing only in code values, this will allow to do majority of handling in the base class.
|
12 years ago |
sergei
|
00ca4a74a3
* Reworked/fixed TExeSymbol.State behavior:
|
12 years ago |
sergei
|
a771d68685
* Fixed a bug introduced in r23077: relative_reloc_count must be increased only once per GOT entry, not every time a relocation to that entry is seen.
|
12 years ago |
sergei
|
a7eab8ff67
* TElfObjInput: Factored section creation code into separate method which can be called by CPU-specific routines.
|
12 years ago |
sergei
|
36859068f5
* Propagate AS_NEEDED flag further into Load_DynamicObject and handle it properly: shared objects marked with AS_NEEDED are added to dependencies only if they actually resolve some symbol.
|
12 years ago |
sergei
|
67a41e1e94
* Fixed 2 bugs introduced in r22951:
|
12 years ago |
sergei
|
c4d8396158
* Function RelocName made a member of TElfTarget, so it can be used outside of TElfExeOutput class.
|
12 years ago |
sergei
|
d79761c607
* Changed TElfTarget from class to record, so it can contain data members while remaining statically allocated.
|
12 years ago |
sergei
|
006d795797
* Moved TElfsechdr into interface and cleaned up some ugliness in TElfObjInput code caused by TElfsechdr being not publicly available. Providing target-specific section loading becomes easier now as well.
|
12 years ago |
sergei
|
8688f5e7b9
* Moved ELF definitions into a separate unit, which can be reused by CPU back-end units.
|
12 years ago |
sergei
|
129d737523
+ Allow TObjRelocation to be created without a symbol, such relocations are being used to tag specific positions on non-x86 targets.
|
12 years ago |
sergei
|
a730830c19
* Factored code for allocating GOT slots into TElfExeOutput.AllocGOTSlot.
|
12 years ago |
sergei
|
a7e7d97da6
* ELF linker: fixed written values of STT_TLS symbols, they must be relative to PT_TLS segment address.
|
12 years ago |
sergei
|
0369a30f49
* Internal linker: made sec_rodata_norel read-only.
|
12 years ago |
sergei
|
2c011312db
* Changed TElf32Header and TElf64Header definitions, making them look closer to canonical ones (first 16 bytes are a single array field, addressable via EI_xx indices).
|
12 years ago |
sergei
|
1aea22a6ca
+ Internal linker: generic and ELF-specific support for grouped sections, allow same symbol to be defined in several COMDAT groups.
|
12 years ago |
sergei
|
277200e7ae
+ ELF linker: Support writing RELATIVE dynamic relocations ahead of the rest, and their number in DT_REL[A]COUNT dynamic tag (still needs changes in CPU-specific code to function properly).
|
12 years ago |
sergei
|
d019670495
- Removed generic implementation of TObjData.sectionname, its existence is useless because it is completely overridden by all TObjData descendants.
|
12 years ago |
sergei
|
4410fe86d2
* ELF linker: moved some code (which must be executed only once when linking with separate debug file) from MemPos_Start into AfterUnusedSectionRemoval, this removes some checks and simplifies things.
|
12 years ago |
sergei
|
6023f73e2a
* ELF linker: improved dynamic symbol handling.
|
12 years ago |
sergei
|
6d70009f06
+ ELF linker. Works on x86_64-linux and i386-linux good enough to pass the testsuite, but still requires a lot of work in nearly all aspects. In particular, no attempt to resolve symbols from shared libs is done, everything is just treated as imports. Symbol versioning isn't supported either.
|
13 years ago |
sergei
|
339d06aa58
* When writing section names of .o files, let sh_name of sections with relocations point into names of corresponding relocation sections past the .rel/.rela prefix. In case of smartlinked sections this saves almost half of .shstrtab section size.
|
13 years ago |
sergei
|
c41b407119
* Changed TObjSection.WriteStr method to write a zero byte after the string.
|
13 years ago |