Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAOS_Y6TXpFPSc++aLcEB1L+1Lm5XnsEC3DK=RMEPMzPA4c4ing@mail.gmail.com>
Date: Mon, 17 Feb 2014 14:19:04 -0600
From: Rob Landley <rob@...dley.net>
To: musl@...ts.openwall.com
Subject: Re: sh4 arch just got orphaned on linux-kernel.

(Wow gmail's web interface is unfriendly...)

There was a bug in sh4's binutils (didn't do sign extension right at
certain word sizes), but it only triggered for code the compiler never
generated (the compiler did the sign extension, it didn't ask the
assembler to do it), so nobody noticed for over 5 years. You had to
hand-code assembly to trigger the bug.

The sh4 start code did _not_ trigger the bug, but a "cleanup" patch
did start triggering the bug right after the bug was fixed upstream.
When I noticed and pointed out "hey, this has worked for years and now
you just broke it for what claims to be a cosmetic patch, why did you
do that?", the binutils release containing the bugfix was less than 3
months old but was apparently the only thing that had _ever_ been able
to build an sh4 kernel in the history of sh4. (What?) The maintainer's
response (in another thread I think) was basically "you're not a
Renesas customer, how can you possibly be interested in our product
which we are the only supplier of if you haven't given us money and
used our BSP? Buy a support contract and we'll talk. Until then stop
pretending this company Hitachi spun off ever had anything to do with
Hitachi."

My quick and dirty fix was to revert the "cleanup" patch to the kernel
startup code, which had no functional impact other than to break older
toolchains. (Otherwise the generated code was identical.) 4 years
later, the cleanup patch still cleanly reverts, so I never got around
to messing with my sh4 assembler to make it do 32 bit sign extension
on 64 bit targets. (It's a trivial fix, it's extending the sign to
host word size instead of target word size, so we get 64 bit numbers
it then can't output through the code generator, so the build breaks.
It needs a typecast somewhere, never bothered to track down where.)

The thread's old news, it's just an example of why it took anybody in
the open source community a while to notice the guy had gone missing.

On Mon, Feb 17, 2014 at 12:58 PM, Rich Felker <dalias@...ifal.cx> wrote:
> On Mon, Feb 17, 2014 at 12:11:54PM -0600, Rob Landley wrote:
>> http://www.spinics.net/lists/linux-sh/msg28653.html
>>
>> If you want to know _why_ getting rid of Mundt is progress, read this
>> 4 message thread from 2010:
>>
>> http://markmail.org/message/ary6pnb2xj64mzco
>>
>> That said, there are guys out there (I keep bumping into 'em at CELF)
>> that use and maintain this stuff, outside of Renesas...
>
> I'm not sure what to make of that. It's clearly a bug in the version
> of gas you were using, and it's not application or kernel developers'
> responsibility to avoid changing their code in ways that expose
> toolchain bugs. I suspect in this case it's easy to backport the fix.
>
> Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.