* 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.
This commit is contained in:
parent
705b512121
commit
024c446673
|
@ -4,6 +4,11 @@
|
||||||
unaligned for R_SPARC_16, R_SPARC_32, or R_SPARC_64, use the unaligned
|
unaligned for R_SPARC_16, R_SPARC_32, or R_SPARC_64, use the unaligned
|
||||||
relocation helper function.
|
relocation helper function.
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2010-02-06 Ian Lance Taylor <iant@google.com>
|
2010-02-06 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
* configure.ac: Rewrite targetobjs duplicate removal code to use
|
* configure.ac: Rewrite targetobjs duplicate removal code to use
|
||||||
|
|
|
@ -1703,6 +1703,9 @@ Target_sparc<size, big_endian>::Scan::local(
|
||||||
case elfcpp::R_SPARC_PC22:
|
case elfcpp::R_SPARC_PC22:
|
||||||
break;
|
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_GOT10:
|
||||||
case elfcpp::R_SPARC_GOT13:
|
case elfcpp::R_SPARC_GOT13:
|
||||||
case elfcpp::R_SPARC_GOT22:
|
case elfcpp::R_SPARC_GOT22:
|
||||||
|
@ -2070,6 +2073,9 @@ Target_sparc<size, big_endian>::Scan::global(
|
||||||
}
|
}
|
||||||
break;
|
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_GOT10:
|
||||||
case elfcpp::R_SPARC_GOT13:
|
case elfcpp::R_SPARC_GOT13:
|
||||||
case elfcpp::R_SPARC_GOT22:
|
case elfcpp::R_SPARC_GOT22:
|
||||||
|
@ -2412,6 +2418,9 @@ Target_sparc<size, big_endian>::Relocate::relocate(
|
||||||
unsigned int got_offset = 0;
|
unsigned int got_offset = 0;
|
||||||
switch (r_type)
|
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_GOT10:
|
||||||
case elfcpp::R_SPARC_GOT13:
|
case elfcpp::R_SPARC_GOT13:
|
||||||
case elfcpp::R_SPARC_GOT22:
|
case elfcpp::R_SPARC_GOT22:
|
||||||
|
@ -2526,10 +2535,15 @@ Target_sparc<size, big_endian>::Relocate::relocate(
|
||||||
Reloc::lo10(view, got_offset, addend);
|
Reloc::lo10(view, got_offset, addend);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case elfcpp::R_SPARC_GOTDATA_OP:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case elfcpp::R_SPARC_GOTDATA_OP_LOX10:
|
||||||
case elfcpp::R_SPARC_GOT13:
|
case elfcpp::R_SPARC_GOT13:
|
||||||
Reloc::rela32_13(view, got_offset, addend);
|
Reloc::rela32_13(view, got_offset, addend);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case elfcpp::R_SPARC_GOTDATA_OP_HIX22:
|
||||||
case elfcpp::R_SPARC_GOT22:
|
case elfcpp::R_SPARC_GOT22:
|
||||||
Reloc::hi22(view, got_offset, addend);
|
Reloc::hi22(view, got_offset, addend);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue