changeset 2891:c10bb302a315

Changes for Silicon Graphics Iris 5D. * unexelfsgi.c: New file; like unexelf.c, but tolerates program segments above BSS. * m/iris5d.h: New file. * s/irix5-0.h: New file. * process.c [__sgi] (allocate_pty): Give up immediately if pty is inaccessible.
author Jim Blandy <jimb@redhat.com>
date Wed, 19 May 1993 04:56:06 +0000
parents 70a7f2829225
children 7ff263825550
files src/=unexsgi.c src/m/iris5d.h src/s/irix5-0.h
diffstat 3 files changed, 28 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/=unexsgi.c	Wed May 19 04:52:06 1993 +0000
+++ b/src/=unexsgi.c	Wed May 19 04:56:06 1993 +0000
@@ -630,8 +630,11 @@
       if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment)
 	alignment = OLD_SECTION_H (old_bss_index).sh_addralign;
 
+      /* Supposedly this condition is okay for the SGI.  */
+#if 0
       if (NEW_PROGRAM_H(n).p_vaddr + NEW_PROGRAM_H(n).p_filesz > old_bss_addr)
 	fatal ("Program segment above .bss in %s\n", old_name, 0);
+#endif
 
       if (NEW_PROGRAM_H(n).p_type == PT_LOAD
 	  && (round_up ((NEW_PROGRAM_H (n)).p_vaddr
@@ -646,7 +649,7 @@
   NEW_PROGRAM_H(n).p_filesz += new_data2_size;
   NEW_PROGRAM_H(n).p_memsz = NEW_PROGRAM_H(n).p_filesz;
 
-#if 0 /* Maybe allow section after data2 - does this ever happen? */
+#if 1 /* Maybe allow section after data2 - does this ever happen? */
   for (n = new_file_h->e_phnum - 1; n >= 0; n--)
     {
       if (NEW_PROGRAM_H(n).p_vaddr
--- a/src/m/iris5d.h	Wed May 19 04:52:06 1993 +0000
+++ b/src/m/iris5d.h	Wed May 19 04:56:06 1993 +0000
@@ -120,7 +120,10 @@
 /* This machine requires completely different unexec code
    which lives in a separate file.  Specify the file name.  */
 
-#define UNEXEC unexmips.o
+#ifdef UNEXEC
+#undef UNEXEC
+#endif
+#define UNEXEC unexelfsgi.o
 
 #define TEXT_START 0x400000
 
--- a/src/s/irix5-0.h	Wed May 19 04:52:06 1993 +0000
+++ b/src/s/irix5-0.h	Wed May 19 04:56:06 1993 +0000
@@ -1,6 +1,17 @@
-#include "irix3-3.h"
+#include "s-usg5-4.h"
+#ifdef LIBS_SYSTEM
+#undef LIBS_SYSTEM
+#endif
 
-#define USG5_3
+#ifdef SYSTEM_TYPE
+#undef SYSTEM_TYPE
+#endif
+#define SYSTEM_TYPE "silicon-graphics-unix"
+
+#ifdef SETUP_SLAVE_PTY
+#undef SETUP_SLAVE_PTY
+#endif
+
 
 /* Define HAVE_ALLOCA to say that the system provides a properly
    working alloca function and it should be used. */
@@ -18,11 +29,17 @@
    we'll just define WNOHANG right here.
    (An implicit decl is good enough for wait3.)  */
 
-#define WNOHANG		0x1
+/* #define WNOHANG		0x1 */
 
 /* No need to use sprintf to get the tty name--we get that from _getpty.  */
+#ifdef PTY_TTY_NAME_SPRINTF
+#undef PTY_TTY_NAME_SPRINTF
+#endif
 #define PTY_TTY_NAME_SPRINTF
 /* No need to get the pty name at all.  */
+#ifdef PTY_NAME_SPRINTF
+#undef PTY_NAME_SPRINTF
+#endif
 #define PTY_NAME_SPRINTF
 #ifdef emacs
 char *_getpty();