Changeset 6677acb in mainline
- Timestamp:
- 2024-01-14T15:09:08Z (12 months ago)
- Branches:
- master
- Children:
- 3b68542
- Parents:
- 5907aa4
- Location:
- kernel/arch
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/_link.ld.in
r5907aa4 r6677acb 23 23 } 24 24 25 . mapped(PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)) : AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) {25 .text (PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)) : AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) { 26 26 ktext_start = .; 27 27 *(.text .text.*); 28 28 ktext_end = .; 29 } 29 30 31 /* stack unwinding data */ 32 .eh_frame_hdr : { 33 eh_frame_hdr_start = .; 34 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 35 eh_frame_hdr_end = .; 36 } 37 .eh_frame : { 38 eh_frame_start = .; 39 KEEP(*(.eh_frame .eh_frame.*)); 40 eh_frame_end = .; 41 } 42 43 .data : { 30 44 kdata_start = .; 31 *(.data .data.*); /* initialized data */ 32 *(.rodata .rodata.*); 33 *(.eh_frame .eh_frame.*); /* stack unwinding data */ 34 *(.eh_frame_hdr .eh_frame_hdr.*); 35 *(COMMON); /* global variables */ 45 *(.rodata .rodata.*); /* read-only global variables */ 46 *(.data .data.*); /* non-zero initialized global variables */ 36 47 37 /* bss can't be omitted from the ELF image. */ 38 *(.bss .bss.*); /* uninitialized static variables */ 48 /* 49 * When .bss is not physically present in the ELF file (MemSz > FileSz) 50 * the kernel crashes during early boot. Not sure which part of the 51 * boot process is to blame, for now just keep .bss packaged with .data 52 * so that FileSz == MemSz. 53 */ 54 55 *(.bss .bss.*); /* uninitialized global variables */ 56 *(COMMON); /* non-`static` global variables without an extern declaration */ 39 57 kdata_end = .; 40 58 } -
kernel/arch/arm32/_link.ld.in
r5907aa4 r6677acb 26 26 kernel_load_address = .; 27 27 . = . + SIZEOF_HEADERS; 28 28 29 .text : { 29 30 ktext_start = .; … … 31 32 ktext_end = .; 32 33 } 34 35 /* stack unwinding data */ 36 .eh_frame_hdr : { 37 eh_frame_hdr_start = .; 38 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 39 eh_frame_hdr_end = .; 40 } 41 42 .eh_frame : { 43 eh_frame_start = .; 44 KEEP(*(.eh_frame .eh_frame.*)); 45 eh_frame_end = .; 46 } 47 33 48 .data : { 34 49 kdata_start = .; … … 38 53 39 54 *(.rodata .rodata.*); 40 *(.eh_frame .eh_frame.*); /* stack unwinding data */41 *(.eh_frame_hdr .eh_frame_hdr.*);42 55 *(.sdata .sdata.*); 43 }44 .sbss : {45 56 *(.sbss .sbss.*); 46 57 *(.scommon .scommon.*); 58 kdata_end = .; 47 59 } 48 49 kdata_end = .;50 60 51 61 .comment 0 : { *(.comment); } -
kernel/arch/arm64/_link.ld.in
r5907aa4 r6677acb 19 19 kernel_load_address = LOAD_ADDRESS_V; 20 20 21 . image(LOAD_ADDRESS_V + SIZEOF_HEADERS) : AT (LOAD_ADDRESS_P + SIZEOF_HEADERS) {21 .text (LOAD_ADDRESS_V + SIZEOF_HEADERS) : AT (LOAD_ADDRESS_P + SIZEOF_HEADERS) { 22 22 . = ALIGN(16); 23 23 ktext_start = .; … … 25 25 *(.text .text.*); 26 26 ktext_end = .; 27 } 27 28 29 /* stack unwinding data */ 30 .eh_frame_hdr : { 31 eh_frame_hdr_start = .; 32 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 33 eh_frame_hdr_end = .; 34 } 35 36 .eh_frame : { 37 eh_frame_start = .; 38 KEEP(*(.eh_frame .eh_frame.*)); 39 eh_frame_end = .; 40 } 41 42 .data : { 28 43 kdata_start = .; 29 44 KEEP(*(K_DATA_START)) 45 *(.rodata .rodata.*); 30 46 *(.data .data.*); /* initialized data */ 31 47 *(.bss .bss.*); /* uninitialized static variables */ 32 48 *(COMMON); /* global variables */ 33 34 *(.rodata .rodata.*);35 *(.eh_frame .eh_frame.*); /* stack unwinding data */36 *(.eh_frame_hdr .eh_frame_hdr.*);37 38 49 kdata_end = .; 39 50 } -
kernel/arch/ia32/_link.ld.in
r5907aa4 r6677acb 22 22 } 23 23 24 . mapped(PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)): AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) {24 .text (PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS + SIZEOF(.unmapped)): AT (BOOT_OFFSET + SIZEOF_HEADERS + SIZEOF(.unmapped)) { 25 25 ktext_start = .; 26 26 *(.text .text.*); 27 27 ktext_end = .; 28 } 28 29 30 /* stack unwinding data */ 31 .eh_frame_hdr : { 32 eh_frame_hdr_start = .; 33 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 34 eh_frame_hdr_end = .; 35 } 36 .eh_frame : { 37 eh_frame_start = .; 38 KEEP(*(.eh_frame .eh_frame.*)); 39 eh_frame_end = .; 40 } 41 42 .data : { 29 43 kdata_start = .; 30 *(.data .data.*); /* initialized data */ 31 *(.rodata .rodata.*); 32 *(.eh_frame .eh_frame.*); /* stack unwinding data */ 33 *(.eh_frame_hdr .eh_frame_hdr.*); 34 *(COMMON); /* global variables */ 44 *(.rodata .rodata.*); /* read-only global variables */ 45 *(.data .data.*); /* non-zero initialized global variables */ 35 46 36 /* bss can't be omitted from the ELF image. */ 37 *(.bss .bss.*); /* uninitialized static variables */ 47 /* 48 * When .bss is not physically present in the ELF file (MemSz > FileSz) 49 * the kernel crashes during early boot. Not sure which part of the 50 * boot process is to blame, for now just keep .bss packaged with .data 51 * so that FileSz == MemSz. 52 */ 53 54 *(.bss .bss.*); /* uninitialized global variables */ 55 *(COMMON); /* non-`static` global variables without an extern declaration */ 38 56 kdata_end = .; 39 57 } -
kernel/arch/ia64/_link.ld.in
r5907aa4 r6677acb 15 15 kernel_load_address = LOAD_ADDRESS_V; 16 16 17 . image(LOAD_ADDRESS_V + SIZEOF_HEADERS): AT (LOAD_ADDRESS_P + SIZEOF_HEADERS) {17 .text (LOAD_ADDRESS_V + SIZEOF_HEADERS): AT (LOAD_ADDRESS_P + SIZEOF_HEADERS) { 18 18 . = ALIGN(16); 19 19 ktext_start = .; … … 21 21 *(.text .text.*) 22 22 ktext_end = .; 23 } 23 24 25 /* stack unwinding data */ 26 .eh_frame_hdr : { 27 eh_frame_hdr_start = .; 28 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 29 eh_frame_hdr_end = .; 30 } 31 32 .eh_frame : { 33 eh_frame_start = .; 34 KEEP(*(.eh_frame .eh_frame.*)); 35 eh_frame_end = .; 36 } 37 38 .data : { 24 39 kdata_start = .; 25 40 KEEP(*(K_DATA_START)); 26 41 *(.rodata .rodata.*); 27 *(.eh_frame .eh_frame.*); /* stack unwinding data */28 *(.eh_frame_hdr .eh_frame_hdr.*);29 42 *(.opd) 30 43 *(.data .data.*) -
kernel/arch/mips32/_link.ld.in
r5907aa4 r6677acb 33 33 ktext_end = .; 34 34 } 35 36 /* stack unwinding data */ 37 .eh_frame_hdr : { 38 eh_frame_hdr_start = .; 39 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 40 eh_frame_hdr_end = .; 41 } 42 43 .eh_frame : { 44 eh_frame_start = .; 45 KEEP(*(.eh_frame .eh_frame.*)); 46 eh_frame_end = .; 47 } 48 35 49 .data : { 36 50 kdata_start = .; 37 51 *(.data .data.*); /* initialized data */ 38 52 *(.rodata .rodata.*); 39 *(.eh_frame .eh_frame.*); /* stack unwinding data */40 *(.eh_frame_hdr .eh_frame_hdr.*);41 53 *(.sdata .sdata.*); 42 54 *(.reginfo); … … 46 58 *(COMMON); /* global variables */ 47 59 } 60 48 61 _gp = . + 0x8000; 49 62 .lit8 : { *(.lit8) } -
kernel/arch/ppc32/_link.ld.in
r5907aa4 r6677acb 25 25 } 26 26 27 . mappedPA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) {27 .text PA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) { 28 28 ktext_start = .; 29 29 KEEP(*(K_TEXT_START)); 30 30 *(.text .text.*); 31 31 ktext_end = .; 32 } 32 33 34 /* stack unwinding data */ 35 .eh_frame_hdr : { 36 eh_frame_hdr_start = .; 37 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 38 eh_frame_hdr_end = .; 39 } 40 41 .eh_frame : { 42 eh_frame_start = .; 43 KEEP(*(.eh_frame .eh_frame.*)); 44 eh_frame_end = .; 45 } 46 47 .data : { 33 48 kdata_start = .; 34 49 KEEP(*(K_DATA_START)); 35 50 *(.rodata .rodata.*); 36 *(.eh_frame .eh_frame.*); /* stack unwinding data */37 *(.eh_frame_hdr .eh_frame_hdr.*);38 51 *(.data .data.*); /* initialized data */ 39 52 *(.sdata .sdata.*); -
kernel/arch/riscv64/_link.ld.in
r5907aa4 r6677acb 16 16 kernel_load_address = PA2KA(BOOT_OFFSET); 17 17 18 . image(PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS) : AT (BOOT_OFFSET + SIZEOF_HEADERS) {18 .text (PA2KA(BOOT_OFFSET) + SIZEOF_HEADERS) : AT (BOOT_OFFSET + SIZEOF_HEADERS) { 19 19 ktext_start = .; 20 20 KEEP(*(K_TEXT_START)); 21 21 *(.text .text.*); 22 22 ktext_end = .; 23 } 23 24 25 /* stack unwinding data */ 26 .eh_frame_hdr : { 27 eh_frame_hdr_start = .; 28 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 29 eh_frame_hdr_end = .; 30 } 31 32 .eh_frame : { 33 eh_frame_start = .; 34 KEEP(*(.eh_frame .eh_frame.*)); 35 eh_frame_end = .; 36 } 37 38 .data : { 24 39 kdata_start = .; 25 40 *(.data .data.*); /* initialized data */ 26 41 *(.rodata .rodata.*); 27 *(.eh_frame .eh_frame.*); /* stack unwinding data */28 *(.eh_frame_hdr .eh_frame_hdr.*);29 42 *(.sdata .sdata.*); 30 43 *(.sbss .sbss.*); -
kernel/arch/sparc64/_link.ld.in
r5907aa4 r6677acb 14 14 kernel_load_address = VMA; 15 15 16 . image(VMA + SIZEOF_HEADERS): AT (LMA + SIZEOF_HEADERS) {16 .text (VMA + SIZEOF_HEADERS): AT (LMA + SIZEOF_HEADERS) { 17 17 ktext_start = .; 18 18 KEEP(*(K_TEXT_START)); 19 19 *(.text .text.*); 20 20 ktext_end = .; 21 } 21 22 23 /* stack unwinding data */ 24 .eh_frame_hdr : { 25 eh_frame_hdr_start = .; 26 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*); 27 eh_frame_hdr_end = .; 28 } 29 30 .eh_frame : { 31 eh_frame_start = .; 32 KEEP(*(.eh_frame .eh_frame.*)); 33 eh_frame_end = .; 34 } 35 36 .data : { 22 37 kdata_start = .; 23 38 KEEP(*(K_DATA_START)); 24 39 *(.rodata .rodata.*); 25 *(.eh_frame .eh_frame.*); /* stack unwinding data */26 *(.eh_frame_hdr .eh_frame_hdr.*);27 40 *(.data .data.*); /* initialized data */ 28 41 *(.sdata .sdata.*);
Note:
See TracChangeset
for help on using the changeset viewer.