Files
openbios/arch/ppc/qemu/ldscript
Laurent Vivier 45caaecfa6 Author: Pavel Roskin <proski@gnu.org>
This is needed on Fedora 11 (GNU ld 2.19.51.0.2).  Otherwise, qemu
reports on statup:

invalid/unsupported opcode: 00 - 18 - 01 (00004070) 00000004 1
invalid/unsupported opcode: 00 - 04 - 17 (000095c8) 000095ec 0

I checked Linux sources (arch/powerpc/kernel/vmlinux.lds.S) and I see
that .sbss is put to the .bss section in front of .bss itself.

The problem is discussed at
https://bugzilla.redhat.com/show_bug.cgi?id=494075



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@488 f158a5a8-5612-0410-a976-696ce0be7e32
2009-05-17 17:14:01 +00:00

69 lines
1.1 KiB
Plaintext

OUTPUT_FORMAT(elf32-powerpc)
OUTPUT_ARCH(powerpc)
/* Initial load address
*/
BASE_ADDR = 0xfff00000;
/* As NVRAM is at 0xfff04000, the .text needs to be after that
*/
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 */
.text ALIGN(4096): {
*(.text)
*(.text.*)
}
.rodata ALIGN(4096): {
_rodata = .;
*(.rodata)
*(.rodata.*)
*(.note.ELFBoot)
}
.data ALIGN(4096): {
_data = .;
*(.data)
*(.data.*)
_edata = .;
}
.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.*) }
}