-pthread switch and binary compatibitity
Hi there, Over at the Boost C++ libraries project we're trying to decide what is the correct thing to do when code is compiled with -pthread or not. The crux of the issue is this: if gcc/g++ is configured with the pthread threading model, then are object files always binary compatible irrespective of whether they are compiled with the -pthread command line option or not? If the answer is yes, then is it commonplace to link object files compiled with and without -pthread? Basically we're trying to decide whether to try and ensure that object files compiled with and without -pthread are always binary compatible, or whether to turn threading support on *only* when -pthread is specified (and _REENTRANT gets #defined). Many thanks for your help, John Maddock.
Re: -pthread switch and binary compatibitity
Ian Lance Taylor wrote: "John Maddock" <[EMAIL PROTECTED]> writes: The crux of the issue is this: if gcc/g++ is configured with the pthread threading model, then are object files always binary compatible irrespective of whether they are compiled with the -pthread command line option or not? Yes, modulo the #define of _REENTRANT. If the answer is yes, then is it commonplace to link object files compiled with and without -pthread? Yes. In general, all the -pthread option does is turn on -D_REENTRANT during compilation and -lpthread during linking. There is some cross-platform variation--different -D and -l options--but in no case does -pthread lead to a different ABI. OK thanks, that sounds pretty definitive :-) John.