[PATCH] Fixes for a small number of compiler warnings
Alan Modra
amodra@gmail.com
Wed Apr 1 02:47:00 GMT 2015
On Tue, Mar 31, 2015 at 09:25:41PM -0400, Hans-Peter Nilsson wrote:
> On Wed, 1 Apr 2015, Alan Modra wrote:
> > On Tue, Mar 31, 2015 at 04:47:10PM +0200, Ed Schouten wrote:
> > > --- a/ld/emultempl/elf32.em
> > > +++ b/ld/emultempl/elf32.em
> > > @@ -1412,7 +1412,7 @@ gld${EMULATION_NAME}_before_allocation (void)
> > > asection *sinterp;
> > > bfd *abfd;
> > > struct elf_link_hash_entry *ehdr_start = NULL;
> > > - struct bfd_link_hash_entry ehdr_start_save = ehdr_start_save;
> > > + struct bfd_link_hash_entry ehdr_start_save = {};
> > >
> > > if (is_elf_hash_table (link_info.hash))
> > > {
> >
> > Committed.
>
> earmelf.c: In function 'gldarmelf_before_allocation':
> earmelf.c:1448:10: error: missing initializer
> [-Werror=missing-field-initializers]earmelf.c:1448:10: error: (near initialization for 'ehdr_start_save.root') [-Werror=missing-field-initializers]
> cc1: all warnings being treated as errors
Let's just remove the init then.
Older compilers that warn wrongly will just need -Wno-error. No way
am I going to init every single field, then have to edit this code
whenever bfd_link_hash_entry changes. Another option, making the
struct static, isn't very nice since it means larger binaries and
worse code.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Don't
init ehdr_start_save.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 2caddbe..ece2fb0 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1412,7 +1412,7 @@ gld${EMULATION_NAME}_before_allocation (void)
asection *sinterp;
bfd *abfd;
struct elf_link_hash_entry *ehdr_start = NULL;
- struct bfd_link_hash_entry ehdr_start_save = {};
+ struct bfd_link_hash_entry ehdr_start_save;
if (is_elf_hash_table (link_info.hash))
{
More information about the Binutils
mailing list