Hello,

On Wed, Aug 30, 2017 at 05:55:00PM +0100, Ramsay Jones wrote:
> On 30/08/17 17:14, Uwe Kleine-König wrote:
> >     ukleinek@plummer:~/sparse$ make check V=1
> 
> It would be easier to see the results if you _didn't_ add V=1. ;-)

noted for the next time.

> [snip]
> >     Out of 287 tests, 272 passed, 15 failed (10 of them are known to fail)
> >     Makefile:232: recipe for target 'check' failed
> >     make: *** [check] Error 1
> >     ukleinek@plummer:~/sparse$ 
> 
> The additional five failures are all in the llvm backend (sparsec),
> which you do not need to use sparse as a 'checker'.
> 
> > The problem is that some cpp symbols are not defined in sparse that are
> > expected to exist. So I can "fix" backend/sum.c with the following
> > patch:
> > 
> > diff --git a/validation/backend/sum.c b/validation/backend/sum.c
> > index 0604299..d0be8dd 100644
> > --- a/validation/backend/sum.c
> > +++ b/validation/backend/sum.c
> > @@ -1,3 +1,5 @@
> > +#define __powerpc64__
> > +#define _CALL_ELF 2
> >  #include <stdio.h>
> >  #include <stdlib.h>
> >  
> > 
> 
> Yep, sparse/sparsec do not define various macros that gcc/clang define
> by default on a given architecture. This is a known problem (that I have
> been meaning to fix ...). The 'workaround' for the time being is to use
> the cgcc front-end to sparse. (for example 'make CC=cgcc', or perhaps
> 'cgcc -no-compile').
> 
> [You didn't mention your usage - is this for a kernel build?]

This problem became visible during the make check phase when creating packaged
on the listed archs for horst[1]. You can see a build logs at

        
https://buildd.debian.org/status/fetch.php?pkg=horst&arch=s390x&ver=5.0-1&stamp=1503905687&raw=0
        
https://buildd.debian.org/status/fetch.php?pkg=horst&arch=ppc64el&ver=5.0-1&stamp=1503906226&raw=0

The error message looks identical (I checked the ppc64el log) to the
problem with backend/sum.c:

        sparse -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. 
-fstack-protector-strong -Wformat -Werror=format-security -std=gnu99 -Wall 
-Wextra -g -I. -DDO_DEBUG -I/usr/include/libnl3 *.[ch]
        /usr/include/powerpc64le-linux-gnu/gnu/stubs.h:8:12: error: unable to 
open 'gnu/stubs-32.h'
        Makefile:113: recipe for target 'check' failed
        make[1]: *** [check] Error 1

Best regards
Uwe

[1] https://packages.debian.org/sid/horst

Attachment: signature.asc
Description: PGP signature

Reply via email to