BLAM!
Posts: 13,506
Karma: 26047202
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
... Okay, I'm going nuts over here.
So, I spent the weekend wondering why my GCC 5.3-based ToolChains were completely b0rked. Since it's been a few months, and I couldn't find any real complaints, I decided to try to build one 'the Linaro way' (i.e., using Linaro's ABE tool, and not crosstool-ng).
After battling half-implemented features and outdated documentation, I got it to build me something useful. But, key factor: given the fact that you cannot apply patches to any of the components involved in the build (you instead have to feed it a local git repo, or setup a whole tarball fileserver), I only got it to build against Glibc 2.20...
And, surprise, that one generated *working* binaries.
(For those not following at home, the Kindles moved to Glibc 2.19 with FW 5.6.5, so I wasn't that cocnerned about the glibc bump yet).
Cue a moment of headscratching, followed by a series of regression testing with crosstool-ng... After 9 rebuilds of a PW2 TC (good thing that only takes 9 minutes on my beastly desktop...), I finally got to the root issue: building the TC against anything < glibc 2.19 results in broken code.
That's unfortunate, and weird as hell, since GCC is supposed to support glibc > 2.4. But, hey, whatever, I'll deal with that, I'm used to it with the K3 TC by now...
But it's not over yet... For a while now, my KOReader builds have produced a broken CRe library... With a hard-to-pinpoint segfault reminiscent of the behavior I experienced with the broken 5.3 TC.
So, since I was now using an apparently 'fixed' GCC 5.3 TC built against Glibc 2.19, and that my Kindle is up to date, I said, what the hell, let's try this...
And, yeeeeep, got something that worked perfectly well.
So I said, heh, cool, let's try to make that backwards compatible with Glibc 2.12... A few CFLAGS tweaks later, mission accomplished!
... except in that one, CRe crashes again.
ARRRRRRRGH.
|