derive the data ends

This commit is contained in:
Corwin 2023-10-17 21:53:50 +01:00
parent f7434a4bf3
commit 8e547c6783
No known key found for this signature in database
10 changed files with 70 additions and 30 deletions

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)

View file

@ -22,7 +22,6 @@ __text_start = ORIGIN(rom);
SECTIONS { SECTIONS {
. = __text_start; . = __text_start;
.text : { .text : {
KEEP(*(.crt0)); KEEP(*(.crt0));
*(.crt0 .crt0*); *(.crt0 .crt0*);
@ -46,6 +45,7 @@ SECTIONS {
__iwram_data_start = ADDR(.iwram); __iwram_data_start = ADDR(.iwram);
__iwram_rom_start = LOADADDR(.iwram); __iwram_rom_start = LOADADDR(.iwram);
__iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2; __iwram_rom_length_halfwords = (SIZEOF(.iwram) + 1) / 2;
__iwram_end = __iwram_data_start + SIZEOF(.iwram);
.ewram : { .ewram : {
*(.ewram .ewram.*); *(.ewram .ewram.*);
@ -53,6 +53,7 @@ SECTIONS {
*(.data .data.*); *(.data .data.*);
. = ALIGN(4); . = ALIGN(4);
} > ewram AT>rom } > ewram AT>rom
__ewram_data_start = ADDR(.ewram); __ewram_data_start = ADDR(.ewram);
__ewram_rom_start = LOADADDR(.ewram); __ewram_rom_start = LOADADDR(.ewram);
@ -61,8 +62,11 @@ SECTIONS {
.bss : { .bss : {
*(.bss .bss.*); *(.bss .bss.*);
. = ALIGN(4); . = ALIGN(4);
__iwram_end = ABSOLUTE(.); = ABSOLUTE(.);
} > iwram } > ewram
__ewram_data_end = __ewram_data_start + SIZEOF(.ewram) + SIZEOF(.bss);
.shstrtab : { .shstrtab : {
*(.shstrtab) *(.shstrtab)