summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/scripts/i386.lds
diff options
context:
space:
mode:
authorMichael Brown2008-09-06 04:19:03 +0200
committerMichael Brown2008-09-06 04:19:03 +0200
commitc0beec8bafea20437a8ec3cae89abfc6c53152af (patch)
treea9cb5352205adfe3bde7284bd989a4ee09992bfb /src/arch/i386/scripts/i386.lds
parent[multiboot] Allow for unspecified {load,bss}_end_addr for raw images (diff)
downloadipxe-c0beec8bafea20437a8ec3cae89abfc6c53152af.tar.gz
ipxe-c0beec8bafea20437a8ec3cae89abfc6c53152af.tar.xz
ipxe-c0beec8bafea20437a8ec3cae89abfc6c53152af.zip
[pxe] Add a dummy PXENV+ entry point at UNDI_CS:0000
Wyse Streaming Manager server (WLDRM13.BIN) assumes that the PXENV+ entry point is at UNDI_CS:0000; apparently, somebody at Wyse has difficulty distinguishing between the words "may" and "must"... Add a dummy entry point at UNDI_CS:0000, which just jumps to the correct entry point.
Diffstat (limited to 'src/arch/i386/scripts/i386.lds')
-rw-r--r--src/arch/i386/scripts/i386.lds4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/i386/scripts/i386.lds b/src/arch/i386/scripts/i386.lds
index 7d63dae6..729ad30a 100644
--- a/src/arch/i386/scripts/i386.lds
+++ b/src/arch/i386/scripts/i386.lds
@@ -66,10 +66,12 @@ SECTIONS {
. = _text16_link_addr;
_text16 = .;
- . += 1; /* Prevent NULL being valid */
+ /* We need to allow code at the NULL address in .text16 */
.text16 : AT ( _text16_load_offset + __text16 ) {
__text16 = .;
+ *(.text16.null)
+ . += 1; /* Prevent NULL being valid */
*(.text16)
*(.text16.*)
_etext16_progbits = .;