Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1ad88ea2ba2af8639834d2756845be8ee8abb417
https://github.com/WebKit/WebKit/commit/1ad88ea2ba2af8639834d2756845be8ee8abb417
Author: Claudio Saavedra <[email protected]>
Date: 2026-10-04 (Sun, 04 Oct 2026)
Changed paths:
M Source/ThirdParty/libwebrtc/CMakeLists.txt
Log Message:
-----------
[CMake] Prefix the BoringSSL symbols built into the static libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=326085
Reviewed by Patrick Griffis.
On every port but Cocoa, libwebrtc is a static library and its vendored
BoringSSL goes into the WebKit library under BoringSSL's public symbol
names. WebKit code that calls the system OpenSSL in the same binary then
binds, at static link time, to the BoringSSL definitions instead. With the
OpenSSL WebCrypto backend enabled on WPE, every EVP_*, RSA_* and EC_KEY_*
call lands in BoringSSL, and the few functions that only OpenSSL 3 provides
receive BoringSSL objects and crash.
Build BoringSSL with BORINGSSL_PREFIX, which it supports through the
prefix_symbols headers shipped in the tree, on the webrtc and libsrtp
targets, the two that include its headers. The #pragma redefine_extname
form of the renaming cannot be used: the macro arguments of the pragma are
not expanded in preprocessed output, so a compiler fed preprocessed source,
as icecc and distcc do, ignores the pragma and leaves the symbols
unrenamed. Undefining __PRAGMA_REDEFINE_EXTNAME selects the macro form.
Verified with nm on libWPEWebKit: no unprefixed BoringSSL symbol remains,
and the WebCrypto backend's calls resolve to libcrypto.
* Source/ThirdParty/libwebrtc/CMakeLists.txt:
Canonical link: https://commits.webkit.org/322641@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications