changeset 89194:efb620f42a27

(unexec): Make last change conditional on Irix 6.5.
author Dave Love <fx@gnu.org>
date Thu, 10 Oct 2002 22:28:48 +0000
parents 311d061195ef
children 46babc69b625
files src/unexelf.c
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/unexelf.c	Thu Oct 10 09:05:37 2002 +0000
+++ b/src/unexelf.c	Thu Oct 10 22:28:48 2002 +0000
@@ -1012,8 +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),
@@ -1197,8 +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),