1/* SPDX-License-Identifier: GPL-2.0 */ 2 3#define EMITS_PT_NOTE 4#define RO_EXCEPTION_TABLE_ALIGN 16 5 6#include <asm-generic/vmlinux.lds.h> 7#include <asm/thread_info.h> 8#include <asm/cache.h> 9#include <asm/page.h> 10#include <asm/setup.h> 11 12OUTPUT_FORMAT("elf64-alpha") 13OUTPUT_ARCH(alpha) 14ENTRY(__start) 15PHDRS { text PT_LOAD; note PT_NOTE; } 16jiffies = jiffies_64; 17SECTIONS 18{ 19#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS 20 . = 0xfffffc0000310000; 21#else 22 . = 0xfffffc0001010000; 23#endif 24 25 _text = .; /* Text and read-only data */ 26 .text : { 27 HEAD_TEXT 28 TEXT_TEXT 29 SCHED_TEXT 30 LOCK_TEXT 31 *(.fixup) 32 *(.gnu.warning) 33 } :text 34 swapper_pg_dir = SWAPPER_PGD; 35 _etext = .; /* End of text section */ 36 37 RO_DATA(4096) 38 39 /* Will be freed after init */ 40 __init_begin = ALIGN(PAGE_SIZE); 41 INIT_TEXT_SECTION(PAGE_SIZE) 42 INIT_DATA_SECTION(16) 43 PERCPU_SECTION(L1_CACHE_BYTES) 44 /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page 45 needed for the THREAD_SIZE aligned init_task gets freed after init */ 46 . = ALIGN(THREAD_SIZE); 47 __init_end = .; 48 /* Freed after init ends here */ 49 50 _sdata = .; /* Start of rw data section */ 51 _data = .; 52 RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) 53 54 .got : { 55 *(.got) 56 } 57 .sdata : { 58 *(.sdata) 59 } 60 _edata = .; /* End of data section */ 61 62 BSS_SECTION(0, 0, 0) 63 _end = .; 64 65 .mdebug 0 : { 66 *(.mdebug) 67 } 68 .note 0 : { 69 *(.note) 70 } 71 72 STABS_DEBUG 73 DWARF_DEBUG 74 ELF_DETAILS 75 76 DISCARDS 77} 78