]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Allow for the existence of small-data sections
authorMichael Brown <mcb30@ipxe.org>
Tue, 24 Jun 2025 13:40:18 +0000 (14:40 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 24 Jun 2025 13:40:57 +0000 (14:40 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/i386/scripts/i386-kir.lds
src/arch/riscv/scripts/sbi.lds
src/arch/x86/scripts/pcbios.lds
src/scripts/efi.lds
src/scripts/linux.lds

index 13c36f2bfa0b1a8263988d24ce1bc95cd31a9077..4cb6560000ceecc77d72e32adc72fba57b71d70f 100644 (file)
@@ -88,6 +88,8 @@ SECTIONS {
        __rodata16 = .;
        *(.rodata16)
        *(.rodata16.*)
+       *(.srodata)
+       *(.srodata.*)
        *(.rodata)
        *(.rodata.*)
     }
@@ -95,6 +97,8 @@ SECTIONS {
        __data16 = .;
        *(.data16)
        *(.data16.*)
+       *(.sdata)
+       *(.sdata.*)
        *(.data)
        *(.data.*)
        KEEP(*(SORT(.tbl.*)))   /* Various tables.  See include/tables.h */
@@ -107,6 +111,8 @@ SECTIONS {
        _bss16 = .;
        *(.bss16)
        *(.bss16.*)
+       *(.sbss)
+       *(.sbss.*)
        *(.bss)
        *(.bss.*)
        *(COMMON)
index 9fec07ecb6b8e4eb4c0ef38f012469f77528ca80..04cabcf85ef983502622e4c0d46e2d43d9a02ef4 100644 (file)
@@ -38,6 +38,8 @@ SECTIONS {
     /* Read-only data */
     .rodata : {
        _rodata = .;
+       *(.srodata)
+       *(.srodata.*)
        *(.rodata)
        *(.rodata.*)
        _erodata = .;
@@ -46,6 +48,8 @@ SECTIONS {
     /* Writable data */
     .data : {
        _data = .;
+       *(.sdata)
+       *(.sdata.*)
        *(.data)
        *(.data.*)
        KEEP(*(SORT(.tbl.*)))   /* Various tables.  See include/tables.h */
@@ -78,6 +82,8 @@ SECTIONS {
        /* Uninitialised data */
        .bss {
            _bss = .;
+           *(.sbss)
+           *(.sbss.*)
            *(.bss)
            *(.bss.*)
            *(COMMON)
index e208b174b4f0cb0ddfcf72d54ab48a838e0fc665..f8c1372834b4cc5e7311bfcae11bd1c992fd10d3 100644 (file)
@@ -130,8 +130,12 @@ SECTIONS {
        . += 1;                         /* Prevent NULL being valid */
        *(.text)
        *(.text.*)
+       *(.srodata)
+       *(.srodata.*)
        *(.rodata)
        *(.rodata.*)
+       *(.sdata)
+       *(.sdata.*)
        *(.data)
        *(.data.*)
        KEEP(*(SORT(.tbl.*)))   /* Various tables.  See include/tables.h */
@@ -139,6 +143,8 @@ SECTIONS {
        KEEP(*(.provided.*))
        _mtextdata = .;
     } .bss.textdata (NOLOAD) : AT ( _bss_textdata_lma ) {
+       *(.sbss)
+       *(.sbss.*)
        *(.bss)
        *(.bss.*)
        *(COMMON)
index 218b1df663f224d0394e6fad08834540cde4ed33..a3b2c29d29579bf4c631e2f592afec24bf24a3ed 100644 (file)
@@ -39,6 +39,8 @@ SECTIONS {
     . = ALIGN ( _page_align );
     .rodata : {
        _rodata = .;
+       *(.srodata)
+       *(.srodata.*)
        *(.rodata)
        *(.rodata.*)
        _erodata = .;
@@ -52,6 +54,8 @@ SECTIONS {
     . = ALIGN ( _page_align );
     .data : {
        _data = .;
+       *(.sdata)
+       *(.sdata.*)
        *(.data)
        *(.data.*)
        KEEP(*(SORT(.tbl.*)))   /* Various tables.  See include/tables.h */
@@ -68,6 +72,8 @@ SECTIONS {
     . = ALIGN ( _page_align );
     .bss : {
        _bss = .;
+       *(.sbss)
+       *(.sbss.*)
        *(.bss)
        *(.bss.*)
        *(COMMON)
index 53e884ec56ab738c5239c70015bc6536a4ae6e02..f9128954b953cd11475b390bf39c2f13522fd764 100644 (file)
@@ -29,6 +29,8 @@ SECTIONS {
        . = ALIGN ( _max_align );
        .rodata : {
                _rodata = .;
+               *(.srodata)
+               *(.srodata.*)
                *(.rodata)
                *(.rodata.*)
                _erodata = .;
@@ -45,6 +47,8 @@ SECTIONS {
        . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
        .data : {
                _data = .;
+               *(.sdata)
+               *(.sdata.*)
                *(.data)
                *(.data.*)
                KEEP(*(SORT(.tbl.*)))
@@ -61,6 +65,8 @@ SECTIONS {
        . = ALIGN ( _max_align );
        .bss : {
                _bss = .;
+               *(.sbss)
+               *(.sbss.*)
                *(.bss)
                *(.bss.*)
                *(COMMON)