aboutsummaryrefslogtreecommitdiff
path: root/slof/OF.lds
diff options
context:
space:
mode:
Diffstat (limited to 'slof/OF.lds')
-rw-r--r--slof/OF.lds71
1 files changed, 52 insertions, 19 deletions
diff --git a/slof/OF.lds b/slof/OF.lds
index 133cb8b..44d710b 100644
--- a/slof/OF.lds
+++ b/slof/OF.lds
@@ -1,29 +1,62 @@
-/* ============================================================================= */
-/* * Copyright (c) 2004, 2005 IBM Corporation
-/* * All rights reserved.
-/* * This program and the accompanying materials
-/* * are made available under the terms of the BSD License
-/* * which accompanies this distribution, and is available at
-/* * http://www.opensource.org/licenses/bsd-license.php
-/* *
-/* * Contributors:
-/* * IBM Corporation - initial implementation
-/* ============================================================================= */
-
+/******************************************************************************
+ * Copyright (c) 2004, 2007 IBM Corporation
+ * All rights reserved.
+ * This program and the accompanying materials
+ * are made available under the terms of the BSD License
+ * which accompanies this distribution, and is available at
+ * http://www.opensource.org/licenses/bsd-license.php
+ *
+ * Contributors:
+ * IBM Corporation - initial implementation
+ *****************************************************************************/
OUTPUT_FORMAT("elf64-powerpc", "elf64-powerpc", "elf64-powerpc")
OUTPUT_ARCH(powerpc:common64)
+ENTRY(_start_OF)
+
SECTIONS
{
- .slof.vectors 0 : { *(.slof.vectors) }
+ . = 0xE100000;
+ _slof_start = .;
+ . = 0x0E10C000;
+ .slof.loader : { *(.slof.loader) }
+ . = 0x0E110000; /* + SIZEOF_HEADERS; */
+ _slof_text = .;
+ _start_OF = .;
+/* .rela : { *(.rela.*) } */
+ .text : { *(.entry_text) *(.text) } = 0x60000000
+ _slof_text_end = .;
+ . = ALIGN(8);
+ _slof_text_size = (_slof_text_end - _slof_text);
- .slof.text 0x1110000 : { *(.text) } = 0x60000000
-
- .slof.data 0x1120000 : {
- KEEP (*(.opd))
- . = ALIGN(8);
+ . = ALIGN(0x1000);
+ .opd :
+ {
+ _slof_data = .;
+ *(.opd)
+ }
+ . = ALIGN(8);
+ .got :
+ {
*(.got .toc)
- *(.data .data.*)
}
+ .data : { *(.rodata .rodata.*) *(.data .data.*) }
+ .comment : { *(.comment) }
+ .branch_lt : { *(.branch_lt) }
+
+ . = ALIGN(8);
+ _slof_data_end = .;
+ _slof_data_size = (_slof_data_end - _slof_data);
+
+ .bss :
+ {
+ _slof_bss = .;
+ *(*COM* .bss .sbss .gnu.linkonce.b.*)
+ _slof_bss_end = .;
+ }
+ _slof_bss_size = (_slof_bss_end - _slof_bss);
+
+ . = ALIGN(0x1000);
+ _slof_here_start = .;
}