<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/143454>143454</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc][errno] Deprecate `LIBC_ERRNO_MODE_SYSTEM` in favor of `LIBC_ERRNO_MODE_SYSTEM_INLINE`.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
lntue
</td>
</tr>
</table>
<pre>
In `LIBC_ERRNO_MODE_SYSTEM`, we still create a temporary global object `libc_errno` and then point it to the system libc `errno`. To use system libc `errno`, it would be more efficient to make `libc_errno` a macro defined as `errno`, just as `LIBC_ERRNO_MODE_SYSTEM_INLINE`. It also allow us to skip linking against `libc.src.errno.errno` target.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMkkFr4zwQhn-NfBlqFNlymoMPX5sEAm0KbS_fKYztkaNGlowkJ-TfL3KzXVi6y54EYuadZ4YHQ9C9JaqZfGByneEUj87XxsaJssZ113pngVX8affweNi8vu5fDs8v683h7f-3980zqzgTj3AhCFEbA60njAQIkYbRefRX6I1r0IBrPqiNKcnopj2Q99axigPaDuKRLIxO2wg6QnTpA8I1RBogVaeunw05wLuDKfyxIPHoCBc3mQ4agsF5AlJKt5rsnD7gib4BgQFb76AjpS11gOH31I8pxNv399c47PZPu_3mk3IXAU1wgMa4C0whTQ4nPYLR9qRtD9ijtuHrJHnwbT6Py7-YIvqeYp51ddGtihVmVC-W5Ury-6ri2bFuiqoTVNBSteXyXqmFRBSFUAUXtFxQk-lacCF5xVdCFMuS56XChopSyRUqKUmyktOA2uTGnIfc-T7TIUxUL8qilGVmsCETZjeESJRMiGSJr1P9XTP1gZXc6BDDr4Soo5l9mhvkmsmHz43kGtY0emqTI39zCrQFhWfnwal_Onc2eVMfYxwDK_5jYsvEttfxODV56wYmtont9tyN3iUVmdjOqwYmtrdtz7X4EQAA___mo_ms">