This is the mail archive of the gcc-patches@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]

[RFC] Fix libstdc++ test fails with emutls


Hi,

When testing libstdc++ for mips-linux-gnu target with uClibc as the C library, I saw these tests failed because of link error:

30_threads/future/members/get.cc (test for excess errors)
30_threads/future/members/get2.cc (test for excess errors)
30_threads/future/members/valid.cc (test for excess errors)
30_threads/future/members/wait.cc (test for excess errors)
30_threads/future/members/wait_for.cc (test for excess errors)
30_threads/future/members/wait_until.cc (test for excess errors)
30_threads/packaged_task/members/get_future.cc (test for excess errors)
30_threads/packaged_task/members/invoke.cc (test for excess errors)
30_threads/packaged_task/members/invoke2.cc (test for excess errors)
30_threads/packaged_task/members/invoke3.cc (test for excess errors)
30_threads/packaged_task/members/invoke4.cc (test for excess errors)
30_threads/packaged_task/members/invoke5.cc (test for excess errors)
30_threads/packaged_task/members/reset2.cc (test for excess errors)
30_threads/promise/cons/move.cc (test for excess errors)
30_threads/promise/cons/move_assign.cc (test for excess errors)
30_threads/promise/members/get_future.cc (test for excess errors)
30_threads/promise/members/set_exception.cc (test for excess errors)
30_threads/promise/members/set_exception2.cc (test for excess errors)
30_threads/promise/members/set_value.cc (test for excess errors)
30_threads/promise/members/set_value2.cc (test for excess errors)
30_threads/promise/members/set_value3.cc (test for excess errors)
30_threads/promise/members/swap.cc (test for excess errors)
30_threads/shared_future/members/get.cc (test for excess errors)
30_threads/shared_future/members/get2.cc (test for excess errors)
30_threads/shared_future/members/valid.cc (test for excess errors)
30_threads/shared_future/members/wait.cc (test for excess errors)
30_threads/shared_future/members/wait_for.cc (test for excess errors)
30_threads/shared_future/members/wait_until.cc (test for excess errors)

The link error looks like:

mutex:704: undefined reference to `__emutls_v._ZSt15__once_callable'

This patch should fix this error by exporting such like symbols.

Is this patch OK?


Regards, -- Jie Zhang CodeSourcery
	* config/abi/pre/gnu.ver: Export __emutls_v._ZSt11__once_call
	and __emutls_v._ZSt15__once_callable.

Index: config/abi/pre/gnu.ver
===================================================================
--- config/abi/pre/gnu.ver	(revision 166125)
+++ config/abi/pre/gnu.ver	(working copy)
@@ -992,7 +992,9 @@
     _ZNKSt10lock_error4whatEv;
 
     _ZSt11__once_call;
+    __emutls_v._ZSt11__once_call;
     _ZSt15__once_callable;
+    __emutls_v._ZSt15__once_callable;
     _ZSt14__once_functor;
     _ZSt23__get_once_functor_lockv;
     __once_proxy;

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