template<int size, bool big_endian>
unsigned char*
-Verdef::write(const Stringpool* dynpool, bool is_last, unsigned char* pb) const
+Verdef::write(const Stringpool* dynpool, bool is_last, unsigned char* pb
+ ACCEPT_SIZE_ENDIAN) const
{
const int verdef_size = elfcpp::Elf_sizes<size>::verdef_size;
const int verdaux_size = elfcpp::Elf_sizes<size>::verdaux_size;
template<int size, bool big_endian>
unsigned char*
Verneed::write(const Stringpool* dynpool, bool is_last,
- unsigned char* pb) const
+ unsigned char* pb ACCEPT_SIZE_ENDIAN) const
{
const int verneed_size = elfcpp::Elf_sizes<size>::verneed_size;
const int vernaux_size = elfcpp::Elf_sizes<size>::vernaux_size;
// Create a version symbol if necessary.
if (!(*p)->is_symbol_created())
{
- Symbol* vsym =symtab->define_as_constant(target, (*p)->name(),
- (*p)->name(), 0, 0,
- elfcpp::STT_OBJECT,
- elfcpp::STB_GLOBAL,
- elfcpp::STV_DEFAULT, 0,
- false);
+ Symbol* vsym = symtab->define_as_constant(target, (*p)->name(),
+ (*p)->name(), 0, 0,
+ elfcpp::STT_OBJECT,
+ elfcpp::STB_GLOBAL,
+ elfcpp::STV_DEFAULT, 0,
+ false);
vsym->set_needs_dynsym_entry();
++dynsym_index;
syms->push_back(vsym);
const char* version = dynpool->find(sym->version(), &version_key);
gold_assert(version != NULL);
- Version_table::const_iterator p;
+ Key k;
if (!sym->is_from_dynobj())
- {
- Key k(version_key, 0);
- p = this->version_table_.find(k);
- }
+ k = Key(version_key, 0);
else
{
Object* object = sym->object();
const char* filename = dynpool->find(dynobj->soname(), &filename_key);
gold_assert(filename != NULL);
- Key k(version_key, filename_key);
- p = this->version_table_.find(k);
+ k = Key(version_key, filename_key);
}
+ Version_table::const_iterator p = this->version_table_.find(k);
gold_assert(p != this->version_table_.end());
return p->second->index();
unsigned int local_symcount,
const std::vector<Symbol*>& syms,
unsigned char** pp,
- unsigned int* psize) const
+ unsigned int* psize
+ ACCEPT_SIZE_ENDIAN) const
{
gold_assert(this->is_finalized_);
void
Versions::def_section_contents(const Stringpool* dynpool,
unsigned char** pp, unsigned int* psize,
- unsigned int* pentries) const
+ unsigned int* pentries
+ ACCEPT_SIZE_ENDIAN) const
{
gold_assert(this->is_finalized_);
gold_assert(!this->defs_.empty());
for (p = this->defs_.begin(), i = 0;
p != this->defs_.end();
++p, ++i)
- pb = (*p)->write<size, big_endian>(dynpool,
- i + 1 >= this->defs_.size(),
- pb);
+ pb = (*p)->write SELECT_SIZE_ENDIAN_NAME(size, big_endian)(
+ dynpool, i + 1 >= this->defs_.size(), pb
+ SELECT_SIZE_ENDIAN(size, big_endian));
gold_assert(static_cast<unsigned int>(pb - pbuf) == sz);
void
Versions::need_section_contents(const Stringpool* dynpool,
unsigned char** pp, unsigned int *psize,
- unsigned int *pentries) const
+ unsigned int *pentries
+ ACCEPT_SIZE_ENDIAN) const
{
gold_assert(this->is_finalized_);
gold_assert(!this->needs_.empty());
for (p = this->needs_.begin(), i = 0;
p != this->needs_.end();
++p, ++i)
- pb = (*p)->write<size, big_endian>(dynpool,
- i + 1 >= this->needs_.size(),
- pb);
+ pb = (*p)->write SELECT_SIZE_ENDIAN_NAME(size, big_endian)(
+ dynpool, i + 1 >= this->needs_.size(), pb
+ SELECT_SIZE_ENDIAN(size, big_endian));
gold_assert(static_cast<unsigned int>(pb - pbuf) == sz);
template
void
-Versions::symbol_section_contents<32, false>(const Stringpool*,
- unsigned int,
- const std::vector<Symbol*>&,
- unsigned char**,
- unsigned int*) const;
+Versions::symbol_section_contents<32, false>(
+ const Stringpool*,
+ unsigned int,
+ const std::vector<Symbol*>&,
+ unsigned char**,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(32, false)) const;
template
void
-Versions::symbol_section_contents<32, true>(const Stringpool*,
- unsigned int,
- const std::vector<Symbol*>&,
- unsigned char**,
- unsigned int*) const;
+Versions::symbol_section_contents<32, true>(
+ const Stringpool*,
+ unsigned int,
+ const std::vector<Symbol*>&,
+ unsigned char**,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(32, true)) const;
template
void
-Versions::symbol_section_contents<64, false>(const Stringpool*,
- unsigned int,
- const std::vector<Symbol*>&,
- unsigned char**,
- unsigned int*) const;
+Versions::symbol_section_contents<64, false>(
+ const Stringpool*,
+ unsigned int,
+ const std::vector<Symbol*>&,
+ unsigned char**,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(64, false)) const;
template
void
-Versions::symbol_section_contents<64, true>(const Stringpool*,
- unsigned int,
- const std::vector<Symbol*>&,
- unsigned char**,
- unsigned int*) const;
+Versions::symbol_section_contents<64, true>(
+ const Stringpool*,
+ unsigned int,
+ const std::vector<Symbol*>&,
+ unsigned char**,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(64, true)) const;
template
void
-Versions::def_section_contents<32, false>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::def_section_contents<32, false>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(32, false)) const;
template
void
-Versions::def_section_contents<32, true>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::def_section_contents<32, true>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(32, true)) const;
template
void
-Versions::def_section_contents<64, false>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::def_section_contents<64, false>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(64, false)) const;
template
void
-Versions::def_section_contents<64, true>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::def_section_contents<64, true>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(64, true)) const;
template
void
-Versions::need_section_contents<32, false>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::need_section_contents<32, false>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(32, false)) const;
template
void
-Versions::need_section_contents<32, true>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::need_section_contents<32, true>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(32, true)) const;
template
void
-Versions::need_section_contents<64, false>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::need_section_contents<64, false>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(64, false)) const;
template
void
-Versions::need_section_contents<64, true>(const Stringpool*,
- unsigned char**,
- unsigned int*,
- unsigned int*) const;
+Versions::need_section_contents<64, true>(
+ const Stringpool*,
+ unsigned char**,
+ unsigned int*,
+ unsigned int*
+ ACCEPT_SIZE_ENDIAN_EXPLICIT(64, true)) const;
} // End namespace gold.