From: Segher Boessenkool <segher@kernel.crashing.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: akpm@osdl.org, Albert Cahalan <acahalan@gmail.com>,
linux-kernel@vger.kernel.org, s0348365@sms.ed.ac.uk,
bunk@stusta.de, mikpe@it.uu.se
Subject: Re: kernel + gcc 4.1 = several problems
Date: Thu, 4 Jan 2007 19:34:46 +0100 [thread overview]
Message-ID: <d913acf949f84c6dec496a1f52c1f9f5@kernel.crashing.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0701040921010.3661@woody.osdl.org>
> I'll happily turn off compiler features that are "clever optimizations
> that never actually matter in practice, but are just likely to possible
> cause problems".
The "signed wrap is undefined" thing doesn't fit in this category
though:
-- It is an important optimisation for loops with a signed
induction variable;
-- "Random code" where it causes problems is typically buggy
already (i.e., code that doesn't take overflow into account
at all won't expect wraparound either);
-- Code that explicitly depends on signed overflow two's complement
wraparound can be trivially converted to use unsigned arithmetic
(and in almost all cases it really should have used that already).
If GCC can generate warnings for things in the second bullet point
(and it probably will, but nothing is finalised yet), I don't see
a reason for the kernel to turn off the optimisation. Why not try
it out and only _if_ it causes troubles (after the compiler version
is stable) turn it off.
to take is not to add the compiler flag, but to fix the code.
>>
>> Nope, unless we decide that the performance advantages of
>> a language change are worth the risk and pain.
But it's not a language change -- GCC has worked like this
for a _long_ time already, since May 2003 if I read the
ChangeLog correctly -- it's just that it starts to optimise
some things more aggressively now.
> With integer overflow optimizations, the same situation may be true.
> The
> kernel has never been "strict ANSI C". We've always used C extensions.
> The
> extension of "signed integer arithmetic follows
> 2's-complement-arithmetic"
> is a perfectly sane extension to the language, and quite possibly worth
> it.
Could be. Who knows, without testing. I'm just saying to
not add -fwrapv purely as a knee-jerk reaction.
> And the fact that it's not "strict ANSI C" has absolutely _zero_
> relevance.
I certainly never claimed so, that's all in Albert's mind it seems :-)
Segher
next prev parent reply other threads:[~2007-01-04 18:36 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-04 7:11 Albert Cahalan
2007-01-04 16:43 ` Segher Boessenkool
2007-01-04 17:04 ` Albert Cahalan
2007-01-04 17:24 ` Segher Boessenkool
2007-01-04 17:47 ` Linus Torvalds
2007-01-04 18:53 ` Segher Boessenkool
2007-01-04 19:10 ` Al Viro
2007-01-05 17:17 ` Pavel Machek
2007-01-06 8:23 ` Segher Boessenkool
2007-01-04 17:37 ` Linus Torvalds
2007-01-04 18:34 ` Segher Boessenkool [this message]
2007-01-04 22:02 ` Geert Bosch
2007-01-07 4:25 ` Denis Vlasenko
2007-01-07 4:45 ` Linus Torvalds
2007-01-07 5:26 ` Jeff Garzik
2007-01-07 15:10 ` Segher Boessenkool
2007-01-26 22:05 ` Michael K. Edwards
2007-01-04 18:08 ` Andreas Schwab
-- strict thread matches above, loose matches on Subject: below --
2007-01-03 2:12 Mikael Pettersson
2007-01-03 2:20 ` Alistair John Strachan
2007-01-05 15:53 ` Alistair John Strachan
2007-01-05 16:02 ` Linus Torvalds
2007-01-05 16:19 ` Alistair John Strachan
2007-01-05 16:49 ` Linus Torvalds
2007-01-07 0:36 ` Pavel Machek
2007-01-07 0:57 ` Alistair John Strachan
2007-01-03 5:55 ` Willy Tarreau
2007-01-03 10:29 ` Alan
2007-01-03 10:32 ` Grzegorz Kulewski
2007-01-03 11:51 ` Jeff Garzik
2007-01-03 12:44 ` Alan
2007-01-03 13:32 ` Arjan van de Ven
2007-01-03 13:58 ` Jakub Jelinek
2007-01-03 14:28 ` Alan
2007-01-03 16:06 ` Linus Torvalds
2007-01-03 16:03 ` Linus Torvalds
2007-01-03 17:01 ` l.genoni
2007-01-03 17:45 ` Tim Schmielau
2007-01-03 20:24 ` Linus Torvalds
2007-01-03 17:06 ` l.genoni
2007-01-03 17:53 ` Mariusz Kozlowski
2007-01-03 19:47 ` Denis Vlasenko
2007-01-03 20:38 ` Linus Torvalds
2007-01-03 21:48 ` Denis Vlasenko
2007-01-03 22:13 ` Linus Torvalds
2007-01-03 21:44 ` Thomas Sailer
2007-01-03 22:08 ` Linus Torvalds
2007-01-04 3:08 ` Zou, Nanhai
2007-01-04 15:34 ` Linus Torvalds
2006-12-20 14:21 Oops in 2.6.19.1 Alistair John Strachan
2006-12-30 16:59 ` Alistair John Strachan
2006-12-31 16:27 ` Adrian Bunk
2006-12-31 16:55 ` Alistair John Strachan
2007-01-02 21:10 ` kernel + gcc 4.1 = several problems Adrian Bunk
2007-01-02 21:56 ` Alistair John Strachan
2007-01-02 22:06 ` D. Hazelton
2007-01-02 23:24 ` Adrian Bunk
2007-01-02 23:41 ` D. Hazelton
2007-01-03 2:05 ` Horst H. von Brand
2007-01-02 22:13 ` Linus Torvalds
2007-01-02 23:18 ` Alistair John Strachan
2007-01-03 1:43 ` Linus Torvalds
2007-01-02 22:01 ` Linus Torvalds
2007-01-02 23:09 ` David Rientjes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d913acf949f84c6dec496a1f52c1f9f5@kernel.crashing.org \
--to=segher@kernel.crashing.org \
--cc=acahalan@gmail.com \
--cc=akpm@osdl.org \
--cc=bunk@stusta.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mikpe@it.uu.se \
--cc=s0348365@sms.ed.ac.uk \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome