gold: Move sym declaration just before use
Move sym declaration just before use to avoid -Wmaybe-uninitialized warning from GCC 11. PR gold/27097 * incremental.cc (Sized_relobj_incr::do_add_symbols): Move sym declaration just before use. (Sized_incr_dynobj::do_add_symbols): Likewise. * plugin.cc (Sized_pluginobj::do_add_symbols): Likewise.
This commit is contained in:
parent
60108e47b5
commit
97aac4ec32
@ -1,3 +1,11 @@
|
|||||||
|
2020-12-19 H.J. Lu <hjl.tools@gmail.com>
|
||||||
|
|
||||||
|
PR gold/27097
|
||||||
|
* incremental.cc (Sized_relobj_incr::do_add_symbols): Move sym
|
||||||
|
declaration just before use.
|
||||||
|
(Sized_incr_dynobj::do_add_symbols): Likewise.
|
||||||
|
* plugin.cc (Sized_pluginobj::do_add_symbols): Likewise.
|
||||||
|
|
||||||
2020-12-15 Cary Coutant <ccoutant@gmail.com>
|
2020-12-15 Cary Coutant <ccoutant@gmail.com>
|
||||||
|
|
||||||
* dwp.cc (class Dwo_file): Use new Ehdr::get_ei_osabi and
|
* dwp.cc (class Dwo_file): Use new Ehdr::get_ei_osabi and
|
||||||
|
@ -2129,7 +2129,6 @@ Sized_relobj_incr<size, big_endian>::do_add_symbols(
|
|||||||
{
|
{
|
||||||
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
|
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
|
||||||
unsigned char symbuf[sym_size];
|
unsigned char symbuf[sym_size];
|
||||||
elfcpp::Sym<size, big_endian> sym(symbuf);
|
|
||||||
elfcpp::Sym_write<size, big_endian> osym(symbuf);
|
elfcpp::Sym_write<size, big_endian> osym(symbuf);
|
||||||
|
|
||||||
typedef typename elfcpp::Elf_types<size>::Elf_WXword Elf_size_type;
|
typedef typename elfcpp::Elf_types<size>::Elf_WXword Elf_size_type;
|
||||||
@ -2196,6 +2195,7 @@ Sized_relobj_incr<size, big_endian>::do_add_symbols(
|
|||||||
osym.put_st_other(gsym.get_st_other());
|
osym.put_st_other(gsym.get_st_other());
|
||||||
osym.put_st_shndx(shndx);
|
osym.put_st_shndx(shndx);
|
||||||
|
|
||||||
|
elfcpp::Sym<size, big_endian> sym(symbuf);
|
||||||
Symbol* res = symtab->add_from_incrobj(this, name, NULL, &sym);
|
Symbol* res = symtab->add_from_incrobj(this, name, NULL, &sym);
|
||||||
|
|
||||||
if (shndx != elfcpp::SHN_UNDEF)
|
if (shndx != elfcpp::SHN_UNDEF)
|
||||||
@ -2730,7 +2730,6 @@ Sized_incr_dynobj<size, big_endian>::do_add_symbols(
|
|||||||
{
|
{
|
||||||
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
|
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
|
||||||
unsigned char symbuf[sym_size];
|
unsigned char symbuf[sym_size];
|
||||||
elfcpp::Sym<size, big_endian> sym(symbuf);
|
|
||||||
elfcpp::Sym_write<size, big_endian> osym(symbuf);
|
elfcpp::Sym_write<size, big_endian> osym(symbuf);
|
||||||
|
|
||||||
unsigned int nsyms = this->input_reader_.get_global_symbol_count();
|
unsigned int nsyms = this->input_reader_.get_global_symbol_count();
|
||||||
@ -2795,6 +2794,7 @@ Sized_incr_dynobj<size, big_endian>::do_add_symbols(
|
|||||||
osym.put_st_other(gsym.get_st_other());
|
osym.put_st_other(gsym.get_st_other());
|
||||||
osym.put_st_shndx(shndx);
|
osym.put_st_shndx(shndx);
|
||||||
|
|
||||||
|
elfcpp::Sym<size, big_endian> sym(symbuf);
|
||||||
Sized_symbol<size>* res =
|
Sized_symbol<size>* res =
|
||||||
symtab->add_from_incrobj<size, big_endian>(this, name, NULL, &sym);
|
symtab->add_from_incrobj<size, big_endian>(this, name, NULL, &sym);
|
||||||
this->symbols_[i] = res;
|
this->symbols_[i] = res;
|
||||||
|
@ -1397,7 +1397,6 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
|
|||||||
{
|
{
|
||||||
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
|
const int sym_size = elfcpp::Elf_sizes<size>::sym_size;
|
||||||
unsigned char symbuf[sym_size];
|
unsigned char symbuf[sym_size];
|
||||||
elfcpp::Sym<size, big_endian> sym(symbuf);
|
|
||||||
elfcpp::Sym_write<size, big_endian> osym(symbuf);
|
elfcpp::Sym_write<size, big_endian> osym(symbuf);
|
||||||
|
|
||||||
Plugin_recorder* recorder = parameters->options().plugins()->recorder();
|
Plugin_recorder* recorder = parameters->options().plugins()->recorder();
|
||||||
@ -1480,6 +1479,7 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
|
|||||||
osym.put_st_other(vis, 0);
|
osym.put_st_other(vis, 0);
|
||||||
osym.put_st_shndx(shndx);
|
osym.put_st_shndx(shndx);
|
||||||
|
|
||||||
|
elfcpp::Sym<size, big_endian> sym(symbuf);
|
||||||
this->symbols_[i] =
|
this->symbols_[i] =
|
||||||
symtab->add_from_pluginobj<size, big_endian>(this, name, ver, &sym);
|
symtab->add_from_pluginobj<size, big_endian>(this, name, ver, &sym);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user