* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
authorIan Lance Taylor <ian@airs.com>
Thu, 5 Dec 1996 18:47:22 +0000 (18:47 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 5 Dec 1996 18:47:22 +0000 (18:47 +0000)
use hold_rel unless SEC_ALLOC is set for the reloc section.
(gld${EMULATION_NAME}_place_section): Only set hold_rel if
SEC_ALLOC is set.
PR 11174.

ld/ChangeLog
ld/emultempl/elf32.em

index 5e74c3e..8195e5a 100644 (file)
@@ -1,3 +1,20 @@
+Thu Dec  5 13:45:58 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
+       use hold_rel unless SEC_ALLOC is set for the reloc section.
+       (gld${EMULATION_NAME}_place_section): Only set hold_rel if
+       SEC_ALLOC is set.
+
+Tue Dec  3 11:29:20 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * ldlang.c (section_already_linked): Set the output_offset as well
+       as the output_section when only reading symbols from a file.
+
+Mon Dec  2 11:43:50 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * emulparams/*.sh: Make sure that each set of parameters which
+       uses the elf.sc script sets MACHINE.
+
 Wed Nov 27 03:22:05 1996  Jason Merrill  <jason@yorick.cygnus.com>
 
        * scripttempl/elf.sc: Add the remaining DWARF sections.
index fe0b1b9..0ff33bd 100644 (file)
@@ -327,7 +327,7 @@ EOF
 fi
 cat >>e${EMULATION_NAME}.c <<EOF
 
-      einfo ("%P: warning: %s, needed by %B, not found\n",
+      einfo ("%P: warning: %s, needed by %B, not found (try using --rpath)\n",
             l->name, l->by);
     }
 }
@@ -777,6 +777,7 @@ gld${EMULATION_NAME}_place_orphan (file, s)
           && hold_data != NULL)
     place = hold_data;
   else if (strncmp (secname, ".rel", 4) == 0
+          && (s->flags & SEC_ALLOC) != 0
           && hold_rel != NULL)
     place = hold_rel;
   else if ((s->flags & SEC_CODE) == 0
@@ -840,7 +841,8 @@ gld${EMULATION_NAME}_place_orphan (file, s)
   os = lang_output_section_statement_lookup (secname);
   wild_doit (&os->children, s, os, file);
 
-  lang_leave_output_section_statement ((bfd_vma) 0, "*default*");
+  lang_leave_output_section_statement
+    ((bfd_vma) 0, "*default*", (struct lang_output_section_phdr_list *) NULL);
   stat_ptr = &add;
 
   if (*ps == '\0' && config.build_constructors)
@@ -886,6 +888,7 @@ gld${EMULATION_NAME}_place_section (s)
     hold_bss = os;
   else if (hold_rel == NULL
           && os->bfd_section != NULL
+          && (os->flags & SEC_ALLOC) != 0
           && strncmp (os->name, ".rel", 4) == 0)
     hold_rel = os;
 }