diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2017-07-05 13:57:28 +0000 |
---|---|---|
committer | Georg-Johann Lay <avr@gjlay.de> | 2017-07-05 13:57:28 +0000 |
commit | fd5567133961fe1374fe866db2fff50d5e8f4034 (patch) | |
tree | b40fcdc59b02e071b810915d50a83ea9a4ea7524 /gcc/config/avr/avr.c | |
parent | 994bd5718a2a0163e13d026564b62c3a6b61537a (diff) |
gcc/
Graceful degrade if Binutils PR21472 is not available.
PR target/81072
* configure.ac [target=avr]: WARN instead of ERROR if avrxmega3
.rodata in flash test fails.
(HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH): Define it if test passes.
* confgure: Regenerate.
* config.in: Regenerate.
* config/avr/avr.c (avr_asm_named_section)
[HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH]: Only trigger
__do_copy_data for stuff in .rodata if flash_pm_offset = 0.
(avr_asm_init_sections): Same.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@250000 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/avr/avr.c')
-rw-r--r-- | gcc/config/avr/avr.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 030a9d9ee97..ba35b9e1542 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -10000,7 +10000,9 @@ avr_asm_init_sections (void) resp. `avr_need_copy_data_p'. If flash is not mapped to RAM then we have also to track .rodata because it is located in RAM then. */ +#if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH if (0 == avr_arch->flash_pm_offset) +#endif readonly_data_section->unnamed.callback = avr_output_data_section_asm_op; data_section->unnamed.callback = avr_output_data_section_asm_op; bss_section->unnamed.callback = avr_output_bss_section_asm_op; @@ -10036,7 +10038,10 @@ avr_asm_named_section (const char *name, unsigned int flags, tree decl) || STR_PREFIX_P (name, ".gnu.linkonce.d")); if (!avr_need_copy_data_p - && 0 == avr_arch->flash_pm_offset) +#if defined HAVE_LD_AVR_AVRXMEGA3_RODATA_IN_FLASH + && 0 == avr_arch->flash_pm_offset +#endif + ) avr_need_copy_data_p = (STR_PREFIX_P (name, ".rodata") || STR_PREFIX_P (name, ".gnu.linkonce.r")); |