llvm-project
8f4f5158 - [lld][Hexagon] Fix TLS GD PLT to only create PLT entry for __tls_get_addr (#180297)

Commit
30 days ago
[lld][Hexagon] Fix TLS GD PLT to only create PLT entry for __tls_get_addr (#180297) Previously, R_HEX_GD_PLT_* relocations would create PLT entries for TLS symbols like 'foo' in addition to __tls_get_addr. This fix skips NEEDS_PLT on TLS symbols with R_HEX_GD_PLT_*, creates __tls_get_addr symbol earlier with NEEDS_PLT, changes hexagonTLSSymbolUpdate to only rebind relocations. Also a test for the edge case where a GD_PLT relocation directly references __tls_get_addr which previously caused a crash due to duplicate PLT entry creation. --------- Co-authored-by: Fangrui Song <i@maskray.me>
Author
Parents
Loading