From 4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5 Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Wed, 14 Jun 2017 12:23:39 +0100 Subject: [PATCH] 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. --- ld/ChangeLog | 6 ++++++ ld/scripttempl/avr.sc | 17 ++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 4924787..44064fd 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2017-06-14 Georg-Johann Lay + + PR ld/21583 + * scripttempl/avr.sc (.jumptables): Move down in text section. + (.hightext): New in text. + 2017-06-14 Sebastian Huber * configure.tgt (epiphany-*-elf): Accept epiphany-*-*. diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc index 1b74dc4..07553b4 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 -- 2.7.4