]> Shamusworld >> Repos - rln/commit
Add Alcyon C object file support
authorJames Jones <atari@theinnocuous.com>
Sat, 18 Apr 2020 09:45:06 +0000 (02:45 -0700)
committerShamus Hammons <jlhamm@acm.org>
Tue, 16 Aug 2022 02:27:58 +0000 (21:27 -0500)
commit304cdee3e0d3253c22eb380a76e30b32b720bb77
treef2fabcdc093f99294a46d58704c0a099286b4cfa
parentf63e6b2da113c96ec385dce64bc306bb7f68b933
Add Alcyon C object file support

Support ingesting the DRI Alcyon C object file
format in addition to a.out object files. The load
file routine simply translates the Alcyon object
file into an a.out file before passing it on to
the existing processing workflow.

The motivation here was to enable linking of the
binary-only cinepak decompression GPU routines
provided in the developer files. ALN can handle
these files just fine, and now RLN can too.

However, that is a very simple object files To
fully exercise the relocation table translation
code, contrived assembly files with all types of
relocations were assembled as Alcyon C object
files using MADMAC and BSD/a.out object files
using RMAC (Note RMAC had to be used to generate
the a.out files because MADMAC generates invalid
a.out relocations for certain relocation types
that it handles fine in Alcyon format), and then
both object files were linked as COFF executables
using RLN. The resulting COFF files were verified
to be identical.
rln.c
rln.h