summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEygene Ryabinkin2008-08-31 20:05:50 +0200
committerMichael Brown2008-09-04 12:27:20 +0200
commit99251f5b326487ef1cd15fb448b20d1c3b534db8 (patch)
treefeaff02fabb4d379ad9577b8b360b069d9a3b19a
parent[comboot] Add COMBOOT and COM32 support (diff)
downloadipxe-99251f5b326487ef1cd15fb448b20d1c3b534db8.tar.gz
ipxe-99251f5b326487ef1cd15fb448b20d1c3b534db8.tar.xz
ipxe-99251f5b326487ef1cd15fb448b20d1c3b534db8.zip
[libprefix] Add addr32 prefix required by older assemblers
Explicitly state that we are using 32-bit addressing in 16-bit code. GNU as 2.15 (FreeBSD/amd64 7-STABLE) got confused that 32-bit registers are used in the code that was declared as 16-bit. Add explicit modifier 'addr32' to make assembler happy. Signed-off-by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
-rw-r--r--src/arch/i386/prefix/libprefix.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/i386/prefix/libprefix.S b/src/arch/i386/prefix/libprefix.S
index cb091112..ae2a491f 100644
--- a/src/arch/i386/prefix/libprefix.S
+++ b/src/arch/i386/prefix/libprefix.S
@@ -294,7 +294,7 @@ pm_call:
movw %ss, %ax
shll $4, %eax
movzwl %bp, %edi
- leal PM_CALL_VAR(gdt)(%eax, %edi), %eax
+ addr32 leal PM_CALL_VAR(gdt)(%eax, %edi), %eax
movl %eax, PM_CALL_VAR(gdt_base)(%bp)
movw %cs, %ax
movw $PM_CALL_VAR(pm_cs), %di