On 22 May 2013 15:05, Rainer Orth wrote:
> Jonathan Wakely <jwakely....@gmail.com> writes:
>
>> This alters the configure script to enable C++11 thread library
>> features based on targets that are known to support the features,
>> rather than based on link tests which are disabled by default.  With
>> Glibc 2.17 this enables a nanosecond resolution std::system_clock in
>> the default configuration, yay!
>>
>> I've tested this on two versions of Fedora and Debian, but would be
>> grateful for test results on Solaris, Cygwin and BSD targets, and for
>> cross-compilers to any of those targets.
>
> Apart from the abi_check failure already reported, I get the following
> testsuite regressions on Solaris 10/x86:

Thanks for checking it.

> FAIL: 30_threads/async/54297.cc (test for excess errors)
> WARNING: 30_threads/async/54297.cc compilation failed to produce executable
> FAIL: 30_threads/condition_variable_any/53830.cc (test for excess errors)
> WARNING: 30_threads/condition_variable_any/53830.cc compilation failed to 
> produ
> e executable
> FAIL: 30_threads/this_thread/3.cc (test for excess errors)
> WARNING: 30_threads/this_thread/3.cc compilation failed to produce executable
> FAIL: 30_threads/this_thread/4.cc (test for excess errors)
> WARNING: 30_threads/this_thread/4.cc compilation failed to produce executable
> FAIL: 30_threads/thread/native_handle/cancel.cc (test for excess errors)
> WARNING: 30_threads/thread/native_handle/cancel.cc compilation failed to 
> produc
> e executable
>
> All of them have the same root cause:
>
> Excess errors:
> Undefined                       first referenced
>  symbol                             in file
> nanosleep                           /var/tmp//ccQhmiwd.o  (symbol belongs to 
> implicit dependency /lib/librt.so.1)
> ld: fatal: symbol referencing errors. No output written to ./54297.exe
> collect2: error: ld returned 1 exit status
>
> It seems that now every single C++ program needs to be linked with -lrt,
> not only libstdc++.so.  This will also happen on Solaris 9 (bootstrap
> still running), while on Solaris 11 nanosleep and the others were
> integrated into libc.so.1.

I see.  Would you prefer to disable use of nanosleep on Solaris 9 and
10, or to keep using it and link to librt?

Reply via email to