Re: [PATCH 0/8] add support for x86-64's x32

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

 




On 01/05/18 15:18, Luc Van Oostenryck wrote:
> This series contains the changes needed to compile and use
> sparse on x86-64's x32 variant, including the selfcheck.
> As a side-effect, for x86 & x86-64, cgcc is now much lighter
> because spasre's own logic & defines are now used.
> 
> Note: The selfcheck still contains warnings like:
> 	"constant 0x...u is so big it is unsigned long long"
>       These warnings are legit and these headers should be fixed.
> 
> 
> This series is also available for testing in the Git repository at:
>   git://github.com/lucvoo/sparse-dev.git build-x32

These patches don't apply cleanly to the current 'master' branch, so
I had to wiggle them a little bit to apply cleanly. (Not difficult).

Having done so, I have given them a bit of light testing on Linux
Mint x86-64 and cygwin x86-64. As expected, I have no issues to
report from the testing (only sparse test-suite and a run over git
source, as usual).

I was interested in these patches because of the introduction of
the '_Float<n>' types in the last patch. While doing some testing
of git, using various compiler(s) version(s) on various platform(s),
I had noticed that sparse was practically useless on fedora-27.
This was, in part, because the much newer version of gcc enabled
the use of the _Float128 type which was causing sparse to choke:

  $ gcc --version
  gcc (GCC) 7.2.1 20170915 (Red Hat 7.2.1-2)
  Copyright (C) 2017 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  $ 

  $ sparse --version
  v0.5.2
  $ 

  $ make sparse >sp-out1 2>&1
  $ grep warning sp-out1 | sort | uniq -c
      357 /usr/include/stdlib.h:133:8: warning: '_Float128' has implicit type
        7 /usr/include/sys/sysmacros.h:79:1: warning: constant 0xfffff00000000000u is so big it is unsigned long
        7 /usr/include/sys/sysmacros.h:80:1: warning: constant 0x00000ffffff00000u is so big it is unsigned long
  $ 

Having applied these patches, we see a nice improvement:

  $ sparse --version
  v0.5.2-8-g04e51d0
  $ 

  $ make sparse >sp-out 2>&1
  $ grep warning sp-out | sort | uniq -c
      364 /usr/include/sys/sysmacros.h:79:1: warning: constant 0xfffff00000000000u is so big it is unsigned long
      364 /usr/include/sys/sysmacros.h:80:1: warning: constant 0x00000ffffff00000u is so big it is unsigned long
  $ 
  
I had started to look into adding _Float128 to sparse, so now I
don't need to! :-D  Thanks!

So, FWIW, Ack!

ATB,
Ramsay Jones


--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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