This series contain small bug-fixes for building the Xen microkernel with
clang. I think they are suitable for 4.7, but that's just my opinion.

I've also noticed that Xen always sets "-no-integrated-as" when using clang,
because previous versions (<3.8.0) didn't support .code16/.code32/.code64
in inline asm. This is solved at least in version 3.8.0 (haven't tested
older versions). The problem now to switch to the integrated clang assembler
is the usage of the rept instructions in some files in conjunction with
labels:

entry.S:403:15: error: unexpected token in '.rept' directive
        .rept 48 -((.-compat_hypercall_table)/8)
              ^
entry.S:405:14: error: unmatched '.endr' directive
        .endr
             ^
entry.S:408:15: error: unexpected token in '.rept' directive
        .rept 64 -((.-compat_hypercall_table)/8)
              ^
entry.S:410:14: error: unmatched '.endr' directive
        .endr
             ^
entry.S:455:15: error: unexpected token in '.rept' directive
        .rept 48 -(.-compat_hypercall_args_table)
              ^
entry.S:457:14: error: unmatched '.endr' directive
        .endr
             ^
entry.S:460:15: error: unexpected token in '.rept' directive
        .rept 64 -(.-compat_hypercall_args_table)
              ^
entry.S:462:14: error: unmatched '.endr' directive
        .endr
             ^

The entry.S file this errors come from is xen/arch/x86/x86_64/compat/entry.S

If anyone has any clever ideas about how to replace those instructions with
compatible ones, I'm more than willing to listen. AFAICT, this is the last
issue that prevents Xen from switch to the integrated clang assembler on
newer clang versions.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to