Commit History

Author SHA1 Message Date
  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 years ago
  sergei c41b407119 * Changed TObjSection.WriteStr method to write a zero byte after the string. 13 years ago
  sergei c529356693 * Split most CPU-specific code from ogelf.pas into newly created cpuelf.pas units in CPU subdirectories. 13 years ago
  sergei f14e038172 + Implemented writeReloc_internal method for TElfObjSection. 13 years ago
  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 years ago
  sergei 944189f046 - don't supply sh_link and sh_info members to TElfObjSection.create_ext. 13 years ago
  sergei d4b7a6a9bd + Added some more ELF definitions 13 years ago
  sergei 3b3da49ad6 * Merged TElfObjSection.secshidx and TCoffObjSection.secidx into TObjSection.index. 13 years ago
  sergei 27f342225a * Changed most fields of ELF structures to unsigned, to conform to their official declarations. 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 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 years ago
  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 years ago
  sergei bd7ebdce18 * ELF relocation cleanup/improvement: 13 years ago
  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 years ago
  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 years ago
  sergei cc5fda2a1e + ogelf.pas: added definitions for program headers and .dynamic section, and reformatted existing ones to reduce line count. 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 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 years ago
  sergei 747cd55b09 * Fixed 64-bit ELF program header definition (field order is different from 32-bit counterpart!) 13 years ago
  sergei 14d66a64a4 + Definitions and utility functions for executable ELF files 13 years ago
  sergei 71c8b9cf8a * ogelf.pas: cleaned up code that creates default sections. 13 years ago
  Jonas Maebe 14cfe770a4 * replaced most (if not all) remaining fields/parameters in the compiler 13 years ago
  sergei cd89a90841 * Cleanup: removed empty destructors and redundant 'with' statement. 13 years ago
  Jonas Maebe ac43eb9b70 + generic implementation of ReplaceForbiddenAsmSymbolChars() instead 13 years ago
  pierre 06c362c02f Accept x86_64_netbsd system for elf64 object writer 13 years ago
  pierre 58ef9b63dd Accept i386/x86_64 openbsd systems for elf object writer 13 years ago
  pierre 98c7a5e4b0 * Enable internal elf writer for freebsd x86_64 target 13 years ago
  sergei 6ee77d9088 + ogelf.pas: support relocation of type R_X86_64_32 which is apparently used by DWARF3 debug info. 14 years ago
  sergei e3050439a8 * Reverted r17556 and replaced it with more generic handling of 'rela'-styled relocations. Resolves #19416. 14 years ago
  sergei 9c27a802a0 * When relocating local symbols on x86_64, put symbol address into addend field of the relocation, resolves #13671. 14 years ago