aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-03-27 13:21:38 +0000
committerNick Clifton <nickc@redhat.com>2013-03-27 13:21:38 +0000
commit861319c9dd0563b1b108e59b80c61a0813f8bcb0 (patch)
tree717901abb31ba2a248249c28b88e9bde99978099 /ld
parent840a9a1f86976823f24d53d0a9bf8ab41591868c (diff)
downloadgdb-861319c9dd0563b1b108e59b80c61a0813f8bcb0.zip
gdb-861319c9dd0563b1b108e59b80c61a0813f8bcb0.tar.gz
gdb-861319c9dd0563b1b108e59b80c61a0813f8bcb0.tar.bz2
PR ld/13812
* scripttempl/avr.sc: Place trampolines before .progmem section.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/scripttempl/avr.sc7
2 files changed, 10 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index d5457a8..bbb7249 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-27 Georg-Johann Lay <gjl@gcc.gnu.org>
+
+ PR ld/13812
+ * scripttempl/avr.sc: Place trampolines before .progmem section.
+
2013-03-25 Kai Tietz <ktietz@redhat.com>
* ld.texinfo (--disable-runtime-pseudo-reloc): Adjust default.
diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc
index 10ac27f..bdbec6e 100644
--- a/ld/scripttempl/avr.sc
+++ b/ld/scripttempl/avr.sc
@@ -82,15 +82,18 @@ SECTIONS
/* For data that needs to reside in the lower 64k of progmem. */
*(.progmem.gcc*)
- *(.progmem*)
- ${RELOCATING+. = ALIGN(2);}
+ /* PR 13812: Placing the trampolines here gives a better chance
+ that they will be in range of the code that uses them. */
+ ${RELOCATING+. = ALIGN(2);}
${CONSTRUCTING+ __trampolines_start = . ; }
/* The jump trampolines for the 16-bit limited relocs will reside here. */
*(.trampolines)
*(.trampolines*)
${CONSTRUCTING+ __trampolines_end = . ; }
+ *(.progmem*)
+
/* For future tablejump instruction arrays for 3 byte pc devices.
We don't relax jump/call instructions within these sections. */
*(.jumptables)