diff --git a/avrtiny.x b/avrtiny.x index 75c5892..89b02c3 100644 --- a/avrtiny.x +++ b/avrtiny.x @@ -10,6 +10,7 @@ __DATA_REGION_LENGTH__ = DEFINED(__DATA_REGION_LENGTH__) ? __DATA_REGION_LENGTH_ __FUSE_REGION_LENGTH__ = DEFINED(__FUSE_REGION_LENGTH__) ? __FUSE_REGION_LENGTH__ : 2; __LOCK_REGION_LENGTH__ = DEFINED(__LOCK_REGION_LENGTH__) ? __LOCK_REGION_LENGTH__ : 2; __SIGNATURE_REGION_LENGTH__ = DEFINED(__SIGNATURE_REGION_LENGTH__) ? __SIGNATURE_REGION_LENGTH__ : 4; +__RODATA_PM_OFFSET__ = DEFINED(__RODATA_PM_OFFSET__) ? __RODATA_PM_OFFSET__ : 0x4000; MEMORY { text (rx) : ORIGIN = 0x0, LENGTH = __TEXT_REGION_LENGTH__ @@ -162,13 +163,17 @@ SECTIONS KEEP (*(.fini0)) _etext = . ; } > text + .rodata ADDR(.text) + SIZEOF (.text) + __RODATA_PM_OFFSET__ : + { + *(.rodata) + *(.rodata*) + *(.gnu.linkonce.r*) + } AT> text .data : { PROVIDE (__data_start = .) ; *(.data) *(.data*) - *(.rodata) /* We need to include .rodata here if gcc is used */ - *(.rodata*) /* with -fdata-sections. */ *(.gnu.linkonce.d*) . = ALIGN(2); _edata = . ;