From: gerry@pluto.logica.co.uk (Gerry Magennis)
Subject: Re: Compile error building GhostScript 2.5.2 on MIPS DEC OSF/1
Reply-To: gerry@pluto.logica.co.uk
Organization: Logica Industry Ltd, UK
Distribution: gnu
Date: Mon, 23 Nov 1992 17:21:37 GMT

In article <RPB.92Nov20102930@brain.psy.ox.ac.uk>, rpb@psy.ox.ac.UK
(Ray Bellis) writes:

>I've been trying to build gs252 on a DECstation 5000/120 (MIPS)
>running DEC/OSF 1 (v1.0).  I'm using the unix-cc makefile as the
>DEC ANSI compiler is too verbose and strict to compile the software
>at all.  Anyway, the problem is that the compiler won't compile

It's bad, isn't it :-)

>gdevmem1.c, with the compiler itself failing with a segmentation
>violation:
>
>% cc -v -c gdevmem1.c
>/usr/lib/cmplrs/cc/cfe -DLANGUAGE_C -Dunix -Dmips -Dhost_mips \
>-D__LANGUAGE_C__ -D__unix__ -D__mips__ -D__host_mips__ -D_CFE \
>-D__osf__ -D__DSO__ -DSYSTYPE_BSD -D_SYSTYPE_BSD -DMIPSEL _D__MIPSEL__ \
>-I/usr/include2.20 -Xv -EL -Xg0 -O1 -std0 -XS/tmp/ctmst013103 \
>gdevmem1.c > /tmp/ctmf013103
>cfe: Fatal: gdevmem1.c: Segmentation violation
>
>Does anyone know what might cause this, and how it might be fixed?
>
>Thanks,
>
>Ray.
>
>
>--
>------------------------------------------------------------------------------
>R. P. Bellis				E-Mail:	<rpb@psy.ox.ac.uk>
>Dept. of Experimental Psychology	Whois:	(RB83)
>University of Oxford			Tel:	+44 865 271419
>South Parks Road			Fax:	+44 865 310447
>Oxford OX1 3UD
>------------------------------------------------------------------------------

I've been waiting for this one to come up.  I had the problem about 3 weeks
ago, composed a post for this group with the above sort of info, went to post
it and my NNTP server had timed out.  I then spent literally ages trying all
the compiler debug switches to get some/any kind of useful output.  After
greping through .5 Mbytes of compiler parser/syntax analyser output (oh what
a hero I hear you cry), I still hadn't a clue.  In a fit of inspiration I read
the code and noticed the comments about compilers having problems with casts
for the COPY_FUNCTION emunerated type.  I've never programed in C before so
the following fix is a pure hack, no flames please.

BTW, I went to post this code fragment after I'd found the fix but my NNTP
server timed-out and lost the post again so I gave up in despair, lets hope
this one get through!

In the switch statement at the end of gdevmem1.c, replace the copy_left
and copy_right emunerations with their actual numeric values (4 and 0).

------------ 515 ---------------------------------- 515 -----------------------
   case copy_or + copy_left:        |    case copy_or + 4 /* + copy_left */:
     prefetch_left; goto uor;       |      prefetch_left; goto uor;
   case copy_or + copy_right:       |    case copy_or /* + copy_right */:
------------ 521 ---------------------------------- 521 -----------------------
   case copy_store + copy_left:     |    case copy_store + 4 /* + copy_left */:
     prefetch_left; goto ustore;    |      prefetch_left; goto ustore;
   case copy_store + copy_right:    |    case copy_store /* + copy_right */:
------------ 527 ---------------------------------- 527 -----------------------
   case copy_and + copy_left:       |    case copy_and + 4 /* + copy_left */:
     prefetch_left; goto uand;      |      prefetch_left; goto uand;
   case copy_and + copy_right:      |    case copy_and /* + copy_right */:
-------------------------------------------------------------------------------

Number of difference sections found: 3
Number of difference records found: 9


The problem has been logged with DEC, its a brain dead compiler.  Funnily
enough this all compiles fine on Alpha OSF/1 :-) but then I get all those nasty
run time segmentation violations ... any kind soul out there got fixes for this
one?

-Gerry

-------------------------------------------------------------------------------
Gerard Magennis | Logica Industry Ltd, London UK | Internet: gerry@logica.co.uk

     "Born to drive, learned to walk later" - Californian bumper sticker
     "Reality is a rather negotiable state" - Alan Rudolph
     (now if some kind soul would only loan me a video of Choose Me ...)

Newsgroups: gnu.ghostscript.bug