Fixed assembly on old versions of gas
authorMichael Brown <mcb30@etherboot.org>
Sun, 28 May 2006 14:21:29 +0000 (14:21 +0000)
committerMichael Brown <mcb30@etherboot.org>
Sun, 28 May 2006 14:21:29 +0000 (14:21 +0000)
src/arch/i386/prefix/libprefix.S
src/arch/i386/transitions/librm.S

index 602d2dc..1022781 100644 (file)
@@ -54,7 +54,7 @@ install_block:
        xorl    %esi, %esi
 
        /* Calculate start and length of uninitialised data portion */
-       leal    (%edi,%ecx), %eax
+       addr32 leal     (%edi,%ecx), %eax
        subl    %ecx, %edx
        
        /* Do the copy */
index 7364f9f..f1f1919 100644 (file)
@@ -124,7 +124,7 @@ init_librm:
        shll    $4, %eax
        movw    $real_cs, %bx
        call    set_seg_base
-       leal    (%eax, %edi), %ebx
+       addr32 leal     (%eax, %edi), %ebx
        movl    %ebx, _text16
 
        /* Store rm_ds and _data16, set up real_ds segment and set GDT base */
@@ -134,7 +134,7 @@ init_librm:
        shll    $4, %eax
        movw    $real_ds, %bx
        call    set_seg_base
-       leal    (%eax, %edi), %ebx
+       addr32 leal     (%eax, %edi), %ebx
        movl    %ebx, _data16
        addl    $gdt, %eax
        movl    %eax, gdt_base
@@ -409,7 +409,7 @@ prot_call:
        popw    %fs
        popw    %gs
        popal
-       movl    -20(%esp), %esp /* -20(%sp) is not a valid 80386 expression.
+       addr32 movl     -20(%esp), %esp /* -20(%sp) is not a valid 80386 expression.
                                 * -20(%esp) is safe because prot_to_real
                                 * zeroes the high word of %esp, and interrupts
                                 * are still disabled at this point. */