|
@@ -0,0 +1,54 @@
|
|
|
+/*
|
|
|
+ * setup.ld
|
|
|
+ *
|
|
|
+ * Linker script for the i386 setup code
|
|
|
+ */
|
|
|
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
|
|
+OUTPUT_ARCH(i386)
|
|
|
+ENTRY(_start)
|
|
|
+
|
|
|
+SECTIONS
|
|
|
+{
|
|
|
+ . = 0;
|
|
|
+ .bstext : { *(.bstext) }
|
|
|
+ .bsdata : { *(.bsdata) }
|
|
|
+
|
|
|
+ . = 497;
|
|
|
+ .header : { *(.header) }
|
|
|
+ .inittext : { *(.inittext) }
|
|
|
+ .initdata : { *(.initdata) }
|
|
|
+ .text : { *(.text*) }
|
|
|
+
|
|
|
+ . = ALIGN(16);
|
|
|
+ .rodata : { *(.rodata*) }
|
|
|
+
|
|
|
+ .videocards : {
|
|
|
+ video_cards = .;
|
|
|
+ *(.videocards)
|
|
|
+ video_cards_end = .;
|
|
|
+ }
|
|
|
+
|
|
|
+ . = ALIGN(16);
|
|
|
+ .data : { *(.data*) }
|
|
|
+
|
|
|
+ .signature : {
|
|
|
+ setup_sig = .;
|
|
|
+ LONG(0x5a5aaa55)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ . = ALIGN(16);
|
|
|
+ .bss :
|
|
|
+ {
|
|
|
+ __bss_start = .;
|
|
|
+ *(.bss)
|
|
|
+ __bss_end = .;
|
|
|
+ }
|
|
|
+ . = ALIGN(16);
|
|
|
+ _end = .;
|
|
|
+
|
|
|
+ /DISCARD/ : { *(.note*) }
|
|
|
+
|
|
|
+ . = ASSERT(_end <= 0x8000, "Setup too big!");
|
|
|
+ . = ASSERT(hdr == 0x1f1, "The setup header has the wrong offset!");
|
|
|
+}
|