https://sourceware.org/bugzilla/show_bug.cgi?id=19188
--- Comment #3 from Jiong Wang <jiwang at gcc dot gnu.org> --- caused by we always call tpoff_base when we need to do tls relaxation which is wrong. tpoff_base shouldn't be called if there is no tls object defined in the input section. it's only valid when we are doing X -> TLS local executable relaxation, not for any others. Normally elfNN_aarch64_tls_relax don't need relocation value, as it just need to change the relocation type to the relaxed types then set the return type to bfd_reloc_continue thus the next iteration of relocate section should apply the relaxed relocation properly, but for the large model IE-> LE, BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1 it's an exception, as the original IE model contains only two relocation entries, while the relaxed LE model for large requires three entries, we can't play the type change trick anymore, we can only resolve the relocation just inside elfNN_aarch64_tls_relax, and set the return type to bfd_reloc_ok, thus we need the extra relocation value here. We need to fix the code to call tpoff_base only when needed. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils