[comp.mail.mush] Compiling Mush under SysV/386

comp-mail-mush@srhqla.uucp (06/01/89)

From: "Barton E. Schaefer" <island!ucbcad!cse.ogc.edu!schaefer>

I've just had an interesting experience with the Green Hills C-386
Compiler which I thought I should pass along.

The version string printed by the compiler is:
    C-386 1.8.4 Copyright (C) 1983,1984,1985,1986,1987,1988 Green Hills
    Software, Inc.  All rights reserved.

When compiling mush with this compiler, be sure to replace -O with -X18
in your CFLAGS, to turn off optimization and prevent variables not
declared as register from being allocated to registers.  I haven't
figured out why this causes a problem, but it breaks both the library
malloc and INTERNAL_MALLOC on the system I compiled for. [%]

If debugging, you probably also want to use -ga to allocate stack
frames; otherwise the debugger prints incomplete information.

To summarize, change your SysV compiler flags to:
    CFLAGS=	-X18 -DSYSV -DCURSES -DREGCMP -DUSG -DSIGRET=void
when using Green Hills C.

Just for additional information, ld gives this version string:
    ld: System V/386 Release 3.0 7/2/87 (shared) : Version 1.8: 1/3/85
____________

 %  Interestingly, the seg fault occurred at the same point in the code
    where Marc Rouleau first encountered problems on his SysV machines,
    before INTERNAL_MALLOC was provided.  Debugging is not yet activated
    at that point, even if the -d flag is given, so no corrupted pointer
    warnings will be printed when using INTERNAL_MALLOC.

-- 
Bart Schaefer       "And if you believe that, you'll believe anything."
							-- DangerMouse
CSNET / Internet                schaefer@cse.ogc.edu
UUCP                            ...{sequent,tektronix,verdix}!ogccse!schaefer