[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.
This commit is contained in:
Alan Modra 2019-08-01 11:50:55 +09:30
parent 6a010cf67a
commit 89c52ae3a2
4 changed files with 359 additions and 68 deletions

View file

@ -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,