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.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-02-10 16:48:48 +01:00
parent 37bb97fe9a
commit ebcecdf1c3
27 changed files with 99 additions and 11 deletions

View file

@ -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> 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute

View file

@ -304,7 +304,7 @@ endif
BOOTCHECKS += bootcheck-kfreebsd-aout 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 BOOTCHECKS += bootcheck-multiboot bootcheck-multiboot2

View file

@ -105,7 +105,7 @@ platformdir = $(pkglibrootdir)/$(target_cpu)-$(platform)
CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers
CPPFLAGS_GCRY = -I$(top_srcdir)/grub-core/lib/libgcrypt_wrap 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 CPPFLAGS_GNULIB = -I$(top_builddir)/grub-core/gnulib -I$(top_srcdir)/grub-core/gnulib
CFLAGS_POSIX = -fno-builtin CFLAGS_POSIX = -fno-builtin

View file

@ -373,7 +373,9 @@ LDFLAGS="$TARGET_LDFLAGS"
LIBS="" LIBS=""
# debug flags. # 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" TARGET_CCASFLAGS="$TARGET_CCASFLAGS -g"
# Force no alignment to save space on i386. # Force no alignment to save space on i386.
@ -592,6 +594,7 @@ AC_ARG_ENABLE([werror],
[do not use -Werror when building GRUB])]) [do not use -Werror when building GRUB])])
if test x"$enable_werror" != xno ; then if test x"$enable_werror" != xno ; then
TARGET_CFLAGS="$TARGET_CFLAGS -Werror" TARGET_CFLAGS="$TARGET_CFLAGS -Werror"
HOST_CFLAGS="$HOST_CFLAGS -Werror"
fi fi
TARGET_CPP="$TARGET_CC -E" TARGET_CPP="$TARGET_CC -E"

View file

@ -348,7 +348,7 @@ image = {
mips_qemu_mips_ldflags = '-static-libgcc -Wl,-Ttext,0x80100000'; mips_qemu_mips_ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
mips_arc_ldflags = '-static-libgcc -Wl,-Ttext,0x8bc00000'; mips_arc_ldflags = '-static-libgcc -Wl,-Ttext,0x8bc00000';
ldadd = '-lgcc'; ldadd = '-lgcc';
cflags = '-static-libgcc'; cflags = '-Wno-unreachable-code -static-libgcc';
enable = mips; enable = mips;
}; };
@ -1452,7 +1452,7 @@ module = {
extra_dist = script/yylex.l; extra_dist = script/yylex.l;
extra_dist = script/parser.y; extra_dist = script/parser.y;
cflags = '$(CFLAGS_POSIX)'; cflags = '$(CFLAGS_POSIX) -Wno-redundant-decls';
cppflags = '$(CPPFLAGS_POSIX)'; cppflags = '$(CPPFLAGS_POSIX)';
}; };
@ -1737,13 +1737,14 @@ module = {
common = lib/xzembed/xz_dec_lzma2.c; common = lib/xzembed/xz_dec_lzma2.c;
common = lib/xzembed/xz_dec_stream.c; common = lib/xzembed/xz_dec_stream.c;
cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed'; cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed';
cflags='-Wno-unreachable-code';
}; };
module = { module = {
name = lzopio; name = lzopio;
common = io/lzopio.c; common = io/lzopio.c;
common = lib/minilzo/minilzo.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'; cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/minilzo -DMINILZO_HAVE_CONFIG_H';
}; };

View file

@ -33,6 +33,8 @@
#include <grub/efi/api.h> #include <grub/efi/api.h>
#endif #endif
#pragma GCC diagnostic ignored "-Wcast-align"
GRUB_MOD_LICENSE ("GPLv3+"); GRUB_MOD_LICENSE ("GPLv3+");
static const struct grub_arg_option options[] = { static const struct grub_arg_option options[] = {

View file

@ -25,6 +25,8 @@
#include <grub/i18n.h> #include <grub/i18n.h>
#include <grub/dl.h> #include <grub/dl.h>
#pragma GCC diagnostic ignored "-Wcast-align"
GRUB_MOD_LICENSE ("GPLv3+"); GRUB_MOD_LICENSE ("GPLv3+");
static void static void

View file

@ -192,7 +192,8 @@ grub_font_loader_init (void)
/* Initialize the null font. */ /* Initialize the null font. */
font_init (&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.ascent = unknown_glyph->height - 3;
null_font.descent = 3; null_font.descent = 3;
null_font.max_char_width = unknown_glyph->width; null_font.max_char_width = unknown_glyph->width;

View 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 /* The flags are stored at the data position 0, here the
filename type is stored. */ filename type is stored. */
/* FIXME: Fix this slightly improper cast. */
if (entry->data[0] & GRUB_ISO9660_RR_DOT) if (entry->data[0] & GRUB_ISO9660_RR_DOT)
filename = "."; filename = (char *) ".";
else if (entry->data[0] & GRUB_ISO9660_RR_DOTDOT) else if (entry->data[0] & GRUB_ISO9660_RR_DOTDOT)
filename = ".."; filename = (char *) "..";
else if (entry->len >= 5) else if (entry->len >= 5)
{ {
grub_size_t size = 1, csize = 1; grub_size_t size = 1, csize = 1;

View file

@ -41,6 +41,8 @@ cat <<EOF
#define COMPILE_TIME_ASSERT(cond) switch (0) { case 1: case !(cond): ; } #define COMPILE_TIME_ASSERT(cond) switch (0) { case 1: case !(cond): ; }
#pragma GCC diagnostic ignored "-Wmissing-format-attribute"
void void
grub_register_exported_symbols (void) grub_register_exported_symbols (void)
{ {

View file

@ -44,6 +44,8 @@
#pragma GCC diagnostic ignored "-Wcast-align"
grub_dl_t grub_dl_head = 0; grub_dl_t grub_dl_head = 0;
static grub_err_t static grub_err_t

View file

@ -203,6 +203,8 @@ grub_get_rtc (void)
return grub_rtc_get_time_ms (); return grub_rtc_get_time_ms ();
} }
#pragma GCC diagnostic ignored "-Wcast-align"
/* Search the mods section from the PE32/PE32+ image. This code uses /* Search the mods section from the PE32/PE32+ image. This code uses
a PE32 header, but should work with PE32+ as well. */ a PE32 header, but should work with PE32+ as well. */
grub_addr_t grub_addr_t
@ -246,6 +248,8 @@ grub_efi_modules_addr (void)
return (grub_addr_t) info; return (grub_addr_t) info;
} }
#pragma GCC diagnostic error "-Wcast-align"
char * char *
grub_efi_get_filename (grub_efi_device_path_t *dp) grub_efi_get_filename (grub_efi_device_path_t *dp)
{ {

View file

@ -42,6 +42,8 @@ extern grub_uint8_t _start[];
extern grub_uint8_t _end[]; extern grub_uint8_t _end[];
extern grub_uint8_t _edata[]; extern grub_uint8_t _edata[];
#pragma GCC diagnostic warning "-Wsuggest-attribute=noreturn"
grub_uint32_t grub_uint32_t
grub_get_rtc (void) grub_get_rtc (void)
{ {

View file

@ -34,7 +34,7 @@ static struct multiboot_info kern_multiboot_info;
static grub_uint8_t mmap_entries[sizeof (struct multiboot_mmap_entry) * 32]; static grub_uint8_t mmap_entries[sizeof (struct multiboot_mmap_entry) * 32];
void void
grub_machine_mmap_init () grub_machine_mmap_init (void)
{ {
if (! startup_multiboot_info) if (! startup_multiboot_info)
grub_fatal ("Unable to find Multiboot Information (is CONFIG_MULTIBOOT disabled in coreboot?)"); grub_fatal ("Unable to find Multiboot Information (is CONFIG_MULTIBOOT disabled in coreboot?)");

View file

@ -39,6 +39,8 @@ grub_arch_dl_check_header (void *ehdr)
return GRUB_ERR_NONE; return GRUB_ERR_NONE;
} }
#pragma GCC diagnostic ignored "-Wcast-align"
#define MASK20 ((1 << 20) - 1) #define MASK20 ((1 << 20) - 1)
#define MASK19 ((1 << 19) - 1) #define MASK19 ((1 << 19) - 1)

View file

@ -23,6 +23,8 @@
#include <grub/err.h> #include <grub/err.h>
#include <grub/mm.h> #include <grub/mm.h>
#pragma GCC diagnostic ignored "-Wcast-align"
void void
grub_ia64_dl_get_tramp_got_size (const void *ehdr, grub_size_t *tramp, grub_ia64_dl_get_tramp_got_size (const void *ehdr, grub_size_t *tramp,
grub_size_t *got) grub_size_t *got)

View file

@ -49,6 +49,8 @@ grub_arch_dl_check_header (void *ehdr)
return GRUB_ERR_NONE; return GRUB_ERR_NONE;
} }
#pragma GCC diagnostic ignored "-Wcast-align"
/* Relocate symbols. */ /* Relocate symbols. */
grub_err_t grub_err_t
grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr) grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr)

View file

@ -38,6 +38,7 @@ grub_arch_dl_check_header (void *ehdr)
return GRUB_ERR_NONE; return GRUB_ERR_NONE;
} }
#pragma GCC diagnostic ignored "-Wcast-align"
/* Relocate symbols. */ /* Relocate symbols. */
grub_err_t grub_err_t

View 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) #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) static UInt32 GetOptimum(CLzmaEnc *p, UInt32 position, UInt32 *backRes)
{ {
UInt32 numAvailableBytes, lenMain, numDistancePairs; UInt32 numAvailableBytes, lenMain, numDistancePairs;

View file

@ -88,6 +88,7 @@ fips_mode (void)
} }
#ifdef GRUB_UTIL #ifdef GRUB_UTIL
#pragma GCC diagnostic ignored "-Wshadow"
static inline void * static inline void *
memcpy (void *dest, const void *src, grub_size_t n) 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); return grub_memcmp (s1, s2, n);
} }
#pragma GCC diagnostic error "-Wshadow"
#endif #endif

View file

@ -31,6 +31,8 @@ GRUB_MOD_LICENSE ("GPLv2+");
desired derived output length DKLEN. Output buffer is DK which desired derived output length DKLEN. Output buffer is DK which
must have room for at least DKLEN octets. The output buffer will must have room for at least DKLEN octets. The output buffer will
be filled with the derived data. */ be filled with the derived data. */
#pragma GCC diagnostic ignored "-Wunreachable-code"
gcry_err_code_t gcry_err_code_t
grub_crypto_pbkdf2 (const struct gcry_md_spec *md, grub_crypto_pbkdf2 (const struct gcry_md_spec *md,
const grub_uint8_t *P, grub_size_t Plen, const grub_uint8_t *P, grub_size_t Plen,

View file

@ -35,6 +35,8 @@
GRUB_MOD_LICENSE ("GPLv3+"); GRUB_MOD_LICENSE ("GPLv3+");
#pragma GCC diagnostic ignored "-Wcast-align"
#define ALIGN_MIN (256*1024*1024) #define ALIGN_MIN (256*1024*1024)
#define GRUB_ELF_SEARCH 1024 #define GRUB_ELF_SEARCH 1024

View file

@ -31,6 +31,8 @@
GRUB_MOD_LICENSE ("GPLv3+"); GRUB_MOD_LICENSE ("GPLv3+");
#pragma GCC diagnostic ignored "-Wcast-align"
/* For frequencies. */ /* For frequencies. */
#include <grub/machine/time.h> #include <grub/machine/time.h>

View file

@ -39,6 +39,8 @@
#define CONCAT(a,b) CONCAT_(a, b) #define CONCAT(a,b) CONCAT_(a, b)
#define CONCAT_(a,b) a ## b #define CONCAT_(a,b) a ## b
#pragma GCC diagnostic ignored "-Wcast-align"
/* Check if BUFFER contains ELF32 (or ELF64). */ /* Check if BUFFER contains ELF32 (or ELF64). */
static int static int
CONCAT(grub_multiboot_is_elf, XX) (void *buffer) CONCAT(grub_multiboot_is_elf, XX) (void *buffer)

View file

@ -29,6 +29,8 @@
#define YYENABLE_NLS 0 #define YYENABLE_NLS 0
#include "grub_script.tab.h" #include "grub_script.tab.h"
#pragma GCC diagnostic ignored "-Wunreachable-code"
%} %}
%union { %union {

View file

@ -30,6 +30,8 @@
#include "sm712_init.c" #include "sm712_init.c"
#pragma GCC diagnostic ignored "-Wcast-align"
#define GRUB_SM712_TOTAL_MEMORY_SPACE 0x700400 #define GRUB_SM712_TOTAL_MEMORY_SPACE 0x700400
#define GRUB_SM712_REG_BASE 0x700000 #define GRUB_SM712_REG_BASE 0x700000
#define GRUB_SM712_PCIID 0x0712126f #define GRUB_SM712_PCIID 0x0712126f

View file

@ -323,7 +323,11 @@ for cipher_file in cipher_files:
for src in modfiles.split(): for src in modfiles.split():
conf.write (" common = %s;\n" % src) conf.write (" common = %s;\n" % src)
confutil.write (" common = grub-core/%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 (" cppflags = '$(CPPFLAGS_GCRY)';\n");
conf.write ("};\n\n") conf.write ("};\n\n")
elif isc and cipher_file != "camellia.c": elif isc and cipher_file != "camellia.c":