diff --git a/stage0_bin/layout.ld b/stage0_bin/layout.ld index bb7f7f0ad32..5a250b2396d 100644 --- a/stage0_bin/layout.ld +++ b/stage0_bin/layout.ld @@ -86,14 +86,20 @@ SECTIONS { .bss (NOLOAD) : { bss_start = .; - *(.bss .bss.*) + /* Include large section (.lbss) to support large code model. + * See . + */ + *(.bss .bss.* .lbss.*) bss_size = . - bss_start; } > ram_low .data : AT ( ADDR (.text) + SIZEOF (.text) ) { data_start = .; - *(.data .data.*) + /* Include large section (.ldata) to support large code model. + * See . + */ + *(.data .data.* .ldata.*) data_size = . - data_start; } > ram_low @@ -118,11 +124,17 @@ SECTIONS { . = ORIGIN(bios); .rodata : { - KEEP(*(.rodata .rodata.*)) + /* Include large section (.lrodata) to support large code model. + * See . + */ + KEEP(*(.rodata .rodata.* .lrodata.*)) } > bios .text : { - *(.text .text.*) + /* Include large section (.ltext) to support large code model. + * See . + */ + *(.text .text.* .ltext.*) text_end = .; } > bios