sergei
|
d79511f96e
+ Basic ld script parsing capabilities (barely enough to parse glibc2.1 'libc.so' files, lacks any error handling).
|
13 years ago |
sergei
|
ec56677927
+ Added method TObjSection.writeReloc_internal to write relocations to given section+offset without need to have a symbol at target location.
|
13 years ago |
sergei
|
c1e7e9c85e
* TObjData.symbolref: don't lose the weak binding of asm symbol. This fixes tests/tweaklib*.pp at least for Linux x86 targets with internal assembler.
|
13 years ago |
sergei
|
1d09005542
+ Implemented two-stage removal of empty exe sections. Candidates for removal are first marked with oso_disabled flag, then actually removed. Descendants of TExeOutput that override MemPos_Start may modify list of sections pending removal. In particular, the COFF-specific .reloc section no longer has to be handled in base TExeOutput class.
|
13 years ago |
sergei
|
31d004e056
+ Basic executable stack support in TExeOutput.
|
13 years ago |
sergei
|
24c7b7f433
* If alignment requirement of data is bigger than alignment of the section being written to, increase section alignment to match. This mostly affects cases of non-smart linking, where wrong initial alignment used to cause hard to catch misalignment issues. It also largely obsoletes the need to supply the initial section alignment (hidden tai_section constructor,etc).
|
13 years ago |
sergei
|
06844fdb23
* Entirely moved relocation fixup functionality from TObjSection to TExeOutput.
|
13 years ago |
sergei
|
2bc792fe97
* TObjData.FName made protected.
|
13 years ago |
sergei
|
3b3da49ad6
* Merged TElfObjSection.secshidx and TCoffObjSection.secidx into TObjSection.index.
|
13 years ago |
sergei
|
712f5d1c26
- Removed oso_readonly and oso_noload section options, it is enough to have just oso_write and oso_load to express possible section states.
|
13 years ago |
sergei
|
1c5fa5448e
* Do not dereference null pointer, 'real' (not script-provided) common symbols don't have objsection assigned at this point.
|
13 years ago |
sergei
|
65e701a198
* Fixed operation of 'PROVIDE' link script directive (all symbols were incorrectly put into .bss section, instead of locations given by placement of the directive).
|
13 years ago |
sergei
|
c65abdeeae
* Implemented link map generation without involving TObjSection.ObjSymbolDefines, and removed the latter because it isn't used otherwise. The new approach uses CPU/memory only when map generation is requested.
|
13 years ago |
sergei
|
80bbd388f9
* Made removal of unused ExeSymbols a separate procedure, call it earlier and regardless of presence of the 'SYMBOLS' directive in the linker script.
|
13 years ago |
sergei
|
8c8883cc35
* Once TExeOutput is accessible in TObjSection.fixuprelocs, its ImageBase can be used directly, without a need to have a copy in every TObjSection.
|
13 years ago |
sergei
|
bd7ebdce18
* ELF relocation cleanup/improvement:
|
13 years ago |
sergei
|
98fffb7981
* Overloaded MemPos_ExeSection and DataPos_ExeSection accepting a TExeSection instead of name.
|
13 years ago |
sergei
|
7cda919547
* Pass ExeOutput as argument to TObjSection.fixuprelocs, needed for ELF targets to relocate the complex GOT stuff.
|
13 years ago |
sergei
|
807a2f243f
* Fixed control flow after r21492, was causing IE 200602252 if compiling with "-g -Xg" (Mantis #22224)
|
13 years ago |
sergei
|
7d3294b504
* Moved 4 procedures for basic reading/writing TObjSection contents into ogcoff.pas, so they don't have to be reimplemented for every output format.
|
13 years ago |
sergei
|
8814f56081
* Fixed oso_debug section attribute being not preserved while reading/writing DJCOFF object files.
|
13 years ago |
Jonas Maebe
|
6432c82c01
* don't pass property as var-parameter to val()
|
13 years ago |
sergei
|
6280ee2eed
* Changed attributes of .pdata section so it is smart-linkable on x86_64.
|
14 years ago |
sergei
|
c9f92c0323
* Excluded oso_executable from attributes of user sections. User sections may currently be specified only for variables and typed consts, which are not executable.
|
14 years ago |
sergei
|
6a2e87121b
* ogcoff.pas: sort all objsections having '$' in the name, not just .idata$*. This is a documented PECOFF feature and it is required for tls callback stuff to link correctly regardless of the order of declarations in source files.
|
14 years ago |
pierre
|
92c92e1945
* Add oso_keep option to threadvar section if FPC_USE_TLS_DIRECTORY is set
|
14 years ago |
pierre
|
c07bcefb6b
* Fix anumval wrong overwriting as found out by Sergey
|
14 years ago |
pierre
|
239944f8d0
+ Use DLL name in assembler labels used to import DLL functions/variables
|
14 years ago |
pierre
|
1a9f4ba314
* Improve ogbase linker script support, add warnings for unknown entries
|
14 years ago |
florian
|
c97869bd89
* merge user sections support branch
|
14 years ago |