The changes made in a series of binutils patches (https://sourceware.org/ml/binutils/2017-08/msg00274.html) to ld and gas require the -mcode/data-region options to be propagated from gcc.
The attached patch adds that functionality. If the patch is acceptable, I would appreciate if someone could commit it for me, as I do not have write access. Thanks, Jozef
From a1313aeefa289cdf8c7c4b28b04648eed4708716 Mon Sep 17 00:00:00 2001 From: Jozef Lawrynowicz <joze...@somniumtech.com> Date: Thu, 24 Aug 2017 16:39:29 +0000 Subject: [PATCH] MSP430: Pass -mcode/data-region to the linker and assembler 2017-08-XX Jozef Lawrynowicz <joze...@somniumtech.com> * gcc/config/msp430/msp430.h: Pass -mcode/data-region to the linker and -mdata-region to the assembler. --- gcc/config/msp430/msp430.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/config/msp430/msp430.h b/gcc/config/msp430/msp430.h index 2bff249..e95106d 100644 --- a/gcc/config/msp430/msp430.h +++ b/gcc/config/msp430/msp430.h @@ -58,12 +58,14 @@ extern bool msp430x; "%{!msim:-md} %{msim:%{mlarge:-md}} " /* Copy data from ROM to RAM if necessary. */ \ "%{msilicon-errata=*:-msilicon-errata=%*} " /* Pass on -msilicon-errata. */ \ "%{msilicon-errata-warn=*:-msilicon-errata-warn=%*} " /* Pass on -msilicon-errata-warn. */ \ - "%{ffunction-sections:-gdwarf-sections} " /* If function sections are being created then create DWARF line number sections as well. */ + "%{ffunction-sections:-gdwarf-sections} " /* If function sections are being created then create DWARF line number sections as well. */ \ + "%{mdata-region=*:-mdata-region=%*} " /* Pass on -mdata-region. */ /* Enable linker section garbage collection by default, unless we are creating a relocatable binary (gc does not work) or debugging is enabled (the GDB testsuite relies upon unused entities not being deleted). */ -#define LINK_SPEC "%{mrelax:--relax} %{mlarge:%{!r:%{!g:--gc-sections}}}" +#define LINK_SPEC "%{mrelax:--relax} %{mlarge:%{!r:%{!g:--gc-sections}}} " \ + "%{mcode-region=*:--code-region=%*} %{mdata-region=*:--data-region=%*}" extern const char * msp430_select_hwmult_lib (int, const char **); # define EXTRA_SPEC_FUNCTIONS \ -- 1.8.3.1