qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] QEMU build fails with Clang?


From: Blue Swirl
Subject: Re: [Qemu-devel] QEMU build fails with Clang?
Date: Sat, 5 Jan 2013 16:51:01 +0000

On Sat, Jan 5, 2013 at 1:48 AM, Brad Smith <address@hidden> wrote:
> Supposedly QEMU is able to build with Clang and yet trying to do so
> I am seeing the build fail as follows..
>
> Comments?

Clang does not support this kind of assembly code yet. The attached
patch avoids this by using 'as' and 'cpp' for .S files, please try. It
could still fail if the 'as' does not come from binutils.

>
>
> gmake[1]: Entering directory `/home/brad/qemu/pc-bios/optionrom'
> clang -I. -I/home/brad/qemu -I/home/brad/qemu/include 
> -I/home/brad/qemu/libcacard -Wall -Wstrict-prototypes -Werror 
> -fomit-frame-pointer -fno-builtin -I/home/brad/qemu   -fno-stack-protector 
> -MMD -MP -MT multiboot.o -MF ./multiboot.d -Wall -Wstrict-prototypes -Werror 
> -fomit-frame-pointer -fno-builtin -I/home/brad/qemu   -fno-stack-protector -c 
> -o multiboot.o multiboot.S
> multiboot.S:31:1: error: unexpected directive .code16
> .code16; .text; .global _start; _start:; .short 0xaa55; .byte (_end - _start) 
> / 512; lret; .org 0x18; .short 0; .short _pnph; _pnph: .ascii "$PnP"; .byte 
> 0x01; .byte ( _pnph_len / 16 ); .short 0x0000; .byte 0x00; .byte 0x00; .long 
> 0x00000000; .short _manufacturer; .short _product; .long 0x00000000; .short 
> 0x0000; .short 0x0000; .short _bev; .short 0x0000; .short 0x0000; .equ 
> _pnph_len, . - _pnph; _bev:; movw %cs, %ax; movw %ax, %ds;
> ^
> multiboot.S:31:8: error: .code16 not supported yet
> .code16; .text; .global _start; _start:; .short 0xaa55; .byte (_end - _start) 
> / 512; lret; .org 0x18; .short 0; .short _pnph; _pnph: .ascii "$PnP"; .byte 
> 0x01; .byte ( _pnph_len / 16 ); .short 0x0000; .byte 0x00; .byte 0x00; .long 
> 0x00000000; .short _manufacturer; .short _product; .long 0x00000000; .short 
> 0x0000; .short 0x0000; .short _bev; .short 0x0000; .short 0x0000; .equ 
> _pnph_len, . - _pnph; _bev:; movw %cs, %ax; movw %ax, %ds;
>        ^
> multiboot.S:71:135: error: unknown directive
>  read_fw 0x0a; mov %eax, %edi; read_fw 0x0b; mov %eax, %ecx; mov $0x12, %ax; 
> mov $0x510, %edx; outw %ax, (%dx); mov $0x511, %dx; cld; .dc.b 0xf3,0x6c
>                                                                               
>                                                         ^
> multiboot.S:102:2: error: unknown directive
>  .dc.b 0x26,0x67,0x66,0x89,0x4f,0xfc
>  ^
> multiboot.S:130:17: error: unexpected token in argument list
>  data32 lgdt %gs:6
>                 ^
> multiboot.S:138:15: error: unknown token in expression
>  data32 ljmp *%gs:0
>               ^
> multiboot.S:152:135: error: unknown directive
>  read_fw 0x07; mov %eax, %edi; read_fw 0x08; mov %eax, %ecx; mov $0x11, %ax; 
> mov $0x510, %edx; outw %ax, (%dx); mov $0x511, %dx; cld; .dc.b 0xf3,0x6c
>                                                                               
>                                                         ^
> gmake[1]: *** [multiboot.o] Error 1
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>

Attachment: 0001-optionrom-build-with-discrete-CPP-and-AS-steps.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]