Repository navigation
Add merge symbol logic for MachO symbols - #1929
Conversation
There was a problem hiding this comment.
Code Review
This pull request addresses a linker issue on macOS (XCode 27) by ignoring Mach-O assembler temporary labels, compiler metadata labels, and Objective-C runtime metadata during library merging. It introduces an is_ignored_symbol helper in merge_libraries.py to filter out these symbols, updates demangling logic to handle linker-private C++ symbols (l__Z), and adds comprehensive unit tests to verify the new behavior. Additionally, it updates the test shell script to conditionally include demumble if it is executable. The review feedback suggests optimizing the condition check in is_ignored_symbol by swapping the order of checks to evaluate not symbol.startswith("_") first, which allows short-circuiting and avoids unnecessary calls to is_cpp_symbol for the majority of symbols.
✅ Integration test succeeded!Requested by @a-maurice on commit 25bdab4 |
Description
Check for more special symbols when merging dependency symbols into desktop libraries. Some symbols are prefixed with lowercase l, and should be ignored during this logic.
#1920
Testing
Type of Change
Place an
xthe applicable box:Notes
Release Notessection ofrelease_build_files/readme.md.