sergei
|
35439c0e1d
* Moved creation of GOT section into separate virtual method.
|
пре 12 година |
pierre
|
8b4603ed51
Set OSABI in elf header for openbsd OS, contributed by Pascal Stumpf
|
пре 12 година |
sergei
|
0196c62ee8
+ Initial work to support versions of ELF dynamic symbols.
|
пре 12 година |
sergei
|
c73ec250a6
+ Endian-swapping procedures for version (TElfverneed, etc.) records.
|
пре 12 година |
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 година |
sergei
|
00ca4a74a3
* Reworked/fixed TExeSymbol.State behavior:
|
пре 12 година |
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 година |
sergei
|
a7eab8ff67
* TElfObjInput: Factored section creation code into separate method which can be called by CPU-specific routines.
|
пре 12 година |
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 година |
sergei
|
67a41e1e94
* Fixed 2 bugs introduced in r22951:
|
пре 12 година |
sergei
|
c4d8396158
* Function RelocName made a member of TElfTarget, so it can be used outside of TElfExeOutput class.
|
пре 12 година |
sergei
|
d79761c607
* Changed TElfTarget from class to record, so it can contain data members while remaining statically allocated.
|
пре 12 година |
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 година |
sergei
|
8688f5e7b9
* Moved ELF definitions into a separate unit, which can be reused by CPU back-end units.
|
пре 12 година |
sergei
|
129d737523
+ Allow TObjRelocation to be created without a symbol, such relocations are being used to tag specific positions on non-x86 targets.
|
пре 12 година |
sergei
|
a730830c19
* Factored code for allocating GOT slots into TElfExeOutput.AllocGOTSlot.
|
пре 12 година |
sergei
|
a7e7d97da6
* ELF linker: fixed written values of STT_TLS symbols, they must be relative to PT_TLS segment address.
|
пре 12 година |
sergei
|
0369a30f49
* Internal linker: made sec_rodata_norel read-only.
|
пре 12 година |
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 година |
sergei
|
1aea22a6ca
+ Internal linker: generic and ELF-specific support for grouped sections, allow same symbol to be defined in several COMDAT groups.
|
пре 12 година |
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 година |
sergei
|
d019670495
- Removed generic implementation of TObjData.sectionname, its existence is useless because it is completely overridden by all TObjData descendants.
|
пре 12 година |
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 година |
sergei
|
6023f73e2a
* ELF linker: improved dynamic symbol handling.
|
пре 12 година |
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.
|
пре 12 година |
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.
|
пре 12 година |
sergei
|
c41b407119
* Changed TObjSection.WriteStr method to write a zero byte after the string.
|
пре 13 година |
sergei
|
c529356693
* Split most CPU-specific code from ogelf.pas into newly created cpuelf.pas units in CPU subdirectories.
|
пре 13 година |
sergei
|
f14e038172
+ Implemented writeReloc_internal method for TElfObjSection.
|
пре 13 година |
sergei
|
95535ea845
- Do not create any default object sections. On targets with section-based smartlink these sections remain empty and only cause linker to do useless job of removing them. The same happens when loading object files because duplicate section names are allowed at that time. On targets without smartlink they don't stay empty, but the internal assembler creates sections when required, so not creating initial sections effectively doesn't change anything.
|
пре 13 година |