glink_(NULL), rela_dyn_(NULL), copy_relocs_(),
tlsld_got_offset_(-1U),
stub_tables_(), branch_lookup_table_(), branch_info_(), tocsave_loc_(),
- powerxx_stubs_(false), plt_thread_safe_(false), plt_localentry0_(false),
+ power10_stubs_(false), plt_thread_safe_(false), plt_localentry0_(false),
plt_localentry0_init_(false), has_localentry0_(false),
has_tls_get_addr_opt_(false),
relax_failed_(false), relax_fail_count_(0),
}
bool
- powerxx_stubs() const
- { return this->powerxx_stubs_; }
+ power10_stubs() const
+ { return this->power10_stubs_; }
void
- set_powerxx_stubs()
+ set_power10_stubs()
{
- this->powerxx_stubs_ = true;
+ this->power10_stubs_ = true;
}
bool
Branches branch_info_;
Tocsave_loc tocsave_loc_;
- bool powerxx_stubs_;
+ bool power10_stubs_;
bool plt_thread_safe_;
bool plt_localentry0_;
bool plt_localentry0_init_;
if (r_type == elfcpp::R_PPC64_REL24_NOTOC)
{
if (!p.second && !p.first->second.notoc_
- && !this->targ_->powerxx_stubs())
+ && !this->targ_->power10_stubs())
this->need_resize_ = true;
p.first->second.notoc_ = 1;
}
if (r_type == elfcpp::R_PPC64_REL24_NOTOC)
{
if (!p.second && !p.first->second.notoc_
- && !this->targ_->powerxx_stubs())
+ && !this->targ_->power10_stubs())
this->need_resize_ = true;
p.first->second.notoc_ = 1;
}
&& cs->second.r2save_
&& !cs->second.localentry0_)
|| (cs->second.notoc_
- && !this->targ_->powerxx_stubs()))
+ && !this->targ_->power10_stubs()))
calls.push_back(cs);
if (calls.size() > 1)
std::stable_sort(calls.begin(), calls.end(),
typedef typename Branch_stub_entries::const_iterator branch_iter;
std::vector<branch_iter> branches;
if (!this->long_branch_stubs_.empty()
- && !this->targ_->powerxx_stubs())
+ && !this->targ_->power10_stubs())
for (branch_iter bs = this->long_branch_stubs_.begin();
bs != this->long_branch_stubs_.end();
++bs)
template<bool big_endian>
static unsigned char*
-build_powerxx_offset(unsigned char* p, uint64_t off, uint64_t odd, bool load)
+build_power10_offset(unsigned char* p, uint64_t off, uint64_t odd, bool load)
{
uint64_t insn;
if (off - odd + (1ULL << 33) < 1ULL << 34)
if (p->second.r2save_)
bytes += 4;
- if (this->targ_->powerxx_stubs())
+ if (this->targ_->power10_stubs())
{
uint64_t from = this->stub_address() + p->second.off_ + bytes;
if (bytes > 8 * 4)
uint64_t off = p->first.dest_ - loc;
if (p->second.notoc_)
{
- if (this->targ_->powerxx_stubs())
+ if (this->targ_->power10_stubs())
{
Address odd = loc & 4;
if (off + (1 << 25) < 2 << 25)
if (off + (1 << 25) < 2 << 25)
return 4;
- if (!this->targ_->powerxx_stubs())
+ if (!this->targ_->power10_stubs())
*need_lt = true;
return 16;
}
unsigned char* p;
if (size == 64
- && this->targ_->powerxx_stubs())
+ && this->targ_->power10_stubs())
{
if (!this->plt_call_stubs_.empty())
{
Address plt_addr = pltoff + plt->address();
Address from = this->stub_address() + (p - oview);
Address delta = plt_addr - from;
- p = build_powerxx_offset<big_endian>(p, delta, from & 4, true);
+ p = build_power10_offset<big_endian>(p, delta, from & 4, true);
write_insn<big_endian>(p, mtctr_12);
p += 4;
if (!this->build_tls_opt_tail(p, cs))
if (bs->second.notoc_ || delta + (1 << 25) >= 2 << 25)
{
unsigned char* startp = p;
- p = build_powerxx_offset<big_endian>(p, delta, loc & 4, false);
+ p = build_power10_offset<big_endian>(p, delta, loc & 4, false);
delta -= p - startp;
}
if (delta + (1 << 25) < 2 << 25)
case elfcpp::R_PPC64_GOT_TLSLD34:
case elfcpp::R_PPC64_GOT_DTPREL34:
case elfcpp::R_PPC64_GOT_TPREL34:
- target->set_powerxx_stubs();
+ target->set_power10_stubs();
break;
default:
break;
case elfcpp::R_PPC64_GOT_TLSLD34:
case elfcpp::R_PPC64_GOT_DTPREL34:
case elfcpp::R_PPC64_GOT_TPREL34:
- target->set_powerxx_stubs();
+ target->set_power10_stubs();
break;
default:
break;