diff mbox series

travis-ci: Use clang-10 for the [s390x] Clang (disable-tcg) job

Message ID 20210512152231.3423265-1-philmd@redhat.com (mailing list archive)
State New, archived
Headers show
Series travis-ci: Use clang-10 for the [s390x] Clang (disable-tcg) job | expand

Commit Message

Philippe Mathieu-Daudé May 12, 2021, 3:22 p.m. UTC
On Ubuntu Bionic 18.04 LTS clang binary points to the 6.0 version:

  $ clang --version
  clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)

However we can install clang-10 from the bionic-updates stream [*]
and use it, to silent the following warnings:

     CC      pc-bios/s390-ccw/main.o
  clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]
  clang: warning: argument unused during compilation: '-msoft-float' [-Wunused-command-line-argument]
  /home/travis/build/qemu/qemu/pc-bios/s390-ccw/main.c:284:5: warning: no previous prototype for function 'main' [-Wmissing-prototypes]
  int main(void)
      ^
  1 warning generated.
  clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]

[*] https://packages.ubuntu.com/bionic-updates/clang-10

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
However this doesn't resolve:

    /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:18: error: invalid operand for instruction
        asm volatile("lghi 1,1\n\t"
                     ^
    <inline asm>:1:7: note: instantiated into assembly here
            lghi 1,1
                 ^
    /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:29: error: invalid operand for instruction
        asm volatile("lghi 1,1\n\t"
                                ^
    <inline asm>:2:7: note: instantiated into assembly here
            diag 1,1,0x308
                 ^
    2 errors generated.
    Makefile:20: recipe for target 'jump2ipl.o' failed
    make[1]: *** [jump2ipl.o] Error 1

(see https://travis-ci.org/github/philmd/qemu/jobs/770920106#L1803,
https://travis-ci.org/github/philmd/qemu/jobs/770920522#L1818 for
more errors).
---
 .travis.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Philippe Mathieu-Daudé May 12, 2021, 3:26 p.m. UTC | #1
On 5/12/21 5:22 PM, Philippe Mathieu-Daudé wrote:
> On Ubuntu Bionic 18.04 LTS clang binary points to the 6.0 version:
> 
>   $ clang --version
>   clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
> 
> However we can install clang-10 from the bionic-updates stream [*]
> and use it, to silent the following warnings:
> 
>      CC      pc-bios/s390-ccw/main.o
>   clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]
>   clang: warning: argument unused during compilation: '-msoft-float' [-Wunused-command-line-argument]
>   /home/travis/build/qemu/qemu/pc-bios/s390-ccw/main.c:284:5: warning: no previous prototype for function 'main' [-Wmissing-prototypes]
>   int main(void)
>       ^
>   1 warning generated.
>   clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]
> 
> [*] https://packages.ubuntu.com/bionic-updates/clang-10
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> However this doesn't resolve:
> 
>     /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:18: error: invalid operand for instruction
>         asm volatile("lghi 1,1\n\t"
>                      ^
>     <inline asm>:1:7: note: instantiated into assembly here
>             lghi 1,1
>                  ^
>     /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:29: error: invalid operand for instruction
>         asm volatile("lghi 1,1\n\t"
>                                 ^
>     <inline asm>:2:7: note: instantiated into assembly here
>             diag 1,1,0x308
>                  ^
>     2 errors generated.
>     Makefile:20: recipe for target 'jump2ipl.o' failed
>     make[1]: *** [jump2ipl.o] Error 1
> 
> (see https://travis-ci.org/github/philmd/qemu/jobs/770920106#L1803,
> https://travis-ci.org/github/philmd/qemu/jobs/770920522#L1818 for
> more errors).
> ---
>  .travis.yml | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 4609240b5aa..9c0deea9a06 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -278,6 +278,7 @@ jobs:
>        compiler: clang
>        addons:
>          apt_packages:
> +          - clang-10
>            - libaio-dev
>            - libattr1-dev
>            - libbrlapi-dev
> @@ -303,7 +304,7 @@ jobs:
>        env:
>          - TEST_CMD="make check-unit"
>          - CONFIG="--disable-containers --disable-tcg --enable-kvm
> -                  --disable-tools --host-cc=clang --cxx=clang++"
> +                  --disable-tools --host-cc=clang-10 --cc=clang-10 --cxx=clang++-10"

I forgot to mention we were missing the --cc= flag, so s390-ccw
was built with an inconsistent $CC. I might respin this part
separately.

>          - UNRELIABLE=true
>  
>      # Release builds
>
Thomas Huth May 12, 2021, 3:44 p.m. UTC | #2
On 12/05/2021 17.26, Philippe Mathieu-Daudé wrote:
> On 5/12/21 5:22 PM, Philippe Mathieu-Daudé wrote:
>> On Ubuntu Bionic 18.04 LTS clang binary points to the 6.0 version:
>>
>>    $ clang --version
>>    clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
>>
>> However we can install clang-10 from the bionic-updates stream [*]
>> and use it, to silent the following warnings:
>>
>>       CC      pc-bios/s390-ccw/main.o
>>    clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]
>>    clang: warning: argument unused during compilation: '-msoft-float' [-Wunused-command-line-argument]
>>    /home/travis/build/qemu/qemu/pc-bios/s390-ccw/main.c:284:5: warning: no previous prototype for function 'main' [-Wmissing-prototypes]
>>    int main(void)
>>        ^
>>    1 warning generated.
>>    clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]
>>
>> [*] https://packages.ubuntu.com/bionic-updates/clang-10
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> However this doesn't resolve:
>>
>>      /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:18: error: invalid operand for instruction
>>          asm volatile("lghi 1,1\n\t"
>>                       ^
>>      <inline asm>:1:7: note: instantiated into assembly here
>>              lghi 1,1
>>                   ^
>>      /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:29: error: invalid operand for instruction
>>          asm volatile("lghi 1,1\n\t"
>>                                  ^
>>      <inline asm>:2:7: note: instantiated into assembly here
>>              diag 1,1,0x308
>>                   ^
>>      2 errors generated.
>>      Makefile:20: recipe for target 'jump2ipl.o' failed
>>      make[1]: *** [jump2ipl.o] Error 1
>>
>> (see https://travis-ci.org/github/philmd/qemu/jobs/770920106#L1803,
>> https://travis-ci.org/github/philmd/qemu/jobs/770920522#L1818 for
>> more errors).
>> ---
>>   .travis.yml | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/.travis.yml b/.travis.yml
>> index 4609240b5aa..9c0deea9a06 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -278,6 +278,7 @@ jobs:
>>         compiler: clang
>>         addons:
>>           apt_packages:
>> +          - clang-10
>>             - libaio-dev
>>             - libattr1-dev
>>             - libbrlapi-dev
>> @@ -303,7 +304,7 @@ jobs:
>>         env:
>>           - TEST_CMD="make check-unit"
>>           - CONFIG="--disable-containers --disable-tcg --enable-kvm
>> -                  --disable-tools --host-cc=clang --cxx=clang++"
>> +                  --disable-tools --host-cc=clang-10 --cc=clang-10 --cxx=clang++-10"
> 
> I forgot to mention we were missing the --cc= flag, so s390-ccw
> was built with an inconsistent $CC. I might respin this part
> separately.

I think the configure script uses the same compiler as --host-cc for --cc if 
it is not specified. So depending on whether Daniel sets the minimum version 
to 6.3 or 6.0, we either can use this patch or we don't need it at all.

  Thomas
Daniel P. Berrangé May 12, 2021, 3:55 p.m. UTC | #3
On Wed, May 12, 2021 at 05:44:10PM +0200, Thomas Huth wrote:
> On 12/05/2021 17.26, Philippe Mathieu-Daudé wrote:
> > On 5/12/21 5:22 PM, Philippe Mathieu-Daudé wrote:
> > > On Ubuntu Bionic 18.04 LTS clang binary points to the 6.0 version:
> > > 
> > >    $ clang --version
> > >    clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
> > > 
> > > However we can install clang-10 from the bionic-updates stream [*]
> > > and use it, to silent the following warnings:
> > > 
> > >       CC      pc-bios/s390-ccw/main.o
> > >    clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]
> > >    clang: warning: argument unused during compilation: '-msoft-float' [-Wunused-command-line-argument]
> > >    /home/travis/build/qemu/qemu/pc-bios/s390-ccw/main.c:284:5: warning: no previous prototype for function 'main' [-Wmissing-prototypes]
> > >    int main(void)
> > >        ^
> > >    1 warning generated.
> > >    clang: warning: optimization flag '-fno-delete-null-pointer-checks' is not supported [-Wignored-optimization-argument]
> > > 
> > > [*] https://packages.ubuntu.com/bionic-updates/clang-10
> > > 
> > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > > ---
> > > However this doesn't resolve:
> > > 
> > >      /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:18: error: invalid operand for instruction
> > >          asm volatile("lghi 1,1\n\t"
> > >                       ^
> > >      <inline asm>:1:7: note: instantiated into assembly here
> > >              lghi 1,1
> > >                   ^
> > >      /home/travis/build/philmd/qemu/pc-bios/s390-ccw/jump2ipl.c:67:29: error: invalid operand for instruction
> > >          asm volatile("lghi 1,1\n\t"
> > >                                  ^
> > >      <inline asm>:2:7: note: instantiated into assembly here
> > >              diag 1,1,0x308
> > >                   ^
> > >      2 errors generated.
> > >      Makefile:20: recipe for target 'jump2ipl.o' failed
> > >      make[1]: *** [jump2ipl.o] Error 1
> > > 
> > > (see https://travis-ci.org/github/philmd/qemu/jobs/770920106#L1803,
> > > https://travis-ci.org/github/philmd/qemu/jobs/770920522#L1818 for
> > > more errors).
> > > ---
> > >   .travis.yml | 3 ++-
> > >   1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/.travis.yml b/.travis.yml
> > > index 4609240b5aa..9c0deea9a06 100644
> > > --- a/.travis.yml
> > > +++ b/.travis.yml
> > > @@ -278,6 +278,7 @@ jobs:
> > >         compiler: clang
> > >         addons:
> > >           apt_packages:
> > > +          - clang-10
> > >             - libaio-dev
> > >             - libattr1-dev
> > >             - libbrlapi-dev
> > > @@ -303,7 +304,7 @@ jobs:
> > >         env:
> > >           - TEST_CMD="make check-unit"
> > >           - CONFIG="--disable-containers --disable-tcg --enable-kvm
> > > -                  --disable-tools --host-cc=clang --cxx=clang++"
> > > +                  --disable-tools --host-cc=clang-10 --cc=clang-10 --cxx=clang++-10"
> > 
> > I forgot to mention we were missing the --cc= flag, so s390-ccw
> > was built with an inconsistent $CC. I might respin this part
> > separately.
> 
> I think the configure script uses the same compiler as --host-cc for --cc if
> it is not specified. So depending on whether Daniel sets the minimum version
> to 6.3 or 6.0, we either can use this patch or we don't need it at all.

I'm going to set min to 6.0.0, because I expect most users on ubuntu
will install the default "clang" and not realize there are extra
clang-NNN versions


Regards,
Daniel
Daniel P. Berrangé May 12, 2021, 4:05 p.m. UTC | #4
On Wed, May 12, 2021 at 04:55:20PM +0100, Daniel P. Berrangé wrote:
> On Wed, May 12, 2021 at 05:44:10PM +0200, Thomas Huth wrote:
> > 
> > I think the configure script uses the same compiler as --host-cc for --cc if
> > it is not specified. So depending on whether Daniel sets the minimum version
> > to 6.3 or 6.0, we either can use this patch or we don't need it at all.
> 
> I'm going to set min to 6.0.0, because I expect most users on ubuntu
> will install the default "clang" and not realize there are extra
> clang-NNN versions

Actually I messed up debian versions for clang in the same way, so I'll
set clang min to 3.8


Regards,
Daniel
diff mbox series

Patch

diff --git a/.travis.yml b/.travis.yml
index 4609240b5aa..9c0deea9a06 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -278,6 +278,7 @@  jobs:
       compiler: clang
       addons:
         apt_packages:
+          - clang-10
           - libaio-dev
           - libattr1-dev
           - libbrlapi-dev
@@ -303,7 +304,7 @@  jobs:
       env:
         - TEST_CMD="make check-unit"
         - CONFIG="--disable-containers --disable-tcg --enable-kvm
-                  --disable-tools --host-cc=clang --cxx=clang++"
+                  --disable-tools --host-cc=clang-10 --cc=clang-10 --cxx=clang++-10"
         - UNRELIABLE=true
 
     # Release builds