blob: a55e02b1acb01054124706a101908ee84d28b0fa [file] [log] [blame]
OUTPUT_FORMAT(elf64-sparc)
OUTPUT_ARCH(sparc:v9)
/* QEMU ELF loader can't handle very complex files, so we put ELFBoot
info to rodata and put initctx to data.*/
ENTRY(trap_table)
/* Initial load address
*/
BASE_ADDR = 0x00000000ffd00000;
/* 16KB stack */
STACK_SIZE = 16384;
IOMEM_SIZE = 256 * 1024 + 768 * 1024;
SECTIONS
{
. = BASE_ADDR;
/* Start of the program.
* Now the version string is in the note, we must include it
* in the program. Otherwise we lose the string after relocation. */
_start = .;
/* Normal sections */
.text ALIGN(524288): {
*(.text.vectors)
*(.text)
*(.text.*)
}
.rodata ALIGN(524288): {
_rodata = .;
sound_drivers_start = .;
*(.rodata.sound_drivers)
sound_drivers_end = .;
*(.rodata)
*(.rodata.*)
*(.note.ELFBoot)
}
.data ALIGN(524288): {
_data = .;
*(.data)
*(.data.*)
}
.bss ALIGN(4096): {
_bss = .;
*(.bss)
*(.bss.*)
*(COMMON)
_fcstack = .;
. += 32768;
. = ALIGN(16);
_efcstack = .;
_stack = .;
. += STACK_SIZE;
. = ALIGN(16);
_estack = .;
}
. = ALIGN(8192);
_end = .;
_iomem = _end + IOMEM_SIZE;
/* We discard .note sections other than .note.ELFBoot,
* because some versions of GCC generates useless ones. */
/DISCARD/ : { *(.comment*) *(.note.*) }
}