1*4882a593Smuzhiyun/* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun#include <asm-generic/vmlinux.lds.h> 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunOUTPUT_FORMAT("elf64-s390", "elf64-s390", "elf64-s390") 6*4882a593SmuzhiyunOUTPUT_ARCH(s390:64-bit) 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunENTRY(purgatory_start) 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSECTIONS 11*4882a593Smuzhiyun{ 12*4882a593Smuzhiyun . = 0; 13*4882a593Smuzhiyun .head.text : { 14*4882a593Smuzhiyun _head = . ; 15*4882a593Smuzhiyun HEAD_TEXT 16*4882a593Smuzhiyun _ehead = . ; 17*4882a593Smuzhiyun } 18*4882a593Smuzhiyun .text : { 19*4882a593Smuzhiyun _text = .; /* Text */ 20*4882a593Smuzhiyun *(.text) 21*4882a593Smuzhiyun *(.text.*) 22*4882a593Smuzhiyun _etext = . ; 23*4882a593Smuzhiyun } 24*4882a593Smuzhiyun .rodata : { 25*4882a593Smuzhiyun _rodata = . ; 26*4882a593Smuzhiyun *(.rodata) /* read-only data */ 27*4882a593Smuzhiyun *(.rodata.*) 28*4882a593Smuzhiyun _erodata = . ; 29*4882a593Smuzhiyun } 30*4882a593Smuzhiyun .data : { 31*4882a593Smuzhiyun _data = . ; 32*4882a593Smuzhiyun *(.data) 33*4882a593Smuzhiyun *(.data.*) 34*4882a593Smuzhiyun _edata = . ; 35*4882a593Smuzhiyun } 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun . = ALIGN(256); 38*4882a593Smuzhiyun .bss : { 39*4882a593Smuzhiyun _bss = . ; 40*4882a593Smuzhiyun *(.bss) 41*4882a593Smuzhiyun *(.bss.*) 42*4882a593Smuzhiyun *(COMMON) 43*4882a593Smuzhiyun . = ALIGN(8); /* For convenience during zeroing */ 44*4882a593Smuzhiyun _ebss = .; 45*4882a593Smuzhiyun } 46*4882a593Smuzhiyun _end = .; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* Sections to be discarded */ 49*4882a593Smuzhiyun /DISCARD/ : { 50*4882a593Smuzhiyun *(.eh_frame) 51*4882a593Smuzhiyun *(*__ksymtab*) 52*4882a593Smuzhiyun *(___kcrctab*) 53*4882a593Smuzhiyun } 54*4882a593Smuzhiyun} 55