aboutsummaryrefslogtreecommitdiffstats
path: root/mbr/mbr.ld
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-02-04 17:24:10 -0800
committerH. Peter Anvin <hpa@zytor.com>2007-02-04 17:24:10 -0800
commita86b90de0542948b61f24d7a39652d54761d50b9 (patch)
tree8b922a74e654ef0bdf5ea73160f0a2fa6bca27ea /mbr/mbr.ld
parent3524223967b08ffdcf7addfc606aaeacd872dac3 (diff)
downloadsyslinux.git-a86b90de0542948b61f24d7a39652d54761d50b9.tar.gz
syslinux.git-a86b90de0542948b61f24d7a39652d54761d50b9.tar.xz
syslinux.git-a86b90de0542948b61f24d7a39652d54761d50b9.zip
Fix numerous problems in the new MBR code.syslinux-3.36-pre5
Diffstat (limited to 'mbr/mbr.ld')
-rw-r--r--mbr/mbr.ld73
1 files changed, 73 insertions, 0 deletions
diff --git a/mbr/mbr.ld b/mbr/mbr.ld
new file mode 100644
index 00000000..d14ba802
--- /dev/null
+++ b/mbr/mbr.ld
@@ -0,0 +1,73 @@
+/*
+ * Linker script for MBR
+ */
+
+/* Script for -z combreloc: combine and sort reloc sections */
+OUTPUT_FORMAT("elf32-i386", "elf32-i386",
+ "elf32-i386")
+OUTPUT_ARCH(i386)
+EXTERN(_start)
+ENTRY(_start)
+SECTIONS
+{
+ /* Read-only sections, merged into text segment: */
+ . = 0x600;
+ .text :
+ {
+ *(.text*)
+ *(.rodata*)
+ } =0x90909090
+
+ . = ALIGN(4);
+ .data :
+ {
+ *(.data*)
+ }
+
+ . = ALIGN(128);
+ .bss :
+ {
+ *(.bss*)
+ }
+
+ . = 0x7c00;
+ .bootsec :
+ {
+ *(.bootsec)
+ }
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section so we begin them at 0. */
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+ /* SGI/MIPS DWARF 2 extensions */
+ .debug_weaknames 0 : { *(.debug_weaknames) }
+ .debug_funcnames 0 : { *(.debug_funcnames) }
+ .debug_typenames 0 : { *(.debug_typenames) }
+ .debug_varnames 0 : { *(.debug_varnames) }
+ /DISCARD/ : { *(.note.GNU-stack) }
+}