// sparc.cc -- sparc target support for gold.
-// Copyright (C) 2008-2016 Free Software Foundation, Inc.
+// Copyright (C) 2008-2020 Free Software Foundation, Inc.
// Written by David S. Miller <davem@davemloft.net>.
// This file is part of gold.
NULL, // attributes_vendor
"_start", // entry_symbol_name
32, // hash_entry_size
+ elfcpp::SHT_PROGBITS, // unwind_section_type
};
template<>
NULL, // attributes_vendor
"_start", // entry_symbol_name
32, // hash_entry_size
+ elfcpp::SHT_PROGBITS, // unwind_section_type
};
// We have to take care here, even when operating in little-endian
reloc.get_r_addend(), is_ifunc);
break;
}
- /* Fall through. */
+ // Fall through.
case elfcpp::R_SPARC_HIX22:
case elfcpp::R_SPARC_LOX10:
// and code transform the GOT load into an addition.
break;
}
+ // Fall through.
case elfcpp::R_SPARC_GOT10:
case elfcpp::R_SPARC_GOT13:
case elfcpp::R_SPARC_GOT22:
gdop_valid = true;
break;
}
+ // Fall through.
case elfcpp::R_SPARC_GOT10:
case elfcpp::R_SPARC_GOT13:
case elfcpp::R_SPARC_GOT22:
Reloc::gdop_lox10(view, got_offset);
break;
}
- /* Fall through. */
+ // Fall through.
case elfcpp::R_SPARC_GOT10:
Reloc::lo10(view, got_offset, addend);
break;
Reloc::gdop_hix22(view, got_offset);
break;
}
- /* Fall through. */
+ // Fall through.
case elfcpp::R_SPARC_GOT22:
Reloc::hi22(view, got_offset, addend);
break;
const bool is_final =
(gsym == NULL
- ? !parameters->options().output_is_position_independent()
+ ? !parameters->options().shared()
: gsym->final_value_is_known());
const tls::Tls_optimization optimized_type
= optimize_tls_reloc(is_final, r_type);
if (op3 != 0x3d)
{
// First check RS1
- reg = (delay_insn >> 14) & 0x15;
+ reg = (delay_insn >> 14) & 0x1f;
if (reg == 15)
return;