From: Andrei Borzenkov Date: Tue, 14 Oct 2014 16:12:15 +0000 (+0400) Subject: Use full initializer for initrd_ctx to avoid fatal warnings with older GCC X-Git-Tag: 2.02-beta3~610 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a67e1ac8e92cd0b7521c75a734fcaf2e58523ad;p=thirdparty%2Fgrub.git Use full initializer for initrd_ctx to avoid fatal warnings with older GCC struct ... foo = { 0, } is valid initializer, but older GCC emits warning which is fatal error due to -Werror=missing-field-initializer. So simply use full initializer to avoid these errors. This was fixed probably in GCC 4.7. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750 --- diff --git a/ChangeLog b/ChangeLog index 192e8bca4..190d19d9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2014-10-14 Andrei Borzenkov + + * grub-core/loader/arm/linux.c: Use full initializer for initrd_ctx to + avoid fatal warnings with older gcc (probably before 4.7). + * grub-core/loader/arm64/linux.c: Likewise. + * grub-core/loader/i386/linux.c: Likewise. + * grub-core/loader/i386/pc/linux.c: Likewise. + * grub-core/loader/ia64/efi/linux.c: Likewise. + * grub-core/loader/mips/linux.c: Likewise. + * grub-core/loader/powerpc/ieee1275/linux.c: Likewise. + * grub-core/loader/sparc64/ieee1275/linux.c: Likewise. + 2014-09-25 Colin Watson Fix in-tree --platform=none diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c index 62cbe75d3..5b39f02bb 100644 --- a/grub-core/loader/arm/linux.c +++ b/grub-core/loader/arm/linux.c @@ -396,7 +396,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), { grub_file_t file; grub_size_t size = 0; - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; if (argc == 0) return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c index 0dc144e5d..564a75a80 100644 --- a/grub-core/loader/arm64/linux.c +++ b/grub-core/loader/arm64/linux.c @@ -328,7 +328,7 @@ static grub_err_t grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), int argc, char *argv[]) { - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; int initrd_size, initrd_pages; void *initrd_mem = NULL; diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c index 0bd060a52..291f7289f 100644 --- a/grub-core/loader/i386/linux.c +++ b/grub-core/loader/i386/linux.c @@ -1050,7 +1050,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_addr_t addr_min, addr_max; grub_addr_t addr; grub_err_t err; - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; if (argc == 0) { diff --git a/grub-core/loader/i386/pc/linux.c b/grub-core/loader/i386/pc/linux.c index e88341e3c..870992b7d 100644 --- a/grub-core/loader/i386/pc/linux.c +++ b/grub-core/loader/i386/pc/linux.c @@ -388,7 +388,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_uint8_t *initrd_chunk; grub_addr_t initrd_addr; grub_err_t err; - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; if (argc == 0) { diff --git a/grub-core/loader/ia64/efi/linux.c b/grub-core/loader/ia64/efi/linux.c index eb78e6e62..efaa42ccd 100644 --- a/grub-core/loader/ia64/efi/linux.c +++ b/grub-core/loader/ia64/efi/linux.c @@ -568,7 +568,7 @@ static grub_err_t grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), int argc, char *argv[]) { - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; if (argc == 0) { diff --git a/grub-core/loader/mips/linux.c b/grub-core/loader/mips/linux.c index 4a3e8c5df..5f383be3d 100644 --- a/grub-core/loader/mips/linux.c +++ b/grub-core/loader/mips/linux.c @@ -415,7 +415,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), void *initrd_src; grub_addr_t initrd_dest; grub_err_t err; - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; if (argc == 0) return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); diff --git a/grub-core/loader/powerpc/ieee1275/linux.c b/grub-core/loader/powerpc/ieee1275/linux.c index 787d7dc2a..6e814649f 100644 --- a/grub-core/loader/powerpc/ieee1275/linux.c +++ b/grub-core/loader/powerpc/ieee1275/linux.c @@ -333,7 +333,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_size_t size = 0; grub_addr_t first_addr; grub_addr_t addr; - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; if (argc == 0) { diff --git a/grub-core/loader/sparc64/ieee1275/linux.c b/grub-core/loader/sparc64/ieee1275/linux.c index c5e8dfab2..6389170e6 100644 --- a/grub-core/loader/sparc64/ieee1275/linux.c +++ b/grub-core/loader/sparc64/ieee1275/linux.c @@ -373,7 +373,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_addr_t paddr; grub_addr_t addr; int ret; - struct grub_linux_initrd_context initrd_ctx = { 0, }; + struct grub_linux_initrd_context initrd_ctx = { 0, 0, 0 }; if (argc == 0) {