home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.sys.sgi:16418 comp.emacs:3548 gnu.emacs.help:4784
- Newsgroups: comp.sys.sgi,comp.emacs,gnu.emacs.help
- Path: sparky!uunet!ukma!darwin.sura.net!sgiblab!sgigate!odin!sgi.com!scotth
- From: scotth@hoshi.corp.sgi.com (Scott Henry)
- Subject: Re: Problem installing emacs on SGI
- In-Reply-To: 2064aw@gmuvax2.gmu.edu's message of 13 Nov 92 16: 43:36 GMT
- Message-ID: <SCOTTH.92Nov13145741@hoshi.corp.sgi.com>
- Sender: news@odin.corp.sgi.com (Net News)
- Nntp-Posting-Host: hoshi.corp.sgi.com
- Organization: Silicon Graphics Inc, Mountain View, CA
- References: <1992Nov13.164336.2832@gmuvax2.gmu.edu>
- Date: Fri, 13 Nov 1992 19:57:41 GMT
- Lines: 127
-
-
- >>>>> In article <1992Nov13.164336.2832@gmuvax2.gmu.edu>, 2064aw@gmuvax2.gmu.edu (R Moxley) writes:
-
- 2064aw> I'm having problems installing emacs on our SGI machines. The
- 2064aw> distribution that I have is the one on the toolbox2.1 CD...
- 2064aw> it's emacs 18.56.9. I follow the installation instructions in
- 2064aw> the README and README-SGI files, and the compilation seems to
- 2064aw> work fine. However, the command
-
- 2064aw> ./temacs -batch -l loadup.el dump
-
- 2064aw> fails at the very end with the following messages:
-
- 2064aw> Dumping under names xemacs and emacs-18.56.9
- 2064aw> unexec: 3 sections found instead of 10.
- 2064aw> *** Termination code 139
-
- 2064aw> Investgation reveals that a core file from temacs is left in
- 2064aw> the src directory when this happens. The PROBLEMS file in the
- 2064aw> distribution states that a lack of swap space can cause
- 2064aw> behavior like this, but I don't think that's our problem --
- 2064aw> I've tried to compile on machines with plenty of swap space,
- 2064aw> and I get identical problems. I'm using IRIX Release 4.0.5F.
-
- I'm not sure how the Marketing names compare with internal naming, but
- I think you've got the 3.1 compilers. The a.out section layout changed
- from the 2.* compilers to the 3.1, so unexmips.c needs to be patched
- to allow temacs to undump the program. BTW, 18.59 is the latest
- version, and may actually have this patch in it.
-
- Newsgroups: gnu.epoch.misc
- Path: odin!fido!shankar
- From: shankar@sgi.com (Shankar Unni)
- Subject: Patch for "unexmips.c" (SGI & MIPS)
- Message-ID: <p4akar8@fido.asd.sgi.com>
- Sender: news@fido.asd.sgi.com (Usenet News Admin)
- Organization: Silicon Graphics, Inc.
- Date: Fri, 28 Aug 1992 02:25:24 GMT
- Lines: 82
-
-
- Here is a patch for "unexmips.c" to make it work with the latest
- release of SGI compilers (the 3.10 compilers) on the Irix 4.0.5
- platform. This should continue to work with the old 2.* compilers as
- well as the MIPS compilers.
-
- The reasons for this patch:
-
- (a) The order of sections seems to have been changed in the latest
- release. Since we can't rely on the order, we need to linearly scan
- the section list in the header for each section we are interested
- in. Thus, we need to adjust the s_[vp]addr for rdata_section.
-
- (b) The symbol-table is no longer at the end of the file - it now seems
- to be between the text and data sections. Thus, we need to adjust
- the scnptr for rdata_section, too.
-
- ============================== snip snip ==============================
- *** unexmips.c.orig Fri Aug 7 14:36:00 1992
- --- unexmips.c Thu Aug 27 19:10:46 1992
- ***************
- *** 152,158 ****
- --- 152,164 ----
- exit(1);
- }
-
- + /*
- + * The headers are no longer in text-init-rdata-data order. Therefore we
- + * have to do a linear search for each section in the section list.
- + */
- #define CHECK_SCNHDR(ptr, name, flags) \
- + i = 0; ptr = NULL; \
- + while(i < hdr.fhdr.f_nscns && !ptr) { \
- if (strcmp(hdr.section[i].s_name, name) == 0) { \
- if (hdr.section[i].s_flags != flags) { \
- fprintf(stderr, "unexec: %x flags where %x expected in %s section.\n", \
- ***************
- *** 159,171 ****
- hdr.section[i].s_flags, flags, name); \
- } \
- ptr = hdr.section + i; \
- - i += 1; \
- } \
- ! else { \
- ! ptr = NULL; \
- ! }
-
- - i = 0;
- CHECK_SCNHDR(text_section, _TEXT, STYP_TEXT);
- CHECK_SCNHDR(init_section, _INIT, STYP_INIT);
- CHECK_SCNHDR(rdata_section, _RDATA, STYP_RDATA);
- --- 165,174 ----
- hdr.section[i].s_flags, flags, name); \
- } \
- ptr = hdr.section + i; \
- } \
- ! i += 1; \
- ! }
-
- CHECK_SCNHDR(text_section, _TEXT, STYP_TEXT);
- CHECK_SCNHDR(init_section, _INIT, STYP_INIT);
- CHECK_SCNHDR(rdata_section, _RDATA, STYP_RDATA);
- ***************
- *** 198,203 ****
- --- 201,212 ----
-
- hdr.aout.bss_start = hdr.aout.data_start + hdr.aout.dsize;
- rdata_section->s_size = data_start - DATA_START;
- +
- + /* adjust start and virtual addresses of rdata_section, too */
- + rdata_section->s_vaddr = DATA_START;
- + rdata_section->s_paddr = DATA_START;
- + rdata_section->s_scnptr = text_section->s_scnptr + hdr.aout.tsize;
- +
- data_section->s_vaddr = data_start;
- data_section->s_paddr = data_start;
- data_section->s_size = brk - data_start;
- ============================== snip snip ==============================
-
- --
- Shankar Unni E-Mail: shankar@sgi.com
- Silicon Graphics Inc. Phone: +1-415-390-2072
-
- --
- Scott Henry <scotth@sgi.com> / Traveller on Dragon Wings
- Networking Services, / Help! My disclaimer is missing!
- Silicon Graphics, Inc / GIGO *really* means: Garbage in, Gospel Out
-