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