[Coco] More progress
Steven Hirsch
snhirsch at gmail.com
Sun Dec 28 16:48:16 EST 2008
On Sun, 28 Dec 2008, Boisy Pitre wrote:
> Steve,
>
> mamou cannot process rma style assembler files, just the 'asm' style ones.
> Using 'rma' from toolshed should assemble this code, so try that.
Got it. Thanks!
Coming up with missing symbols at link:
Unresolved references:
_stkcheck hello_c in hello.r
errno io_a in /dd/lib/clib.l
_flacc io_a in /dd/lib/clib.l
memend mem_a in /dd/lib/clib.l
_mtop mem_a in /dd/lib/clib.l
_stbot mem_a in /dd/lib/clib.l
errno syscommon_a in /dd/lib/clib.l
These look like they should be compiler-generated. In Unix, I'd expect
the init stub to define them. What is the equivalent in OS-9? I grepped
through the sources for rlink, rma, cprep, etc. and could find only the
place where code is generated that references, e.g. _stkcheck and errno.
Is there a stub library that needs to be included in the link command?
I'm doing:
$ rlink -l=/dd/lib/clib.l -o=hello hello.r
Steve
p.s. - Something is generating an incorrect psect header, but I worked
around that by changing the language/type byte manually from 0 --> $11.
p.p.s - There is a platform dependency in toolshed that should be
addressed. In rof.h:
typedef struct
{
/* Sync bytes used by the linker to recognize a ROF */
// long h_sync; BZZZT!
// Needs to be:
int h_sync;
When building on 64-bit Linux, a long is 8 bytes. This creates problems
needless to say. I tried specifying -m32 in the build, but that creates a
rash of problems at the point where the rma link runs - something about
object format being invalid for x86_64 architecture?
--
More information about the Coco
mailing list