Subject: Xsun dumps core WasRe: Issues with X11R6 native on NetBSD/sparc
To: None <port-sparc@netbsd.org>
From: Sam C. Nicholson !! <scion@symtec.com>
List: port-sparc
Date: 10/03/1994 12:34:45
Greetings,

For those interested,

After last weeks feedback, I got the X11R6-pl5+netbsd to compile entirely.
All the clients work, as well as emacs-19.26 in an X window.  However
the Xserver, Xsun, dumps core.  

I made a hack in programs/Xserver/hw/sun/sunCfb.c and in sunInit*.c
The diffs are tacked onto the end of thi msg.  Basically, I commented out
references to the cg2 frame buffer.  It doesn't exist on the 4c, but
it may be needed for older sun4 machines, so what I did was the wrong
thing for any distribution.  I had a similar problem to the one that 
Dennis Ferguson reported with bw2reg.h.  The patched X11R6 sources 
that I ended up with actually wanted a struct def from cg2reg.h.  There
is no cg2reg or cgtwo reg in the system (1 Aug snapshot) or sources
(16 Aug ) that I have.  I do not believe that this change causes the
core dump, however I cannot get a -g version to compile in order to
confirm this..

When the following command executes it reports that vm is exhausted.
I suspect a limit, which I will reset and then re-make, for pstat -s
reported much more swap left at the time ld ran out.  I have seen gld 
run out of swap many times, I may have to throw more disk at it if
it is not a limit.

Regards
-sam

Appended FWIW

Compile Command:
make all
<lots o make stuff deleted>
gcc -o Xsun -O2  -g  -L<dirs> -l<libs> ... -lm
ld: virtual memory exhausted
*** Error code 1

while ( 1 )
Device      1K-blocks     Used    Avail Capacity  Type
/dev/sd0b       53136     3988    49148     8%    Interleaved
...
while ( 1 )
Device      1K-blocks     Used    Avail Capacity  Type
/dev/sd0b       53136    10884    42252    20%    Interleaved
...
while ( 1 )
Device      1K-blocks     Used    Avail Capacity  Type
/dev/sd0b       53136    21716    31420    41%    Interleaved
...
while ( 1 )
Device      1K-blocks     Used    Avail Capacity  Type
/dev/sd0b       53136     3716    49420     7%    Interleaved


diffs


*** sunCfb.c	Sat Oct  1 17:33:20 1994
--- sunCfb.c.cgtwo	Wed Sep 28 22:02:55 1994
***************
*** 268,280 ****
  #ifndef i386 /* { */
  
  #ifdef __NetBSD__
! /* #include <machine/cgtworeg.h> */
  #else
  #ifdef SVR4
  #include <sys/cg2reg.h>
  #else
  #include <pixrect/cg2reg.h>
  #endif
  
  typedef struct {
      struct cg2memfb	mem;
--- 268,281 ----
  #ifndef i386 /* { */
  
  #ifdef __NetBSD__
! #include <machine/cgtworeg.h>
  #else
  #ifdef SVR4
  #include <sys/cg2reg.h>
  #else
  #include <pixrect/cg2reg.h>
  #endif
+ #endif	/* __NetBSD__ */
  
  typedef struct {
      struct cg2memfb	mem;
***************
*** 357,363 ****
      }
      return ret;
  }
- #endif	/* __NetBSD__ */
  
  /*
   * This used to #include <sundev/cg4reg.h> for SunOS 4 and <sys/cg4reg.h>
--- 358,363 ----
*** sunInit.c   Sat Oct  1 17:39:10 1994
--- sunInit.c.cgtwo     Thu Sep 29 21:31:57 1994
***************
*** 85,91 ****
  #endif
  );
  #define CG3I sunCG3Init
! #if defined(i386) || defined(__NetBSD__) /* { */
  #define CG2I NULL
  #define CG4I NULL
  #else /* }{ */
--- 85,91 ----
  #endif
  );
  #define CG3I sunCG3Init
! #ifdef i386 /* { */
  #define CG2I NULL
  #define CG4I NULL
  #else /* }{ */
***************
*** 172,180 ****
    { NULL, "SUN1BW        (bw1)" },
    { NULL, "SUN1COLOR     (cg1)" },
    { BW2I, "SUN2BW        (bw2)" },
- #ifndef __NetBSD__
    { CG2I, "SUN2COLOR     (cg2)" },
- #endif
    { NULL, "SUN2GP        (gp1/gp2)" },
    { NULL, "SUN5COLOR     (cg5/386i accel)" },
    { CG3I, "SUN3COLOR     (cg3)" },
--- 172,178 ----