openssl/openssl
在 GitHub 查看[BUG] Illegal uintptr_t typecast when using threaded builds
Open
#28,765 建立於 2025年10月6日
help wantedtriaged: bug
倉庫指標
- Star
- (30,157 star)
- PR 合併指標
- (30 天內沒有已合併 PR)
描述
When building on NonStop x86, specifically c99, there is a compile error as follows:
uintptr_t tid = (uintptr_t)CRYPTO_THREAD_get_current_id();
^
"/home/randall/openssl-3.5/crypto/rsa/rsa_ossl.c", line 234: error(256): invalid type conversion
uintptr_t tid = (uintptr_t)CRYPTO_THREAD_get_current_id();
^
"/home/randall/openssl-3.5/crypto/rsa/rsa_ossl.c", line 242: error(256): invalid type conversion
This results because some platforms (NonStop, Cygwin, at least) define pthread_t as a typedef struct instead of a primitive, which is not legal in c99 although works in gcc.