# Copyright (C) 2014-2017 Free Software Foundation, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. # RODATA_PM_OFFSET # If empty, .rodata sections will be part of .data. This is for # devices where it is not possible to use LD* instructions to read # from flash. # # If non-empty, .rodata is not part of .data and the .rodata # objects are assigned addresses at an offest of RODATA_PM_OFFSET. # This is for devices that feature reading from flash by means of # LD* instructions, provided the addresses are offset by # __RODATA_PM_OFFSET__ (which defaults to RODATA_PM_OFFSET). cat < text} EOF # Devices like ATtiny816 allow to read from flash memory by means of LD* # instructions provided we add an offset of __RODATA_PM_OFFSET__ to the # flash addresses. if test -n "$RODATA_PM_OFFSET"; then cat < text} EOF fi cat < data ${RELOCATING+AT> text}} .bss ${RELOCATING+ ADDR(.data) + SIZEOF (.data)} ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))} { ${RELOCATING+ PROVIDE (__bss_start = .) ; } *(.bss) ${RELOCATING+ *(.bss*)} *(COMMON) ${RELOCATING+ PROVIDE (__bss_end = .) ; } } ${RELOCATING+ > data} ${RELOCATING+ __data_load_start = LOADADDR(.data); } ${RELOCATING+ __data_load_end = __data_load_start + SIZEOF(.data); } /* Global data not cleared after reset. */ .noinit ${RELOCATING+ ADDR(.bss) + SIZEOF (.bss)} ${RELOCATING-0}: ${RELOCATING+ AT (ADDR (.noinit))} { ${RELOCATING+ PROVIDE (__noinit_start = .) ; } *(.noinit*) ${RELOCATING+ PROVIDE (__noinit_end = .) ; } ${RELOCATING+ _end = . ; } ${RELOCATING+ PROVIDE (__heap_start = .) ; } } ${RELOCATING+ > data} .eeprom ${RELOCATING-0}: { /* See .data above... */ KEEP(*(.eeprom*)) ${RELOCATING+ __eeprom_end = . ; } } ${RELOCATING+ > eeprom} .fuse ${RELOCATING-0}: { KEEP(*(.fuse)) KEEP(*(.lfuse)) KEEP(*(.hfuse)) KEEP(*(.efuse)) } ${RELOCATING+ > fuse} .lock ${RELOCATING-0}: { KEEP(*(.lock*)) } ${RELOCATING+ > lock} .signature ${RELOCATING-0}: { KEEP(*(.signature*)) } ${RELOCATING+ > signature} /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } .note.gnu.build-id : { *(.note.gnu.build-id) } EOF . $srcdir/scripttempl/DWARF.sc cat <