From 1bdc036f254394412f32b2ae89a6575ececc7031 Mon Sep 17 00:00:00 2001 From: Senthil Kumar Selvaraj Date: Tue, 17 May 2016 13:14:26 +0100 Subject: [PATCH] Place progmem data from AVR's libc before other progmem data. * scripttempl/avr.sc (text): Place .progmem.data from avr-libc above .progmem*. * scripttempl/avrtiny.sc (text): Likewise. --- ld/ChangeLog | 6 ++++++ ld/scripttempl/avr.sc | 4 ++++ ld/scripttempl/avrtiny.sc | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/ld/ChangeLog b/ld/ChangeLog index 783355c..180ea03 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +016-05-17 Senthil Kumar Selvaraj + + * scripttempl/avr.sc (text): Place .progmem.data from avr-libc + above .progmem*. + * scripttempl/avrtiny.sc (text): Likewise. + 2016-05-17 Maciej W. Rozycki * testsuite/ld-unique/unique.exp: Use `is_elf_format' and diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc index c26f4ea..010b218 100644 --- a/ld/scripttempl/avr.sc +++ b/ld/scripttempl/avr.sc @@ -113,6 +113,10 @@ SECTIONS ${RELOCATING+ *(.trampolines*)} ${CONSTRUCTING+ __trampolines_end = . ; } + /* avr-libc expects these data to reside in lower 64K. */ + ${RELOCATING+ *libprintf_flt.a:*(.progmem.data)} + ${RELOCATING+ *libc.a:*(.progmem.data)} + ${RELOCATING+ *(.progmem*)} ${RELOCATING+. = ALIGN(2);} diff --git a/ld/scripttempl/avrtiny.sc b/ld/scripttempl/avrtiny.sc index 0441dcb..3f69e9a 100644 --- a/ld/scripttempl/avrtiny.sc +++ b/ld/scripttempl/avrtiny.sc @@ -113,6 +113,10 @@ SECTIONS ${RELOCATING+ *(.trampolines*)} ${CONSTRUCTING+ __trampolines_end = . ; } + /* avr-libc expects these data to reside in lower 64K. */ + ${RELOCATING+ *libprintf_flt.a:*(.progmem.data)} + ${RELOCATING+ *libc.a:*(.progmem.data)} + ${RELOCATING+ *(.progmem*)} ${RELOCATING+. = ALIGN(2);} -- 2.7.4