aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl/elf32.em
diff options
context:
space:
mode:
authorJim Wilson <wilson@tuliptree.org>2000-11-08 00:39:32 +0000
committerJim Wilson <wilson@tuliptree.org>2000-11-08 00:39:32 +0000
commitc940e6fcdf5e4b6572e6ec0d25fb774d9b9038e8 (patch)
treeb5690d695da4559cd5245f97e55fc6acf5b6b6f0 /ld/emultempl/elf32.em
parent339681c049b110e7e51af9c28ee8fd5c7d18682b (diff)
downloadgdb-c940e6fcdf5e4b6572e6ec0d25fb774d9b9038e8.zip
gdb-c940e6fcdf5e4b6572e6ec0d25fb774d9b9038e8.tar.gz
gdb-c940e6fcdf5e4b6572e6ec0d25fb774d9b9038e8.tar.bz2
Handle srdata sections emitted by Intel compiler.
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): New local hold_sdata. If SEC_SMALL_DATA set, set place to hold_sdata.
Diffstat (limited to 'ld/emultempl/elf32.em')
-rw-r--r--ld/emultempl/elf32.em4
1 files changed, 4 insertions, 0 deletions
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;