This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: RFA; configuring GCC --disable-libgomp causes libstdc++ abi check to fail.
Hi Paolo, Benjamin,
On 20 Sep 2012, at 13:12, Paolo Carlini wrote:
> On 09/20/2012 02:03 PM, Iain Sandoe wrote:
>> Hi Paolo,
>>
>> On 20 Sep 2012, at 11:00, Paolo Carlini wrote:
>>>> I was running some checks on x86_64-linux-gnu (most recently r191461), and configured GCC with --disable-libgomp.
>>>>
>>>> This causes FAIL: libstdc++-abi/abi_check for both default and m32.
>>>>
>>>> The failure is in 11 missing symbols (listed at the end of this post), from two objects which are no longer built:
>>>> libstdc++-v3/src/compatibility-parallel_list.o, libstdc++-v3/src/c++98/parallel_settings.o.
>>> *If* (please double check) the symbols belong only to these two *.cc files,
>> libstdc++-v3/src/c++98/compatibility-list.cc
>>
>> -- simply includes
>>
>> libstdc++-v3/src/c++98/compatibility-list.cc
>>
>> but the _M_ variants are in:
>> libstdc++-v3/src/c++98/compatibility-list-2.cc
>>
>> the two parallel settings ones are here:
>> libstdc++-v3/src/c++98/parallel-settings.cc
>>
>> ==
>>
>> The libstdc++-v3/src/c++98/parallel-settings.cc symbols are defined in 'namespace __gnu_parallel'
>> but the remainder are in "namespace std".
> Benjamin is the best person to sort out this, he did the work.
Looking at the sources mentioned above, and my build log for x86-64-linux-gnu (with libgomp enabled):
a. The sources don't appear to contain any explicit omp statements (although I might have missed something from a header, my search was not exhaustive).
Neither can I see any examples of ftree-parellize-loops= in the build log.
b. The only object built with -fopenmp, is parallel-settings.cc.
c. libstdc++ doesn't appear to be linked against libgomp.
--
Apart from this, I wonder if it would be better to fall back to a single-threaded version if libgomp is absent?
How is the User warned that the facility is not available in the absence of libgomp? (just by a link fail?)
thanks,
Iain