[PATCH] D74443: [lld][Hexagon] convert call x at GDPLT to call __tls_get_addr

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 15:53:47 PST 2020


MaskRay added a comment.

Many variable names are still not fixed.



================
Comment at: lld/ELF/Relocations.cpp:1985
+bool HexagonNeedsTLSSymbol(ArrayRef<OutputSection *> outputSections) {
+  bool NeedTLSSymbol = false;
+  forEachInputSectionDescription(
----------------
MaskRay wrote:
> lld uses `variableName`
Not done. `os` `isd`


================
Comment at: lld/ELF/Relocations.cpp:1982
+// hexagonTLSSymbolUpdate rebinds the relocation to __tls_get_addr.
+bool hexagonNeedsTLSSymbol(ArrayRef<OutputSection *> OutputSections) {
+  bool NeedTlsSymbol = false;
----------------
`outputSections`


================
Comment at: lld/ELF/Relocations.cpp:1983
+bool hexagonNeedsTLSSymbol(ArrayRef<OutputSection *> OutputSections) {
+  bool NeedTlsSymbol = false;
+  forEachInputSectionDescription(
----------------
`needTlsSymbol`


================
Comment at: lld/ELF/Relocations.cpp:1996
+
+void hexagonTLSSymbolUpdate(ArrayRef<OutputSection *> OutputSections) {
+  bool NeedEntry = true;
----------------
`outputSections`


================
Comment at: lld/test/ELF/hexagon-tls-gd-xform.s:38
+# RELA_GDPLT-NEXT  Section (5) .rela.plt {
+# RELA_GDPLT-NEXT    0x30298 R_HEX_JMP_SLOT x 0x0
+# RELA_GDPLT-NEXT    0x3029C R_HEX_JMP_SLOT __tls_get_addr 0x0
----------------
Without a colon, these checks are not effective.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74443





More information about the llvm-commits mailing list