Subject: Re: Problems compiling gs5.50 under NetBSD1.4.1
To: Steve Woodford <swoodfor@bluews.com>
From: Richard Earnshaw <rearnsha@arm.com>
List: port-arm32
Date: 09/06/1999 10:30:18
This is a multipart MIME message.

--==_Exmh_-19296875140
Content-Type: text/plain; charset=us-ascii

> Frank Wennmohs wrote:
> 
> > After installing the latest NetBSD1.4.1 release from
> > the binary distribution I tried to install ghostscript5.50 by
> > using the pkgsrc-tree.
> > 
> > Having compiled and installed gs as usual, things got strange.
> > Typing "gs --help" produced the usual help message, but
> > simply typing "gs" to get to the gs-command-line, *nothing* happened!!!
> > Trying to translate some postscript-file didn't work either.
> >
> > Does anyone have an idea what's wrong?
> 
> It's caused by a compiler code-gen bug on the 1.4.x arm32 platform. I'm
> not sure if this has been fixed in -current yet, although someone has
> investigated the problem.
> 
> Cheers, Steve

Actually, I believe that the final conclusion was that there was a 
compiler bug, but that there were also problems with the gs source.  I 
managed to get a working ghostcript with the 5.87 pre-release source after 
the compiler had been patched, but I think you will be struggling with 
5.50.  There may be newer releases than 5.87 now.

I've attached the compiler patch below.

Richard.



--==_Exmh_-19296875140
Content-Type: application/x-patch ; name="mark_regp.patch"
Content-Description: mark_regp.patch
Content-Disposition: attachment; filename="mark_regp.patch"

Index: emit-rtl.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/emit-rtl.c,v
retrieving revision 1.66
diff -p -r1.66 emit-rtl.c
*** emit-rtl.c	1999/08/01 12:07:34	1.66
--- emit-rtl.c	1999/08/07 12:13:25
*************** mark_reg_pointer (reg, align)
*** 629,637 ****
       rtx reg;
       int align;
  {
!   REGNO_POINTER_FLAG (REGNO (reg)) = 1;
  
!   if (align)
      REGNO_POINTER_ALIGN (REGNO (reg)) = align;
  }
  
--- 629,643 ----
       rtx reg;
       int align;
  {
!   if (! REGNO_POINTER_FLAG (REGNO (reg)))
!     {
!       REGNO_POINTER_FLAG (REGNO (reg)) = 1;
  
!       if (align)
! 	REGNO_POINTER_ALIGN (REGNO (reg)) = align;
!     }
!   else if (align && align < REGNO_POINTER_ALIGN (REGNO (reg)))
!     /* We can no-longer be sure just how aligned this pointer is */
      REGNO_POINTER_ALIGN (REGNO (reg)) = align;
  }
  

--==_Exmh_-19296875140--