This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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]

[PATCH, DARWIN] fix emutls exports in libgcc_s10.{4,5}.dylib


Hi all,

ref: http://gcc.gnu.org/ml/gcc/2008-12/msg00107.html, PR32765 and http://gcc.gnu.org/ml/fortran/2008-12/ msg00118.html

NOTE to gurus: the whole libgcc_eh, libgcc_s.{10.x, 1} thing is quite hard to understand.
I searched gcc.pdf, gccint.pdf (0 hits) and the list (not much) ... and google (mostly speculation).


In the end I had to RTSC....

If I now understand correctly, the symbols present in updated versions of libgcc that are not in the "stock" system libgcc on darwin - need to be mentioned in the stub libraries (ligcc_s.10. {4,5,...} ). The emutls ones were not present causing linkage failures that were silently UNSUPPORTING a lot of tests.

It's also possible that key tests might fail on 64bit processors (see the referenced threads) which could also result in "UNSUPPORTS" appearing and disappearing sporadically.

"bootstrap-lean" and "make check" on powerpc-apple-darwin8 and i386- apple-darwin9 (both on 64 bit processors).

this results in:
g++            +1      supported
gcc            +4      supported
libgomp    +126 supported

I'll look at 32bit processor builds during today.

do you think this is the proper solution ?

Iain

=======

Index: gcc/config/i386/darwin-libgcc.10.5.ver
===================================================================
--- gcc/config/i386/darwin-libgcc.10.5.ver      (revision 142592)
+++ gcc/config/i386/darwin-libgcc.10.5.ver      (working copy)
@@ -83,3 +83,5 @@
 ___udivdi3
 ___udivmoddi4
 ___umoddi3
+___emutls_get_address
+___emutls_register_common
Index: gcc/config/i386/darwin-libgcc.10.4.ver
===================================================================
--- gcc/config/i386/darwin-libgcc.10.4.ver      (revision 142592)
+++ gcc/config/i386/darwin-libgcc.10.4.ver      (working copy)
@@ -79,3 +79,5 @@
 ___udivdi3
 ___udivmoddi4
 ___umoddi3
+___emutls_get_address
+___emutls_register_common
Index: gcc/config/rs6000/darwin-libgcc.10.5.ver
===================================================================
--- gcc/config/rs6000/darwin-libgcc.10.5.ver    (revision 142592)
+++ gcc/config/rs6000/darwin-libgcc.10.5.ver    (working copy)
@@ -87,3 +87,6 @@
 ___udivdi3
 ___udivmoddi4
 ___umoddi3
+___emutls_get_address
+___emutls_register_common
+
Index: gcc/config/rs6000/darwin-libgcc.10.4.ver
===================================================================
--- gcc/config/rs6000/darwin-libgcc.10.4.ver    (revision 142592)
+++ gcc/config/rs6000/darwin-libgcc.10.4.ver    (working copy)
@@ -74,3 +74,5 @@
 ___udivdi3
 ___udivmoddi4
 ___umoddi3
+___emutls_get_address
+___emutls_register_common




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