diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/emultempl/elf32.em | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index adbabcd..23c7e65 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2000-11-07 Jim Wilson <wilson@redhat.com> + + * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): New local + hold_sdata. If SEC_SMALL_DATA set, set place to hold_sdata. + 2000-11-06 Nick Clifton <nickc@redhat.com> * ld.texinfo: Add GNU Free Documentation License. diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em index fe4966d..617c650 100644 --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em @@ -1008,6 +1008,7 @@ gld${EMULATION_NAME}_place_orphan (file, s) static struct orphan_save hold_bss; static struct orphan_save hold_rel; static struct orphan_save hold_interp; + static struct orphan_save hold_sdata; static int count = 1; struct orphan_save *place; lang_statement_list_type *old; @@ -1071,6 +1072,9 @@ gld${EMULATION_NAME}_place_orphan (file, s) else if ((s->flags & SEC_HAS_CONTENTS) == 0 && HAVE_SECTION (hold_bss, ".bss")) place = &hold_bss; + else if ((s->flags & SEC_SMALL_DATA) != 0 + && HAVE_SECTION (hold_sdata, ".sdata")) + place = &hold_sdata; else if ((s->flags & SEC_READONLY) == 0 && HAVE_SECTION (hold_data, ".data")) place = &hold_data; |