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 CPUIDLE_TEXT 31 LOCK_TEXT 32 *(.fixup) 33 *(.gnu.warning) 34 } :text 35 swapper_pg_dir = SWAPPER_PGD; 36 _etext = .; /* End of text section */ 37 38 RO_DATA(4096) 39 40 /* Will be freed after init */ 41 __init_begin = ALIGN(PAGE_SIZE); 42 INIT_TEXT_SECTION(PAGE_SIZE) 43 INIT_DATA_SECTION(16) 44 PERCPU_SECTION(L1_CACHE_BYTES) 45 /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page 46 needed for the THREAD_SIZE aligned init_task gets freed after init */ 47 . = ALIGN(THREAD_SIZE); 48 __init_end = .; 49 /* Freed after init ends here */ 50 51 _sdata = .; /* Start of rw data section */ 52 _data = .; 53 RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE) 54 55 .got : { 56 *(.got) 57 } 58 .sdata : { 59 *(.sdata) 60 } 61 _edata = .; /* End of data section */ 62 63 BSS_SECTION(0, 0, 0) 64 _end = .; 65 66 .mdebug 0 : { 67 *(.mdebug) 68 } 69 .note 0 : { 70 *(.note) 71 } 72 73 STABS_DEBUG 74 DWARF_DEBUG 75 ELF_DETAILS 76 77 DISCARDS 78} 79