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
|
0c32756ef3
- removed TCoffObjData.afteralloc, calculating MemPos there is useless because every call to afteralloc is immediately followed by call to TObjData.resetsections that resets all MemPos back to zero.
|
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
|
5be97c7c9e
- Removed TDJCoffObjSection,TPECoffObjSection,TCoffExeSection,TPECoffExeSection,TDJCoffExeSection. These only add complication and no value.
|
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
|
4e95b50344
* Improved performance of COFF object reader: handle string table as array of chars instead of stream, use Pos instead of Copy to determine if name starts with the given chars.
|
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
|
1c271251f8
- Removed tcoffexeoutput.FCoffSyms, it is never used (symbols are written directly to the output)
|
13 years ago |
sergei
|
3a89544cd6
+ Internal linker for go32v2:
|
13 years ago |
sergei
|
8814f56081
* Fixed oso_debug section attribute being not preserved while reading/writing DJCOFF object files.
|
13 years ago |
sergei
|
35e3e363dd
* Changed writing section symbols to use storage class COFF_SYM_LOCAL (3), this is what is used by both GCC and MSVC. Previously used COFF_SYM_SECTION (104) is accepted by GNU binutils, but only for PE targets (and silently converted to COFF_SYM_LOCAL), for DJGPP it issues warnings.
|
13 years ago |
sergei
|
bbb08bbf66
ogcoff.pas:
|
13 years ago |
sergei
|
dc03282cb7
+ Support assembling expressions ".long L2-L1" where label L1 belongs to the current objsection and L2 comes from any objsection. This is done using relative relocations and is compatible with GNU AS.
|
13 years ago |
Jonas Maebe
|
14cfe770a4
* replaced most (if not all) remaining fields/parameters in the compiler
|
13 years ago |
Jonas Maebe
|
ac43eb9b70
+ generic implementation of ReplaceForbiddenAsmSymbolChars() instead
|
13 years ago |
sergei
|
0b16c3565a
* Don't reject IMAGE_REL_ARM_SECREL relocations, Mantis #20467
|
14 years ago |
florian
|
111d05c68f
o patch by Alexander Shishkin, resolves #20409
|
14 years ago |
sergei
|
6280ee2eed
* Changed attributes of .pdata section so it is smart-linkable on x86_64.
|
14 years ago |
sergei
|
392dafd175
* Another attempt to align section raw data size in COFF headers. Without this, image modification WinAPIs like BeginUpdateResource/EndUpdateResource typically corrupt the image. Resolves #16852 (at least partially).
|
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 |
sergei
|
5d5ddbbe3e
* Revert rounding section data size, it should be done in a more sophisticated way
|
14 years ago |
sergei
|
2d96c34b06
* Improvements to PE executable output:
|
14 years ago |
pierre
|
372b16b2e6
* Look for __FPC_tls_callbacks, should be reset to nil for DLLs, not yet done
|
14 years ago |
pierre
|
30feeff3c2
+ TlsDirectory handling code
|
14 years ago |
florian
|
f328b6d635
+ user section type
|
14 years ago |
pierre
|
fd2b777435
* ogcoff.pas:
|
14 years ago |
pierre
|
fa4b4906e6
* ogcoff.pas: Add support for RELOC_SECREL32.
|
15 years ago |
pierre
|
7c04d8d13b
From patch submitted by Willibald Krenn in Bug Report 17500.
|
15 years ago |
florian
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 years ago |