Skip to contentSkip to conversation

NPTL pthread_cancel and libgcc_s.so.2 vs. libgcc_s.so.1 (Why the DSO version bump?)

parisc-linux John David Anglin 2 participants 2 messages Aug 3, 2005 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 4 lines

i386 only has libgcc_s.so.1 and I'm pretty sure that it is compiled with dwarf2 support. hppa only has libgcc_s.so.1 and it is sjlj for sure.

So we have an inconsistent numbering problem?

Yup, but it was unavoidable. Look on the positive side, i386 doesn't support sjlj ;)

Quoted 1 line

The code on hppa should try to load "libgcc_s.so.2" then?

Yes.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Thus NPTL thread cancellation seems to requires dwarf2 eh support. How do I enable sjlj versus dwarf2 (--enable-dwarf2-exceptions?)

dwarf2 is the default. --enable-sjlj-exceptions=yes enables sjlj. Debian gcc-3.3 uses sjlj. Debian gcc-3.4 and later use dwarf2.

Okay, perfect.

Basic TLS support in GCC is currently in the CVS head and will be part of gcc-4.1 when it is released. As long as you don't configure it with --enable-sjlj-exceptions=yes you will get "libgcc_s.so.2".

Dave

Signature · 6 lines
J. David Anglin                                  [email protected]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
#2 lore raw
Quoted 7 lines · John David Anglin
Quoted 4 lines

i386 only has libgcc_s.so.1 and I'm pretty sure that it is compiled with dwarf2 support. hppa only has libgcc_s.so.1 and it is sjlj for sure.

So we have an inconsistent numbering problem?

Yup, but it was unavoidable. Look on the positive side, i386 doesn't support sjlj ;)

Haha! :)

Quoted 3 lines
Quoted 1 line

The code on hppa should try to load "libgcc_s.so.2" then?

Yes.

Perfect. I added some macros to glibc and this worked. It loaded libgcc_s.so.2 perfectly and the cancellation seems to work. If only I could fix the other segfault bugs.

Quoted 11 lines
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Thus NPTL thread cancellation seems to requires dwarf2 eh support. How do I enable sjlj versus dwarf2 (--enable-dwarf2-exceptions?)

dwarf2 is the default. --enable-sjlj-exceptions=yes enables sjlj. Debian gcc-3.3 uses sjlj. Debian gcc-3.4 and later use dwarf2.

Okay, perfect.

Basic TLS support in GCC is currently in the CVS head and will be part of gcc-4.1 when it is released. As long as you don't configure it with --enable-sjlj-exceptions=yes you will get "libgcc_s.so.2".

Yes, this is what I was seeing. For the TLS toolchain we are using dwarf2.

Thanks for the help.

c.

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux