forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
1.9 KiB
108 lines
1.9 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#include <asm-generic/vmlinux.lds.h> |
|
#include <asm/vmlinux.lds.h> |
|
#include <asm/thread_info.h> |
|
#include <asm/page.h> |
|
#include <asm/sclp.h> |
|
|
|
OUTPUT_FORMAT("elf64-s390", "elf64-s390", "elf64-s390") |
|
OUTPUT_ARCH(s390:64-bit) |
|
|
|
ENTRY(startup) |
|
|
|
SECTIONS |
|
{ |
|
. = 0; |
|
.head.text : { |
|
_head = . ; |
|
HEAD_TEXT |
|
_ehead = . ; |
|
} |
|
.text : { |
|
_text = .; /* Text */ |
|
*(.text) |
|
*(.text.*) |
|
_etext = . ; |
|
} |
|
.rodata : { |
|
_rodata = . ; |
|
*(.rodata) /* read-only data */ |
|
*(.rodata.*) |
|
_erodata = . ; |
|
} |
|
NOTES |
|
.data : { |
|
_data = . ; |
|
*(.data) |
|
*(.data.*) |
|
_edata = . ; |
|
} |
|
|
|
BOOT_DATA |
|
BOOT_DATA_PRESERVED |
|
|
|
/* |
|
* This is the BSS section of the decompressor and not of the decompressed Linux kernel. |
|
* It will consume place in the decompressor's image. |
|
*/ |
|
. = ALIGN(8); |
|
.bss : { |
|
_bss = . ; |
|
*(.bss) |
|
*(.bss.*) |
|
*(COMMON) |
|
/* |
|
* Stacks for the decompressor |
|
*/ |
|
. = ALIGN(PAGE_SIZE); |
|
_dump_info_stack_start = .; |
|
. += PAGE_SIZE; |
|
_dump_info_stack_end = .; |
|
. = ALIGN(PAGE_SIZE); |
|
_stack_start = .; |
|
. += BOOT_STACK_SIZE; |
|
_stack_end = .; |
|
_ebss = .; |
|
} |
|
|
|
/* |
|
* uncompressed image info used by the decompressor it should match |
|
* struct vmlinux_info. It comes from .vmlinux.info section of |
|
* uncompressed vmlinux in a form of info.o |
|
*/ |
|
. = ALIGN(8); |
|
.vmlinux.info : { |
|
_vmlinux_info = .; |
|
*(.vmlinux.info) |
|
} |
|
|
|
.decompressor.syms : { |
|
. += 1; /* make sure we have \0 before the first entry */ |
|
. = ALIGN(2); |
|
_decompressor_syms_start = .; |
|
*(.decompressor.syms) |
|
_decompressor_syms_end = .; |
|
} |
|
|
|
#ifdef CONFIG_KERNEL_UNCOMPRESSED |
|
. = 0x100000; |
|
#else |
|
. = ALIGN(8); |
|
#endif |
|
.rodata.compressed : { |
|
_compressed_start = .; |
|
*(.vmlinux.bin.compressed) |
|
_compressed_end = .; |
|
FILL(0xff); |
|
. = ALIGN(4096); |
|
} |
|
_end = .; |
|
|
|
/* Sections to be discarded */ |
|
/DISCARD/ : { |
|
*(.eh_frame) |
|
*(__ex_table) |
|
*(*__ksymtab*) |
|
*(___kcrctab*) |
|
} |
|
}
|
|
|