162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2009 Thomas Chou <thomas@wytron.com.tw>
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#include <asm-generic/vmlinux.lds.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciOUTPUT_FORMAT("elf32-littlenios2", "elf32-littlenios2", "elf32-littlenios2")
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciOUTPUT_ARCH(nios)
1162306a36Sopenharmony_ciENTRY(_start)	/* Defined in head.S */
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciSECTIONS
1462306a36Sopenharmony_ci{
1562306a36Sopenharmony_ci	. = (CONFIG_NIOS2_MEM_BASE + CONFIG_NIOS2_BOOT_LINK_OFFSET) |	\
1662306a36Sopenharmony_ci		CONFIG_NIOS2_KERNEL_REGION_BASE;
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	_text = .;
1962306a36Sopenharmony_ci	.text : { *(.text) } = 0
2062306a36Sopenharmony_ci	.rodata : { *(.rodata) *(.rodata.*) }
2162306a36Sopenharmony_ci	_etext = .;
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	. = ALIGN(32 / 8);
2462306a36Sopenharmony_ci	.data : { *(.data) }
2562306a36Sopenharmony_ci	. = ALIGN(32 / 8);
2662306a36Sopenharmony_ci	_got = .;
2762306a36Sopenharmony_ci	.got : {
2862306a36Sopenharmony_ci		*(.got.plt)
2962306a36Sopenharmony_ci		*(.igot.plt)
3062306a36Sopenharmony_ci		*(.got)
3162306a36Sopenharmony_ci		*(.igot)
3262306a36Sopenharmony_ci	}
3362306a36Sopenharmony_ci	_egot = .;
3462306a36Sopenharmony_ci	_edata =  .;
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	. = ALIGN(32 / 8);
3762306a36Sopenharmony_ci	__bss_start = .;
3862306a36Sopenharmony_ci	.bss : { *(.bss) *(.sbss) }
3962306a36Sopenharmony_ci	. = ALIGN(32 / 8);
4062306a36Sopenharmony_ci	_ebss = .;
4162306a36Sopenharmony_ci	end = . ;
4262306a36Sopenharmony_ci	_end = . ;
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	got_len = (_egot - _got);
4562306a36Sopenharmony_ci}
46