* 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.
PR 11174.
This commit is contained in:
Ian Lance Taylor 1996-12-05 18:47:22 +00:00
parent 80be821d2e
commit 12436407d1
2 changed files with 22 additions and 2 deletions

View 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.

View 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;
}