18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2009 Thomas Chou <thomas@wytron.com.tw>
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#include <asm-generic/vmlinux.lds.h>
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciOUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciOUTPUT_ARCH(nios)
118c2ecf20Sopenharmony_ciENTRY(_start)	/* Defined in head.S */
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciSECTIONS
148c2ecf20Sopenharmony_ci{
158c2ecf20Sopenharmony_ci	. = (CONFIG_NIOS2_MEM_BASE + CONFIG_NIOS2_BOOT_LINK_OFFSET) |	\
168c2ecf20Sopenharmony_ci		CONFIG_NIOS2_KERNEL_REGION_BASE;
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	_text = .;
198c2ecf20Sopenharmony_ci	.text : { *(.text) } = 0
208c2ecf20Sopenharmony_ci	.rodata : { *(.rodata) *(.rodata.*) }
218c2ecf20Sopenharmony_ci	_etext = .;
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	. = ALIGN(32 / 8);
248c2ecf20Sopenharmony_ci	.data : { *(.data) }
258c2ecf20Sopenharmony_ci	. = ALIGN(32 / 8);
268c2ecf20Sopenharmony_ci	_got = .;
278c2ecf20Sopenharmony_ci	.got : {
288c2ecf20Sopenharmony_ci		*(.got.plt)
298c2ecf20Sopenharmony_ci		*(.igot.plt)
308c2ecf20Sopenharmony_ci		*(.got)
318c2ecf20Sopenharmony_ci		*(.igot)
328c2ecf20Sopenharmony_ci	}
338c2ecf20Sopenharmony_ci	_egot = .;
348c2ecf20Sopenharmony_ci	_edata =  .;
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	. = ALIGN(32 / 8);
378c2ecf20Sopenharmony_ci	__bss_start = .;
388c2ecf20Sopenharmony_ci	.bss : { *(.bss) *(.sbss) }
398c2ecf20Sopenharmony_ci	. = ALIGN(32 / 8);
408c2ecf20Sopenharmony_ci	_ebss = .;
418c2ecf20Sopenharmony_ci	end = . ;
428c2ecf20Sopenharmony_ci	_end = . ;
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci	got_len = (_egot - _got);
458c2ecf20Sopenharmony_ci}
46