<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/108403>108403</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            LIBUNWIND_HIDE_SYMBOLS option doesn't work with libc++abi.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++,
            libc++abi
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          pawelsopensource
      </td>
    </tr>
</table>

<pre>
    Hi,
I'm trying to build libc++abi.so with statically linked libunwind with hidden libunwind symbols.
The isolated docker clang build shows that libc++abi.so.1.0 still exports _Unwind* symbols (only the part of __unw* are hidden).
```
$ readelf -sW libc++abi.so.1.0 |grep __unw
    54: 000000000001ee00   104 FUNC    GLOBAL DEFAULT   12 __unw_add_dynamic_fde
 74: 000000000001f240   154 FUNC    GLOBAL DEFAULT   12 __unw_add_dynamic_eh_frame_section
   149: 000000000001f160     5 FUNC GLOBAL DEFAULT   12 __unw_remove_dynamic_fde
   210: 000000000001f570 5 FUNC    GLOBAL DEFAULT   12 __unw_remove_dynamic_eh_frame_section
 19: 000000000001e420   210 FUNC    LOCAL  HIDDEN    12 __unw_init_local
 24: 000000000001e540   155 FUNC    LOCAL  HIDDEN    12 __unw_get_reg
 25: 000000000001e5e0   247 FUNC    LOCAL  HIDDEN    12 __unw_set_reg
 26: 000000000001e6e0   156 FUNC    LOCAL  HIDDEN    12 __unw_get_fpreg
 27: 000000000001e780   165 FUNC    LOCAL  HIDDEN    12 __unw_set_fpreg
 28: 000000000001e830   126 FUNC    LOCAL  HIDDEN    12 __unw_step
    29: 000000000001e8b0   129 FUNC    LOCAL  HIDDEN    12 __unw_step_stage2
 30: 000000000001e940   145 FUNC    LOCAL  HIDDEN    12 __unw_get_proc_info
    31: 000000000001e9e0   127 FUNC    LOCAL  HIDDEN 12 __unw_resume
    32: 000000000001ea60   191 FUNC    LOCAL  HIDDEN 12 __unw_get_proc_name
    33: 000000000001eb20   135 FUNC    LOCAL HIDDEN    12 __unw_is_fpreg
    34: 000000000001ebb0   134 FUNC    LOCAL HIDDEN    12 __unw_regname
    35: 000000000001ec40   125 FUNC    LOCAL HIDDEN    12 __unw_is_signal_frame
    36: 000000000001ecc0   120 FUNC LOCAL  HIDDEN    12 __unw_iterate_dwarf_unwind_cache
   872: 0000000000024454     0 FUNC    LOCAL  HIDDEN    12 __unw_getcontext
 884: 000000000001ee00   104 FUNC    GLOBAL DEFAULT   12 __unw_add_dynamic_fde
   887: 000000000001f160     5 FUNC    GLOBAL DEFAULT   12 __unw_remove_dynamic_fde
   888: 000000000001f240   154 FUNC GLOBAL DEFAULT   12 __unw_add_dynamic_eh_frame_section
   891: 000000000001f570     5 FUNC    GLOBAL DEFAULT   12 __unw_remove_dynamic_eh_frame_section
(...)

$ readelf -sW libc++abi.so.1.0 |grep _Unwind_
    46: 0000000000024300    88 FUNC GLOBAL DEFAULT   12 _Unwind_GetIPInfo
    55: 0000000000023d40    89 FUNC GLOBAL DEFAULT   12 _Unwind_SetGR
    81: 0000000000023c10    98 FUNC GLOBAL DEFAULT   12 _Unwind_GetRegionStart
   112: 0000000000023fd0   148 FUNC    GLOBAL DEFAULT   12 _Unwind_FindEnclosingFunction
   116: 0000000000023b70   149 FUNC    GLOBAL DEFAULT   12 _Unwind_GetLanguageSpecificData
   123: 0000000000023e60   143 FUNC GLOBAL DEFAULT   12 _Unwind_Resume_or_Rethrow
   131: 0000000000023f60 102 FUNC    GLOBAL DEFAULT   12 _Unwind_GetTextRelBase
   134: 0000000000023ef0   102 FUNC    GLOBAL DEFAULT   12 _Unwind_GetDataRelBase
 175: 0000000000023c80    87 FUNC    GLOBAL DEFAULT   12 _Unwind_DeleteException
   276: 0000000000023050   837 FUNC    GLOBAL DEFAULT   12 _Unwind_RaiseException
   286: 0000000000023da0    82 FUNC GLOBAL DEFAULT   12 _Unwind_GetIP
   298: 0000000000024070   376 FUNC GLOBAL DEFAULT   12 _Unwind_Backtrace
   325: 0000000000023e00    81 FUNC GLOBAL DEFAULT   12 _Unwind_SetIP
   381: 00000000000241f0   174 FUNC GLOBAL DEFAULT   12 _Unwind_Find_FDE
   387: 0000000000023ae0   140 FUNC GLOBAL DEFAULT   12 _Unwind_ForcedUnwind
   413: 0000000000023ce0    92 FUNC    GLOBAL DEFAULT   12 _Unwind_GetGR
   435: 00000000000242a0    82 FUNC    GLOBAL DEFAULT   12 _Unwind_GetCFA
   446: 0000000000023710   175 FUNC    GLOBAL DEFAULT   12 _Unwind_Resume
(...)
```
[Dockerfile.txt](https://github.com/user-attachments/files/16981389/Dockerfile.txt)
[docker.sh.txt](https://github.com/user-attachments/files/16981391/docker.sh.txt)
[build.sh.txt](https://github.com/user-attachments/files/16981392/build.sh.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0mFFv4joThn-NubGK4olDkgsuoJRuJb7up3ar1bmKjDMJPg0xis22_fdHxGmBuNtm9-ypKiFCeOaNx_POGGGMKmvEKYnmJFqMxN5udDPdiSesjN5hbfS-kTha6_xl-kURuCTBggSzGwLxltrmRdUltZqu96rKaaXWksCcwFys1dho-qTshhorrJKiql5opepHbO_b10-qzt0NG5XnWJ9cNS_bta7M2MX6tkGqjK6ExZzmWj5iQ2Ul6rKLajb6yVC7EdYTMGbjgBqrqori80431tDsoY1BYPYahhJIdF29ULtBuhONpbqgWbavnw43iQY7gQTSThGZBN2_ewucNihyrAp6Yb6_r4LEl2WDuw7cfo9SSiNOwhkNjn8MMQgopSzgdPlwe3m46Xr1dT5b0cXVcvaw-nb4EBwnE3me5S-12CqZFTl23NiDFsBbaPSrUNxkRSO2mBmUVun6TTnjqReETQ5BKI1ckJ9HaHCrf-A7yikFFnjcKA5emR8K72F_op15wpFD4EK_BVl9vZytKP1ys1hc3dLTIKpWNqu0FFXHAz-FUbfa0QBeiTZrsHyFRT4MW3E8HgAz57CJB5ugUzYZqKzYneBiDxcnLW4y5EFNH5d4uCRscTBEnbG4O9YR-ElN1g6WDoRlxooSoWOG3jbE1GWVD83qrtEyU3WhjzJD5lNdRuBn6T3Z3Wa_xRMWeCzRFiBL2WesN3m1OEOGHnLdlgYL-w_9XmWYs_weeH5prF1WQv45r8GyJ88vDulyAsPkHZqdqJwrnGD9MpHSYTtD-MANLDbCYpY_iabIXP_KpJCbIz-J-4kCziPeOuUQwynRSl1bfLYdMkn-i6ZBaZJ4Bd639F-x33O0V-z9lvQv-1GSeqXV9o3fFP9-HALJeDwmkHZvf6P9u_EjO-4-3t99wMM2mTRJPliZjnON9ub_N2ceE_WrBMKcO2D6OfAe7fXdEZb0VxVCyVpYOkzdHZZK1_dWNPY4OzCvIsIid-aafJyrDrxUdX5Vy0obVZfLfd2bTZi3puE6dvx0EP8a7UrU5V6UeL9DqQolF8KKYwToOyWE6MyXh5-vy11r5Zlusju0m0YfB0LmdQgIi0lAWQBDhX_DZ3uH1VwYPMH2LQNCLJxlDAYfVuAczGJ_r8nE7bV4EHaBFVq8epa4O0shxH4Kg-hATsJh5DuhzHvgxAfnwkmGgfV2hKV9WwMetBstjCefw-ZCPtpGyGOeQm_-gxA7N2CDivdEXegXL2cu6fFHpntSY9lycXXC6_cHCIWbXngwgKcbiXl3_HplcuYXkkRnMIM35olhcW9GAA7n6f2cd7mcHYG-P4cxc4v4SV85K_b3G0jvIBnNF-35tlAVju2zJdGCQLKxdmdIOCOwJLAsld3s12OptwSWe4PNhbBWyM0Wa2sILA_fPbyySZqwMEkJLHvQt-jR3B2nx2bzZ6KljMDynHkSrD2u_7lYQGB5hnwNNcqnYZ6GqRjhlMUwYRGkwEebaYxxBBMRp3EsigkwLAoeTwTPZT4RGBYjNYVDBacMGI8i4GNRBClPgEmGEIcJEB7gVqhqXFU_tmPdlCNlzB6nLEh4EI4qscbKtD-mABznAAJA4PLsklirw9VoMWqmB9bFel8awoNKGWuOdKtshdPVzfzh9vvN7SL7crO4yu7_-t_86-qe6tbZaK7R1ARiS5908-h-UjmfQUb7ppp-sNaHcN3Lxa7Rf6O0BJbtk7Xr7R7uxxT-CQAA__8_hfBR">