Hi Nicolas,

thanks for bringing this to our knowledge.

The fix for PR58854 was included in our releases since the GCC
4.8-2013.12 which is based on a 4.8.3 prerelease version (at svn
revision 205577).  As we are doing monthly releases based on a
revision of the related FSF branch, using GCC_VERSION (__GNUC__,
__GNUC_MINOR,__GNUC_PATCHLEVEL) is not accurate enough to identify the
release version (all our releases between November 2013 and May 2014
will be 4.8.3) the __VERSION__ predefined macro is a bit more accurate
here ("4.8.3 20131202 (prerelease)") but not completely satisfactory.

I completely agree that we should at least mention in our impacted
releases download pages that this bug is present.

I'm not a subscriber of this mailing list, so feel free to answer and
add me in CC if needed.

Cheers,
Yvan

On 16 October 2014 04:24, Nicolas Pitre <nicolas.pi...@linaro.org> wrote:
> FYI.
>
> The whole thread is available here:
> http://article.gmane.org/gmane.linux.ports.arm.omap/119412
>
> ---------- Forwarded message ----------
> Date: Thu, 16 Oct 2014 01:18:01 +0100
> From: Russell King - ARM Linux <li...@arm.linux.org.uk>
> To: Peter Hurley <pe...@hurleysoftware.com>
> Cc: Nathan Lynch <nathan_ly...@mentor.com>,
>     David Laight <david.lai...@aculab.com>,
>     Otavio Salvador <ota...@ossystems.com.br>,
>     Linus Torvalds <torva...@linux-foundation.org>,
>     Nicolas Pitre <n...@fluxnic.net>,
>     Linux OMAP Mailing List <linux-o...@vger.kernel.org>,
>     linux-arm-ker...@lists.infradead.org
> Message-ID: <20141016001801.gq12...@n2100.arm.linux.org.uk>
> Subject: Re: [PATCH] ARM: Blacklist GCC 4.8.0 to GCC 4.8.2 - PR58854
>
> On Wed, Oct 15, 2014 at 06:18:30PM -0400, Peter Hurley wrote:
>> On 10/15/2014 05:56 PM, Russell King wrote:
>> > I was in two minds whether to include 4.8.3 as Linaro released a buggy
>> > toolchain which identifies itself as 4.8.3, but I decided that's also
>> > a distro problem.  IMHO Linaro should really think about taking that
>> > compiler down given the seriousness of this bug and it being
>> > indistinguishable from the fixed stock version.
>>
>> Maybe it's unfair to blame them; Linaro just took a snapshot and
>> released what was there.
>>
>> If gcc is going to retain the "change release number then add all the
>> new features" model, some kind of prerelease indicator would help
>> eliminate this kind of problem. And that indicator should be both
>> a preprocessor define and parseable from the command line :)
>
> My comment is not to attribute blame to them, my comment is entirely
> on a technical level.
>
> My reasoning is that the bug is just as prevalent in userspace, though
> it will occur less often.  Any program which uses signal handlers is
> a candidate for exactly the same kind of corruption, since you can
> receive that signal between the point that the stack pointer is
> modified and the function loads the parent context.
>
> Of course, there are ways around that: don't use signal handlers, or
> if you do, use alternate signal stacks.  Neither of those can be
> guaranteed for any program though.
>
> So, let me put this another way: a compiler with this bug is _completely_
> unsuitable for use for compiling programs for use under the Linux
> kernel _as well_ as the Linux kernel itself.
>
> The difference is that the Linaro compilers come with an expectation
> that they are usable on ARM... whereas stock versions cover a lot more
> and so the ARM arch is probably very small number of their users.
>
> Hence why I recommend that Linaro takes down their buggy compiler.
> Their 4.8.3 version should not be used *anywhere*, just the same as
> the stock 4.8 to 4.8.2 inclusive should also not be used anywhere on
> ARM either.
>
> _______________________________________________
> linaro-toolchain mailing list
> linaro-toolchain@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-toolchain

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to