1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */ 2441110a5SKees Cook 3441110a5SKees Cook#define EMITS_PT_NOTE 4172c8b85SKees Cook#define RO_EXCEPTION_TABLE_ALIGN 16 5441110a5SKees Cook 61da177e4SLinus Torvalds#include <asm-generic/vmlinux.lds.h> 7de078ef5SSam Ravnborg#include <asm/thread_info.h> 80f06c063STejun Heo#include <asm/cache.h> 9b2b5d37dSSam Ravnborg#include <asm/page.h> 10ec221208SDavid Howells#include <asm/setup.h> 111da177e4SLinus Torvalds 121da177e4SLinus TorvaldsOUTPUT_FORMAT("elf64-alpha") 131da177e4SLinus TorvaldsOUTPUT_ARCH(alpha) 141da177e4SLinus TorvaldsENTRY(__start) 1565182e6eSKees CookPHDRS { text PT_LOAD; note PT_NOTE; } 161da177e4SLinus Torvaldsjiffies = jiffies_64; 171da177e4SLinus TorvaldsSECTIONS 181da177e4SLinus Torvalds{ 191da177e4SLinus Torvalds#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS 201da177e4SLinus Torvalds . = 0xfffffc0000310000; 211da177e4SLinus Torvalds#else 221da177e4SLinus Torvalds . = 0xfffffc0001010000; 231da177e4SLinus Torvalds#endif 241da177e4SLinus Torvalds 251da177e4SLinus Torvalds _text = .; /* Text and read-only data */ 261da177e4SLinus Torvalds .text : { 2792ca5234STim Abbott HEAD_TEXT 287664709bSSam Ravnborg TEXT_TEXT 291da177e4SLinus Torvalds SCHED_TEXT 301da177e4SLinus Torvalds LOCK_TEXT 311da177e4SLinus Torvalds *(.fixup) 321da177e4SLinus Torvalds *(.gnu.warning) 3365182e6eSKees Cook } :text 34ec221208SDavid Howells swapper_pg_dir = SWAPPER_PGD; 351da177e4SLinus Torvalds _etext = .; /* End of text section */ 361da177e4SLinus Torvalds 37c8231825SKees Cook RO_DATA(4096) 381da177e4SLinus Torvalds 391da177e4SLinus Torvalds /* Will be freed after init */ 409d93f005SGeoffrey Thomas __init_begin = ALIGN(PAGE_SIZE); 419d93f005SGeoffrey Thomas INIT_TEXT_SECTION(PAGE_SIZE) 429d93f005SGeoffrey Thomas INIT_DATA_SECTION(16) 430415b00dSTejun Heo PERCPU_SECTION(L1_CACHE_BYTES) 449d93f005SGeoffrey Thomas /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page 459d93f005SGeoffrey Thomas needed for the THREAD_SIZE aligned init_task gets freed after init */ 469d93f005SGeoffrey Thomas . = ALIGN(THREAD_SIZE); 471da177e4SLinus Torvalds __init_end = .; 481da177e4SLinus Torvalds /* Freed after init ends here */ 491da177e4SLinus Torvalds 50a2d063acSSteven Rostedt _sdata = .; /* Start of rw data section */ 511da177e4SLinus Torvalds _data = .; 52c9174047SKees Cook RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) 531da177e4SLinus Torvalds 54b2b5d37dSSam Ravnborg .got : { 55b2b5d37dSSam Ravnborg *(.got) 56b2b5d37dSSam Ravnborg } 57b2b5d37dSSam Ravnborg .sdata : { 58b2b5d37dSSam Ravnborg *(.sdata) 59b2b5d37dSSam Ravnborg } 601da177e4SLinus Torvalds _edata = .; /* End of data section */ 611da177e4SLinus Torvalds 629d93f005SGeoffrey Thomas BSS_SECTION(0, 0, 0) 631da177e4SLinus Torvalds _end = .; 641da177e4SLinus Torvalds 65b2b5d37dSSam Ravnborg .mdebug 0 : { 66b2b5d37dSSam Ravnborg *(.mdebug) 67b2b5d37dSSam Ravnborg } 68b2b5d37dSSam Ravnborg .note 0 : { 69b2b5d37dSSam Ravnborg *(.note) 70b2b5d37dSSam Ravnborg } 711da177e4SLinus Torvalds 72b2b5d37dSSam Ravnborg STABS_DEBUG 73b2b5d37dSSam Ravnborg DWARF_DEBUG 74*c604abc3SKees Cook ELF_DETAILS 75023bf6f1STejun Heo 76023bf6f1STejun Heo DISCARDS 771da177e4SLinus Torvalds} 78