changeset 12584:462dd843fd8c

(unexec): If not SUNOS4_SHARED_LIBRARIES or if apparently not dynamically linked, just clear rel and erel.
author Richard M. Stallman <rms@gnu.org>
date Tue, 18 Jul 1995 20:42:33 +0000
parents 73ac42b9be24
children 771e75e8ebb5
files src/unexsunos4.c
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/unexsunos4.c	Tue Jul 18 19:16:16 1995 +0000
+++ b/src/unexsunos4.c	Tue Jul 18 20:42:33 1995 +0000
@@ -215,10 +215,14 @@
     unsigned long daddr = N_DATADDR (ohdr);
     unsigned long rel, erel;
 #ifdef SUNOS4
+#ifdef SUNOS4_SHARED_LIBRARIES
     extern struct link_dynamic _DYNAMIC;
 
     /*  SunOS4.x's ld_rel is relative to N_TXTADDR. */
-    if (_DYNAMIC.ld_version < 2)
+    if (!ohdr.a_dynamic)
+      /* This was statically linked.  */
+      rel = erel = 0;
+    else if (_DYNAMIC.ld_version < 2)
       {
 	rel = _DYNAMIC.ld_un.ld_1->ld_rel + N_TXTADDR (ohdr);
 	erel = _DYNAMIC.ld_un.ld_1->ld_hash + N_TXTADDR (ohdr);
@@ -228,6 +232,9 @@
 	rel = _DYNAMIC.ld_un.ld_2->ld_rel + N_TXTADDR (ohdr);
 	erel = _DYNAMIC.ld_un.ld_2->ld_hash + N_TXTADDR (ohdr);
       }
+#else /* not SUNOS4_SHARED_LIBRARIES */
+    rel = erel = 0;
+#endif /* not SUNOS4_SHARED_LIBRARIES */
 #ifdef sparc
 #define REL_INFO_TYPE		struct reloc_info_sparc
 #else