From 024c4466738f9e18a8a3e15592e1250a61f288b9 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Tue, 9 Feb 2010 06:34:44 +0000 Subject: * sparc.cc (Target_sparc::Scan::local): Handle R_SPARC_GOTDATA_OP* just like R_SPARC_GOT{10,13,22}. (Target_sparc::Scan::local): Likewise. (Target_sparc::Relocate:relocate): Likewise. --- gold/sparc.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gold/sparc.cc') diff --git a/gold/sparc.cc b/gold/sparc.cc index 4cef8d86c94..9bca176ce7e 100644 --- a/gold/sparc.cc +++ b/gold/sparc.cc @@ -1703,6 +1703,9 @@ Target_sparc::Scan::local( case elfcpp::R_SPARC_PC22: break; + case elfcpp::R_SPARC_GOTDATA_OP: + case elfcpp::R_SPARC_GOTDATA_OP_HIX22: + case elfcpp::R_SPARC_GOTDATA_OP_LOX10: case elfcpp::R_SPARC_GOT10: case elfcpp::R_SPARC_GOT13: case elfcpp::R_SPARC_GOT22: @@ -2070,6 +2073,9 @@ Target_sparc::Scan::global( } break; + case elfcpp::R_SPARC_GOTDATA_OP: + case elfcpp::R_SPARC_GOTDATA_OP_HIX22: + case elfcpp::R_SPARC_GOTDATA_OP_LOX10: case elfcpp::R_SPARC_GOT10: case elfcpp::R_SPARC_GOT13: case elfcpp::R_SPARC_GOT22: @@ -2412,6 +2418,9 @@ Target_sparc::Relocate::relocate( unsigned int got_offset = 0; switch (r_type) { + case elfcpp::R_SPARC_GOTDATA_OP: + case elfcpp::R_SPARC_GOTDATA_OP_HIX22: + case elfcpp::R_SPARC_GOTDATA_OP_LOX10: case elfcpp::R_SPARC_GOT10: case elfcpp::R_SPARC_GOT13: case elfcpp::R_SPARC_GOT22: @@ -2526,10 +2535,15 @@ Target_sparc::Relocate::relocate( Reloc::lo10(view, got_offset, addend); break; + case elfcpp::R_SPARC_GOTDATA_OP: + break; + + case elfcpp::R_SPARC_GOTDATA_OP_LOX10: case elfcpp::R_SPARC_GOT13: Reloc::rela32_13(view, got_offset, addend); break; + case elfcpp::R_SPARC_GOTDATA_OP_HIX22: case elfcpp::R_SPARC_GOT22: Reloc::hi22(view, got_offset, addend); break; -- cgit v1.2.1