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