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

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


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