<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58377>58377</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
ld.lld: error: relocation R_MIPS_32 cannot be used against local symbol; recompile with -fPIC
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wzssyqa
</td>
</tr>
</table>
<pre>
t.cpp
```
#include <stdio.h>
#include "t.h"
TT::TT(const int a)
: n(a)
{
printf("{%s}[%s](%d) : %d\n", __FILE__, __func__, __LINE__, n);
}
```
m.cpp
```
#include <stdio.h>
#include "t.h"
int main()
{
int c = 100;
printf("{%s}[%s](%d) : %d\n", __FILE__, __func__, __LINE__, c);
TT *a = new TT(c);
printf("{%s}[%s](%d) : %p\n", __FILE__, __func__, __LINE__, a);
return 0;
}
```
t.h
```
class TT {
public:
//explicit TT(const int a);
TT(const int a);
~TT() {};
private:
int n {};
};
```
```
$ ../build/bin/clang++ -fPIC -mabi=32 -fuse-ld=lld -O3 -o a.out t.cpp m.cpp
ld.lld: error: relocation R_MIPS_32 cannot be used against local symbol; recompile with -fPIC
>>> defined in /tmp/m-dc13fe.o
>>> referenced by m.cpp
>>> /tmp/m-dc13fe.o:(.eh_frame+0x2D)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
```
```
$ ../build/bin/clang++ -fPIC -L/lib64 -mabi=64 -fuse-ld=lld -O3 -o a.out t.cpp m.cpp
ld.lld: error: relocation R_MIPS_64 cannot be used against local symbol; recompile with -fPIC
>>> defined in /tmp/m-627e22.o
>>> referenced by m.cpp
>>> /tmp/m-627e22.o:(.eh_frame+0x31)
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9VVtvozoQ_jXwYoHADpA88NA2rVSpe9E5fY8MHhLvGsPappf99Tt2kibpic7uartFFgye8Vy-b2w3g3iuXdqOY5Qto-xi9y6z3dj-UiZ1qyYBJGJX1gk5pJuIXZ8sObKh1KGe0mP9_X3ELnDgl87bQVtHpHaER3SxNSD4oJ5o1B9mo-ryoB4NLulQ732jghY2qpZRsZWKZdAUAhcHT0EurrS3pldktbq5vbterbZyN-l2L9_dftzNax-YXZJ98OV5PI7e_RF2b4-ah6jnUofKzkHiDVr0vyR5lmHm7wlWewKWj3l_j34ueMhHwyPZkr01-5PMxt_MjP8nMwNuMpocIPp_bj0T57St4taGMvckjFOjZOt7-9DF9AYHPI2okI6c6_hjOH6mj6rrYBLwwLCY-F6NSD5wByfRvQ_92vBEPtvMr3t3RtIUq2gmqYT_-h68wfL1OqJI1CVJus-3VyTpeSORbkZxYrKQoDVbKiVI8omRZCA8HSZHwglDjvaKEqnyphcEjBmMFwyooeVODpr8s_pw-_nfFTptudaDIw0QdC4IX-NmQKC8pSL2uW8G5Yk20A79KBWQR-k229x2leCGC4MI6KRGH1J7hlw_4rtPRJuzDtLhtbWBDgzoFhc0z8eZH0xOn3M-kRc6T2Gz6gzvAVHLnujyZSMHNJO8PEFBSf0VDMFyeq4F6TgWJbZVwRN2UzvgWZFjtDkCQpIH4gZiAbCqhx16h4PiTYm-w2klm3L2wrkXf41z8huko9e_TnpJK6D0bUl_8XmGdJa_P-kx1HlZFvNZtsizWNRMLNiCx046BfU7bL94MqreODfagIg_EteonJoUbX0vqYf9JxnN8AVah7_S2gksCsWcVVW8qSvKStFAzgAYlPMC8pIKEKwq24rzrosVb0DZOlwf1F86wYW_LIplLGuaUZpneZEzVmRlKmYzaBZFRxcd54WAaJYBXrAq9Xmkg1nHpg4pNdPaolJJ6-xBiae_XGuAEA7988ltBlM_frf2-RuPQ-g6pP4DbHqVDw">