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