summaryrefslogtreecommitdiff
path: root/elfcpp
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2019-08-01 11:50:55 +0930
committerAlan Modra <amodra@gmail.com>2019-08-02 18:41:34 +0930
commit89c52ae3a20e8d84a250095781c1e022af542b3f (patch)
treec93ddd916ff0d10ab87a232627575c9eb6f553e9 /elfcpp
parent6a010cf67a96adcaf80c74f926df6b42ce13e7df (diff)
downloadbinutils-gdb-89c52ae3a20e8d84a250095781c1e022af542b3f.tar.gz
[GOLD] PowerPC64 pc-relative TLS support
Gold version of git commit c213164ad2. elfcpp/ * powerpc.h (R_PPC64_TPREL34, R_PPC64_DTPREL34), (R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34), (R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define. gold/ * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Set flags for new relocations, and some missing older relocs. (Target_powerpc::Scan::local): Handle new pcrel tls relocs. Call set_has_static_tls for tprel relocs. (Target_powerpc::Scan::global): Likewise. (Target_powerpc::Relocate::relocate): Handle new pcrel tls relocs.
Diffstat (limited to 'elfcpp')
-rw-r--r--elfcpp/ChangeLog6
-rw-r--r--elfcpp/powerpc.h6
2 files changed, 12 insertions, 0 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog
index 724c95a5044..30b167a7ef7 100644
--- a/elfcpp/ChangeLog
+++ b/elfcpp/ChangeLog
@@ -1,3 +1,9 @@
+2019-08-02 Alan Modra <amodra@gmail.com>
+
+ * powerpc.h (R_PPC64_TPREL34, R_PPC64_DTPREL34),
+ (R_PPC64_GOT_TLSGD34, R_PPC64_GOT_TLSLD34),
+ (R_PPC64_GOT_TPREL34, R_PPC64_GOT_DTPREL34): Define.
+
2019-07-13 Alan Modra <amodra@gmail.com>
* powerpc.h (R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO),
diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h
index d06eba44b7c..631de3a731b 100644
--- a/elfcpp/powerpc.h
+++ b/elfcpp/powerpc.h
@@ -203,6 +203,12 @@ enum
R_PPC64_REL16_HIGHESTA34 = 143,
R_PPC64_D28 = 144,
R_PPC64_PCREL28 = 145,
+ R_PPC64_TPREL34 = 146,
+ R_PPC64_DTPREL34 = 147,
+ R_PPC64_GOT_TLSGD34 = 148,
+ R_PPC64_GOT_TLSLD34 = 149,
+ R_PPC64_GOT_TPREL34 = 150,
+ R_PPC64_GOT_DTPREL34 = 151,
R_PPC_VLE_REL8 = 216,
R_PPC_VLE_REL15 = 217,