Skip to content

Speed up C++ ABI audit with ELF cxx11 precheck - #1439

Merged
maleadt merged 1 commit into
masterfrom
tb/speedup_cxx_abi_audit
Jul 10, 2026
Merged

Speed up C++ ABI audit with ELF cxx11 precheck#1439
maleadt merged 1 commit into
masterfrom
tb/speedup_cxx_abi_audit

Conversation

@maleadt

@maleadt maleadt commented Jul 7, 2026

Copy link
Copy Markdown
Member

Use ELF dynamic symbols as a fast positive check for libstdc++ cxx11 ABI markers, then fall back to the full existing symbol-table audit when that check is inconclusive. This removes the pathological LLVM audit cost for obvious cxx11 libraries without weakening cxx03 detection or no-evidence cases.

@maleadt
maleadt force-pushed the tb/speedup_cxx_abi_audit branch 2 times, most recently from c4b2dce to 7f56523 Compare July 7, 2026 20:35
@maleadt
maleadt force-pushed the tb/speedup_cxx_abi_audit branch from 7f56523 to 3ac32f3 Compare July 9, 2026 15:48
Use ELF dynamic symbols as a fast positive check for libstdc++ cxx11 ABI markers, then fall back to the full existing symbol-table audit when that check is inconclusive.

Recognize both the std::__cxx11 inline namespace and GCC ABI-tag manglings such as B5cxx11, so ABI-tagged cxx11 exports still win over old-ABI _ZNSs references. This removes the pathological LLVM audit cost for obvious cxx11 libraries without weakening cxx03 detection or no-evidence cases.

Tests cover raw cxx11 namespace markers, GCC ABI tags mixed with old-ABI symbols, cxx03-only markers, and no-evidence cases.
@maleadt
maleadt force-pushed the tb/speedup_cxx_abi_audit branch from 3ac32f3 to 63ec1c7 Compare July 9, 2026 21:10
@maleadt
maleadt merged commit e9903a2 into master Jul 10, 2026
10 checks passed
@maleadt
maleadt deleted the tb/speedup_cxx_abi_audit branch July 10, 2026 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant