<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/135480>135480</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libunwind] unw_regname is defined differently to libgcc libunwind
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
spauka
</td>
</tr>
</table>
<pre>
It seems like LLVM libunwind is designed to be compatible with the libgcc libunwind api, as suggested in [/libunwind/include/libunwind.h](https://github.com/llvm/llvm-project/blob/339f58de16ac7a31869d189bec6cad7696958546/libunwind/include/libunwind.h#L9):
```
// Compatible with libunwind API documented at:
// http://www.nongnu.org/libunwind/man/libunwind(3).html
```
However the definition of `unw_regname` is different between the two libraries.
LibGCC libunwind:
```
const char *unw_regname(unw_regnum_t);
```
LLVM libunwind:
```
const char *unw_regname(unw_cursor_t *, unw_regnum_t) LIBUNWIND_AVAIL;
```
Not sure if this is intentional?
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVMFuqzgU_RqzsQYZgwksWKSJmImUqWYzfcvIxhfwq7EjbBf1759M0yZN3-JVQkLY916fc3wO3Dk1GIAGsQfE9gkPfrRz4848PPNEWPnaHDx2AJPDWj0DPh6f_sVaiWAWZSRWDktYR0jsLRaAOzuduVdCA16UH7EfIdYPXXfTxs8K0R3mDrswDOA8SKwMjiBo-1GGaKtMp4OE29V0RGyPaDV6f3Yo3yLaItoOyo9BpJ2dYq1-eX_9dZ7tT-g8oq3QViDa5nnds0pCVvJuw_OsKmuZVbWAruy43JR1WbOKFeUfIaH5sUa0jjDIFpXk8pALKry7U-Mqwfa_A5a2CxOYyJ77y4y3vkjug9uyLKmxZjAhtfNwh2vi5vNKlSNap6Of9D0ksv3HLvAC83opEnpllFfWYNtjVJJgltMMg-EToJKsV6v6HmYwHgvwC4BZG_1iI4-Zzwpc-jb4qMTfu92V3ldBOmucx93IZ4zo9vYsWr1_henkVzUfvkL_bLzvz-_C7Ox88nE3eu_uTHw8PPz_-OPwuD9tn7aH428xPFqPXZgBqx77UbmokTIeTFSRa5S3iWxyWec1T6DJNkVRFKQsWTI2m7zgJKtqIjPZl5T1jBLW801RFRnJuypRDSWUkSKjpGQZYWmVCyZKyYToJMmqHhUEJq50Gm0djZAo5wI0Wc6KiiSaC9BuzTGlBha87iJKY6znZs2CCINDBdHKeXcd45XX6w_gqi7b4xsF31LeqxjyD0vo1xj4-2QnYdbNt5O5QnWIthcuLw39FQAA__8uFHfd">