From 861319c9dd0563b1b108e59b80c61a0813f8bcb0 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 27 Mar 2013 13:21:38 +0000 Subject: PR ld/13812 * scripttempl/avr.sc: Place trampolines before .progmem section. --- ld/scripttempl/avr.sc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'ld/scripttempl') 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) -- cgit v1.1