Re: sparse test failures on ppc32le (and other not so common archs)

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

 



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


[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux