Amiga Future Chefredaktion
Joined: 05 Jun 2001
|Posted: 18.05.2017 - 08:40 Post subject: vlink 0.16 released
vlink released in the Version 0.16.
Fixed a potential crash when linking with empty object files, while using a linker script.
(ados/ehf): Support blink/slink linker symbols _RESLEN, _RESBASE, _NEWDATAL for generating resident (pure) programs.
(ados/ehf): Fixed SAS/C-compatibility linker symbol __BSSLEN. Now it represents the number of long words instead of the number of bytes. WARNING! Make sure to check your code, if you used __BSSLEN before!
(ados/ehf): AmigaOS LoadSeg() (up to V40) has a problem with allocating data-bss sections, which have an initialized size of 0. Implemented a workaround for this case.
(elf) Fixed crash in dynamic linking due to section-trimming.
(elf,aout) Malformatted library archive files are no longer fatal, but will be ignored.
(rawseg) Do not write output sections marked with NOLOAD.
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!
Chefredaktion Amiga Future