Newsgroups: comp.unix.aux
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!caen!ox.com!math.fu-berlin.de!fauern!ira.uka.de!smurf!urlichs
From: urlichs@smurf.sub.org (Matthias Urlichs)
Subject: Re: MacApp->C++->A/UX
Message-ID: <GK7__1=@smurf.sub.org>
Date: Sat, 20 Apr 1991 05:09:56    
Organization: University of Karlsruhe, FRG
References: <3151@skivs.UUCP> <51729@apple.Apple.COM>
Lines: 158

In comp.unix.aux, article <51729@apple.Apple.COM>,
  ksand@Apple.COM (Kent Sandvik) writes:
< 
< Hmm, a better question would be "Are there any plans to support COFF
< format from the MPW environment?"

It's possible to convert COFF to MPW.

The main problem is that due to the nonrelocatability of COFF code, if you
want to link COFF stuff you have to put everything in data space (i.e.
A5-relative). This includes the executable code.
If you want to convert /lib/libc.a, you'll have to split it into its
constituent object files first.

Converter script follows. (Warning: It's written in perl.)
After conversion, you'll have to say "setfile -t 'OBJ ' name".

The converter is able to prefix external names with some standard symbol so
you can avoid naming conflicts.

Is there any good way to feed object code back into the assembler? Dumpobj
isn't very good at producing reasemblable output. Maybe an additional option
for dumpobj is in order here; it would certainly simplify things.
Apple?

begin 755 coff2obj.Z
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
AT"=`P!7@(`/N#IR%!9$L&H8'@@F*4`ZL`0U4@`9)8U``
`
end

-- 
Matthias Urlichs -- urlichs@smurf.sub.org -- urlichs@smurf.ira.uka.de     /(o\
Humboldtstrasse 7 - 7500 Karlsruhe 1 - FRG -- +49-721-621127(0700-2330)   \o)/
