次の 2 つの RedHat Linux システム構成設定に注目してください。
$ getconf GNU_LIBC_VERSION
glibc 2.3.4
$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.3.4
それらがいくつかの TLS ライブラリに対応していることがわかります。
/lib/tls/libc-2.3.4.so
/lib/tls/libm-2.3.4.so
/lib/tls/libpthread-2.3.4.so
/lib/tls/librt-2.3.4.so
/usr/lib
同等のライブラリではなく、これらのライブラリにリンクしたいと思います。いくつかの質問を聞きたいんです:
- これは RedHat と Debian で見たことがあります。すべての GNU Linux ディストリビューションに存在しますか?
GNU_LIBC_VERSION
と異なる場合はありますGNU_LIBPTHREAD_VERSION
か?- これらの変数は、共有ライブラリを識別するために安全に使用できます
/lib/tls
か? 魔法の glibc/pthread バージョン番号をハードコーディングするのではなく、これを Makefile で自動化したいと考えています。