[build] Allow for the existence of small-data sections

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2025-06-24 14:40:18 +01:00
parent d3e10ebd35
commit 8df3b96402
5 changed files with 30 additions and 0 deletions

View File

@@ -88,6 +88,8 @@ SECTIONS {
__rodata16 = .; __rodata16 = .;
*(.rodata16) *(.rodata16)
*(.rodata16.*) *(.rodata16.*)
*(.srodata)
*(.srodata.*)
*(.rodata) *(.rodata)
*(.rodata.*) *(.rodata.*)
} }
@@ -95,6 +97,8 @@ SECTIONS {
__data16 = .; __data16 = .;
*(.data16) *(.data16)
*(.data16.*) *(.data16.*)
*(.sdata)
*(.sdata.*)
*(.data) *(.data)
*(.data.*) *(.data.*)
KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */ KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */
@@ -107,6 +111,8 @@ SECTIONS {
_bss16 = .; _bss16 = .;
*(.bss16) *(.bss16)
*(.bss16.*) *(.bss16.*)
*(.sbss)
*(.sbss.*)
*(.bss) *(.bss)
*(.bss.*) *(.bss.*)
*(COMMON) *(COMMON)

View File

@@ -38,6 +38,8 @@ SECTIONS {
/* Read-only data */ /* Read-only data */
.rodata : { .rodata : {
_rodata = .; _rodata = .;
*(.srodata)
*(.srodata.*)
*(.rodata) *(.rodata)
*(.rodata.*) *(.rodata.*)
_erodata = .; _erodata = .;
@@ -46,6 +48,8 @@ SECTIONS {
/* Writable data */ /* Writable data */
.data : { .data : {
_data = .; _data = .;
*(.sdata)
*(.sdata.*)
*(.data) *(.data)
*(.data.*) *(.data.*)
KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */ KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */
@@ -78,6 +82,8 @@ SECTIONS {
/* Uninitialised data */ /* Uninitialised data */
.bss { .bss {
_bss = .; _bss = .;
*(.sbss)
*(.sbss.*)
*(.bss) *(.bss)
*(.bss.*) *(.bss.*)
*(COMMON) *(COMMON)

View File

@@ -130,8 +130,12 @@ SECTIONS {
. += 1; /* Prevent NULL being valid */ . += 1; /* Prevent NULL being valid */
*(.text) *(.text)
*(.text.*) *(.text.*)
*(.srodata)
*(.srodata.*)
*(.rodata) *(.rodata)
*(.rodata.*) *(.rodata.*)
*(.sdata)
*(.sdata.*)
*(.data) *(.data)
*(.data.*) *(.data.*)
KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */ KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */
@@ -139,6 +143,8 @@ SECTIONS {
KEEP(*(.provided.*)) KEEP(*(.provided.*))
_mtextdata = .; _mtextdata = .;
} .bss.textdata (NOLOAD) : AT ( _bss_textdata_lma ) { } .bss.textdata (NOLOAD) : AT ( _bss_textdata_lma ) {
*(.sbss)
*(.sbss.*)
*(.bss) *(.bss)
*(.bss.*) *(.bss.*)
*(COMMON) *(COMMON)

View File

@@ -39,6 +39,8 @@ SECTIONS {
. = ALIGN ( _page_align ); . = ALIGN ( _page_align );
.rodata : { .rodata : {
_rodata = .; _rodata = .;
*(.srodata)
*(.srodata.*)
*(.rodata) *(.rodata)
*(.rodata.*) *(.rodata.*)
_erodata = .; _erodata = .;
@@ -52,6 +54,8 @@ SECTIONS {
. = ALIGN ( _page_align ); . = ALIGN ( _page_align );
.data : { .data : {
_data = .; _data = .;
*(.sdata)
*(.sdata.*)
*(.data) *(.data)
*(.data.*) *(.data.*)
KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */ KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */
@@ -68,6 +72,8 @@ SECTIONS {
. = ALIGN ( _page_align ); . = ALIGN ( _page_align );
.bss : { .bss : {
_bss = .; _bss = .;
*(.sbss)
*(.sbss.*)
*(.bss) *(.bss)
*(.bss.*) *(.bss.*)
*(COMMON) *(COMMON)

View File

@@ -29,6 +29,8 @@ SECTIONS {
. = ALIGN ( _max_align ); . = ALIGN ( _max_align );
.rodata : { .rodata : {
_rodata = .; _rodata = .;
*(.srodata)
*(.srodata.*)
*(.rodata) *(.rodata)
*(.rodata.*) *(.rodata.*)
_erodata = .; _erodata = .;
@@ -45,6 +47,8 @@ SECTIONS {
. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
.data : { .data : {
_data = .; _data = .;
*(.sdata)
*(.sdata.*)
*(.data) *(.data)
*(.data.*) *(.data.*)
KEEP(*(SORT(.tbl.*))) KEEP(*(SORT(.tbl.*)))
@@ -61,6 +65,8 @@ SECTIONS {
. = ALIGN ( _max_align ); . = ALIGN ( _max_align );
.bss : { .bss : {
_bss = .; _bss = .;
*(.sbss)
*(.sbss.*)
*(.bss) *(.bss)
*(.bss.*) *(.bss.*)
*(COMMON) *(COMMON)