diff options
author | YunQiang Su <syq@debian.org> | 2024-02-27 05:08:58 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-26 13:08:58 -0800 |
commit | 860b6edfa9b344fbf8c500c17158c8212ea87d1c (patch) | |
tree | a21162d2b4adc63da04ca7410dc0bffb31eba6da /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | 113052b2b022c4ce45c8003057ae4297d48ed843 (diff) | |
download | llvm-860b6edfa9b344fbf8c500c17158c8212ea87d1c.zip llvm-860b6edfa9b344fbf8c500c17158c8212ea87d1c.tar.gz llvm-860b6edfa9b344fbf8c500c17158c8212ea87d1c.tar.bz2 |
MIPS: fix emitDirectiveCpsetup on N32 (#80534)
In gas, .cpsetup may expand to one of two code sequences (one is related to `__gnu_local_gp`), depending on -mno-shared and -msym32.
Since Clang doesn't support -mno-shared or -msym32, .cpsetup expands to one code sequence.
The N32 condition incorrectly leads to the incorrect `__gnu_local_gp` code sequence.
```
00000000 <t1>:
0: ffbc0008 sd gp,8(sp)
4: 3c1c0000 lui gp,0x0
4: R_MIPS_HI16 __gnu_local_gp
8: 279c0000 addiu gp,gp,0
8: R_MIPS_LO16 __gnu_local_gp
```
Fixes: #52785
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
0 files changed, 0 insertions, 0 deletions