From 89c52ae3a20e8d84a250095781c1e022af542b3f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 1 Aug 2019 11:50:55 +0930 Subject: [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. --- elfcpp/ChangeLog | 6 ++++++ elfcpp/powerpc.h | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'elfcpp') diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index 724c95a..30b167a 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,3 +1,9 @@ +2019-08-02 Alan Modra + + * 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 * powerpc.h (R_PPC64_PCREL_OPT, R_PPC64_D34, R_PPC64_D34_LO), diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h index d06eba4..631de3a 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, -- cgit v1.1