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 19:56, Luc Van Oostenryck wrote:
> On Tue, May 01, 2018 at 07:06:27PM +0100, Ramsay Jones wrote:
>> On 01/05/18 15:18, Luc Van Oostenryck wrote:
[snip]
>> 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:
> 
> Interesting.
> I saw some weeks ago on the git ML that you said that sparse was
> useless for you on Fedora but without details. It made me curious
> enough to install Fedora on a VM but I didn't saw anything wrong
> while running sparse's testsuite and doing a kernel compile and
> then I forgot about it. I should have done a selfcheck too ...

;-)

I'm sure you already know this, but it just occurred to me that I
wasn't very clear about how sparse 'choked' - I should have made
it clear (for other people watching), that sparse errors out, like
so:

  $ grep error sp-out1 | wc -l
  2142
  $ head sp-out1
      SP abspath.c
  /usr/include/stdlib.h:133:8: warning: '_Float128' has implicit type
  /usr/include/stdlib.h:133:18: error: Expected ; at end of declaration
  /usr/include/stdlib.h:133:18: error: got strtof128
  /usr/include/stdlib.h:190:35: error: Expected ) in function declarator
  /usr/include/stdlib.h:190:35: error: got __f
  /usr/include/stdlib.h:236:18: error: Expected ; at end of declaration
  /usr/include/stdlib.h:236:18: error: got strtof128_l
      SP advice.c
  /usr/include/stdlib.h:133:8: warning: '_Float128' has implicit type
  $ 

which is why, ...

>>   $ 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
> 

[snip]

>> Having applied these patches, we see a nice improvement:
>>   $ 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
> 

... having _more_ warnings (but _no_ errors) can be an improvement!

> Yes, same here. Those are legit sparse warnings.

indeed. (I saw this somewhere else recently ...).

>> I had started to look into adding _Float128 to sparse, so now I
>> don't need to! :-D  Thanks!
> 
> Hehe :)
> Note that the support for those are very minimal. They are now
> known to sparse and have the correct size & alignment, nothing more. 
> How they interact/are compatible with other types, I don't know.

Yep, I was starting to look at what was necessary to get the
front-end to support the semantics of the new types - type
compatibility, conversion, etc. I had already decided that
I would punt on the back-end work! ;-)

Hmm, I might get back to that at a later date, but no promises!

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