[Coco] Question about compiling C in OS-9
Todd Wallace
dragonbytes at cox.net
Tue Apr 13 15:06:29 EDT 2010
Thanks guys for all your help. Lothan was correct! My text editor was using 0A (LF) instead of 0D (CR). Now that I configured it properly, I had no problem compiling my little test code.
- Todd Wallace
On Apr 13, 2010, at 10:28 AM, Lothan wrote:
> Looking at the c.prep output, your problem is that the entirety of your source file has been dropped. Starting with the line long ftell();, you should see:
>
> long ftell();
> #7
> test1.c
> test1_c
> #5
> 1
> #5
> 1
>
> main(argc, argv)
> {
> printf("testing");
> }
>
> Check the line endings in your source file (should be 0D, not 0A or 0D 0A) and make sure you don't have any extraneous control codes (nothing below 20 other than 0D line endings) or extended ASCII codes (nothing above 7E). If you don't see anything obvious, comment out the include file to see if that makes a difference.
>
> --------------------------------------------------
> From: "Todd Wallace" <dragonbytes at cox.net>
> Sent: Tuesday, April 13, 2010 1:41 AM
> To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
> Subject: Re: [Coco] Question about compiling C in OS-9
>
>> Well, yes I verfied cstart.r and clib.l are in /dd/LIB. im not sure what you mean about patched cc1. but when i tried the link with /d1 it failed and says it cant be found. Just to see, tried compiling your version of the code in case maybe what you added was important. but still the same unresolved reference error. You asked about the output of c.prep so ill paste it below. I dont understand what it means but maybe you might see something wrong. Perhaps my compiler dsk is not quite right. Heres the output of c.prep:
>>
>> {Term|02}/X1/SOURCES:c.prep test.c
>> #7
>> test.c
>> test_c
>> #P
>> test_c
>> 0
>> #7
>> /X1/DEFS/stdio.h
>> stdio_h
>> #5
>> 0
>> #5
>> 2
>> typedef struct _iobuf {
>> char *_ptr,
>> *_base,
>> *_end;
>> int _flag;
>> int _fd;
>> char _save;
>> int _bufsiz;
>> } FILE;
>>
>> extern FILE _iob[16];
>>
>> #5
>> 25
>>
>> #5
>> 29
>>
>> #5
>> 33
>>
>> #5
>> 35
>>
>> #5
>> 43
>>
>> long ftell();
>> #7
>> test.c
>> test_c
>> #5
>> 1
>>
>> On Apr 13, 2010, at 12:45 AM, Lothan wrote:
>>
>>> Have you verified that both cstart.r and clib.l are in /d1/LIB (or /dd/LIB if you have the patched cc1)? If it helps, I just compiled this code:
>>>
>>> #include <stdio.h>
>>>
>>> main(argc, argv)
>>> int argc;
>>> char **argv;
>>> {
>>> printf("testing");
>>> }
>>>
>>> by running "cc1 test.c" (without the quotes of course). This actually runs a shell script named c.com that executes the following:
>>>
>>> c.prep test.c >ctmp.3.m
>>> c.pass1 ctmp.3.m -o=ctmp.3.i
>>> del ctmp.3.m
>>> c.pass2 ctmp.3.i -o=ctmp.3.a
>>> del ctmp.3.i
>>> c.opt ctmp.3.a ctmp.3.o
>>> del ctmp.3.a
>>> c.asm ctmp.3.o -o=ctmp.3.r
>>> del ctmp.3.o
>>> c.link /d1/lib/cstart.r ctmp.3.r -o=test -l=/d1/lib/clib.l
>>> del ctmp.3.r
>>>
>>> As you can see, it links cstart.r and clib.l by default. If you're still getting the unresolved reference, run c.prep manually and list the file it generates to make sure main isn't getting mangled somehow.
>>>
>>> --------------------------------------------------
>>> From: "Todd Wallace" <dragonbytes at cox.net>
>>> Sent: Monday, April 12, 2010 6:42 PM
>>> To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
>>> Subject: [Coco] Question about compiling C in OS-9
>>>
>>>>
>>>> Hey all,
>>>>
>>>> I'm trying to figure out how to use this microware C compiler for OS-9. But I am stumped as to how to resolve this error. If you aren't in to C on OS-9, just disregard this. Below is my little test program and the output from the compiler. If anyone could shed some light on what I'm doing wrong, I'd appreciate it. Thanks :-)
>>>>
>>>> #include "/X1/DEFS/stdio.h"
>>>>
>>>> main(argc,argv)
>>>> {
>>>> printf"testing";
>>>> }
>>>>
>>>> This is the output I get when trying to compile it:
>>>>
>>>> {Term|02}/X1/SOURCES:cc1 test.c
>>>> CC1 VERSION RS 01.00.00
>>>> COPYRIGHT 1983 MICROWARE
>>>> REPRODUCED UNDER LICENSE
>>>> TO TANDY
>>>> 'test.c'
>>>> c.prep:
>>>> c.pass1:
>>>> c.pass2:
>>>> c.opt:
>>>> c.asm:
>>>> c.link:
>>>> Unresolved references:
>>>> main cstart_a in /dd/lib/cstart.r
>>>> linker fatal: unresolved references
>>>>
>>>>
>>>> - Todd Wallace
>>>>
>>>> --
>>>> Coco mailing list
>>>> Coco at maltedmedia.com
>>>> http://five.pairlist.net/mailman/listinfo/coco
>>>
>>> --
>>> Coco mailing list
>>> Coco at maltedmedia.com
>>> http://five.pairlist.net/mailman/listinfo/coco
>>
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/mailman/listinfo/coco
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
More information about the Coco
mailing list