Rework linker scripts so they work on new version of ld.
[seabios.git] / src / rombios16.lds.S
1 // Linker definitions for 16bit code
2 //
3 // Copyright (C) 2008  Kevin O'Connor <kevin@koconnor.net>
4 //
5 // This file may be distributed under the terms of the GNU LGPLv3 license.
6
7 #include "config.h" // BUILD_BIOS_ADDR
8
9 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
10 OUTPUT_ARCH("i386")
11 SECTIONS
12 {
13         .text16 ALIGN(_code32_code32_end - _code32_code32_start, 16) : {
14                 code16_start = ABSOLUTE(.) ;
15
16 // The actual placement of the 16bit sections is determined by the
17 // script tools/layoutrom.py
18 #include "../out/romlayout.lds"
19
20                 code16_end = ABSOLUTE(.) ;
21                 }
22
23         // Discard regular data sections to force a link error if
24         // 16bit code attempts to access data not marked with VAR16.
25         /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
26 }