diff src/unexelf.c @ 47789:d43916bc2d4f

Redo 9/16 change, but only if IRIX6_5.
author Richard M. Stallman <rms@gnu.org>
date Mon, 07 Oct 2002 22:50:47 +0000
parents 2455f742ffba
children d2f5d3e1c0cc
line wrap: on
line diff
--- a/src/unexelf.c	Mon Oct 07 22:49:39 2002 +0000
+++ b/src/unexelf.c	Mon Oct 07 22:50:47 2002 +0000
@@ -1012,6 +1012,23 @@
 		      ".lit4")
 	  || !strcmp ((old_section_names + NEW_SECTION_H (n).sh_name),
 		      ".lit8")
+	  /* The conditional bit below was in Oliva's original code
+	     (1999-08-25) and seems to have been dropped by mistake
+	     subsequently.  It prevents a crash at startup under X in
+	     `IRIX64 6.5 6.5.17m' with c_dev 7.3.1.3m.  It causes no
+	     trouble on the other ELF platforms I could test (Irix
+	     6.5.15m, Solaris 8, Debian Potato x86, Debian Woody
+	     SPARC); however, it's reported to cause crashes under
+	     some version of GNU/Linux.  It's not yet clear what's
+	     changed in that Irix version to cause the problem, or why
+	     the fix sometimes fails under GNU/Linux.  There's
+	     probably no good reason to have something Irix-specific
+	     here, but this will have to do for now.  IRIX6_5 is the
+	     most specific macro we have to test.  -- fx 2002-10-01  */
+#ifdef IRIX6_5
+	  || !strcmp ((old_section_names + NEW_SECTION_H (n).sh_name),
+		      ".got")
+#endif
 	  || !strcmp ((old_section_names + NEW_SECTION_H (n).sh_name),
 		      ".sdata1")
 	  || !strcmp ((old_section_names + NEW_SECTION_H (n).sh_name),
@@ -1195,6 +1212,10 @@
 			  ".lit4")
 	      || !strcmp ((old_section_names + NEW_SECTION_H (nn).sh_name),
 			  ".lit8")
+#ifdef IRIX6_5			/* see above */
+	      || !strcmp ((old_section_names + NEW_SECTION_H (nn).sh_name),
+			  ".got")
+#endif
 	      || !strcmp ((old_section_names + NEW_SECTION_H (nn).sh_name),
 			  ".sdata1")
 	      || !strcmp ((old_section_names + NEW_SECTION_H (nn).sh_name),