diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-12-19 13:30:39 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-12-19 13:37:04 -0800 |
commit | 97aac4ec3293dc4a3fdb45a744a2991ae56514c2 (patch) | |
tree | 5d001c56054449c969d72d4c7dc770fd5cd2c14e /gold | |
parent | 60108e47b5b16b32a62eb32c5e6f929ab2cb5cf1 (diff) | |
download | gdb-97aac4ec3293dc4a3fdb45a744a2991ae56514c2.zip gdb-97aac4ec3293dc4a3fdb45a744a2991ae56514c2.tar.gz gdb-97aac4ec3293dc4a3fdb45a744a2991ae56514c2.tar.bz2 |
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.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 8 | ||||
-rw-r--r-- | gold/incremental.cc | 4 | ||||
-rw-r--r-- | gold/plugin.cc | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 77b1f88..9614a87 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -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> * dwp.cc (class Dwo_file): Use new Ehdr::get_ei_osabi and diff --git a/gold/incremental.cc b/gold/incremental.cc index 1f2ae5b..525c92c 100644 --- a/gold/incremental.cc +++ b/gold/incremental.cc @@ -2129,7 +2129,6 @@ Sized_relobj_incr<size, big_endian>::do_add_symbols( { const int sym_size = elfcpp::Elf_sizes<size>::sym_size; unsigned char symbuf[sym_size]; - elfcpp::Sym<size, big_endian> sym(symbuf); elfcpp::Sym_write<size, big_endian> osym(symbuf); 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_shndx(shndx); + elfcpp::Sym<size, big_endian> sym(symbuf); Symbol* res = symtab->add_from_incrobj(this, name, NULL, &sym); 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; unsigned char symbuf[sym_size]; - elfcpp::Sym<size, big_endian> sym(symbuf); elfcpp::Sym_write<size, big_endian> osym(symbuf); 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_shndx(shndx); + elfcpp::Sym<size, big_endian> sym(symbuf); Sized_symbol<size>* res = symtab->add_from_incrobj<size, big_endian>(this, name, NULL, &sym); this->symbols_[i] = res; diff --git a/gold/plugin.cc b/gold/plugin.cc index fd37957..5f5da5d 100644 --- a/gold/plugin.cc +++ b/gold/plugin.cc @@ -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; unsigned char symbuf[sym_size]; - elfcpp::Sym<size, big_endian> sym(symbuf); elfcpp::Sym_write<size, big_endian> osym(symbuf); 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_shndx(shndx); + elfcpp::Sym<size, big_endian> sym(symbuf); this->symbols_[i] = symtab->add_from_pluginobj<size, big_endian>(this, name, ver, &sym); } |