Layout fixed area using linker instead of assembler.
[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"
8
9 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
10 OUTPUT_ARCH("i386")
11 SECTIONS
12 {
13         . = ( _code32_code32_end - BUILD_BIOS_ADDR ) ;
14         code16_start = . ;
15         .text16 : {
16
17 // The actual placement of the 16bit sections is determined by the
18 // script tools/layoutrom.py
19 #include "../out/romlayout.lds"
20
21                 }
22         code16_end = . ;
23
24         // Discard regular data sections to force a link error if
25         // 16bit code attempts to access data not marked with VAR16.
26         /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) }
27 }