From: Maciej W. Rozycki Date: Mon, 31 Oct 2016 16:14:35 +0000 (+0000) Subject: BFD: Fix double BFD_FAIL calls in `bfd_default_reloc_type_lookup' X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=af955fe696088e69b436947b4a6f134567d31793;p=binutils-gdb.git BFD: Fix double BFD_FAIL calls in `bfd_default_reloc_type_lookup' Break out of the outer switch statement once the inner switch for the BFD_RELOC_CTOR relocation has been processed, preventing double BFD_FAIL calls from being made, once from the inner switch and then again from the default case of the outer switch. Noticed with a `-Wimplicit-fallthrough' build error reported by a recent GCC version: In file included from .../bfd/reloc.c:52:0: .../bfd/reloc.c: In function 'bfd_default_reloc_type_lookup': .../bfd/libbfd.h:779:8: error: this statement may fall through [-Werror=implicit-fallthrough=] do { bfd_assert(__FILE__,__LINE__); } while (0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../bfd/reloc.c:7780:4: note: in expansion of macro 'BFD_FAIL' BFD_FAIL (); ^~~~~~~~ .../bfd/reloc.c:7782:5: note: here default: ^~~~~~~ cc1: all warnings being treated as errors make[4]: *** [reloc.lo] Error 1 bfd/ * reloc.c (bfd_default_reloc_type_lookup) : Do not fall through to the default case. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 75ffab57f8a..49d490dcc4c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2016-11-01 Maciej W. Rozycki + + * reloc.c (bfd_default_reloc_type_lookup) : Do + not fall through to the default case. + 2016-11-01 Palmer Dabbelt Andrew Waterman diff --git a/bfd/reloc.c b/bfd/reloc.c index 7c67eebacb0..56cd79b6254 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -7859,6 +7859,7 @@ bfd_default_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code) default: BFD_FAIL (); } + break; default: BFD_FAIL (); }