Frank.Jansen@comp.vuw.ac.nz (Frank Jansen - CSC) (11/20/90)
We will be setting up a SG 4D/340S running IRIX 3.3.1 and would like to know of sites from whom we can ftp the patches for: plp, cops and gnuemacs. Thanks in advance.
scotth@corp.sgi.com (Scott Henry) (11/26/90)
I think it's time to re-post the patches to Gnu Emacs 18.55 that allow you to build and run it on Irix 3.3 and later: Between 3.2.* and 3.3, the loader no longer ignored errors in the a.out header that GNU Emacs took advantage of. I am told that that was un-done in 3.3.1. It mostly meant that a _stripped_ 3.2 binary would fail to load under 3.3, an unstripped one would appear to work fine. In addition, a change was made in libc.a for POSIX compliance: getwd() was defined, but in terms of getcwd() (or something like that). Emacs assumes by default that a system doesn't have getcwd(), and defines one interms of getwd(). Hence, an inifinite recursion loop is generated, and Emacs core-dumps when it hits process limits while building the final executable. 2 solutions: 1) Get 18.56 (should be available any day now, I understand) -- I tested it to ensure that it compiles out-of-the-box under 3.3.1. 2) Add the following lines to .../src/config.h: /* * Irix 3.3 defines this, and causes an infinite loop when trying to dump. */ #define HAVE_GETWD and (if you are running 3.3 unstead of 3.3.1), apply the following patch to .../src/unexmips.c (a 1-line change): *** unexmips.c.orig Thu Jan 12 16:14:05 1989 --- unexmips.c Mon Jul 30 22:10:10 1990 *************** *** 255,261 **** rdata_section->s_size = data_start - DATA_START; data_section->s_vaddr = data_start; data_section->s_paddr = data_start; ! data_section->s_size = brk - DATA_START; data_section->s_scnptr = rdata_section->s_scnptr + rdata_section->s_size; vaddr = data_section->s_vaddr + data_section->s_size; scnptr = data_section->s_scnptr + data_section->s_size; --- 255,261 ---- rdata_section->s_size = data_start - DATA_START; data_section->s_vaddr = data_start; data_section->s_paddr = data_start; ! data_section->s_size = brk - data_start; data_section->s_scnptr = rdata_section->s_scnptr + rdata_section->s_size; vaddr = data_section->s_vaddr + data_section->s_size; scnptr = data_section->s_scnptr + data_section->s_size; *************** -- -- Scott Henry <scotth@sgi.com> / Traveller on Dragon Wings Information Services, / Help! My disclaimer is missing! Silicon Graphics, Inc / Politicians no baka!