https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116043

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #4)
> -mavx512bw is enough, the "bad" assembly has
> 
>         leaq    __libc_tsd_CTYPE_B@gottpoff(%rip), %rsi
> 
> the "good" has only movq with gottpoff(%rip) relocations.

Note in the object file I see

 243:   48 8d 35 00 00 00 00    lea    0x0(%rip),%rsi        # 24a
<hol_entry_qcmp+0x5a>
 24a:   4c 8b 0d 00 00 00 00    mov    0x0(%rip),%r9        # 251
<hol_entry_qcmp+0x61>

lld reports

ld.lld-14.0.6: error: t.o:(function hol_entry_qcmp: .text+0x243):
R_X86_64_GOTTPOFF must be used in MOVQ or ADDQ instructions only
ld.lld-14.0.6: error: t.o:(function hol_entry_qcmp: .text+0x365):
R_X86_64_GOTTPOFF must be used in MOVQ or ADDQ instructions only

so it's a backend issue.

Reply via email to