mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
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
69 lines
1.1 KiB
Plaintext
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.*) }
|
|
}
|