mirror of
https://github.com/openharmony/third_party_openhitls.git
synced 2026-07-22 00:57:09 -04:00
3ba30169c2
**Core Platform Support:** - Add Darwin/macOS platform detection and conditional compilation - Implement platform-specific library extensions (.dylib for macOS, .so for Linux) - Enhanced dynamic library loading with cross-platform error handling - Platform-optimized time functions (clock_gettime_nsec_np for macOS) - Add App module support for Darwin/macOS **Threading & Synchronization:** - BSL: Migrate from simple integer flags to proper pthread_once_t implementation - Add BSL_SAL_OnceControl type with platform-specific implementations - Implement thread-safe one-time initialization across platforms - Fix memory initialization patterns for thread-once controls **Build System Improvements:** - Remove GNU ld-specific flags for test-framework use c function pointer replace or `stub_utils.h` to hook target function - Boundcheck components will linked as static library for tests, reduce tests dynamic library deps - Update CMake configurations for Darwin support **Test Framework Enhancements:** - Replace jmp_buf with sigjmp_buf for better signal handling - Update time handling to avoid platform-specific gmtime issues - Improve entropy test stability across platforms - Add proper RAND initialization/deinitialization **Entropy & Cryptographic Updates:** - Temporarily disable CPU jitter entropy on macOS (pending validation) - Add cross-platform entropy source management - Update DRBG configuration for improved compatibility - Enhance hardware entropy detection and handling **Network & I/O:** - Extend POSIX network functions to support both Linux and Darwin - Add file accessibility checks before dynamic loading - Improve error handling for symbol resolution across platforms - Update socket and I/O operations for cross-platform compatibility Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/677 Signed-off-by: Dongjianwei001 <dongjianwei1@huawei.com>