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 yıl önce |
sergei
|
944189f046
- don't supply sh_link and sh_info members to TElfObjSection.create_ext.
|
13 yıl önce |
sergei
|
d4b7a6a9bd
+ Added some more ELF definitions
|
13 yıl önce |
sergei
|
3b3da49ad6
* Merged TElfObjSection.secshidx and TCoffObjSection.secidx into TObjSection.index.
|
13 yıl önce |
sergei
|
27f342225a
* Changed most fields of ELF structures to unsigned, to conform to their official declarations.
|
13 yıl önce |
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 yıl önce |
sergei
|
37b8cd1b7a
* If relocation to a local label cannot be translated into (section+offset), then the target symbol must be written into symbol table. Fixes IE 200603012 in number of tests with -Cg on i386-linux (and possibly other targets with internal ELF assembler).
|
13 yıl önce |
sergei
|
1284be72ea
* Fixed alignment of '.data' section, which got accidentally changed from 16 to 8 by r21374, causing e.g. tests/test/tasm3.pp to crash if compiled without -Cg and on target without tf_smartlink_sections. The root problem is not here, however: if appending data with higher alignment to a section with lower alignment, we likely need to raise the alignment of section.
|
13 yıl önce |
sergei
|
bd7ebdce18
* ELF relocation cleanup/improvement:
|
13 yıl önce |
sergei
|
85f6062e05
* Reworked writing ELF symbols into a separate class, TElfSymtab, which is also suitable for creating symbol tables in executable and dynamic ELF files.
|
13 yıl önce |
sergei
|
d0df2b247b
* ogelf.pas: pass objdata into TElfObjSection.create_ext, so sections created via create_ext are 'owned' the same way as ones created via objData.CreateSection.
|
13 yıl önce |
sergei
|
cc5fda2a1e
+ ogelf.pas: added definitions for program headers and .dynamic section, and reformatted existing ones to reduce line count.
|
13 yıl önce |
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 yıl önce |
sergei
|
263b46be86
* ogelf.pas: Changed MaybeSwap* into procedures, makes them more suitable for reuse in the upcoming reader (and reduces amount of copying while writing, too).
|
13 yıl önce |
sergei
|
747cd55b09
* Fixed 64-bit ELF program header definition (field order is different from 32-bit counterpart!)
|
13 yıl önce |
sergei
|
14d66a64a4
+ Definitions and utility functions for executable ELF files
|
13 yıl önce |
sergei
|
71c8b9cf8a
* ogelf.pas: cleaned up code that creates default sections.
|
13 yıl önce |
Jonas Maebe
|
14cfe770a4
* replaced most (if not all) remaining fields/parameters in the compiler
|
13 yıl önce |
sergei
|
cd89a90841
* Cleanup: removed empty destructors and redundant 'with' statement.
|
13 yıl önce |
Jonas Maebe
|
ac43eb9b70
+ generic implementation of ReplaceForbiddenAsmSymbolChars() instead
|
13 yıl önce |
pierre
|
06c362c02f
Accept x86_64_netbsd system for elf64 object writer
|
13 yıl önce |
pierre
|
58ef9b63dd
Accept i386/x86_64 openbsd systems for elf object writer
|
13 yıl önce |
pierre
|
98c7a5e4b0
* Enable internal elf writer for freebsd x86_64 target
|
13 yıl önce |
sergei
|
6ee77d9088
+ ogelf.pas: support relocation of type R_X86_64_32 which is apparently used by DWARF3 debug info.
|
14 yıl önce |
sergei
|
e3050439a8
* Reverted r17556 and replaced it with more generic handling of 'rela'-styled relocations. Resolves #19416.
|
14 yıl önce |
sergei
|
9c27a802a0
* When relocating local symbols on x86_64, put symbol address into addend field of the relocation, resolves #13671.
|
14 yıl önce |
florian
|
f328b6d635
+ user section type
|
14 yıl önce |
florian
|
0be59445f8
+ basic i386-embedded implementation for multiboot by Jeppe Johansen, resolves #15676
|
14 yıl önce |
pierre
|
d2939bce3d
* i386 _GLOBAL_OFFSET_TABLE_ label special treatment moved to taicpu.pass2
|
15 yıl önce |
pierre
|
292e85a59a
* Partial fix for i386 linux PIC code generation
|
15 yıl önce |