Increase warning level.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 10 Feb 2012 15:48:48 +0000 (16:48 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 10 Feb 2012 15:48:48 +0000 (16:48 +0100)
* conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
-Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
* configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
(TARGET_CFLAGS): Likewise.
(HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
* grub-core/Makefile.core.def (decompressor_xz): Add
-Wno-unreachable-code.
(normal): Add -Wno-redundant-decls.
(xzio): Add -Wno-unreachable-code.
(lzopio): Add -Wno-redundant-decls -Wno-error.
* grub-core/commands/acpi.c: Add exception to -Wcast-align.
* grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
* grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
* grub-core/kern/dl.c: Add exception to -Wcast-align.
* grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
* grub-core/kern/i386/coreboot/init.c: Add exception to
-Wsuggest-attribute=noreturn.
* grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
* grub-core/kern/ia64/dl_helper.c: Likewise.
* grub-core/kern/mips/dl.c: Likewise.
* grub-core/kern/sparc64/dl.c: Likewise.
* grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
(memcmp): Likewise.
* grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
* grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
* grub-core/loader/mips/linux.c: Likewise.
* grub-core/loader/multiboot_elfxx.c: Likewise.
* grub-core/script/parser.y: Add exception to -Wunreachable-code.
* grub-core/video/sm712.c: Add exception to -Wcast-align.
* util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
* grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
fixme.
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
* grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
Fix prototype.

27 files changed:
ChangeLog
Makefile.am
conf/Makefile.common
configure.ac
grub-core/Makefile.core.def
grub-core/commands/acpi.c
grub-core/commands/lsacpi.c
grub-core/font/font.c
grub-core/fs/iso9660.c
grub-core/gensymlist.sh
grub-core/kern/dl.c
grub-core/kern/efi/efi.c
grub-core/kern/i386/coreboot/init.c
grub-core/kern/i386/multiboot_mmap.c
grub-core/kern/ia64/dl.c
grub-core/kern/ia64/dl_helper.c
grub-core/kern/mips/dl.c
grub-core/kern/sparc64/dl.c
grub-core/lib/LzmaEnc.c
grub-core/lib/libgcrypt_wrap/cipher_wrap.h
grub-core/lib/pbkdf2.c
grub-core/loader/ia64/efi/linux.c
grub-core/loader/mips/linux.c
grub-core/loader/multiboot_elfxx.c
grub-core/script/parser.y
grub-core/video/sm712.c
util/import_gcry.py

index 5a7e787..e6eb0f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,44 @@
+2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Increase warning level.
+
+       * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
+       -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
+       * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
+       (TARGET_CFLAGS): Likewise.
+       (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
+       * grub-core/Makefile.core.def (decompressor_xz): Add
+       -Wno-unreachable-code.
+       (normal): Add -Wno-redundant-decls.
+       (xzio): Add -Wno-unreachable-code.
+       (lzopio): Add -Wno-redundant-decls -Wno-error.
+       * grub-core/commands/acpi.c: Add exception to -Wcast-align.
+       * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
+       * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
+       * grub-core/kern/dl.c: Add exception to -Wcast-align.
+       * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
+       * grub-core/kern/i386/coreboot/init.c: Add exception to
+       -Wsuggest-attribute=noreturn.
+       * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
+       * grub-core/kern/ia64/dl_helper.c: Likewise.
+       * grub-core/kern/mips/dl.c: Likewise.
+       * grub-core/kern/sparc64/dl.c: Likewise.
+       * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
+       * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
+       (memcmp): Likewise.
+       * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
+       * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
+       * grub-core/loader/mips/linux.c: Likewise.
+       * grub-core/loader/multiboot_elfxx.c: Likewise.
+       * grub-core/script/parser.y: Add exception to -Wunreachable-code.
+       * grub-core/video/sm712.c: Add exception to -Wcast-align.
+       * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
+       * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
+       fixme.
+       * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
+       * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
+       Fix prototype.
+
 2012-02-10  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
index 99b141e..24bf9f8 100644 (file)
@@ -304,7 +304,7 @@ endif
 
 BOOTCHECKS += bootcheck-kfreebsd-aout
 
-BOOTCHECKS += bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64
+#BOOTCHECKS += bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64
 
 BOOTCHECKS += bootcheck-multiboot bootcheck-multiboot2
 
index ed84e76..fd8454e 100644 (file)
@@ -105,7 +105,7 @@ platformdir = $(pkglibrootdir)/$(target_cpu)-$(platform)
 CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers
 CPPFLAGS_GCRY = -I$(top_srcdir)/grub-core/lib/libgcrypt_wrap
 
-CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter
+CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition
 CPPFLAGS_GNULIB = -I$(top_builddir)/grub-core/gnulib -I$(top_srcdir)/grub-core/gnulib
 
 CFLAGS_POSIX = -fno-builtin
index 45a5a40..d1d8ebc 100644 (file)
@@ -373,7 +373,9 @@ LDFLAGS="$TARGET_LDFLAGS"
 LIBS=""
 
 # debug flags.
-TARGET_CFLAGS="$TARGET_CFLAGS -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g"
+WARN_FLAGS="-Wall -W -Wshadow -Wold-style-declaration -Wold-style-definition -Wpointer-arith -Wmissing-prototypes -Wundef -Wextra -Waddress -Warray-bounds -Wattributes -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcoverage-mismatch -Wdeprecated -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline -Wint-to-pointer-cast -Winvalid-pch -Wunsafe-loop-optimizations -Wlogical-op -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmudflap -Wmultichar -Wnonnull -Woverflow -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstack-protector -Wstrict-aliasing -Wstrict-overflow -Wswitch -Wsync-nand -Wtrigraphs  -Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas -Wunreachable-code -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-result -Wunused-value  -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wmissing-declarations -Wmissing-parameter-type  -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes -Wpointer-sign"
+HOST_CFLAGS="$HOST_CFLAGS $WARN_FLAGS"
+TARGET_CFLAGS="$TARGET_CFLAGS $WARN_FLAGS -g -Wredundant-decls"
 TARGET_CCASFLAGS="$TARGET_CCASFLAGS -g"
 
 # Force no alignment to save space on i386.
@@ -592,6 +594,7 @@ AC_ARG_ENABLE([werror],
                              [do not use -Werror when building GRUB])])
 if test x"$enable_werror" != xno ; then
   TARGET_CFLAGS="$TARGET_CFLAGS -Werror"
+  HOST_CFLAGS="$HOST_CFLAGS -Werror"
 fi
 
 TARGET_CPP="$TARGET_CC -E"
index 5905a91..9d3d208 100644 (file)
@@ -348,7 +348,7 @@ image = {
   mips_qemu_mips_ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
   mips_arc_ldflags = '-static-libgcc -Wl,-Ttext,0x8bc00000';
   ldadd = '-lgcc';
-  cflags = '-static-libgcc';
+  cflags = '-Wno-unreachable-code -static-libgcc';
   enable = mips;
 };
 
@@ -1452,7 +1452,7 @@ module = {
   extra_dist = script/yylex.l;
   extra_dist = script/parser.y;
 
-  cflags = '$(CFLAGS_POSIX)';
+  cflags = '$(CFLAGS_POSIX) -Wno-redundant-decls';
   cppflags = '$(CPPFLAGS_POSIX)';
 };
 
@@ -1737,13 +1737,14 @@ module = {
   common = lib/xzembed/xz_dec_lzma2.c;
   common = lib/xzembed/xz_dec_stream.c;
   cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed';
+  cflags='-Wno-unreachable-code';
 };
 
 module = {
   name = lzopio;
   common = io/lzopio.c;
   common = lib/minilzo/minilzo.c;
-  cflags = '$(CFLAGS_POSIX) -Wno-undef';
+  cflags = '$(CFLAGS_POSIX) -Wno-undef -Wno-redundant-decls -Wno-error';
   cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
 };
 
index bb09029..57e7003 100644 (file)
@@ -33,6 +33,8 @@
 #include <grub/efi/api.h>
 #endif
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 GRUB_MOD_LICENSE ("GPLv3+");
 
 static const struct grub_arg_option options[] = {
index f219022..4f1742b 100644 (file)
@@ -25,6 +25,8 @@
 #include <grub/i18n.h>
 #include <grub/dl.h>
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 GRUB_MOD_LICENSE ("GPLv3+");
 
 static void
index 8d74534..e0597ea 100644 (file)
@@ -192,7 +192,8 @@ grub_font_loader_init (void)
 
   /* Initialize the null font.  */
   font_init (&null_font);
-  null_font.name = "<No Font>";
+  /* FIXME: Fix this slightly improper cast.  */
+  null_font.name = (char *) "<No Font>";
   null_font.ascent = unknown_glyph->height - 3;
   null_font.descent = 3;
   null_font.max_char_width = unknown_glyph->width;
index fb5da2a..5e767dc 100644 (file)
@@ -560,10 +560,11 @@ grub_iso9660_iterate_dir (grub_fshelp_node_t dir,
        {
          /* The flags are stored at the data position 0, here the
             filename type is stored.  */
+         /* FIXME: Fix this slightly improper cast.  */
          if (entry->data[0] & GRUB_ISO9660_RR_DOT)
-           filename = ".";
+           filename = (char *) ".";
          else if (entry->data[0] & GRUB_ISO9660_RR_DOTDOT)
-           filename = "..";
+           filename = (char *) "..";
          else if (entry->len >= 5)
            {
              grub_size_t size = 1, csize = 1;
index 5f402ea..a13d7cc 100644 (file)
@@ -41,6 +41,8 @@ cat <<EOF
 
 #define COMPILE_TIME_ASSERT(cond) switch (0) { case 1: case !(cond): ; }
 
+#pragma GCC diagnostic ignored "-Wmissing-format-attribute"
+
 void
 grub_register_exported_symbols (void)
 {
index 6a193ec..aff4c09 100644 (file)
@@ -44,6 +44,8 @@
 
 \f
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 grub_dl_t grub_dl_head = 0;
 
 static grub_err_t
index 9a2c5e6..6600f8b 100644 (file)
@@ -203,6 +203,8 @@ grub_get_rtc (void)
   return grub_rtc_get_time_ms ();
 }
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 /* Search the mods section from the PE32/PE32+ image. This code uses
    a PE32 header, but should work with PE32+ as well.  */
 grub_addr_t
@@ -246,6 +248,8 @@ grub_efi_modules_addr (void)
   return (grub_addr_t) info;
 }
 
+#pragma GCC diagnostic error "-Wcast-align"
+
 char *
 grub_efi_get_filename (grub_efi_device_path_t *dp)
 {
index 95209bb..b96b9c6 100644 (file)
@@ -42,6 +42,8 @@ extern grub_uint8_t _start[];
 extern grub_uint8_t _end[];
 extern grub_uint8_t _edata[];
 
+#pragma GCC diagnostic warning "-Wsuggest-attribute=noreturn"
+
 grub_uint32_t
 grub_get_rtc (void)
 {
index 7f4bc3b..1cb422f 100644 (file)
@@ -34,7 +34,7 @@ static struct multiboot_info kern_multiboot_info;
 static grub_uint8_t mmap_entries[sizeof (struct multiboot_mmap_entry) * 32];
 
 void
-grub_machine_mmap_init ()
+grub_machine_mmap_init (void)
 {
   if (! startup_multiboot_info)
     grub_fatal ("Unable to find Multiboot Information (is CONFIG_MULTIBOOT disabled in coreboot?)");
index b79ad22..39b77ce 100644 (file)
@@ -39,6 +39,8 @@ grub_arch_dl_check_header (void *ehdr)
   return GRUB_ERR_NONE;
 }
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 #define MASK20 ((1 << 20) - 1)
 #define MASK19 ((1 << 19) - 1)
 
index 958cdb2..9394e32 100644 (file)
@@ -23,6 +23,8 @@
 #include <grub/err.h>
 #include <grub/mm.h>
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 void
 grub_ia64_dl_get_tramp_got_size (const void *ehdr, grub_size_t *tramp,
                                 grub_size_t *got)
index 262d9a2..22b23d6 100644 (file)
@@ -49,6 +49,8 @@ grub_arch_dl_check_header (void *ehdr)
   return GRUB_ERR_NONE;
 }
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 /* Relocate symbols.  */
 grub_err_t
 grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr)
index 6ea65d7..a0c1837 100644 (file)
@@ -38,6 +38,7 @@ grub_arch_dl_check_header (void *ehdr)
   return GRUB_ERR_NONE;
 }
 
+#pragma GCC diagnostic ignored "-Wcast-align"
 
 /* Relocate symbols.  */
 grub_err_t
index ed687b8..ae0c3b9 100644 (file)
@@ -923,6 +923,8 @@ static UInt32 Backward(CLzmaEnc *p, UInt32 *backRes, UInt32 cur)
 
 #define LIT_PROBS(pos, prevByte) (p->litProbs + ((((pos) & p->lpMask) << p->lc) + ((prevByte) >> (8 - p->lc))) * 0x300)
 
+#pragma GCC diagnostic ignored "-Wshadow"
+
 static UInt32 GetOptimum(CLzmaEnc *p, UInt32 position, UInt32 *backRes)
 {
   UInt32 numAvailableBytes, lenMain, numDistancePairs;
index 5a64c57..8285305 100644 (file)
@@ -88,6 +88,7 @@ fips_mode (void)
 }
 
 #ifdef GRUB_UTIL
+#pragma GCC diagnostic ignored "-Wshadow"
 static inline void *
 memcpy (void *dest, const void *src, grub_size_t n)
 {
@@ -105,6 +106,7 @@ memcmp (const void *s1, const void *s2, grub_size_t n)
 {
   return grub_memcmp (s1, s2, n);
 }
+#pragma GCC diagnostic error "-Wshadow"
 #endif
 
 
index 09b8c73..beac3c3 100644 (file)
@@ -31,6 +31,8 @@ GRUB_MOD_LICENSE ("GPLv2+");
    desired derived output length DKLEN.  Output buffer is DK which
    must have room for at least DKLEN octets.  The output buffer will
    be filled with the derived data.  */
+#pragma GCC diagnostic ignored "-Wunreachable-code"
+
 gcry_err_code_t
 grub_crypto_pbkdf2 (const struct gcry_md_spec *md,
                    const grub_uint8_t *P, grub_size_t Plen,
index 42b460b..e4ba6a2 100644 (file)
@@ -35,6 +35,8 @@
 
 GRUB_MOD_LICENSE ("GPLv3+");
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 #define ALIGN_MIN (256*1024*1024)
 
 #define GRUB_ELF_SEARCH 1024
index 66850e2..a988808 100644 (file)
@@ -31,6 +31,8 @@
 
 GRUB_MOD_LICENSE ("GPLv3+");
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 /* For frequencies.  */
 #include <grub/machine/time.h>
 
index 36c80ea..3803bf3 100644 (file)
@@ -39,6 +39,8 @@
 #define CONCAT(a,b)    CONCAT_(a, b)
 #define CONCAT_(a,b)   a ## b
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 /* Check if BUFFER contains ELF32 (or ELF64).  */
 static int
 CONCAT(grub_multiboot_is_elf, XX) (void *buffer)
index c2b099d..0c2d886 100644 (file)
@@ -29,6 +29,8 @@
 #define YYENABLE_NLS    0
 
 #include "grub_script.tab.h"
+
+#pragma GCC diagnostic ignored "-Wunreachable-code"
 %}
 
 %union {
index 60f2c90..bc38b2e 100644 (file)
@@ -30,6 +30,8 @@
 
 #include "sm712_init.c"
 
+#pragma GCC diagnostic ignored "-Wcast-align"
+
 #define GRUB_SM712_TOTAL_MEMORY_SPACE  0x700400
 #define GRUB_SM712_REG_BASE 0x700000
 #define GRUB_SM712_PCIID 0x0712126f
index b7bf7ca..097789a 100644 (file)
@@ -323,7 +323,11 @@ for cipher_file in cipher_files:
             for src in modfiles.split():
                 conf.write ("  common = %s;\n" % src)
                 confutil.write ("  common = grub-core/%s;\n" % src)
-            conf.write ("  cflags = '$(CFLAGS_GCRY)';\n");
+            if modname == "gcry_rijndael" or modname == "gcry_md4" or modname == "gcry_md5" or modname == "gcry_rmd160" or modname == "gcry_sha1" or modname == "gcry_sha256" or modname == "gcry_sha512" or modname == "gcry_tiger":
+                # Alignment checked by hand
+                conf.write ("  cflags = '$(CFLAGS_GCRY) -Wno-cast-align';\n");
+            else:
+                conf.write ("  cflags = '$(CFLAGS_GCRY)';\n");
             conf.write ("  cppflags = '$(CPPFLAGS_GCRY)';\n");
             conf.write ("};\n\n")
         elif isc and cipher_file != "camellia.c":