[libprefix] Add addr32 prefix required by older assemblers
authorEygene Ryabinkin <rea-fbsd@codelabs.ru>
Sun, 31 Aug 2008 18:05:50 +0000 (22:05 +0400)
committerMichael Brown <mcb30@etherboot.org>
Thu, 4 Sep 2008 10:27:20 +0000 (11:27 +0100)
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>
src/arch/i386/prefix/libprefix.S

index cb09111..ae2a491 100644 (file)
@@ -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