blob: b543c15997cdb10af059f4612c3932cbf975c7e3 [file] [log] [blame]
OUTPUT_FORMAT(elf32-sparc)
OUTPUT_ARCH(sparc)
/* 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 = 0xffd00000;
/* 16KB stack */
STACK_SIZE = 16384;
VMEM_SIZE = 128 * 1024;
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(4096): {
*(.text.vectors)
*(.text)
*(.text.*)
}
.rodata ALIGN(4096): {
_rodata = .;
sound_drivers_start = .;
*(.rodata.sound_drivers)
sound_drivers_end = .;
*(.rodata)
*(.rodata.*)
*(.note.ELFBoot)
}
.data ALIGN(4096): {
_data = .;
*(.data)
*(.data.*)
}
.bss ALIGN(4096): {
_bss = .;
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(4096);
_vmem = .;
. += VMEM_SIZE;
_evmem = .;
_stack = .;
. += STACK_SIZE;
. = ALIGN(16);
_estack = .;
}
. = ALIGN(4096);
_end = .;
_iomem = _end + IOMEM_SIZE;
/* We discard .note sections other than .note.ELFBoot,
* because some versions of GCC generates useless ones. */
/DISCARD/ : { *(.comment*) *(.note.*) }
}