blob: fbbcc546f3bbe3ee0d6a3034f2e5f9596d25527e [file] [log] [blame]
OUTPUT_FORMAT(elf64-powerpc)
OUTPUT_ARCH(powerpc:common64)
/* Initial load address
*/
BASE_ADDR = 0xfff00000;
/* As NVRAM is at 0xfff04000, the .text needs to be after that
* The value in arch/ppc/qemu/kernel.c must match this value!
*/
TEXT_ADDR = 0xfff08000;
/* Hard reset vector address
*/
HRESET_ADDR = 0xfffffffc;
CSTACK_SIZE = 32768; /* client stack size */
SECTIONS
{
. = BASE_ADDR;
_start = BASE_ADDR + 0x0100;
.text.vectors ALIGN(4096): {
*(.text.vectors)
}
. = TEXT_ADDR;
/* Normal sections */
.data.dict ALIGN(4096): {
_dict_start = .;
*(.data.dict)
_dict_end = .;
}
.text ALIGN(4096): {
*(.text)
*(.text.*)
}
.rodata ALIGN(4096): {
_rodata = .;
*(.rodata)
*(.rodata.*)
*(.note.ELFBoot)
}
.data ALIGN(4096): {
_data = .;
*(.data)
*(.data.*)
*(.toc1)
*(.branch_lt)
_edata = .;
}
.opd : {
*(.opd)
}
.got : {
__toc_start = .;
*(.got)
*(.toc)
}
.bss ALIGN(4096): {
_bss = .;
*(.sbss)
*(.sbss.*)
*(.bss)
*(.bss.*)
*(COMMON)
_ebss = .;
}
. = HRESET_ADDR;
.romentry : { *(.romentry) }
. = ALIGN(4096);
_end = .;
/* We discard .note sections other than .note.ELFBoot,
* because some versions of GCC generates useless ones. */
/DISCARD/ : { *(.comment*) *(.note.*) }
}