Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 1 | // Linker definitions for merging 16 and 32 bit code |
| 2 | // |
Kevin O'Connor | 5b199ac | 2009-05-06 23:23:01 -0400 | [diff] [blame] | 3 | // Copyright (C) 2008,2009 Kevin O'Connor <kevin@koconnor.net> |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 4 | // |
Kevin O'Connor | b1b7c2a | 2009-01-15 20:52:58 -0500 | [diff] [blame] | 5 | // This file may be distributed under the terms of the GNU LGPLv3 license. |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 6 | |
Kevin O'Connor | 5b8f809 | 2009-09-20 19:47:45 -0400 | [diff] [blame] | 7 | #include "config.h" // BUILD_BIOS_ADDR |
| 8 | |
| 9 | OUTPUT_FORMAT("elf32-i386") |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 10 | OUTPUT_ARCH("i386") |
Kevin O'Connor | 5b199ac | 2009-05-06 23:23:01 -0400 | [diff] [blame] | 11 | ENTRY(post32) |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 12 | SECTIONS |
| 13 | { |
| 14 | .text code32_start : { |
Kevin O'Connor | c069394 | 2009-06-10 21:56:01 -0400 | [diff] [blame] | 15 | *(.text32) |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 16 | |
Kevin O'Connor | 2ceeec9 | 2009-12-19 11:03:40 -0500 | [diff] [blame^] | 17 | . = data16_start + BUILD_BIOS_ADDR - code32_start ; |
| 18 | *(.data16) |
| 19 | . = text16_start + BUILD_BIOS_ADDR - code32_start ; |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 20 | *(.text16) |
Kevin O'Connor | 2ceeec9 | 2009-12-19 11:03:40 -0500 | [diff] [blame^] | 21 | final_text16_end = . ; |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 22 | } |
Kevin O'Connor | c069394 | 2009-06-10 21:56:01 -0400 | [diff] [blame] | 23 | /DISCARD/ : { |
| 24 | *(.text*) *(.data*) *(.bss*) *(.rodata*) |
| 25 | *(COMMON) *(.discard*) *(.eh_frame) |
| 26 | } |
Kevin O'Connor | d289977 | 2008-07-06 09:56:14 -0400 | [diff] [blame] | 27 | } |