aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-07-31 12:04:47 +0000
committerNick Clifton <nickc@redhat.com>2002-07-31 12:04:47 +0000
commit8f64befb294f61bb55b79152b628a332dc1d2e3b (patch)
tree74b25f4a24a1de29580e711b64f2503cdec19e79 /ld
parent500800ca01a6b09418ca2f5079aa3bd4f4452dfc (diff)
downloadgdb-8f64befb294f61bb55b79152b628a332dc1d2e3b.zip
gdb-8f64befb294f61bb55b79152b628a332dc1d2e3b.tar.gz
gdb-8f64befb294f61bb55b79152b628a332dc1d2e3b.tar.bz2
Add support for Thumb PLT entries with interworking
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/emulparams/armelf.sh1
-rw-r--r--ld/scripttempl/elf.sc4
3 files changed, 12 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index a2a5dbb..6a59826 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2002-07-31 Adam Nemet <anemet@lnxw.com>
+
+ * emulparams/armelf.sh (OTHER_PLT_SECTIONS): New variable. Set it
+ to .plt.thumb.
+ * scripttempl/elf.sc: Comment it. Use the same way as ${PLT} is
+ used.
+
2002-07-31 Nick Clifton <nickc@redhat.com>
* NEWS: Retroactively add entry for Lars Brinkhoff's contribution
diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh
index 0e8ebc5..f624c8a8 100644
--- a/ld/emulparams/armelf.sh
+++ b/ld/emulparams/armelf.sh
@@ -9,6 +9,7 @@ EXTRA_EM_FILE=armelf
OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;'
+OTHER_PLT_SECTIONS=".plt.thumb ${RELOCATING-0} : { *(.plt.thumb) }"
DATA_START_SYMBOLS='__data_start = . ;';
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 6bbe1b8..82bcd96 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -11,6 +11,7 @@
# OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
# (e.g., .PARISC.global)
# OTHER_BSS_SECTIONS - other than .bss .sbss ...
+# OTHER_PLT_SECTIONS - other than .plt ...
# OTHER_SECTIONS - at the end
# EXECUTABLE_SYMBOLS - symbols that must be defined for an
# executable (e.g., _DYNAMIC_LINK)
@@ -257,6 +258,7 @@ cat <<EOF
} =${NOP-0}
${DATA_PLT-${BSS_PLT-${PLT}}}
+ ${DATA_PLT-${BSS_PLT-${OTHER_PLT_SECTIONS}}}
.text ${RELOCATING-0} :
{
${RELOCATING+${TEXT_START_SYMBOLS}}
@@ -321,6 +323,7 @@ cat <<EOF
${RELOCATING+${DTOR}}
.jcr ${RELOCATING-0} : { KEEP (*(.jcr)) }
${DATA_PLT+${PLT}}
+ ${DATA_PLT+${OTHER_PLT_SECTIONS}}
${RELOCATING+${OTHER_GOT_SYMBOLS}}
.got ${RELOCATING-0} : { *(.got.plt) *(.got) }
${OTHER_GOT_SECTIONS}
@@ -334,6 +337,7 @@ cat <<EOF
${RELOCATING+${OTHER_BSS_SYMBOLS}}
${SBSS}
${BSS_PLT+${PLT}}
+ ${BSS_PLT+${OTHER_PLT_SECTIONS}}
.bss ${RELOCATING-0} :
{
*(.dynbss)