[build] Cope with oddities in the Fedora 10 assembler
authorMichael Brown <mcb30@etherboot.org>
Mon, 16 Feb 2009 03:53:25 +0000 (03:53 +0000)
committerMichael Brown <mcb30@etherboot.org>
Mon, 16 Feb 2009 03:53:25 +0000 (03:53 +0000)
The version of the GNU assembler shipped with Fedora 10
(2.18.50.0.9-8.fc10) complains about character literals in some of our
assembly code.  Changing $'x' to $( 'x' ) seems to fix the problem.
Yes, the whitespace is required; using just $('x') does not work.

Reported by Kevin O'Connor <kevin@koconnor.net>.

src/arch/i386/prefix/libprefix.S
src/arch/i386/prefix/pxeprefix.S
src/arch/i386/prefix/romprefix.S

index 34eacb9..4218913 100644 (file)
@@ -179,14 +179,14 @@ print_pci_busdevfn:
        xchgb   %al, %ah
        call    print_hex_byte
        /* Print ":" */
-       movb    $':', %al
+       movb    $( ':' ), %al
        call    print_character
        /* Print device */
        movb    %ah, %al
        shrb    $3, %al
        call    print_hex_byte
        /* Print "." */
-       movb    $'.', %al
+       movb    $( '.' ), %al
        call    print_character
        /* Print function */
        movb    %ah, %al
@@ -214,15 +214,15 @@ print_kill_line:
        pushw   %ax
        pushw   %cx
        /* Print CR */
-       movb    $'\r', %al
+       movb    $( '\r' ), %al
        call    print_character
        /* Print 79 spaces */
-       movb    $' ', %al
+       movb    $( ' ' ), %al
        movw    $79, %cx
 1:     call    print_character
        loop    1b
        /* Print CR */
-       movb    $'\r', %al
+       movb    $( '\r' ), %al
        call    print_character
        /* Restore registers and return */
        popw    %cx
index 3578fff..575f478 100644 (file)
@@ -65,7 +65,7 @@ detect_pxenv:
        movw    $10f, %si
        call    print_message
        call    print_segoff
-       movb    $',', %al
+       movb    $( ',' ), %al
        call    print_character
        jmp     99f
        .section ".prefix.data", "aw", @progbits
@@ -103,7 +103,7 @@ detect_ppxe:
        movw    $10f, %si
        call    print_message
        call    print_segoff
-       movb    $',', %al
+       movb    $( ',' ), %al
        call    print_character
        jmp     99f
        .section ".prefix.data", "aw", @progbits
@@ -191,7 +191,7 @@ print_structure_information:
        call    print_message
        movw    undi_fbms_start, %ax
        call    print_word
-       movb    $'-', %al
+       movb    $( '-' ), %al
        call    print_character
        movw    undi_fbms_end, %ax
        call    print_word
@@ -334,7 +334,7 @@ print_segoff:
        /* Print "<segment>:offset" */
        movw    %es, %ax
        call    print_hex_word
-       movb    $':', %al
+       movb    $( ':' ), %al
        call    print_character
        movw    %bx, %ax
        call    print_hex_word
index 2664e34..7d53237 100644 (file)
@@ -175,10 +175,10 @@ init:
        /* Fill in product name string, if possible */
        movw    $prodstr_pci_id, %di
        call    print_pci_busdevfn
-       movb    $' ', prodstr_separator
+       movb    $( ' ' ), prodstr_separator
 
        /* Print segment address */
-       movb    $' ', %al
+       movb    $( ' ' ), %al
        xorw    %di, %di
        call    print_character
        movw    %cs, %ax
@@ -201,7 +201,7 @@ init:
        call    print_message
        movb    %bh, %al
        call    print_hex_nibble
-       movb    $'.', %al
+       movb    $( '.' ), %al
        call    print_character
        movb    %bl, %al
        call    print_hex_byte
@@ -224,7 +224,7 @@ init:
        cmpw    %bx, %ax
        jbe     1f
 pci3_insane: /* PCI 3.0 with insane %gs value: print error and ignore %gs */
-       movb    $'!', %al
+       movb    $( '!' ), %al
        call    print_character
        movw    %gs, %ax
        call    print_hex_word
@@ -332,7 +332,7 @@ got_pmm: /* PMM allocation succeeded */
        movw    %dx, %ax
        xorw    %di, %di
        call    print_hex_word
-       movb    $'@', %al
+       movb    $( '@' ), %al
        call    print_character
        movw    %si, %ax
        call    print_hex_byte
@@ -366,7 +366,7 @@ no_pmm:
         * loads us to a temporary location in low memory.  Will be a
         * no-op for lower PCI versions.
         */
-       movb    $' ', %al
+       movb    $( ' ' ), %al
        xorw    %di, %di
        call    print_character
        movw    %gs, %ax