This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Adding -Wshadow to binutils builds


Hi Guys,

  Last week I ran across a nasty bug in the MN10300 port due to one
  local variable shadowing another.  As I was fixing it I realised
  that the problem would have been found a lot earlier if we had
  -Wshadow specified on the gcc command line when building the
  binutils.  So I have spent the rest of the week adding this switch
  and then fixing up all of the new warning messages that arise.  The
  result is the attached patch (warning: large) which I plan to apply
  later on today.

  I tested the patch with the following toolchains:  (If anybody knows
  of any targets that I did not try, and which are not just simple
  variants of the targets listed, then please let me know).

  alpha-linuxecoff 	 alpha-linux-gnu 	alpha-unknown-freebsd4.7 
  alpha-unknown-osf4.0   am33_2.0-linux-gnu 	arc-elf 
  arm-aout 	         arm-epoc-pe 	        arm-netbsdelf 
  arm-none-eabi 	 arm-nto 	        arm-symbianelf 
  arm-vxworks 	         arm-wince-pe 	        avr-elf 
  bfin-elf 	         cr16-elf 	        crx-elf 
  cris-elf 	         crisv32-elf 	        d10v-elf 
  d30v-elf 	         dlx-elf 	        fr30-elf 
  frv-elf 	         h8300-elf 	        h8300-rtems 
  hppa-linux-gnu 	 hppa64-linux 	        i370-linux 
  i386-coff 	         i386-lynxos 	        i386-netware 
  i386-rdos 	         i586-aout 	        i686-pc-beos 
  i686-pc-cygwin 	 i686-pc-elf 	        i686-pc-linux-gnu 
  i686-pc-linux-gnu-gold i686-pc-mingw32 	i860-stardent-elf 
  ia64-x-freebsd5 	 ia64-linux 	        ip2k-elf 
  iq2000-elf             lm32-elf 	        lm32-rtems4.10 
  m32c-elf 	         m32r-elf 	        m68hc11-elf 
  m68k-elf 	         m68k-rtems 	        m68k-uclinux 
  mcore-elf 	         mcore-pe 	        mep-elf 
  mingw32-pe 	         mips-ecoff 	        mips-elf 
  mips-sgi-irix6 	 mipsel-linux-gnu 	mipsisa32el-linux 
  mips64-linux 	         mips64vrel-elf 	mmix-mmixware 
  mn10200-elf 	         mn10300-elf 	        msp430-elf 
  mt-elf 	         ns32k-netbsd 	        openrisc-elf 
  or32-elf 	         pdp11-dec-aout 	pj-elf 
  powerpc-eabisim 	 powerpc-ibm-aix5.2.0 	powerpc-nto 
  powerpc-wrs-vxworks 	 powerpc64-linux 	ppc-lynxos 
  rs6000-aix4.3.3 	 s390-linux 	        s390x-ibm-tpf 
  score-elf 	         sh64-superh-linux-gnu 	sh-elf 
  sh-linux 	         sh-nto 	        sh-symbianelf 
  shl-unknown-netbsdelf  sparc64-linux-gnu 	sparc64-netbsd 
  sparc-linux-gnu        spu-elf                stt-common 
  tic30-unknown-aout 	 tic4x-coff 	        tic54x-coff 
  tx39-elf 	         v850-elf 	        vax-netbsdelf 
  x86_64-linux           x86_64-mingw32 	x86_64-solaris2 
  xc16x-elf 	         xscale-elf 	        xstormy16-elf 
  xtensa-elf 	         z8k-coff               all-64
  
Cheers
  Nick
  
bfd/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* warning.m4 (GCC_WARN_CFLAGS): Add -Wshadow.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* aout-arm.c: Fix shadowed variable warnings.
	* aout-tic30.c: Likewise.
	* aoutx.h: Likewise.
	* archive.c: Likewise.
	* coff-alpha.c: Likewise.
	* coff-i386.c: Likewise.
	* coff-x86_64.c: Likewise.
	* coffgen.c: Likewise.
	* dwarf2.c: Likewise.
	* ecoff.c: Likewise.
	* elf-eh-frame.c: Likewise.
	* elf-m10300.c: Likewise.
	* elf.c: Likewise.
	* elf32-arm.c: Likewise.
	* elf32-avr.c: Likewise.
	* elf32-bfin.c: Likewise.
	* elf32-cr16.c: Likewise.
	* elf32-i386.c: Likewise.
	* elf32-ip2k.c: Likewise.
	* elf32-lm32.c: Likewise.
	* elf32-m68hc1x.c: Likewise.
	* elf32-microblaze.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-rx.c: Likewise.
	* elf32-score.c: Likewise.
	* elf32-score7.c: Likewise.
	* elf32-sh.c: Likewise.
	* elf32-spu.c: Likewise.
	* elf32-v850.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-x86-64.c: Likewise.
	* elflink.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* elfxx-mips.c: Likewise.
	* elfxx-sparc.c: Likewise.
	* hash.c: Likewise.
	* ieee.c: Likewise.
	* libbfd.c: Likewise.
	* mach-o.c: Likewise.
	* merge.c: Likewise.
	* nlm32-sparc.c: Likewise.
	* oasys.c: Likewise.
	* opncls.c: Likewise.
	* pdp11.c: Likewise.
	* peXXigen.c: Likewise.
	* pef.c: Likewise.
	* versados.c: Likewise.
	* vms-gsd.c: Likewise.
	* vms-hdr.c: Likewise.
	* vms-tir.c: Likewise.
	* vms.c: Likewise.
	* xcofflink.c: Likewise.
	* xsym.c: Likewise.
	* xtensa-isa.c: Likewise.

binutils/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* ar.c: Fix shadowed variable warnings.
	* bucomm.c: Likewise.
	* coffgrok.c: Likewise.
	* configure: Likewise.
	* dlltool.c: Likewise.
	* dllwrap.c: Likewise.
	* dwarf.c: Likewise.
	* ieee.c: Likewise.
	* nlmconv.c: Likewise.
	* nm.c: Likewise.
	* objcopy.c: Likewise.
	* objdump.c: Likewise.
	* prdbg.c: Likewise.
	* readelf.c: Likewise.
	* resbin.c: Likewise.
	* resrc.c: Likewise.
	* resres.c: Likewise.
	* srconv.c: Likewise.
	* stabs.c: Likewise.
	* sysdump.c: Likewise.
	* sysinfo.y: Likewise.
	* wrstabs.c: Likewise.

cgen/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* cpu/fr30.opc: Fix shadowed variable warnings.

cpu/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* frv.opc: Fix shadowed variable warnings.
	* m32c.opc: Fix shadowed variable warnings.

elfcpp/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* elfcpp_file.h: Fix shadowed variable warnings.

gas/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* configure: Regenerate.
	* dw2gencfi.c: Fix shadowed variable warnings.
	* dwarf2dbg.c: Likewise.
	* expr.c: Likewise.
	* hash.c: Likewise.
	* listing.c: Likewise.
	* macro.c: Likewise.
	* read.c: Likewise.
	* stabs.c: Likewise.
	* symbols.c: Likewise.
	* write.c: Likewise.
	* config/bfin-parse.y: Likewise.
	* config/obj-coff.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-bfin.c: Likewise.
	* config/tc-cr16.c: Likewise.
	* config/tc-crx.c: Likewise.
	* config/tc-d10v.c: Likewise.
	* config/tc-d30v.c: Likewise.
	* config/tc-frv.c: Likewise.
	* config/tc-i370.c: Likewise.
	* config/tc-i386-intel.c: Likewise.
	* config/tc-i386.c: Likewise.
	* config/tc-ia64.c: Likewise.
	* config/tc-m32r.c: Likewise.
	* config/tc-m68hc11.c: Likewise.
	* config/tc-mips.c: Likewise.
	* config/tc-mn10200.c: Likewise.
	* config/tc-mn10300.c: Likewise.
	* config/tc-ns32k.c: Likewise.
	* config/tc-ppc.c: Likewise.
	* config/tc-score.c: Likewise.
	* config/tc-score7.c: Likewise.
	* config/tc-sh.c: Likewise.
	* config/tc-sh64.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-tic30.c: Likewise.
	* config/tc-tic4x.c: Likewise.
	* config/tc-tic54x.c: Likewise.
	* config/tc-xtensa.c: Likewise.
	* config/tc-z8k.c: Likewise.

gold/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* archive.cc: Fix shadowed variable warnings.
	* arm.cc: Likewise.
	* compressed_output.cc: Likewise.
	* compressed_output.h: Likewise.
	* configure: Likewise.
	* dwarf_reader.cc: Likewise.
	* dynobj.cc: Likewise.
	* dynobj.h: Likewise.
	* ehframe.cc: Likewise.
	* ehframe.h: Likewise.
	* errors.cc: Likewise.
	* expression.cc: Likewise.
	* fileread.cc: Likewise.
	* fileread.h: Likewise.
	* freebsd.h: Likewise.
	* i386.cc: Likewise.
	* icf.cc: Likewise.
	* incremental.h: Likewise.
	* layout.cc: Likewise.
	* layout.h: Likewise.
	* mapfile.cc: Likewise.
	* merge.cc: Likewise.
	* merge.h: Likewise.
	* object.cc: Likewise.
	* object.h: Likewise.
	* options.h: Likewise.
	* output.cc: Likewise.
	* output.h: Likewise.
	* parameters.cc: Likewise.
	* plugin.cc: Likewise.
	* powerpc.cc: Likewise.
	* reduced_debug_output.cc: Likewise.
	* reduced_debug_output.h: Likewise.
	* reloc.cc: Likewise.
	* reloc.h: Likewise.
	* resolve.cc: Likewise.
	* script-sections.cc: Likewise.
	* script.cc: Likewise.
	* script.h: Likewise.
	* sparc.cc: Likewise.
	* symtab.cc: Likewise.
	* symtab.h: Likewise.
	* target-select.cc: Likewise.
	* target-select.h: Likewise.
	* token.h: Likewise.
	* workqueue.cc: Likewise.
	* workqueue.h: Likewise.
	* x86_64.cc: Likewise.

gprof/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* Makefile.in: Regenerate.
	* cg_arcs.c: Fix shadowed variable warnings.
	* cg_dfn.c: Likewise.
	* cg_print.c: Likewise.
	* configure: Likewise.
	* hist.c: Likewise.

ld/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* deffilep.y: Fix shadowed variable warnings.
	* ldlang.c: Likewise.
	* ldmain.c: Likewise.
	* pe-dll.c: Likewise.
	* emultempl/elf32.em: Likewise.

opcodes/ChangeLog
2009-12-11  Nick Clifton  <nickc@redhat.com>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* arm-dis.c: Fix shadowed variable warnings.
	* cgen-opc.c: Likewise.
	* cr16-dis.c: Likewise.
	* crx-dis.c: Likewise.
	* d30v-dis.c: Likewise.
	* fr30-dis.c: Likewise.
	* frv-opc.c: Likewise.
	* h8500-dis.c: Likewise.
	* i386-dis.c: Likewise.
	* i960-dis.c: Likewise.
	* ia64-gen.c: Likewise.
	* ia64-opc.c: Likewise.
	* m32c-asm.c: Likewise.
	* m32c-dis.c: Likewise.
	* m68k-dis.c: Likewise.
	* maxq-dis.c: Likewise.
	* mcore-dis.c: Likewise.
	* mep-asm.c: Likewise.
	* microblaze-dis.c: Likewise.
	* mmix-dis.c: Likewise.
	* ns32k-dis.c: Likewise.
	* or32-opc.c: Likewise.
	* s390-dis.c: Likewise.
	* sh64-dis.c: Likewise.
	* spu-dis.c: Likewise.
	* tic30-dis.c: Likewise.

Attachment: wshadow.patch.lzma
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]