Commit History

Author SHA1 Message Date
  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