[PATCH] [lld] [ELF/AArch64] Fix local TLS relocations

Shankar Kalpathi Easwaran shankarke at gmail.com
Tue May 26 06:36:35 PDT 2015


================
Comment at: lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp:476-479
@@ -475,6 +475,6 @@
     break;
-  case R_AARCH64_TLSLE_ADD_TPREL_HI12:
-    return relocR_AARCH64_TLSLE_ADD_TPREL_HI12(loc, reloc, target, addend);
-  case R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
-    relocR_AARCH64_TLSLE_ADD_TPREL_LO12_NC(loc, reloc, target, addend);
-    break;
+  case R_AARCH64_TLSLE_ADD_TPREL_HI12: {
+    _tlsSize = _layout.getAlignedTLSSize();
+    return relocR_AARCH64_TLSLE_ADD_TPREL_HI12(loc, reloc, target + _tlsSize, addend);
+  } case R_AARCH64_TLSLE_ADD_TPREL_LO12_NC: {
+    _tlsSize = _layout.getAlignedTLSSize();
----------------
can you move the case statement to a new line ?

================
Comment at: lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp:477
@@ +476,3 @@
+  case R_AARCH64_TLSLE_ADD_TPREL_HI12: {
+    _tlsSize = _layout.getAlignedTLSSize();
+    return relocR_AARCH64_TLSLE_ADD_TPREL_HI12(loc, reloc, target + _tlsSize, addend);
----------------
Do relocations increase the size of the initial TLS image ? Confused.

http://reviews.llvm.org/D10030

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list