[PATCH] D77021: [Hexagon] R_HEX_GD_PLT_B22_PCREL cannot be relaxed.

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 1 15:45:43 PDT 2020


MaskRay accepted this revision.
MaskRay added a comment.
This revision is now accepted and ready to land.

LGTM. Please change the git description as well.



================
Comment at: lld/ELF/Relocations.cpp:1338
+      // call __tls_get_addr even if the symbol is in the same module.
+      if (!(config->emachine == EM_HEXAGON && type == R_HEX_GD_PLT_B22_PCREL))
+        expr = fromPlt(expr);
----------------
We may patch (call a at GDPLT) to (call __tls_get_addr), where __tls_get_addr is non-preemptible. We can't relax the PLT relocation here.


================
Comment at: lld/test/ELF/hexagon-tls-gd-nonpreemptible.s:1
+
+# REQUIRES: hexagon
----------------
Delete the empty line


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77021/new/

https://reviews.llvm.org/D77021





More information about the llvm-commits mailing list