💾 Archived View for amigadu.de › af › 39616_en.gmi captured on 2022-03-01 at 15:08:39. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Go to the original message on the web >
Published: Sunday, 27 February 2022 - 16:10:36 (+0100)
Written by: AndreasM
vlink released in the Version 0.17.
vlink is a portable linker, written in ANSI-C, that can read and write a wide range of object- and executable file formats. It can be used to link a specific target format from several different input file formats, or for converting, stripping and manipulating files.
The linker can be controlled by GNU-style linker scripts to generate absolute code, but it also runs very well with default rules to create relocatable executables, as required for AmigaOS or MorphOS.
Of course there might be technical restrictions that object files of different architectures cannot be merged because of incompatible relocation types, differing endianess or symbol-names with and without leading underscores. But in theory everything is possible!
http://sun.hasenbraten.de/vlink/
Changes:
Fixed bug when linking different object file formats.
Fixed malformatted output of some error codes for 32-bit hosts.
The string "DONTMERGE_" within a section name is replaced by a unique id to optionally prevent merging with any other section.
Report global symbol name conflicts from linked library objects, except when their definition sections belong to different architectures (needed for linking mixed binaries, like WarpOS 68k/PPC).
Fixed random values from illegal arguments for various "-opt <n>" style options.
Target format option (-b) is now parsed before any other option, so target-specific options may appear in front of it again.
(rawbin) Fixed output of leading empty sections, which don't have the NOLOAD flag.
(rawbin) Fixed file size in AMSDOS header at offset 64.
(a.out) aoutnull must default to 32 bit addresses.
(a.out) Make baserel (small-data) relocations compatible to GNU-binutils.
(ados/ehf) Fixed recognition of EHF objects and libraries.
(ados/ehf) Ignore free-floating debug hunks (SAS/C debug?).
(ados/ehf) New option -broken-debug.
(ados/ehf) Fastcall-ABI constructors/destructors (symbol names starting with '@' instead of '_') replace standard ones, when priority and name is otherwise identical.
(ados/ehf) Fixed EHF symbol redefinition bug since V0.16f.
(tos) Make sure data section size is even. No longer try to add the uninitialized data part to bss.