top | item 40344891

(no title)

jjuran | 1 year ago

Yes and no. The MacRelix toolchain does, in a very trivial sense, generate Metrowerks-compatible object files, because mwcc is ultimately a wrapper around the Metrowerks-proprietary MWC68K and MWCPPC tools that run in MPW.

I reverse-engineered enough of the .o header format so that MacRelix's ar and ld could retrieve architecture and runtime information from a static library instead of making the caller provide it via a switch.

Separately, I've been writing post-linkers that patch or rewrite the Metrowerks-provided startup code in 68K code resources. The next step on this path might be writing my own compatible linker.

discuss

order

memsom|1 year ago

I'll come find you on Github, but I'd certainly be interested in getting involved in a Metrowerks compatible linker. The BeOS toolchain suffers from being so old that nothing modern compiles anymore and so this combined with other projects might make a replacement more viable. Because BeOS PowerPC uses PEF as the linker and a load of the support code is in the form of object code (they pretend to be static libs, but they are just object files) and as the API is in C++ and uses whatever the MW standard mangling was, replacing the linker without the object file format is not really viable.