[arm] general cleanup of the linker scripts, synchronize the two variants

This commit is contained in:
Travis Geiselbrecht
2012-05-09 02:08:34 -07:00
parent fc20e231db
commit 9491b0a427
2 changed files with 29 additions and 24 deletions

View File

@@ -44,9 +44,19 @@ SECTIONS
.ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
__exidx_end = .;
.rodata : {
.rodata : {
*(.rodata .rodata.* .gnu.linkonce.r.*)
. = ALIGN(4);
__rodata_end = . ;
}
/* writable data */
__data_start_rom = .;
/* in one segment binaries, the rom data address is on top of the ram data address */
__data_start = .;
.data : SUBALIGN(4) {
*(.data .data.* .gnu.linkonce.d.*)
. = ALIGN(4);
__commands_start = .;
KEEP (*(.commands))
__commands_end = .;
@@ -54,15 +64,8 @@ SECTIONS
__apps_start = .;
KEEP (*(.apps))
__apps_end = .;
. = ALIGN(4);
__rodata_end = . ;
}
/* writable data */
__data_start_rom = .; /* in one segment binaries, the rom data address is on top of the ram data address */
__data_start = .;
.data : SUBALIGN(4) { *(.data .data.* .gnu.linkonce.d.*) }
__ctor_list = .;
.ctors : { *(.ctors) }
__ctor_end = .;
@@ -75,13 +78,14 @@ SECTIONS
__data_end = .;
/* unintialized data (in same segment as writable data) */
.bss.initial_stack : SUBALIGN(4) { KEEP(*(.bss.initial_stack)) }
.bss : SUBALIGN(4) {
__bss_start = .;
*(.bss .bss.*)
}
. = ALIGN(4);
.bss.initial_stack : { KEEP(*(.bss.initial_stack)) }
__bss_start = .;
.bss : { *(.bss .bss.*) }
. = ALIGN(4);
__bss_end = .;
_end = .;
. = %MEMBASE% + %MEMSIZE%;

View File

@@ -44,8 +44,8 @@ SECTIONS
.ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
__exidx_end = .;
.rodata : {
*(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata : {
*(.rodata .rodata.* .gnu.linkonce.r.*)
. = ALIGN(4);
__rodata_end = . ;
}
@@ -76,19 +76,20 @@ SECTIONS
.dynamic : { *(.dynamic) }
__data_end = .;
/* unintialized data (in same segment as writable data) */
. = ALIGN(4);
.bss.initial_stack : { KEEP(*(.bss.initial_stack)) }
__bss_start = .;
.bss : { *(.bss .bss.*) }
. = ALIGN(4);
/* unintialized data (in same segment as writable data) */
.bss.initial_stack : SUBALIGN(4) { KEEP(*(.bss.initial_stack)) }
.bss : SUBALIGN(4) {
__bss_start = .;
*(.bss .bss.*)
}
. = ALIGN(4);
__bss_end = .;
_end = . ;
_end = .;
. = %MEMBASE% + %MEMSIZE%;
_end_of_ram = . ;
_end_of_ram = .;
/* Strip unnecessary stuff */
/DISCARD/ : { *(.comment .note .eh_frame) }