Commit 4323a40
committed
fix(macos): static libc++ via -Wl,-load_hidden (split-brain libc++ SIGSEGV)
CI forensics (PR #117, m1-m7 matrix + crash report): plain by-path
archive linking leaves default-visibility libc++ symbols that dyld then
unifies with the system libc++ from the shared cache — a split-brain
where ostream<<int crosses from the static copy into the system copy's
locale machinery (collate/num_put) and SIGSEGVs. -Wl,-load_hidden
forces the archive AND hides its symbols; m6 (mixed C/C++) and m7
(pure-C++ int output) both run clean where m1/m3 crashed. (-hidden-l
remains unusable under lld: it picks the sibling dylib.)1 parent 5a213de commit 4323a40
1 file changed
Lines changed: 14 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
398 | 398 | | |
399 | 399 | | |
400 | 400 | | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
409 | 415 | | |
410 | 416 | | |
411 | 417 | | |
| |||
0 commit comments