GCC 3.4 and glibc/nptl: Cancellation broken
Andreas Jaeger
aj@suse.de
Thu Jan 22 17:54:00 GMT 2004
Jakub Jelinek <jakub@redhat.com> writes:
> GCC 3.3 did not have the HPUX bloat in it.
;-)
> One way to get around this quickly could be to:
>
> - size = dwarf_reg_size_table[index];
> ptr = context->reg[index];
>
> + if (sizeof (_Unwind_Ptr) == sizeof (_Unwind_Word))
> + return * (_Unwind_Word *) ptr;
> +
> + size = dwarf_reg_size_table[index];
> /* This will segfault if the register hasn't been saved. */
> if (size == sizeof(_Unwind_Ptr))
> return * (_Unwind_Ptr *) ptr;
>
> if (size == sizeof(_Unwind_Word))
> return * (_Unwind_Word *) ptr;
>
> abort ();
>
> in _Unwind_GetGR and similarly with _Unwind_SetGR.
Can you test that?
> Another temporary solution can be linking all NPTL -fexceptions C
> programs with -shared-libgcc for the time being.
Yes, this works - I have tested it.
> As soon as I implement (or anyone else beats me to do it)
> http://sources.redhat.com/ml/binutils/2003-12/msg00211.html
> GCC driver should link all non-static binaries with:
> --start-only-if-used -lgcc_s --end-only-if-used
> and things will work just fine.
I expect this fixes it also and it's fine with me.
The question is how we solve this for the 3.4.0 release. With the
current state, GCC 3.4 is not able to compile glibc properly and we
should fix this. If your binutils patch will be ready by then and we
can add the needed configure magic, then let's wait - and I'll open a
bugzilla for this...
Andreas
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SuSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20040122/21fc8684/attachment.sig>
More information about the Libc-alpha
mailing list