[Bug bootstrap/115284] [15 regression] SEGV in check_format_arg on Solaris/SPARC
hp at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Jun 1 03:35:08 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115284
--- Comment #12 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
(In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #11)
> > --- Comment #10 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
> >> The failure is even earlier here: in a sparc64-unknown-linux-gnu
> >> bootstrap, building a libstdc++ .gch file in stage 2 breaks:
> >
> > Great, thanks! That means that tricking my pc into believing it's a sparc by
> > means of using the binfmt machinery that Jeff mentioned in the thread where I
> > mentioned the revert on gcc-patches, would work. (I don't have the details and
> > don't remember if I'd actually tried it, certainly not recently; I just know
> > about the concept.)
>
> I can't help but wonder if this wouldn't be a total waste of your time:
> considering what the qemu wiki docments for SPARC support
>
> https://wiki.qemu.org/Documentation/Platforms/SPARC
>
> seems not too encouraging for 64-bit systems.
Thanks for the warning, but I'm confused as it doesn't look too bad to me; for
example the status field for SPARC64 says "working" at least for non-historic
qemu versions. What am I missing? Are you thinking of something specific
there?
> When I think about what
> it took myself to get recent macOS working on qemu-kvm (although the
> procedure is resonably well documented, with firmware and all
> available), I'd consider such an attempt a positive nightmare.
Also, I wouldn't be using qemu-system-sparc64 IIUC: with the binfmt trick I'd
be using qemu-user.
That "experience" (assuming success) would also lead to a template or identical
solution for other targets, which is the most interesting part. The cfarm is
nice to have, but the machines are a bit crowded.
> When all it takes for you to either get your ssh client working to
> access a ready-made and not too slow SPARC system (or in the worst case,
> build OpenSSH from source), I know which route I'd take ;-)
A different nightmare, leading to a nightmare of chasing a bootstrap failure on
a system I'm not familiar with (referring to solaris on the cfarm machine).
> > What's not so great is that the described reproducer is a bootstrap, so the
> > debug situation is unpleasant. The first step I'd do, would be to just do a
> > cross-build (or native --disable-bootstrap) and just run the testsuite
> > before/after the patch-set (or just 933ab59c59bdc1) and see if the problem
> > manifests there.
> I've tried that now on both
>
> * sparc-sun-solaris2.11 (c and c++ only): no additional testsuite
> failures are apparent there, which is not too astonishing given that
> the bootstrap failure occurs in stage 3, suggesting a mis-compiled
> stage 2 cc1plus, and
Oh, too bad. Thanks for doing that!
> * sparc64-unknown-linux-gnu (again, c and c++ only): there are testsuite
> failures all over the place, but I'd have to perform another bootstrap
> with your patches removed to make an exact comparison.
Hm, the part where you compare results against a baseline is pretty central.
One the one hand, when it doesn't manifest for sparc64-solaris just through the
testsuite, the odds are against it manifesting that simple for sparc64-linux.
On the other hand, an existing reproducer is so much easier to handle. Thank
you and thanks in advance for the last step!
More information about the Gcc-bugs
mailing list