aboutsummaryrefslogtreecommitdiff
path: root/gold/output.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/output.cc')
-rw-r--r--gold/output.cc464
1 files changed, 232 insertions, 232 deletions
diff --git a/gold/output.cc b/gold/output.cc
index 2f9ed23..61c2ba6 100644
--- a/gold/output.cc
+++ b/gold/output.cc
@@ -354,13 +354,13 @@ Output_segment_headers::do_size() const
Output_file_header::Output_file_header(const Target* target,
const Symbol_table* symtab,
const Output_segment_headers* osh,
- const char* aentry)
+ const char* entry)
: target_(target),
symtab_(symtab),
segment_header_(osh),
section_header_(NULL),
shstrtab_(NULL),
- entry_(aentry)
+ entry_(entry)
{
this->set_data_size(this->do_size());
}
@@ -509,11 +509,11 @@ Output_file_header::entry()
&& !parameters->options().shared());
// FIXME: Need to support target specific entry symbol.
- const char* entry_sym = this->entry_;
- if (entry_sym == NULL)
- entry_sym = "_start";
+ const char* entry = this->entry_;
+ if (entry == NULL)
+ entry = "_start";
- Symbol* sym = this->symtab_->lookup(entry_sym);
+ Symbol* sym = this->symtab_->lookup(entry);
typename Sized_symbol<size>::Value_type v;
if (sym != NULL)
@@ -521,7 +521,7 @@ Output_file_header::entry()
Sized_symbol<size>* ssym;
ssym = this->symtab_->get_sized_symbol<size>(sym);
if (!ssym->is_defined() && should_issue_warning)
- gold_warning("entry symbol '%s' exists but is not defined", entry_sym);
+ gold_warning("entry symbol '%s' exists but is not defined", entry);
v = ssym->value();
}
else
@@ -529,11 +529,11 @@ Output_file_header::entry()
// We couldn't find the entry symbol. See if we can parse it as
// a number. This supports, e.g., -e 0x1000.
char* endptr;
- v = strtoull(entry_sym, &endptr, 0);
+ v = strtoull(entry, &endptr, 0);
if (*endptr != '\0')
{
if (should_issue_warning)
- gold_warning("cannot find entry symbol '%s'", entry_sym);
+ gold_warning("cannot find entry symbol '%s'", entry);
v = 0;
}
}
@@ -596,12 +596,12 @@ Output_section_data::do_out_shndx() const
// of the output section.
void
-Output_section_data::set_addralign(uint64_t addr_align)
+Output_section_data::set_addralign(uint64_t addralign)
{
- this->addralign_ = addr_align;
+ this->addralign_ = addralign;
if (this->output_section_ != NULL
- && this->output_section_->addralign() < addr_align)
- this->output_section_->set_addralign(addr_align);
+ && this->output_section_->addralign() < addralign)
+ this->output_section_->set_addralign(addralign);
}
// Output_data_strtab methods.
@@ -633,9 +633,9 @@ Output_reloc<elfcpp::SHT_REL, dynamic, size, big_endian>::Output_reloc(
unsigned int type,
Output_data* od,
Address address,
- bool is_rel)
+ bool is_relative)
: address_(address), local_sym_index_(GSYM_CODE), type_(type),
- is_relative_(is_rel), is_section_symbol_(false), shndx_(INVALID_CODE)
+ is_relative_(is_relative), is_section_symbol_(false), shndx_(INVALID_CODE)
{
// this->type_ is a bitfield; make sure TYPE fits.
gold_assert(this->type_ == type);
@@ -652,9 +652,9 @@ Output_reloc<elfcpp::SHT_REL, dynamic, size, big_endian>::Output_reloc(
Sized_relobj<size, big_endian>* relobj,
unsigned int shndx,
Address address,
- bool is_rel)
+ bool is_relative)
: address_(address), local_sym_index_(GSYM_CODE), type_(type),
- is_relative_(is_rel), is_section_symbol_(false), shndx_(shndx)
+ is_relative_(is_relative), is_section_symbol_(false), shndx_(shndx)
{
gold_assert(shndx != INVALID_CODE);
// this->type_ is a bitfield; make sure TYPE fits.
@@ -674,10 +674,10 @@ Output_reloc<elfcpp::SHT_REL, dynamic, size, big_endian>::Output_reloc(
unsigned int type,
Output_data* od,
Address address,
- bool is_rel,
+ bool is_relative,
bool is_section_symbol)
: address_(address), local_sym_index_(local_sym_index), type_(type),
- is_relative_(is_rel), is_section_symbol_(is_section_symbol),
+ is_relative_(is_relative), is_section_symbol_(is_section_symbol),
shndx_(INVALID_CODE)
{
gold_assert(local_sym_index != GSYM_CODE
@@ -697,10 +697,10 @@ Output_reloc<elfcpp::SHT_REL, dynamic, size, big_endian>::Output_reloc(
unsigned int type,
unsigned int shndx,
Address address,
- bool is_rel,
+ bool is_relative,
bool is_section_symbol)
: address_(address), local_sym_index_(local_sym_index), type_(type),
- is_relative_(is_rel), is_section_symbol_(is_section_symbol),
+ is_relative_(is_relative), is_section_symbol_(is_section_symbol),
shndx_(shndx)
{
gold_assert(local_sym_index != GSYM_CODE
@@ -1222,9 +1222,9 @@ Output_data_got<size, big_endian>::add_global_with_rel(
this->entries_.push_back(Got_entry());
this->set_got_size();
- unsigned int g_offset = this->last_got_offset();
- gsym->set_got_offset(got_type, g_offset);
- rel_dyn->add_global(gsym, r_type, this, g_offset);
+ unsigned int got_offset = this->last_got_offset();
+ gsym->set_got_offset(got_type, got_offset);
+ rel_dyn->add_global(gsym, r_type, this, got_offset);
}
template<int size, bool big_endian>
@@ -1240,9 +1240,9 @@ Output_data_got<size, big_endian>::add_global_with_rela(
this->entries_.push_back(Got_entry());
this->set_got_size();
- unsigned int g_offset = this->last_got_offset();
- gsym->set_got_offset(got_type, g_offset);
- rela_dyn->add_global(gsym, r_type, this, g_offset, 0);
+ unsigned int got_offset = this->last_got_offset();
+ gsym->set_got_offset(got_type, got_offset);
+ rela_dyn->add_global(gsym, r_type, this, got_offset, 0);
}
// Add a pair of entries for a global symbol to the GOT, and add
@@ -1261,15 +1261,15 @@ Output_data_got<size, big_endian>::add_global_pair_with_rel(
return;
this->entries_.push_back(Got_entry());
- unsigned int g_offset = this->last_got_offset();
- gsym->set_got_offset(got_type, g_offset);
- rel_dyn->add_global(gsym, r_type_1, this, g_offset);
+ unsigned int got_offset = this->last_got_offset();
+ gsym->set_got_offset(got_type, got_offset);
+ rel_dyn->add_global(gsym, r_type_1, this, got_offset);
this->entries_.push_back(Got_entry());
if (r_type_2 != 0)
{
- g_offset = this->last_got_offset();
- rel_dyn->add_global(gsym, r_type_2, this, g_offset);
+ got_offset = this->last_got_offset();
+ rel_dyn->add_global(gsym, r_type_2, this, got_offset);
}
this->set_got_size();
@@ -1288,15 +1288,15 @@ Output_data_got<size, big_endian>::add_global_pair_with_rela(
return;
this->entries_.push_back(Got_entry());
- unsigned int g_offset = this->last_got_offset();
- gsym->set_got_offset(got_type, g_offset);
- rela_dyn->add_global(gsym, r_type_1, this, g_offset, 0);
+ unsigned int got_offset = this->last_got_offset();
+ gsym->set_got_offset(got_type, got_offset);
+ rela_dyn->add_global(gsym, r_type_1, this, got_offset, 0);
this->entries_.push_back(Got_entry());
if (r_type_2 != 0)
{
- g_offset = this->last_got_offset();
- rela_dyn->add_global(gsym, r_type_2, this, g_offset, 0);
+ got_offset = this->last_got_offset();
+ rela_dyn->add_global(gsym, r_type_2, this, got_offset, 0);
}
this->set_got_size();
@@ -1338,9 +1338,9 @@ Output_data_got<size, big_endian>::add_local_with_rel(
this->entries_.push_back(Got_entry());
this->set_got_size();
- unsigned int g_offset = this->last_got_offset();
- object->set_local_got_offset(symndx, got_type, g_offset);
- rel_dyn->add_local(object, symndx, r_type, this, g_offset);
+ unsigned int got_offset = this->last_got_offset();
+ object->set_local_got_offset(symndx, got_type, got_offset);
+ rel_dyn->add_local(object, symndx, r_type, this, got_offset);
}
template<int size, bool big_endian>
@@ -1357,9 +1357,9 @@ Output_data_got<size, big_endian>::add_local_with_rela(
this->entries_.push_back(Got_entry());
this->set_got_size();
- unsigned int g_offset = this->last_got_offset();
- object->set_local_got_offset(symndx, got_type, g_offset);
- rela_dyn->add_local(object, symndx, r_type, this, g_offset, 0);
+ unsigned int got_offset = this->last_got_offset();
+ object->set_local_got_offset(symndx, got_type, got_offset);
+ rela_dyn->add_local(object, symndx, r_type, this, got_offset, 0);
}
// Add a pair of entries for a local symbol to the GOT, and add
@@ -1380,16 +1380,16 @@ Output_data_got<size, big_endian>::add_local_pair_with_rel(
return;
this->entries_.push_back(Got_entry());
- unsigned int g_offset = this->last_got_offset();
- object->set_local_got_offset(symndx, got_type, g_offset);
+ unsigned int got_offset = this->last_got_offset();
+ object->set_local_got_offset(symndx, got_type, got_offset);
Output_section* os = object->output_section(shndx);
- rel_dyn->add_output_section(os, r_type_1, this, g_offset);
+ rel_dyn->add_output_section(os, r_type_1, this, got_offset);
this->entries_.push_back(Got_entry(object, symndx));
if (r_type_2 != 0)
{
- g_offset = this->last_got_offset();
- rel_dyn->add_output_section(os, r_type_2, this, g_offset);
+ got_offset = this->last_got_offset();
+ rel_dyn->add_output_section(os, r_type_2, this, got_offset);
}
this->set_got_size();
@@ -1410,16 +1410,16 @@ Output_data_got<size, big_endian>::add_local_pair_with_rela(
return;
this->entries_.push_back(Got_entry());
- unsigned int g_offset = this->last_got_offset();
- object->set_local_got_offset(symndx, got_type, g_offset);
+ unsigned int got_offset = this->last_got_offset();
+ object->set_local_got_offset(symndx, got_type, got_offset);
Output_section* os = object->output_section(shndx);
- rela_dyn->add_output_section(os, r_type_1, this, g_offset, 0);
+ rela_dyn->add_output_section(os, r_type_1, this, got_offset, 0);
this->entries_.push_back(Got_entry(object, symndx));
if (r_type_2 != 0)
{
- g_offset = this->last_got_offset();
- rela_dyn->add_output_section(os, r_type_2, this, g_offset, 0);
+ got_offset = this->last_got_offset();
+ rela_dyn->add_output_section(os, r_type_2, this, got_offset, 0);
}
this->set_got_size();
@@ -1571,9 +1571,9 @@ Output_data_dynamic::sized_write(Output_file* of)
{
const int dyn_size = elfcpp::Elf_sizes<size>::dyn_size;
- const off_t off = this->offset();
+ const off_t offset = this->offset();
const off_t oview_size = this->data_size();
- unsigned char* const oview = of->get_output_view(off, oview_size);
+ unsigned char* const oview = of->get_output_view(offset, oview_size);
unsigned char* pov = oview;
for (typename Dynamic_entries::const_iterator p = this->entries_.begin();
@@ -1586,7 +1586,7 @@ Output_data_dynamic::sized_write(Output_file* of)
gold_assert(pov - oview == oview_size);
- of->write_output_view(off, oview_size, oview);
+ of->write_output_view(offset, oview_size, oview);
// We no longer need the dynamic entries.
this->entries_.clear();
@@ -1597,9 +1597,9 @@ Output_data_dynamic::sized_write(Output_file* of)
void
Output_symtab_xindex::do_write(Output_file* of)
{
- const off_t off = this->offset();
+ const off_t offset = this->offset();
const off_t oview_size = this->data_size();
- unsigned char* const oview = of->get_output_view(off, oview_size);
+ unsigned char* const oview = of->get_output_view(offset, oview_size);
memset(oview, 0, oview_size);
@@ -1608,7 +1608,7 @@ Output_symtab_xindex::do_write(Output_file* of)
else
this->endian_do_write<false>(oview);
- of->write_output_view(off, oview_size, oview);
+ of->write_output_view(offset, oview_size, oview);
// We no longer need the data.
this->entries_.clear();
@@ -1682,17 +1682,17 @@ Output_section::Input_section::finalize_data_size()
inline bool
Output_section::Input_section::output_offset(
const Relobj* object,
- unsigned int sec_shndx,
- section_offset_type off,
+ unsigned int shndx,
+ section_offset_type offset,
section_offset_type *poutput) const
{
if (!this->is_input_section())
- return this->u2_.posd->output_offset(object, sec_shndx, off, poutput);
+ return this->u2_.posd->output_offset(object, shndx, offset, poutput);
else
{
- if (this->shndx_ != sec_shndx || this->u2_.object != object)
+ if (this->shndx_ != shndx || this->u2_.object != object)
return false;
- *poutput = off;
+ *poutput = offset;
return true;
}
}
@@ -1702,11 +1702,11 @@ Output_section::Input_section::output_offset(
inline bool
Output_section::Input_section::is_merge_section_for(const Relobj* object,
- unsigned int sec_shndx) const
+ unsigned int shndx) const
{
if (this->is_input_section())
return false;
- return this->u2_.posd->is_merge_section_for(object, sec_shndx);
+ return this->u2_.posd->is_merge_section_for(object, shndx);
}
// Write out the data. We don't have to do anything for an input
@@ -1761,9 +1761,9 @@ Output_section::Input_section::print_to_mapfile(Mapfile* mapfile) const
// Construct an Output_section. NAME will point into a Stringpool.
-Output_section::Output_section(const char* aname, elfcpp::Elf_Word atype,
- elfcpp::Elf_Xword aflags)
- : name_(aname),
+Output_section::Output_section(const char* name, elfcpp::Elf_Word type,
+ elfcpp::Elf_Xword flags)
+ : name_(name),
addralign_(0),
entsize_(0),
load_address_(0),
@@ -1772,8 +1772,8 @@ Output_section::Output_section(const char* aname, elfcpp::Elf_Word atype,
info_section_(NULL),
info_symndx_(NULL),
info_(0),
- type_(atype),
- flags_(aflags),
+ type_(type),
+ flags_(flags),
out_shndx_(-1U),
symtab_index_(0),
dynsym_index_(0),
@@ -1810,7 +1810,7 @@ Output_section::Output_section(const char* aname, elfcpp::Elf_Word atype,
// An unallocated section has no address. Forcing this means that
// we don't need special treatment for symbols defined in debug
// sections.
- if ((aflags & elfcpp::SHF_ALLOC) == 0)
+ if ((flags & elfcpp::SHF_ALLOC) == 0)
this->set_address(0);
}
@@ -1845,34 +1845,34 @@ Output_section::set_entsize(uint64_t v)
template<int size, bool big_endian>
off_t
Output_section::add_input_section(Sized_relobj<size, big_endian>* object,
- unsigned int sec_shndx,
+ unsigned int shndx,
const char* secname,
const elfcpp::Shdr<size, big_endian>& shdr,
unsigned int reloc_shndx,
bool have_sections_script)
{
- elfcpp::Elf_Xword addr_align = shdr.get_sh_addralign();
- if ((addr_align & (addr_align - 1)) != 0)
+ elfcpp::Elf_Xword addralign = shdr.get_sh_addralign();
+ if ((addralign & (addralign - 1)) != 0)
{
object->error(_("invalid alignment %lu for section \"%s\""),
- static_cast<unsigned long>(addr_align), secname);
- addr_align = 1;
+ static_cast<unsigned long>(addralign), secname);
+ addralign = 1;
}
- if (addr_align > this->addralign_)
- this->addralign_ = addr_align;
+ if (addralign > this->addralign_)
+ this->addralign_ = addralign;
typename elfcpp::Elf_types<size>::Elf_WXword sh_flags = shdr.get_sh_flags();
this->update_flags_for_input_section(sh_flags);
- uint64_t ent_size = shdr.get_sh_entsize();
+ uint64_t entsize = shdr.get_sh_entsize();
// .debug_str is a mergeable string section, but is not always so
// marked by compilers. Mark manually here so we can optimize.
if (strcmp(secname, ".debug_str") == 0)
{
sh_flags |= (elfcpp::SHF_MERGE | elfcpp::SHF_STRINGS);
- ent_size = 1;
+ entsize = 1;
}
// If this is a SHF_MERGE section, we pass all the input sections to
@@ -1883,8 +1883,8 @@ Output_section::add_input_section(Sized_relobj<size, big_endian>* object,
&& reloc_shndx == 0
&& shdr.get_sh_size() > 0)
{
- if (this->add_merge_input_section(object, sec_shndx, sh_flags,
- ent_size, addr_align))
+ if (this->add_merge_input_section(object, shndx, sh_flags,
+ entsize, addralign))
{
// Tell the relocation routines that they need to call the
// output_offset method to determine the final address.
@@ -1894,7 +1894,7 @@ Output_section::add_input_section(Sized_relobj<size, big_endian>* object,
off_t offset_in_section = this->current_data_size_for_child();
off_t aligned_offset_in_section = align_address(offset_in_section,
- addr_align);
+ addralign);
// Determine if we want to delay code-fill generation until the output
// section is written. When the target is relaxing, we want to delay fill
@@ -1942,9 +1942,9 @@ Output_section::add_input_section(Sized_relobj<size, big_endian>* object,
|| this->must_sort_attached_input_sections()
|| parameters->options().user_set_Map()
|| parameters->target().may_relax())
- this->input_sections_.push_back(Input_section(object, sec_shndx,
+ this->input_sections_.push_back(Input_section(object, shndx,
shdr.get_sh_size(),
- addr_align));
+ addralign));
return aligned_offset_in_section;
}
@@ -2002,9 +2002,9 @@ Output_section::add_output_section_data(Input_section* inp)
this->input_sections_.push_back(*inp);
- uint64_t addr_align = inp->addralign();
- if (addr_align > this->addralign_)
- this->addralign_ = addr_align;
+ uint64_t addralign = inp->addralign();
+ if (addralign > this->addralign_)
+ this->addralign_ = addralign;
inp->set_output_section(this);
}
@@ -2013,43 +2013,43 @@ Output_section::add_output_section_data(Input_section* inp)
void
Output_section::add_output_merge_section(Output_section_data* posd,
- bool is_string, uint64_t ent_size)
+ bool is_string, uint64_t entsize)
{
- Input_section inp(posd, is_string, ent_size);
+ Input_section inp(posd, is_string, entsize);
this->add_output_section_data(&inp);
}
// Add an input section to a SHF_MERGE section.
bool
-Output_section::add_merge_input_section(Relobj* object, unsigned int sec_shndx,
- uint64_t aflags, uint64_t ent_size,
- uint64_t addr_align)
+Output_section::add_merge_input_section(Relobj* object, unsigned int shndx,
+ uint64_t flags, uint64_t entsize,
+ uint64_t addralign)
{
- bool is_string = (aflags & elfcpp::SHF_STRINGS) != 0;
+ bool is_string = (flags & elfcpp::SHF_STRINGS) != 0;
// We only merge strings if the alignment is not more than the
// character size. This could be handled, but it's unusual.
- if (is_string && addr_align > ent_size)
+ if (is_string && addralign > entsize)
return false;
// We cannot restore merged input section states.
gold_assert(this->checkpoint_ == NULL);
// Look up merge sections by required properties.
- Merge_section_properties msp(is_string, ent_size, addr_align);
+ Merge_section_properties msp(is_string, entsize, addralign);
Merge_section_by_properties_map::const_iterator p =
this->merge_section_by_properties_map_.find(msp);
if (p != this->merge_section_by_properties_map_.end())
{
Output_merge_base* merge_section = p->second;
- merge_section->add_input_section(object, sec_shndx);
+ merge_section->add_input_section(object, shndx);
gold_assert(merge_section->is_string() == is_string
- && merge_section->entsize() == ent_size
- && merge_section->addralign() == addr_align);
+ && merge_section->entsize() == entsize
+ && merge_section->addralign() == addralign);
// Link input section to found merge section.
- Input_section_specifier iss(object, sec_shndx);
+ Input_section_specifier iss(object, shndx);
this->merge_section_map_[iss] = merge_section;
return true;
}
@@ -2058,19 +2058,19 @@ Output_section::add_merge_input_section(Relobj* object, unsigned int sec_shndx,
// Output_merge_string_data.
Output_merge_base* pomb;
if (!is_string)
- pomb = new Output_merge_data(ent_size, addr_align);
+ pomb = new Output_merge_data(entsize, addralign);
else
{
- switch (ent_size)
+ switch (entsize)
{
case 1:
- pomb = new Output_merge_string<char>(addr_align);
+ pomb = new Output_merge_string<char>(addralign);
break;
case 2:
- pomb = new Output_merge_string<uint16_t>(addr_align);
+ pomb = new Output_merge_string<uint16_t>(addralign);
break;
case 4:
- pomb = new Output_merge_string<uint32_t>(addr_align);
+ pomb = new Output_merge_string<uint32_t>(addralign);
break;
default:
return false;
@@ -2079,30 +2079,30 @@ Output_section::add_merge_input_section(Relobj* object, unsigned int sec_shndx,
// Add new merge section to this output section and link merge section
// properties to new merge section in map.
- this->add_output_merge_section(pomb, is_string, ent_size);
+ this->add_output_merge_section(pomb, is_string, entsize);
this->merge_section_by_properties_map_[msp] = pomb;
// Add input section to new merge section and link input section to new
// merge section in map.
- pomb->add_input_section(object, sec_shndx);
- Input_section_specifier iss(object, sec_shndx);
+ pomb->add_input_section(object, shndx);
+ Input_section_specifier iss(object, shndx);
this->merge_section_map_[iss] = pomb;
return true;
}
// Build a relaxation map to speed up relaxation of existing input sections.
-// Look up to the first LIMIT elements in INPUTSECTIONS.
+// Look up to the first LIMIT elements in INPUT_SECTIONS.
void
Output_section::build_relaxation_map(
- const Input_section_list& inputsections,
+ const Input_section_list& input_sections,
size_t limit,
Relaxation_map* relaxation_map) const
{
for (size_t i = 0; i < limit; ++i)
{
- const Input_section& is(inputsections[i]);
+ const Input_section& is(input_sections[i]);
if (is.is_input_section() || is.is_relaxed_input_section())
{
Input_section_specifier iss(is.relobj(), is.shndx());
@@ -2113,13 +2113,13 @@ Output_section::build_relaxation_map(
// Convert regular input sections in INPUT_SECTIONS into relaxed input
// sections in RELAXED_SECTIONS. MAP is a prebuilt map from input section
-// specifier to indices of INPUTSECTIONS.
+// specifier to indices of INPUT_SECTIONS.
void
Output_section::convert_input_sections_in_list_to_relaxed_sections(
const std::vector<Output_relaxed_input_section*>& relaxed_sections,
const Relaxation_map& map,
- Input_section_list* inputsections)
+ Input_section_list* input_sections)
{
for (size_t i = 0; i < relaxed_sections.size(); ++i)
{
@@ -2127,8 +2127,8 @@ Output_section::convert_input_sections_in_list_to_relaxed_sections(
Input_section_specifier iss(poris->relobj(), poris->shndx());
Relaxation_map::const_iterator p = map.find(iss);
gold_assert(p != map.end());
- gold_assert((*inputsections)[p->second].is_input_section());
- (*inputsections)[p->second] = Input_section(poris);
+ gold_assert((*input_sections)[p->second].is_input_section());
+ (*input_sections)[p->second] = Input_section(poris);
}
}
@@ -2186,35 +2186,35 @@ Output_section::convert_input_sections_to_relaxed_sections(
// Update the output section flags based on input section flags.
void
-Output_section::update_flags_for_input_section(elfcpp::Elf_Xword aflags)
+Output_section::update_flags_for_input_section(elfcpp::Elf_Xword flags)
{
// If we created the section with SHF_ALLOC clear, we set the
// address. If we are now setting the SHF_ALLOC flag, we need to
// undo that.
if ((this->flags_ & elfcpp::SHF_ALLOC) == 0
- && (aflags & elfcpp::SHF_ALLOC) != 0)
+ && (flags & elfcpp::SHF_ALLOC) != 0)
this->mark_address_invalid();
- this->flags_ |= (aflags
+ this->flags_ |= (flags
& (elfcpp::SHF_WRITE
| elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR));
}
-// Find the merge section into which an input section with index SEC_SHNDX in
+// Find the merge section into which an input section with index SHNDX in
// OBJECT has been added. Return NULL if none found.
Output_section_data*
Output_section::find_merge_section(const Relobj* object,
- unsigned int sec_shndx) const
+ unsigned int shndx) const
{
- Input_section_specifier iss(object, sec_shndx);
+ Input_section_specifier iss(object, shndx);
Output_section_data_by_input_section_map::const_iterator p =
this->merge_section_map_.find(iss);
if (p != this->merge_section_map_.end())
{
Output_section_data* posd = p->second;
- gold_assert(posd->is_merge_section_for(object, sec_shndx));
+ gold_assert(posd->is_merge_section_for(object, shndx));
return posd;
}
else
@@ -2222,11 +2222,11 @@ Output_section::find_merge_section(const Relobj* object,
}
// Find an relaxed input section corresponding to an input section
-// in OBJECT with index SEC_SHNDX.
+// in OBJECT with index SHNDX.
const Output_section_data*
Output_section::find_relaxed_input_section(const Relobj* object,
- unsigned int sec_shndx) const
+ unsigned int shndx) const
{
// Be careful that the map may not be valid due to input section export
// to scripts or a check-point restore.
@@ -2246,7 +2246,7 @@ Output_section::find_relaxed_input_section(const Relobj* object,
this->is_relaxed_input_section_map_valid_ = true;
}
- Input_section_specifier iss(object, sec_shndx);
+ Input_section_specifier iss(object, shndx);
Output_section_data_by_input_section_map::const_iterator p =
this->relaxed_input_section_map_.find(iss);
if (p != this->relaxed_input_section_map_.end())
@@ -2255,27 +2255,27 @@ Output_section::find_relaxed_input_section(const Relobj* object,
return NULL;
}
-// Given an address OFF relative to the start of input section
-// SEC_SHNDX in OBJECT, return whether this address is being included in
-// the final link. This should only be called if SEC_SHNDX in OBJECT has
+// Given an address OFFSET relative to the start of input section
+// SHNDX in OBJECT, return whether this address is being included in
+// the final link. This should only be called if SHNDX in OBJECT has
// a special mapping.
bool
Output_section::is_input_address_mapped(const Relobj* object,
- unsigned int sec_shndx,
- off_t off) const
+ unsigned int shndx,
+ off_t offset) const
{
// Look at the Output_section_data_maps first.
- const Output_section_data* posd = this->find_merge_section(object, sec_shndx);
+ const Output_section_data* posd = this->find_merge_section(object, shndx);
if (posd == NULL)
- posd = this->find_relaxed_input_section(object, sec_shndx);
+ posd = this->find_relaxed_input_section(object, shndx);
if (posd != NULL)
{
- section_offset_type outputoffset;
- bool found = posd->output_offset(object, sec_shndx, off, &outputoffset);
+ section_offset_type output_offset;
+ bool found = posd->output_offset(object, shndx, offset, &output_offset);
gold_assert(found);
- return outputoffset != -1;
+ return output_offset != -1;
}
// Fall back to the slow look-up.
@@ -2283,9 +2283,9 @@ Output_section::is_input_address_mapped(const Relobj* object,
p != this->input_sections_.end();
++p)
{
- section_offset_type outputoffset;
- if (p->output_offset(object, sec_shndx, off, &outputoffset))
- return outputoffset != -1;
+ section_offset_type output_offset;
+ if (p->output_offset(object, shndx, offset, &output_offset))
+ return output_offset != -1;
}
// By default we assume that the address is mapped. This should
@@ -2294,29 +2294,29 @@ Output_section::is_input_address_mapped(const Relobj* object,
return true;
}
-// Given an address OFF relative to the start of input section
-// SEC_SHNDX in object OBJECT, return the output offset relative to the
+// Given an address OFFSET relative to the start of input section
+// SHNDX in object OBJECT, return the output offset relative to the
// start of the input section in the output section. This should only
-// be called if SEC_SHNDX in OBJECT has a special mapping.
+// be called if SHNDX in OBJECT has a special mapping.
section_offset_type
-Output_section::output_offset(const Relobj* object, unsigned int sec_shndx,
- section_offset_type off) const
+Output_section::output_offset(const Relobj* object, unsigned int shndx,
+ section_offset_type offset) const
{
// This can only be called meaningfully when we know the data size
// of this.
gold_assert(this->is_data_size_valid());
// Look at the Output_section_data_maps first.
- const Output_section_data* posd = this->find_merge_section(object, sec_shndx);
+ const Output_section_data* posd = this->find_merge_section(object, shndx);
if (posd == NULL)
- posd = this->find_relaxed_input_section(object, sec_shndx);
+ posd = this->find_relaxed_input_section(object, shndx);
if (posd != NULL)
{
- section_offset_type outputoffset;
- bool found = posd->output_offset(object, sec_shndx, off, &outputoffset);
+ section_offset_type output_offset;
+ bool found = posd->output_offset(object, shndx, offset, &output_offset);
gold_assert(found);
- return outputoffset;
+ return output_offset;
}
// Fall back to the slow look-up.
@@ -2324,32 +2324,32 @@ Output_section::output_offset(const Relobj* object, unsigned int sec_shndx,
p != this->input_sections_.end();
++p)
{
- section_offset_type outputoffset;
- if (p->output_offset(object, sec_shndx, off, &outputoffset))
- return outputoffset;
+ section_offset_type output_offset;
+ if (p->output_offset(object, shndx, offset, &output_offset))
+ return output_offset;
}
gold_unreachable();
}
-// Return the output virtual address of OFF relative to the start
-// of input section SEC_SHNDX in object OBJECT.
+// Return the output virtual address of OFFSET relative to the start
+// of input section SHNDX in object OBJECT.
uint64_t
-Output_section::output_address(const Relobj* object, unsigned int sec_shndx,
- off_t off) const
+Output_section::output_address(const Relobj* object, unsigned int shndx,
+ off_t offset) const
{
uint64_t addr = this->address() + this->first_input_offset_;
// Look at the Output_section_data_maps first.
- const Output_section_data* posd = this->find_merge_section(object, sec_shndx);
+ const Output_section_data* posd = this->find_merge_section(object, shndx);
if (posd == NULL)
- posd = this->find_relaxed_input_section(object, sec_shndx);
+ posd = this->find_relaxed_input_section(object, shndx);
if (posd != NULL && posd->is_address_valid())
{
- section_offset_type outputoffset;
- bool found = posd->output_offset(object, sec_shndx, off, &outputoffset);
+ section_offset_type output_offset;
+ bool found = posd->output_offset(object, shndx, offset, &output_offset);
gold_assert(found);
- return posd->address() + outputoffset;
+ return posd->address() + output_offset;
}
// Fall back to the slow look-up.
@@ -2358,12 +2358,12 @@ Output_section::output_address(const Relobj* object, unsigned int sec_shndx,
++p)
{
addr = align_address(addr, p->addralign());
- section_offset_type outputoffset;
- if (p->output_offset(object, sec_shndx, off, &outputoffset))
+ section_offset_type output_offset;
+ if (p->output_offset(object, shndx, offset, &output_offset))
{
- if (outputoffset == -1)
+ if (output_offset == -1)
return -1ULL;
- return addr + outputoffset;
+ return addr + output_offset;
}
addr += p->data_size();
}
@@ -2377,11 +2377,11 @@ Output_section::output_address(const Relobj* object, unsigned int sec_shndx,
}
// Find the output address of the start of the merged section for
-// input section SEC_SHNDX in object OBJECT.
+// input section SHNDX in object OBJECT.
bool
Output_section::find_starting_output_address(const Relobj* object,
- unsigned int sec_shndx,
+ unsigned int shndx,
uint64_t* paddr) const
{
// FIXME: This becomes a bottle-neck if we have many relaxed sections.
@@ -2398,7 +2398,7 @@ Output_section::find_starting_output_address(const Relobj* object,
// method to get the output offset of input offset 0.
// Unfortunately we don't know for sure that input offset 0 is
// mapped at all.
- if (p->is_merge_section_for(object, sec_shndx))
+ if (p->is_merge_section_for(object, shndx))
{
*paddr = addr;
return true;
@@ -2426,7 +2426,7 @@ Output_section::set_final_data_size()
if (this->must_sort_attached_input_sections())
this->sort_attached_input_sections();
- uint64_t addr = this->address();
+ uint64_t address = this->address();
off_t startoff = this->offset();
off_t off = startoff + this->first_input_offset_;
for (Input_section_list::iterator p = this->input_sections_.begin();
@@ -2434,7 +2434,7 @@ Output_section::set_final_data_size()
++p)
{
off = align_address(off, p->addralign());
- p->set_address_and_file_offset(addr + (off - startoff), off,
+ p->set_address_and_file_offset(address + (off - startoff), off,
startoff);
off += p->data_size();
}
@@ -2498,11 +2498,11 @@ class Output_section::Input_section_sort_entry
section_name_()
{ }
- Input_section_sort_entry(const Input_section& inputsection,
- unsigned int indx)
- : input_section_(inputsection), index_(indx),
- section_has_name_(inputsection.is_input_section()
- || inputsection.is_relaxed_input_section())
+ Input_section_sort_entry(const Input_section& input_section,
+ unsigned int index)
+ : input_section_(input_section), index_(index),
+ section_has_name_(input_section.is_input_section()
+ || input_section.is_relaxed_input_section())
{
if (this->section_has_name_)
{
@@ -2510,14 +2510,14 @@ class Output_section::Input_section_sort_entry
// so it is OK to lock. Unfortunately we have no way to pass
// in a Task token.
const Task* dummy_task = reinterpret_cast<const Task*>(-1);
- Object* obj = (inputsection.is_input_section()
- ? inputsection.relobj()
- : inputsection.relaxed_input_section()->relobj());
+ Object* obj = (input_section.is_input_section()
+ ? input_section.relobj()
+ : input_section.relaxed_input_section()->relobj());
Task_lock_obj<Object> tl(dummy_task, obj);
// This is a slow operation, which should be cached in
// Layout::layout if this becomes a speed problem.
- this->section_name_ = obj->section_name(inputsection.shndx());
+ this->section_name_ = obj->section_name(input_section.shndx());
}
}
@@ -2568,12 +2568,12 @@ class Output_section::Input_section_sort_entry
// file name this way is a dreadful hack, but the GNU linker does it
// in order to better support gcc, and we need to be compatible.
bool
- match_file_name(const char* match_filename) const
+ match_file_name(const char* match_file_name) const
{
const std::string& file_name(this->input_section_.relobj()->name());
const char* base_name = lbasename(file_name.c_str());
- size_t match_len = strlen(match_filename);
- if (strncmp(base_name, match_filename, match_len) != 0)
+ size_t match_len = strlen(match_file_name);
+ if (strncmp(base_name, match_file_name, match_len) != 0)
return false;
size_t base_len = strlen(base_name);
if (base_len != match_len + 2 && base_len != match_len + 3)
@@ -2706,10 +2706,10 @@ Output_section::write_header(const Layout* layout,
oshdr->put_sh_name(secnamepool->get_offset(this->name_));
oshdr->put_sh_type(this->type_);
- elfcpp::Elf_Xword xflags = this->flags_;
+ elfcpp::Elf_Xword flags = this->flags_;
if (this->info_section_ != NULL && this->info_uses_section_index_)
- xflags |= elfcpp::SHF_INFO_LINK;
- oshdr->put_sh_flags(xflags);
+ flags |= elfcpp::SHF_INFO_LINK;
+ oshdr->put_sh_flags(flags);
oshdr->put_sh_addr(this->address());
oshdr->put_sh_offset(this->offset());
@@ -2723,19 +2723,19 @@ Output_section::write_header(const Layout* layout,
else
oshdr->put_sh_link(this->link_);
- elfcpp::Elf_Word inf;
+ elfcpp::Elf_Word info;
if (this->info_section_ != NULL)
{
if (this->info_uses_section_index_)
- inf = this->info_section_->out_shndx();
+ info = this->info_section_->out_shndx();
else
- inf = this->info_section_->symtab_index();
+ info = this->info_section_->symtab_index();
}
else if (this->info_symndx_ != NULL)
- inf = this->info_symndx_->symtab_index();
+ info = this->info_symndx_->symtab_index();
else
- inf = this->info_;
- oshdr->put_sh_info(inf);
+ info = this->info_;
+ oshdr->put_sh_info(info);
oshdr->put_sh_addralign(this->addralign_);
oshdr->put_sh_entsize(this->entsize_);
@@ -2862,9 +2862,9 @@ Output_section::write_to_postprocessing_buffer()
uint64_t
Output_section::get_input_sections(
- uint64_t addr,
+ uint64_t address,
const std::string& fill,
- std::list<Simple_input_section>* inputsections)
+ std::list<Simple_input_section>* input_sections)
{
if (this->checkpoint_ != NULL
&& !this->checkpoint_->input_sections_saved())
@@ -2873,9 +2873,9 @@ Output_section::get_input_sections(
// Invalidate the relaxed input section map.
this->is_relaxed_input_section_map_valid_ = false;
- uint64_t orig_address = addr;
+ uint64_t orig_address = address;
- addr = align_address(addr, this->addralign());
+ address = align_address(address, this->addralign());
Input_section_list remaining;
for (Input_section_list::iterator p = this->input_sections_.begin();
@@ -2883,18 +2883,18 @@ Output_section::get_input_sections(
++p)
{
if (p->is_input_section())
- inputsections->push_back(Simple_input_section(p->relobj(),
+ input_sections->push_back(Simple_input_section(p->relobj(),
p->shndx()));
else if (p->is_relaxed_input_section())
- inputsections->push_back(
+ input_sections->push_back(
Simple_input_section(p->relaxed_input_section()));
else
{
- uint64_t aligned_address = align_address(addr, p->addralign());
- if (aligned_address != addr && !fill.empty())
+ uint64_t aligned_address = align_address(address, p->addralign());
+ if (aligned_address != address && !fill.empty())
{
section_size_type length =
- convert_to_section_size_type(aligned_address - addr);
+ convert_to_section_size_type(aligned_address - address);
std::string this_fill;
this_fill.reserve(length);
while (this_fill.length() + fill.length() <= length)
@@ -2905,44 +2905,44 @@ Output_section::get_input_sections(
Output_section_data* posd = new Output_data_const(this_fill, 0);
remaining.push_back(Input_section(posd));
}
- addr = aligned_address;
+ address = aligned_address;
remaining.push_back(*p);
p->finalize_data_size();
- addr += p->data_size();
+ address += p->data_size();
}
}
this->input_sections_.swap(remaining);
this->first_input_offset_ = 0;
- uint64_t datasize = addr - orig_address;
- this->set_current_data_size_for_child(datasize);
- return datasize;
+ uint64_t data_size = address - orig_address;
+ this->set_current_data_size_for_child(data_size);
+ return data_size;
}
// Add an input section from a script.
void
Output_section::add_input_section_for_script(const Simple_input_section& sis,
- off_t datasize,
- uint64_t addr_align)
+ off_t data_size,
+ uint64_t addralign)
{
- if (addr_align > this->addralign_)
- this->addralign_ = addr_align;
+ if (addralign > this->addralign_)
+ this->addralign_ = addralign;
off_t offset_in_section = this->current_data_size_for_child();
off_t aligned_offset_in_section = align_address(offset_in_section,
- addr_align);
+ addralign);
this->set_current_data_size_for_child(aligned_offset_in_section
- + datasize);
+ + data_size);
Input_section is =
(sis.is_relaxed_input_section()
? Input_section(sis.relaxed_input_section())
- : Input_section(sis.relobj(), sis.shndx(), datasize, addr_align));
+ : Input_section(sis.relobj(), sis.shndx(), data_size, addralign));
this->input_sections_.push_back(is);
}
@@ -3022,7 +3022,7 @@ Output_section::print_merge_stats()
// Output segment methods.
-Output_segment::Output_segment(elfcpp::Elf_Word atype, elfcpp::Elf_Word aflags)
+Output_segment::Output_segment(elfcpp::Elf_Word type, elfcpp::Elf_Word flags)
: output_data_(),
output_bss_(),
vaddr_(0),
@@ -3032,8 +3032,8 @@ Output_segment::Output_segment(elfcpp::Elf_Word atype, elfcpp::Elf_Word aflags)
min_p_align_(0),
offset_(0),
filesz_(0),
- type_(atype),
- flags_(aflags),
+ type_(type),
+ flags_(flags),
is_max_align_known_(false),
are_addresses_set_(false),
is_large_data_segment_(false)
@@ -3332,15 +3332,15 @@ Output_segment::maximum_alignment()
{
if (!this->is_max_align_known_)
{
- uint64_t addr_align;
+ uint64_t addralign;
- addr_align = Output_segment::maximum_alignment_list(&this->output_data_);
- if (addr_align > this->max_align_)
- this->max_align_ = addr_align;
+ addralign = Output_segment::maximum_alignment_list(&this->output_data_);
+ if (addralign > this->max_align_)
+ this->max_align_ = addralign;
- addr_align = Output_segment::maximum_alignment_list(&this->output_bss_);
- if (addr_align > this->max_align_)
- this->max_align_ = addr_align;
+ addralign = Output_segment::maximum_alignment_list(&this->output_bss_);
+ if (addralign > this->max_align_)
+ this->max_align_ = addralign;
// If -z relro is in effect, and the first section in this
// segment is a relro section, then the segment must be aligned
@@ -3350,9 +3350,9 @@ Output_segment::maximum_alignment()
&& parameters->options().relro()
&& this->is_first_section_relro())
{
- addr_align = parameters->target().common_pagesize();
- if (addr_align > this->max_align_)
- this->max_align_ = addr_align;
+ addralign = parameters->target().common_pagesize();
+ if (addralign > this->max_align_)
+ this->max_align_ = addralign;
}
this->is_max_align_known_ = true;
@@ -3371,9 +3371,9 @@ Output_segment::maximum_alignment_list(const Output_data_list* pdl)
p != pdl->end();
++p)
{
- uint64_t addr_align = (*p)->addralign();
- if (addr_align > ret)
- ret = addr_align;
+ uint64_t addralign = (*p)->addralign();
+ if (addralign > ret)
+ ret = addralign;
}
return ret;
}
@@ -4138,7 +4138,7 @@ template
off_t
Output_section::add_input_section<32, false>(
Sized_relobj<32, false>* object,
- unsigned int sec_shndx,
+ unsigned int shndx,
const char* secname,
const elfcpp::Shdr<32, false>& shdr,
unsigned int reloc_shndx,
@@ -4150,7 +4150,7 @@ template
off_t
Output_section::add_input_section<32, true>(
Sized_relobj<32, true>* object,
- unsigned int sec_shndx,
+ unsigned int shndx,
const char* secname,
const elfcpp::Shdr<32, true>& shdr,
unsigned int reloc_shndx,
@@ -4162,7 +4162,7 @@ template
off_t
Output_section::add_input_section<64, false>(
Sized_relobj<64, false>* object,
- unsigned int sec_shndx,
+ unsigned int shndx,
const char* secname,
const elfcpp::Shdr<64, false>& shdr,
unsigned int reloc_shndx,
@@ -4174,7 +4174,7 @@ template
off_t
Output_section::add_input_section<64, true>(
Sized_relobj<64, true>* object,
- unsigned int sec_shndx,
+ unsigned int shndx,
const char* secname,
const elfcpp::Shdr<64, true>& shdr,
unsigned int reloc_shndx,