From ccf56c61be3c41dedc65266fde16e6d0a2dd18dc Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 18 Dec 2005 14:37:34 +0000 Subject: [PATCH] Fixed PPC boot loader linker script. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15577 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/ldscripts/ppc/boot_loader.ld | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/system/ldscripts/ppc/boot_loader.ld b/src/system/ldscripts/ppc/boot_loader.ld index dcdbe62384..dc2643b1ca 100644 --- a/src/system/ldscripts/ppc/boot_loader.ld +++ b/src/system/ldscripts/ppc/boot_loader.ld @@ -2,6 +2,7 @@ OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc") OUTPUT_ARCH(powerpc) ENTRY(_start) + SECTIONS { . = 0x102000 + SIZEOF_HEADERS; @@ -9,24 +10,32 @@ SECTIONS /* text/read-only data */ .text : { *(.text .gnu.linkonce.t.*) } + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } + .sdata2 : { *(.sdata2) } + + /* writable data */ + . = ALIGN(0x1000); + __ctor_list = .; .ctors : { *(.ctors) } __ctor_end = .; - .rodata : { *(.rodata) } - - /* writable data */ - . = ALIGN(0x1000); __data_start = .; .data : { *(.data .gnu.linkonce.d.*) } + .data.rel.ro : { *(.data.rel.ro.local .data.rel.ro*) } + .got : { *(.got .got2) } + .sdata : { *(.sdata .sdata.* .gnu.linkonce.s.*) } /* unintialized data (in same segment as writable data) */ __bss_start = .; - .bss : { *(.bss) } + .sbss : { *(.sbss .sbss.* .gnu.linkonce.sb.*) } + .bss : { + *(.bss .bss.* .gnu.linkonce.b.*) + . = ALIGN(0x1000); + } - . = ALIGN(0x1000); _end = . ; /* Strip unnecessary stuff */ - /DISCARD/ : { *(.comment .note .eh_frame .dtors) } + /DISCARD/ : { *(.comment .note .eh_frame .dtors .debug_*) } }