-pthread
- ближайший вариант GCC для случаев использования, где -qthreaded
применяется для XL; однако он не эквивалентен опции -qthreaded
для IBM XL.
Документация GCC для -pthread
просто утверждает, что он устанавливает макросы (http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html#index-pthread) и изменяет шаг соединения (http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#index-pthread-1). -qthreaded
не приводит к тому, что _THREAD_SAFE
определяется как макрос) Кроме того, -lpthreads
не присутствует на шаге соединения. -pthread
GCC больше похоже на вызовы XL _r
(которые устанавливают макрос и изменяют шаг соединения).
Что делает -qthreaded
, так это отключает оптимизации, которые небезопасны для многопоточных программ. Похоже, что, по крайней мере, исторически, -fno-tree-loop-if-convert-stores
будет, по крайней мере, частично, GCC, эквивалентным -qthreaded
.