vlink is a versatile linker (written by Frank Wille) that can read a variety of
input formats (object files and libraries) and
produce a wide range of absolute or relocatable output formats. It can be
used to link together input files in different formats as well as to convert
object files from one format into another one.
vlink can be driven by linker scripts and is able to locate an arbitrary number
of sections to configurable memory areas as well as it can set linker symbols
controlled by the linker script.
Currently the following object and executable file formats
are supported by vlink:
- ELF 32bit PowerPC big endian
- ELF 32bit PowerPC AmigaOS (special dynamic linking rules)
- ELF 32bit PowerPC MorphOS (relocatable executables)
- ELF 32bit PowerPC PowerUp (relocatable executables)
- ELF 32bit M68k big endian
- ELF 32bit Jaguar RISC big endian
- ELF 32bit x86 little endian
- ELF 32bit x86 AROS (relocatable executables)
- ELF 32bit ARM little endian
- ELF 64bit x86_64 little endian
- a.out Sun/010 (also Amiga/Atari 68000)
- a.out Sun/020 (also Amiga/Atari 68020+)
- a.out MiNT (embedded in Atari TOS format)
- a.out Jaguar (M68k with support for RISC relocations)
- a.out NetBSD/68k (4k and 8k pages)
- a.out NetBSD/386
- a.out PC/386
- a.out generic
- AmigaOS hunk format
- EHF, extended hunk format (WarpOS)
- Atari TOS format (writing only)
- OS-9/6809 modules (writing only)
- o65 binary relocation format V1.3 (6502 and 65816)
- Motorola S-Records (writing only)
- Intel-hex format (writing only)
- AMSDOS format (Amstrad/Schneider CPC)
- Commodore 8-bit PRG format (PET, VIC-20, 64, etc.)
- Apple DOS 3.3 binary format (Apple II)
- Atari 8-bit COM format (400, 600, 800, etc.)
- BBC Micro/Master (.inf for emulator)
- Dragon DOS binary files (Dragon 32 and 64)
- Oric machine code file format (Oric-1, Atmos, Telestrat, Pravetz)
- Tandy Color Computer machine language files (CoCo 1, 2 and 3)
- Raw binaries (writing only)
- VOBJ, proprietary versatile object format (reading only)
Download multi-target Windows (x64) binaries of vbcc/vasm/vlink (19/03/2021).
Download statically-linked multi-target Linux (x64) binaries of vbcc/vasm/vlink (19/03/2021).
Download statically-linked multi-target Linux (arm, e.g. RaspberryPi) binaries of vbcc/vasm/vlink (19/03/2021).
Frank Wille's vlink page.