[Bug bootstrap/50888] Bootstrap failure in libjava against latest git glibc
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 22 15:37:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50888
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-11-22 15:19:53 UTC ---
(In reply to comment #6)
> I suppose I don't really object to a workaround in libjava, but surely the
> sensible thing to do is fix isspace() not to throw. It can't, anyway: that
> would be in breach of its spec.
Sorry, forgot about this PR.
isspace is actually marked as not throwing, i.e. throw() in C++. In glibc
2.15+ it happens to be implemented as throw() inline function which calls
another function (which is throw() too), the problem is that with
-fnon-call-exceptions the compiler doesn't know the function pointer is always
non-NULL and assumes the call instruction might throw on SIGSEGV/SIGILL etc.
That will always work, but the compiler must assume it doesn't always, thus it
needs -lsupc++ support with which libjava is not linked.
More information about the Gcc-bugs
mailing list