[comp.emacs] GNU emacs on a Sparcstation

sarima@tdatirv.UUCP (Stanley Friesen) (08/21/90)

	I am trying to get GNU emacs up on my Sparcstation 1 running SunOS 4.1
I am using the X11r4 libraries in Openwindows 2.0.  When I try to run the
emacs it dumps core, apparently by calling abort from malloc inside of
XOpenDisplay("").

	Can anyone help me in figuring this out?

rlewis@slhisc.uucp (Richard Lewis) (08/23/90)

In article <125@tdatirv.UUCP> uunet!tdatirv!sarima (Stanley Friesen) writes:
>
>	I am trying to get GNU emacs up on my Sparcstation 1 running SunOS 4.1
>I am using the X11r4 libraries in Openwindows 2.0.  When I try to run the
>emacs it dumps core, apparently by calling abort from malloc inside of
>XOpenDisplay("").
>
>	Can anyone help me in figuring this out?


In the src/m-sparc.h file insert this line:
#define SYSTEM_MALLOC 1

Recompiling emacs will cause it to use Sun's malloc rather than GNU's
malloc. Everything should work fine once this is done.

regards

Richard
-- 

+---------------------------------------------------------------------------+
| Richard S. Lewis               |    uucp: ...!rutgers!marob!slhisc!rlewis |
| Shearson Lehman Brothers, Inc. |internet: rlewis@chuo.lilink.com          |

mjm@reef.cis.ufl.edu (Michael Murphy) (08/24/90)

In article <1990Aug22.205644.3744@slhisc.uucp> rlewis@slhisc.uucp (Richard Lewis) writes:

>   In the src/m-sparc.h file insert this line:
>    #define SYSTEM_MALLOC 1
>
>   Recompiling emacs will cause it to use Sun's malloc rather than GNU's
>   malloc. Everything should work fine once this is done.

Actually, there's another way, if you want to use Gnu's malloc instead of Sun's.
I found the workaround here or on gnu.emacs; since it's pretty short, here it is
again:

>From: eirik@ELF.TN.CORNELL.EDU
>Subject: SunOS 4.1, malloc, and localtime
>Date: 8 May 90 11:21:46 GMT

>With the enclosed patch, it is possible to build a working emacs under
>SunOS 4.1 using malloc.c from the emacs sources.  Just put this line
>into config.h:

#define SUNOS_LOCALTIME_BUG

>A static function called by tzsetwall clears the byte just past an
>eight byte region it mallocs.  Without this patch, that unsociable act
>corrupts GNU malloc's memory pool.

*** malloc.c~   Fri Apr  7 22:12:10 1989
--- malloc.c    Tue May  8 07:07:22 1990
***************
*** 476,482 ****
--- 476,487 ----
       multiple of 8, then figure out which nestf[] area to use.
       Both the beginning of the header and the beginning of the
       block should be on an eight byte boundary.  */
+ #ifdef SUNOS_LOCALTIME_BUG
+   /* SunOS 4.1 localtime scribbles on the ninth byte.  */
+   nbytes = (n + ((sizeof *p + 15) & ~15) + EXTRA + 15) & ~15;
+ #else
    nbytes = (n + ((sizeof *p + 7) & ~7) + EXTRA + 7) & ~7;
+ #endif
    {
      register unsigned int   shiftr = (nbytes - 1) >> 2;

ralph@laas.fr (Ralph P. Sobek) (08/31/90)

Are the patchs for GNU Emacs on a SPARC only applicable if GNU Emacs
is built under SunOS 4.1?  Are there patchs that are applicable for
SunOS 4.0.3?  And what about GNU Emacs built under SunOS 4.0.3 and run
under 4.1?  (We have most of our Suns under 4.0.3 and only 2 under
4.1.)

Thanks a lot,

--
Ralph P. Sobek			  Disclaimer: The above ruminations are my own.
ralph@laas.fr				   Addresses are ordered by importance.
ralph@laas.uucp, or ...!uunet!laas!ralph		
If all else fails, try:				      sobek@eclair.Berkeley.EDU
===============================================================================
Reliable software should kill people reliably! -Andy Mickel, Pascal News #13,78