aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-08-13 14:28:57 +0000
committerAlan Modra <amodra@gmail.com>2001-08-13 14:28:57 +0000
commit22af9fd35cb3a598f2bb2021c42cc1bd1424270f (patch)
tree139619d96d09db7f3966e9a878801338080a0187
parent5d430f8ba5038caa6d1e102fd55651c53ab01747 (diff)
downloadgdb-22af9fd35cb3a598f2bb2021c42cc1bd1424270f.zip
gdb-22af9fd35cb3a598f2bb2021c42cc1bd1424270f.tar.gz
gdb-22af9fd35cb3a598f2bb2021c42cc1bd1424270f.tar.bz2
* emultempl/elf32.em: For SEC_EXCLUDE sections, ensure that
output_section is set non-NULL.
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/emultempl/elf32.em8
2 files changed, 11 insertions, 4 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 45cb574..aa042b3 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,8 @@
2001-08-13 Alan Modra <amodra@bigpond.net.au>
+ * emultempl/elf32.em: For SEC_EXCLUDE sections, ensure that
+ output_section is set non-NULL.
+
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Return
`true' for SEC_EXCLUDE sections so that the generic code doesn't
needlessly create an output_section_statement. Treat a correctly
@@ -229,7 +232,7 @@
2001-07-14 Nick Clifton <nickc@cambridge.redhat.com>
- * Makefile.am (em32relf.c): Chnage dependencu from generic.em to
+ * Makefile.am (em32relf.c): Change dependency from generic.em to
elf32.em.
* Makefile.in: Regenerate.
@@ -346,7 +349,7 @@
* ldlang.c (walk_wild): Only call walk_wild_file if
lookup_name returns something.
(lookup_name): If load_symbols fails, return NULL.
- (load_symbols): Chnage to a boolean function.
+ (load_symbols): Change to a boolean function.
(open_input_bfds): If load_symbols fails then do not make the
executable.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index d6d4729..ce06310 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1084,7 +1084,7 @@ gld${EMULATION_NAME}_place_orphan (file, s)
& (SEC_LOAD | SEC_ALLOC)) == 0))
{
/* We already have an output section statement with this
- name, and its bfd section has compatible flags. */
+ name, and its bfd section, if any, has compatible flags. */
wild_doit (&os->children, s, os, file);
return true;
}
@@ -1113,7 +1113,11 @@ gld${EMULATION_NAME}_place_orphan (file, s)
(hold.os != NULL || (hold.os = lang_output_section_find (name)) != NULL)
if (s->flags & SEC_EXCLUDE)
- return true;
+ {
+ if (s->output_section == NULL)
+ s->output_section = bfd_abs_section_ptr;
+ return true;
+ }
place = NULL;
if ((s->flags & SEC_ALLOC) == 0)