blob: 5328c1ccaccf8b683f8afb9d59f9e3e91e4f2b03 [file] [edit]
/* SPDX-License-Identifier: GPL-2.0 */
#include <asm-generic/vmlinux.lds.h>
#include <asm/page.h>
#include <asm/setup.h>
OUTPUT_FORMAT("elf64-alpha")
OUTPUT_ARCH(alpha)
ENTRY(__start)
SECTIONS
{
/*
* Link the stub at the address the real, uncompressed vmlinux has
* always occupied. aboot derives the OSF/1 parameter-page
* (ZERO_PGE) and initial stack (INIT_STACK) addresses from the
* loaded image's own p_vaddr, so a stub linked anywhere else would
* hand the real kernel a parameter page it does not expect.
*/
. = START_ADDR;
.head.text : {
_head = .;
HEAD_TEXT
_ehead = .;
}
. = ALIGN(8);
.rodata.compressed : {
*(.rodata.compressed)
}
. = ALIGN(PAGE_SIZE);
.text : {
_text = .;
*(.text)
*(.text.*)
_etext = .;
}
. = ALIGN(8);
.rodata : {
*(.rodata)
*(.rodata.*)
}
. = ALIGN(8);
.data : {
*(.data)
*(.data.*)
}
.got : {
*(.got)
}
.sdata : {
*(.sdata)
}
/*
* misc.c decompresses to _ebss, so nothing that the stub still
* needs may be placed after .bss. --orphan-handling=warn keeps a
* new section from silently landing there.
*/
. = ALIGN(8);
.bss : {
_bss = .;
*(.sbss)
*(.scommon)
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(8);
_ebss = .;
}
STABS_DEBUG
DWARF_DEBUG
ELF_DETAILS
DISCARDS
/DISCARD/ : {
*(.eh_frame)
*(.modinfo)
*(.note)
*(.note.*)
}
}