summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg-Johann Lay <gjl@gcc.gnu.org>2017-06-14 12:23:39 +0100
committerNick Clifton <nickc@redhat.com>2017-06-14 12:23:39 +0100
commit4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5 (patch)
treeb9637fc1a06f901e3a2c40659d21c55abdbd3985
parentc53d2e6d744da000aaafe0237bced090aab62818 (diff)
downloadbinutils-gdb-4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5.tar.gz
Move location of .jumptables section and add .hightext section to AVR linker script.
PR ld/21583 * scripttempl/avr.sc (.jumptables): Move down in text section. (.hightext): New in text.
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/scripttempl/avr.sc17
2 files changed, 18 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 4924787e807..44064fd45fb 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2017-06-14 Georg-Johann Lay <gjl@gcc.gnu.org>
+
+ PR ld/21583
+ * scripttempl/avr.sc (.jumptables): Move down in text section.
+ (.hightext): New in text.
+
2017-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
* configure.tgt (epiphany-*-elf): Accept epiphany-*-*.
diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc
index 1b74dc48825..07553b4b061 100644
--- a/ld/scripttempl/avr.sc
+++ b/ld/scripttempl/avr.sc
@@ -132,11 +132,6 @@ SECTIONS
${RELOCATING+. = ALIGN(2);}
- /* For future tablejump instruction arrays for 3 byte pc devices.
- We don't relax jump/call instructions within these sections. */
- *(.jumptables)
- ${RELOCATING+ *(.jumptables*)}
-
/* For code that needs to reside in the lower 128k progmem. */
*(.lowtext)
${RELOCATING+ *(.lowtext*)}
@@ -196,6 +191,18 @@ SECTIONS
KEEP (*(.fini1))
*(.fini0) /* Infinite loop after program termination. */
KEEP (*(.fini0))
+
+ /* For code that needs not to reside in the lower progmem. */
+ *(.hightext)
+ ${RELOCATING+ *(.hightext*)}
+
+ ${RELOCATING+. = ALIGN(2);}
+
+ /* For tablejump instruction arrays. We don't relax
+ JMP / CALL instructions within these sections. */
+ *(.jumptables)
+ ${RELOCATING+ *(.jumptables*)}
+
${RELOCATING+ _etext = . ; }
} ${RELOCATING+ > text}
EOF