mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-31 19:05:00 +07:00
This would cause a null pointer dereference when trying to open an audio device in Zed. More context: https://github.com/NixOS/nixpkgs/pull/478907/changes#r2885943326 cc @cameron1024 Release Notes: - Fixed crash when trying to join a channel/test audio on Nix-built Zed on Linux.
22 lines
768 B
Text
22 lines
768 B
Text
/* Linker version script for libwebrtc.so (Linux only).
|
|
*
|
|
* When libwebrtc.so is built with rtc_use_pipewire=true and
|
|
* -fvisibility=default, PipeWire lazy-load trampoline stubs (pw_*, spa_*)
|
|
* are exported as weak symbols. If the PipeWire ALSA plugin
|
|
* (libasound_module_pcm_pipewire.so) is later dlopen'd by libasound,
|
|
* the dynamic linker may resolve the plugin's pw_* references through
|
|
* libwebrtc.so's broken trampolines instead of the real libpipewire.so,
|
|
* causing a SIGSEGV (NULL function pointer dereference).
|
|
*
|
|
* This script hides only those third-party symbol namespaces while
|
|
* keeping every WebRTC / BoringSSL / internal symbol exported (which
|
|
* the Rust webrtc-sys bindings require).
|
|
*/
|
|
{
|
|
global:
|
|
*;
|
|
|
|
local:
|
|
pw_*;
|
|
spa_*;
|
|
};
|