summaryrefslogtreecommitdiffstats
path: root/qemu/roms/seabios/vgasrc/vgalayout.lds.S
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/seabios/vgasrc/vgalayout.lds.S')
-rw-r--r--qemu/roms/seabios/vgasrc/vgalayout.lds.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/qemu/roms/seabios/vgasrc/vgalayout.lds.S b/qemu/roms/seabios/vgasrc/vgalayout.lds.S
new file mode 100644
index 000000000..533734d85
--- /dev/null
+++ b/qemu/roms/seabios/vgasrc/vgalayout.lds.S
@@ -0,0 +1,23 @@
+// Linker definitions for an option rom
+//
+// Copyright (C) 2009 Kevin O'Connor <kevin@koconnor.net>
+//
+// This file may be distributed under the terms of the GNU LGPLv3 license.
+
+OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH("i386")
+ENTRY(_optionrom_entry)
+SECTIONS
+{
+ .text 0 : {
+ KEEP(*(.rom.header))
+ *(.text.*)
+ _rodata = . ;
+ *(.rodata*)
+ *(.data16.*)
+ }
+
+ // Discard regular data sections to force a link error if
+ // 16bit code attempts to access data not marked with VAR16.
+ /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
+}