This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 3.4 and glibc/nptl: Cancellation broken


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

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]