[comp.sys.mips] kermit and cc -i

wbader@islsun1.mse.lehigh.edu (William Bader X84508) (07/06/90)

A while back, someone posted that they had to build kermit by building
wart (a lex-workalike) with -systype bsd43 and the rest of kermit with
-systype sysv.  I played around with compile options, and it seems to me
that the culprit is the '-i' flag in the kermit makefile for sysv kermits.
I have two questions:
1) Does the Mips compiler (or linker) have a problem with '-i', or
is this some subtle bug in ckwart.c that only shows up on Mips computers?
ckwart.c lints cleanly.  I put debug code in the main program, and some
in a function (setstate() ?), and the debug code in the function printed
BEFORE the debug code at the top of the main program.  How can this happen?
2) If '-systype bsd43' simulates a BSD 4.3 environment, why won't it
compile the bsd version of kermit?  Some routines in kermit, like msleep()
in ckutio.c run much more efficiently in a bsd environment.

William Bader
Software Consulting Services
3162 Bath Pike
Nazareth, PA  18064
phone: 215-837-8485
fax:   215-837-8080
email: wbader@scarecrow.csee.lehigh.edu,
       wbader@einstein.mse.lehigh.edu,
       lehi3b15.csee.lehigh.edu!batman!bader

beacker@mips.COM (Bradley Eacker) (07/11/90)

William Bader <WBADER.90Jul5221952@islsun1.mse.lehigh.edu> writes:
>A while back, someone posted that they had to build kermit by building
>wart (a lex-workalike) with -systype bsd43 and the rest of kermit with
>-systype sysv.  I played around with compile options, and it seems to me
>that the culprit is the '-i' flag in the kermit makefile for sysv kermits.
>I have two questions:
>1) Does the Mips compiler (or linker) have a problem with '-i', or
>is this some subtle bug in ckwart.c that only shows up on Mips computers?
>ckwart.c lints cleanly.  I put debug code in the main program, and some
>in a function (setstate() ?), and the debug code in the function printed
>BEFORE the debug code at the top of the main program.  How can this happen?

     The -i flag has a different meaning in the mips linker.  It says
to put the code into the initialization section.  This is not the
separate I & D space flag that is used in other compilers.  ld(1) explains
this in better detail.

>2) If '-systype bsd43' simulates a BSD 4.3 environment, why won't it
>compile the bsd version of kermit?  Some routines in kermit, like msleep()
>in ckutio.c run much more efficiently in a bsd environment.

     The current Makefile that is shipped with the 4.50 environment
has the following defines for the compiler flags:

MAXOPT  =-O1
INCLUDE =
CFLAGS  =$(MAXOPT) $(INCLUDE) $(ECFLAGS) -DSVR3 -DUXIII -DDEBUG -DTLOG
LNKFLAGS=

     These are the necessary flags to build a sysV kermit which is what
the main basis is for RISCos.  You may be able to build a bsd version
by substituting 

	"-systype bsd43 -DBSD4"

inplace of

	"-DSVR3 -DUXIII"

I have not tried this since the sysV version seems to function in
a reasonable fashion.
             Brad Eacker (beacker@mips.com)