Back out/change some of the alignments in the previous comments. Non-ARM CPUs my have different alignment requirements. AVR, for example, has none. MIPS requires 16-byte alignment of the end of .bss.

This commit is contained in:
Gregory Nutt
2019-09-15 18:02:00 -06:00
parent 2925c28f8f
commit 805fa49a4e
32 changed files with 22 additions and 42 deletions
@@ -142,7 +142,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -152,7 +151,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -143,7 +143,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -153,7 +152,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
-2
View File
@@ -143,7 +143,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -153,7 +152,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -83,7 +83,6 @@ SECTIONS
*(.data1) *(.data1)
*(.data.*) *(.data.*)
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
. = ALIGN(4);
_edata = . ; _edata = . ;
} }
@@ -120,7 +119,6 @@ SECTIONS
*(.sbss.*) *(.sbss.*)
*(.gnu.linkonce.b*) *(.gnu.linkonce.b*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = . ; _ebss = . ;
} }
@@ -145,7 +145,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -155,7 +154,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -146,7 +146,6 @@ SECTIONS
*(.rodata*) *(.rodata*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -156,7 +155,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -110,7 +110,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > lowtext } > sram AT > lowtext
@@ -119,7 +118,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -83,7 +83,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > text } > sram AT > text
@@ -92,7 +91,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -114,7 +114,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > lowtext } > sram AT > lowtext
@@ -127,7 +126,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -87,7 +87,6 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > text } > sram AT > text
@@ -100,7 +99,6 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
@@ -265,7 +265,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -267,7 +267,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -265,7 +265,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -267,7 +267,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -265,7 +265,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_data_mem } > kseg1_data_mem
@@ -267,7 +267,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_data_mem } > kseg1_data_mem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -269,7 +269,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_data_mem } > kseg1_data_mem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_datamem } > kseg1_datamem
@@ -288,7 +288,7 @@ SECTIONS
*(.bss .bss.*) *(.bss .bss.*)
*(.gnu.linkonce.b.*) *(.gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(16);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > kseg1_data_mem } > kseg1_data_mem