diff options
| author | Khem Raj <raj.khem@gmail.com> | 2017-04-21 14:09:47 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-11 22:15:59 +0100 |
| commit | e2ab43fd1d02faf5ced0171d65abb0cf1e32e42f (patch) | |
| tree | ce7a153e88c3c80ec275019b2c716d794792ee9d /meta/recipes-bsp | |
| parent | 911146122c03738c3ad7862c4c9a097d3a9cd24e (diff) | |
| download | poky-e2ab43fd1d02faf5ced0171d65abb0cf1e32e42f.tar.gz | |
grub: Fix build with gcc7
backport patches from upsteam and adapt them to 2.0 codebase
(From OE-Core rev: 347976bf08158d1aa46dfea6f0f9d6dcc0d97395)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-bsp')
5 files changed, 501 insertions, 0 deletions
diff --git a/meta/recipes-bsp/grub/files/0001-btrfs-avoid-used-uninitialized-error-with-GCC7.patch b/meta/recipes-bsp/grub/files/0001-btrfs-avoid-used-uninitialized-error-with-GCC7.patch new file mode 100644 index 0000000000..217a775609 --- /dev/null +++ b/meta/recipes-bsp/grub/files/0001-btrfs-avoid-used-uninitialized-error-with-GCC7.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | From 6cef7f6079550af3bf91dbff824398eaef08c3c5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andrei Borzenkov <arvidjaar@gmail.com> | ||
| 3 | Date: Tue, 4 Apr 2017 19:22:32 +0300 | ||
| 4 | Subject: [PATCH 1/4] btrfs: avoid "used uninitialized" error with GCC7 | ||
| 5 | |||
| 6 | sblock was local and so considered new variable on every loop | ||
| 7 | iteration. | ||
| 8 | |||
| 9 | Closes: 50597 | ||
| 10 | --- | ||
| 11 | Upstream-Status: Backport | ||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | |||
| 14 | grub-core/fs/btrfs.c | 2 +- | ||
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c | ||
| 18 | index 9cffa91..4849c1c 100644 | ||
| 19 | --- a/grub-core/fs/btrfs.c | ||
| 20 | +++ b/grub-core/fs/btrfs.c | ||
| 21 | @@ -227,11 +227,11 @@ grub_btrfs_read_logical (struct grub_btrfs_data *data, | ||
| 22 | static grub_err_t | ||
| 23 | read_sblock (grub_disk_t disk, struct grub_btrfs_superblock *sb) | ||
| 24 | { | ||
| 25 | + struct grub_btrfs_superblock sblock; | ||
| 26 | unsigned i; | ||
| 27 | grub_err_t err = GRUB_ERR_NONE; | ||
| 28 | for (i = 0; i < ARRAY_SIZE (superblock_sectors); i++) | ||
| 29 | { | ||
| 30 | - struct grub_btrfs_superblock sblock; | ||
| 31 | /* Don't try additional superblocks beyond device size. */ | ||
| 32 | if (i && (grub_le_to_cpu64 (sblock.this_device.size) | ||
| 33 | >> GRUB_DISK_SECTOR_BITS) <= superblock_sectors[i]) | ||
| 34 | -- | ||
| 35 | 1.9.1 | ||
| 36 | |||
diff --git a/meta/recipes-bsp/grub/files/0002-i386-x86_64-ppc-fix-switch-fallthrough-cases-with-GC.patch b/meta/recipes-bsp/grub/files/0002-i386-x86_64-ppc-fix-switch-fallthrough-cases-with-GC.patch new file mode 100644 index 0000000000..94f048c28b --- /dev/null +++ b/meta/recipes-bsp/grub/files/0002-i386-x86_64-ppc-fix-switch-fallthrough-cases-with-GC.patch | |||
| @@ -0,0 +1,248 @@ | |||
| 1 | From 4bd4a88725604471fdbd86316c91967a7f4dba5a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andrei Borzenkov <arvidjaar@gmail.com> | ||
| 3 | Date: Tue, 4 Apr 2017 19:23:55 +0300 | ||
| 4 | Subject: [PATCH 2/4] i386, x86_64, ppc: fix switch fallthrough cases with GCC7 | ||
| 5 | |||
| 6 | In util/getroot and efidisk slightly modify exitsing comment to mostly | ||
| 7 | retain it but still make GCC7 compliant with respect to fall through | ||
| 8 | annotation. | ||
| 9 | |||
| 10 | In grub-core/lib/xzembed/xz_dec_lzma2.c it adds same comments as | ||
| 11 | upstream. | ||
| 12 | |||
| 13 | In grub-core/tests/setjmp_tets.c declare functions as "noreturn" to | ||
| 14 | suppress GCC7 warning. | ||
| 15 | |||
| 16 | In grub-core/gnulib/regexec.c use new __attribute__, because existing | ||
| 17 | annotation is not recognized by GCC7 parser (which requires that comment | ||
| 18 | immediately precedes case statement). | ||
| 19 | |||
| 20 | Otherwise add FALLTHROUGH comment. | ||
| 21 | |||
| 22 | Closes: 50598 | ||
| 23 | --- | ||
| 24 | Upstream-Status: Backport | ||
| 25 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 26 | |||
| 27 | grub-core/commands/hdparm.c | 1 + | ||
| 28 | grub-core/commands/nativedisk.c | 1 + | ||
| 29 | grub-core/disk/cryptodisk.c | 1 + | ||
| 30 | grub-core/disk/efi/efidisk.c | 2 +- | ||
| 31 | grub-core/efiemu/mm.c | 1 + | ||
| 32 | grub-core/gdb/cstub.c | 1 + | ||
| 33 | grub-core/gnulib/regexec.c | 3 +++ | ||
| 34 | grub-core/lib/xzembed/xz_dec_lzma2.c | 4 ++++ | ||
| 35 | grub-core/lib/xzembed/xz_dec_stream.c | 6 ++++++ | ||
| 36 | grub-core/loader/i386/linux.c | 3 +++ | ||
| 37 | grub-core/tests/setjmp_test.c | 5 ++++- | ||
| 38 | grub-core/video/ieee1275.c | 1 + | ||
| 39 | grub-core/video/readers/jpeg.c | 1 + | ||
| 40 | util/getroot.c | 2 +- | ||
| 41 | util/grub-install.c | 1 + | ||
| 42 | util/grub-mkimagexx.c | 1 + | ||
| 43 | util/grub-mount.c | 1 + | ||
| 44 | 17 files changed, 32 insertions(+), 3 deletions(-) | ||
| 45 | |||
| 46 | Index: grub-2.00/grub-core/commands/hdparm.c | ||
| 47 | =================================================================== | ||
| 48 | --- grub-2.00.orig/grub-core/commands/hdparm.c | ||
| 49 | +++ grub-2.00/grub-core/commands/hdparm.c | ||
| 50 | @@ -328,6 +328,7 @@ grub_cmd_hdparm (grub_extcmd_context_t c | ||
| 51 | ata = ((struct grub_scsi *) disk->data)->data; | ||
| 52 | break; | ||
| 53 | } | ||
| 54 | + /* FALLTHROUGH */ | ||
| 55 | default: | ||
| 56 | return grub_error (GRUB_ERR_IO, "not an ATA device"); | ||
| 57 | } | ||
| 58 | Index: grub-2.00/grub-core/disk/cryptodisk.c | ||
| 59 | =================================================================== | ||
| 60 | --- grub-2.00.orig/grub-core/disk/cryptodisk.c | ||
| 61 | +++ grub-2.00/grub-core/disk/cryptodisk.c | ||
| 62 | @@ -268,6 +268,7 @@ grub_cryptodisk_endecrypt (struct grub_c | ||
| 63 | break; | ||
| 64 | case GRUB_CRYPTODISK_MODE_IV_PLAIN64: | ||
| 65 | iv[1] = grub_cpu_to_le32 (sector >> 32); | ||
| 66 | + /* FALLTHROUGH */ | ||
| 67 | case GRUB_CRYPTODISK_MODE_IV_PLAIN: | ||
| 68 | iv[0] = grub_cpu_to_le32 (sector & 0xFFFFFFFF); | ||
| 69 | break; | ||
| 70 | Index: grub-2.00/grub-core/disk/efi/efidisk.c | ||
| 71 | =================================================================== | ||
| 72 | --- grub-2.00.orig/grub-core/disk/efi/efidisk.c | ||
| 73 | +++ grub-2.00/grub-core/disk/efi/efidisk.c | ||
| 74 | @@ -262,7 +262,7 @@ name_devices (struct grub_efidisk_data * | ||
| 75 | { | ||
| 76 | case GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE: | ||
| 77 | is_hard_drive = 1; | ||
| 78 | - /* Fall through by intention. */ | ||
| 79 | + /* Intentionally fall through. */ | ||
| 80 | case GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE: | ||
| 81 | { | ||
| 82 | struct grub_efidisk_data *parent, *parent2; | ||
| 83 | Index: grub-2.00/grub-core/efiemu/mm.c | ||
| 84 | =================================================================== | ||
| 85 | --- grub-2.00.orig/grub-core/efiemu/mm.c | ||
| 86 | +++ grub-2.00/grub-core/efiemu/mm.c | ||
| 87 | @@ -410,6 +410,7 @@ grub_efiemu_mmap_fill (void) | ||
| 88 | default: | ||
| 89 | grub_dprintf ("efiemu", | ||
| 90 | "Unknown memory type %d. Assuming unusable\n", type); | ||
| 91 | + /* FALLTHROUGH */ | ||
| 92 | case GRUB_MEMORY_RESERVED: | ||
| 93 | return grub_efiemu_add_to_mmap (addr, size, | ||
| 94 | GRUB_EFI_UNUSABLE_MEMORY); | ||
| 95 | Index: grub-2.00/grub-core/gdb/cstub.c | ||
| 96 | =================================================================== | ||
| 97 | --- grub-2.00.orig/grub-core/gdb/cstub.c | ||
| 98 | +++ grub-2.00/grub-core/gdb/cstub.c | ||
| 99 | @@ -336,6 +336,7 @@ grub_gdb_trap (int trap_no) | ||
| 100 | /* sAA..AA: Step one instruction from AA..AA(optional). */ | ||
| 101 | case 's': | ||
| 102 | stepping = 1; | ||
| 103 | + /* FALLTHROUGH */ | ||
| 104 | |||
| 105 | /* cAA..AA: Continue at address AA..AA(optional). */ | ||
| 106 | case 'c': | ||
| 107 | Index: grub-2.00/grub-core/gnulib/regexec.c | ||
| 108 | =================================================================== | ||
| 109 | --- grub-2.00.orig/grub-core/gnulib/regexec.c | ||
| 110 | +++ grub-2.00/grub-core/gnulib/regexec.c | ||
| 111 | @@ -4104,6 +4104,9 @@ check_node_accept (const re_match_contex | ||
| 112 | case OP_UTF8_PERIOD: | ||
| 113 | if (ch >= ASCII_CHARS) | ||
| 114 | return false; | ||
| 115 | +#if defined __GNUC__ && __GNUC__ >= 7 | ||
| 116 | + __attribute__ ((fallthrough)); | ||
| 117 | +#endif | ||
| 118 | /* FALLTHROUGH */ | ||
| 119 | #endif | ||
| 120 | case OP_PERIOD: | ||
| 121 | Index: grub-2.00/grub-core/lib/xzembed/xz_dec_lzma2.c | ||
| 122 | =================================================================== | ||
| 123 | --- grub-2.00.orig/grub-core/lib/xzembed/xz_dec_lzma2.c | ||
| 124 | +++ grub-2.00/grub-core/lib/xzembed/xz_dec_lzma2.c | ||
| 125 | @@ -1042,6 +1042,8 @@ enum xz_ret xz_dec_lzma2_run( | ||
| 126 | |||
| 127 | s->lzma2.sequence = SEQ_LZMA_PREPARE; | ||
| 128 | |||
| 129 | + /* Fall through */ | ||
| 130 | + | ||
| 131 | case SEQ_LZMA_PREPARE: | ||
| 132 | if (s->lzma2.compressed < RC_INIT_BYTES) | ||
| 133 | return XZ_DATA_ERROR; | ||
| 134 | @@ -1052,6 +1054,8 @@ enum xz_ret xz_dec_lzma2_run( | ||
| 135 | s->lzma2.compressed -= RC_INIT_BYTES; | ||
| 136 | s->lzma2.sequence = SEQ_LZMA_RUN; | ||
| 137 | |||
| 138 | + /* Fall through */ | ||
| 139 | + | ||
| 140 | case SEQ_LZMA_RUN: | ||
| 141 | /* | ||
| 142 | * Set dictionary limit to indicate how much we want | ||
| 143 | Index: grub-2.00/grub-core/lib/xzembed/xz_dec_stream.c | ||
| 144 | =================================================================== | ||
| 145 | --- grub-2.00.orig/grub-core/lib/xzembed/xz_dec_stream.c | ||
| 146 | +++ grub-2.00/grub-core/lib/xzembed/xz_dec_stream.c | ||
| 147 | @@ -749,6 +749,7 @@ static enum xz_ret dec_main(struct xz_de | ||
| 148 | |||
| 149 | s->sequence = SEQ_BLOCK_START; | ||
| 150 | |||
| 151 | + /* FALLTHROUGH */ | ||
| 152 | case SEQ_BLOCK_START: | ||
| 153 | /* We need one byte of input to continue. */ | ||
| 154 | if (b->in_pos == b->in_size) | ||
| 155 | @@ -772,6 +773,7 @@ static enum xz_ret dec_main(struct xz_de | ||
| 156 | s->temp.pos = 0; | ||
| 157 | s->sequence = SEQ_BLOCK_HEADER; | ||
| 158 | |||
| 159 | + /* FALLTHROUGH */ | ||
| 160 | case SEQ_BLOCK_HEADER: | ||
| 161 | if (!fill_temp(s, b)) | ||
| 162 | return XZ_OK; | ||
| 163 | @@ -782,6 +784,7 @@ static enum xz_ret dec_main(struct xz_de | ||
| 164 | |||
| 165 | s->sequence = SEQ_BLOCK_UNCOMPRESS; | ||
| 166 | |||
| 167 | + /* FALLTHROUGH */ | ||
| 168 | case SEQ_BLOCK_UNCOMPRESS: | ||
| 169 | ret = dec_block(s, b); | ||
| 170 | if (ret != XZ_STREAM_END) | ||
| 171 | @@ -809,6 +812,7 @@ static enum xz_ret dec_main(struct xz_de | ||
| 172 | |||
| 173 | s->sequence = SEQ_BLOCK_CHECK; | ||
| 174 | |||
| 175 | + /* FALLTHROUGH */ | ||
| 176 | case SEQ_BLOCK_CHECK: | ||
| 177 | ret = hash_validate(s, b, 0); | ||
| 178 | if (ret != XZ_STREAM_END) | ||
| 179 | @@ -863,6 +867,7 @@ static enum xz_ret dec_main(struct xz_de | ||
| 180 | |||
| 181 | s->sequence = SEQ_INDEX_CRC32; | ||
| 182 | |||
| 183 | + /* FALLTHROUGH */ | ||
| 184 | case SEQ_INDEX_CRC32: | ||
| 185 | ret = hash_validate(s, b, 1); | ||
| 186 | if (ret != XZ_STREAM_END) | ||
| 187 | @@ -871,6 +876,7 @@ static enum xz_ret dec_main(struct xz_de | ||
| 188 | s->temp.size = STREAM_HEADER_SIZE; | ||
| 189 | s->sequence = SEQ_STREAM_FOOTER; | ||
| 190 | |||
| 191 | + /* FALLTHROUGH */ | ||
| 192 | case SEQ_STREAM_FOOTER: | ||
| 193 | if (!fill_temp(s, b)) | ||
| 194 | return XZ_OK; | ||
| 195 | Index: grub-2.00/grub-core/loader/i386/linux.c | ||
| 196 | =================================================================== | ||
| 197 | --- grub-2.00.orig/grub-core/loader/i386/linux.c | ||
| 198 | +++ grub-2.00/grub-core/loader/i386/linux.c | ||
| 199 | @@ -977,10 +977,13 @@ grub_cmd_linux (grub_command_t cmd __att | ||
| 200 | { | ||
| 201 | case 'g': | ||
| 202 | shift += 10; | ||
| 203 | + /* FALLTHROUGH */ | ||
| 204 | case 'm': | ||
| 205 | shift += 10; | ||
| 206 | + /* FALLTHROUGH */ | ||
| 207 | case 'k': | ||
| 208 | shift += 10; | ||
| 209 | + /* FALLTHROUGH */ | ||
| 210 | default: | ||
| 211 | break; | ||
| 212 | } | ||
| 213 | Index: grub-2.00/grub-core/video/readers/jpeg.c | ||
| 214 | =================================================================== | ||
| 215 | --- grub-2.00.orig/grub-core/video/readers/jpeg.c | ||
| 216 | +++ grub-2.00/grub-core/video/readers/jpeg.c | ||
| 217 | @@ -701,6 +701,7 @@ grub_jpeg_decode_jpeg (struct grub_jpeg_ | ||
| 218 | case JPEG_MARKER_SOS: /* Start Of Scan. */ | ||
| 219 | if (grub_jpeg_decode_sos (data)) | ||
| 220 | break; | ||
| 221 | + /* FALLTHROUGH */ | ||
| 222 | case JPEG_MARKER_RST0: /* Restart. */ | ||
| 223 | case JPEG_MARKER_RST1: | ||
| 224 | case JPEG_MARKER_RST2: | ||
| 225 | Index: grub-2.00/util/grub-mkimagexx.c | ||
| 226 | =================================================================== | ||
| 227 | --- grub-2.00.orig/util/grub-mkimagexx.c | ||
| 228 | +++ grub-2.00/util/grub-mkimagexx.c | ||
| 229 | @@ -485,6 +485,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e | ||
| 230 | + sym->st_value | ||
| 231 | - image_target->vaddr_offset)); | ||
| 232 | } | ||
| 233 | + /* FALLTHROUGH */ | ||
| 234 | case R_IA64_LTOFF_FPTR22: | ||
| 235 | *gpptr = grub_host_to_target64 (addend + sym_addr); | ||
| 236 | add_value_to_slot_21 ((grub_addr_t) target, | ||
| 237 | Index: grub-2.00/util/grub-mount.c | ||
| 238 | =================================================================== | ||
| 239 | --- grub-2.00.orig/util/grub-mount.c | ||
| 240 | +++ grub-2.00/util/grub-mount.c | ||
| 241 | @@ -487,6 +487,7 @@ argp_parser (int key, char *arg, struct | ||
| 242 | if (arg[0] != '-') | ||
| 243 | break; | ||
| 244 | |||
| 245 | + /* FALLTHROUGH */ | ||
| 246 | default: | ||
| 247 | if (!arg) | ||
| 248 | return 0; | ||
diff --git a/meta/recipes-bsp/grub/files/0003-Add-gnulib-fix-gcc7-fallthrough.diff.patch b/meta/recipes-bsp/grub/files/0003-Add-gnulib-fix-gcc7-fallthrough.diff.patch new file mode 100644 index 0000000000..fcfbf5cdf6 --- /dev/null +++ b/meta/recipes-bsp/grub/files/0003-Add-gnulib-fix-gcc7-fallthrough.diff.patch | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | From 007f0b407f72314ec832d77e15b83ea40b160037 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andrei Borzenkov <arvidjaar@gmail.com> | ||
| 3 | Date: Tue, 4 Apr 2017 19:37:47 +0300 | ||
| 4 | Subject: [PATCH 3/4] Add gnulib-fix-gcc7-fallthrough.diff | ||
| 5 | |||
| 6 | As long as the code is not upstream, add it as explicit patch for the | ||
| 7 | case of gnulib refresh. | ||
| 8 | --- | ||
| 9 | Upstream-Status: Backport | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | |||
| 12 | grub-core/gnulib-fix-gcc7-fallthrough.diff | 14 ++++++++++++++ | ||
| 13 | 1 file changed, 14 insertions(+) | ||
| 14 | create mode 100644 grub-core/gnulib-fix-gcc7-fallthrough.diff | ||
| 15 | |||
| 16 | diff --git a/grub-core/gnulib-fix-gcc7-fallthrough.diff b/grub-core/gnulib-fix-gcc7-fallthrough.diff | ||
| 17 | new file mode 100644 | ||
| 18 | index 0000000..9802e2d | ||
| 19 | --- /dev/null | ||
| 20 | +++ b/grub-core/gnulib-fix-gcc7-fallthrough.diff | ||
| 21 | @@ -0,0 +1,14 @@ | ||
| 22 | +diff --git grub-core/gnulib/regexec.c grub-core/gnulib/regexec.c | ||
| 23 | +index f632cd4..a7776f0 100644 | ||
| 24 | +--- grub-core/gnulib/regexec.c | ||
| 25 | ++++ grub-core/gnulib/regexec.c | ||
| 26 | +@@ -4099,6 +4099,9 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node, | ||
| 27 | + case OP_UTF8_PERIOD: | ||
| 28 | + if (ch >= ASCII_CHARS) | ||
| 29 | + return false; | ||
| 30 | ++#if defined __GNUC__ && __GNUC__ >= 7 | ||
| 31 | ++ __attribute__ ((fallthrough)); | ||
| 32 | ++#endif | ||
| 33 | + /* FALLTHROUGH */ | ||
| 34 | + #endif | ||
| 35 | + case OP_PERIOD: | ||
| 36 | -- | ||
| 37 | 1.9.1 | ||
| 38 | |||
diff --git a/meta/recipes-bsp/grub/files/0004-Fix-remaining-cases-of-gcc-7-fallthrough-warning.patch b/meta/recipes-bsp/grub/files/0004-Fix-remaining-cases-of-gcc-7-fallthrough-warning.patch new file mode 100644 index 0000000000..78a70a2dab --- /dev/null +++ b/meta/recipes-bsp/grub/files/0004-Fix-remaining-cases-of-gcc-7-fallthrough-warning.patch | |||
| @@ -0,0 +1,175 @@ | |||
| 1 | From d454509bb866d4eaefbb558d94dd0ef0228830eb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Vladimir Serbinenko <phcoder@gmail.com> | ||
| 3 | Date: Wed, 12 Apr 2017 01:42:38 +0000 | ||
| 4 | Subject: [PATCH 4/4] Fix remaining cases of gcc 7 fallthrough warning. | ||
| 5 | |||
| 6 | They are all intended, so just add the relevant comment. | ||
| 7 | --- | ||
| 8 | Upstream-Status: Backport | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | |||
| 11 | grub-core/kern/ia64/dl.c | 1 + | ||
| 12 | grub-core/kern/mips/dl.c | 1 + | ||
| 13 | grub-core/kern/sparc64/dl.c | 1 + | ||
| 14 | grub-core/loader/i386/coreboot/chainloader.c | 1 + | ||
| 15 | 4 files changed, 4 insertions(+) | ||
| 16 | |||
| 17 | Index: grub-2.00/grub-core/kern/ia64/dl.c | ||
| 18 | =================================================================== | ||
| 19 | --- grub-2.00.orig/grub-core/kern/ia64/dl.c | ||
| 20 | +++ grub-2.00/grub-core/kern/ia64/dl.c | ||
| 21 | @@ -257,6 +257,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t | ||
| 22 | case R_IA64_LTOFF22: | ||
| 23 | if (ELF_ST_TYPE (sym->st_info) == STT_FUNC) | ||
| 24 | value = *(grub_uint64_t *) sym->st_value + rel->r_addend; | ||
| 25 | + /* Fallthrough. */ | ||
| 26 | case R_IA64_LTOFF_FPTR22: | ||
| 27 | *gpptr = value; | ||
| 28 | add_value_to_slot_21 (addr, (grub_addr_t) gpptr - (grub_addr_t) gp); | ||
| 29 | Index: grub-2.00/grub-core/disk/diskfilter.c | ||
| 30 | =================================================================== | ||
| 31 | --- grub-2.00.orig/grub-core/disk/diskfilter.c | ||
| 32 | +++ grub-2.00/grub-core/disk/diskfilter.c | ||
| 33 | @@ -71,10 +71,12 @@ is_lv_readable (struct grub_diskfilter_l | ||
| 34 | case GRUB_DISKFILTER_RAID6: | ||
| 35 | if (!easily) | ||
| 36 | need--; | ||
| 37 | + /* Fallthrough. */ | ||
| 38 | case GRUB_DISKFILTER_RAID4: | ||
| 39 | case GRUB_DISKFILTER_RAID5: | ||
| 40 | if (!easily) | ||
| 41 | need--; | ||
| 42 | + /* Fallthrough. */ | ||
| 43 | case GRUB_DISKFILTER_STRIPED: | ||
| 44 | break; | ||
| 45 | |||
| 46 | @@ -507,6 +509,7 @@ read_segment (struct grub_diskfilter_seg | ||
| 47 | if (seg->node_count == 1) | ||
| 48 | return grub_diskfilter_read_node (&seg->nodes[0], | ||
| 49 | sector, size, buf); | ||
| 50 | + /* Fallthrough. */ | ||
| 51 | case GRUB_DISKFILTER_MIRROR: | ||
| 52 | case GRUB_DISKFILTER_RAID10: | ||
| 53 | { | ||
| 54 | Index: grub-2.00/grub-core/font/font.c | ||
| 55 | =================================================================== | ||
| 56 | --- grub-2.00.orig/grub-core/font/font.c | ||
| 57 | +++ grub-2.00/grub-core/font/font.c | ||
| 58 | @@ -1297,6 +1297,7 @@ blit_comb (const struct grub_unicode_gly | ||
| 59 | - grub_font_get_xheight (combining_glyphs[i]->font) - 1; | ||
| 60 | if (space <= 0) | ||
| 61 | space = 1 + (grub_font_get_xheight (main_glyph->font)) / 8; | ||
| 62 | + /* Fallthrough. */ | ||
| 63 | |||
| 64 | case GRUB_UNICODE_STACK_ATTACHED_ABOVE: | ||
| 65 | do_blit (combining_glyphs[i], targetx, | ||
| 66 | @@ -1338,6 +1339,7 @@ blit_comb (const struct grub_unicode_gly | ||
| 67 | + combining_glyphs[i]->height); | ||
| 68 | if (space <= 0) | ||
| 69 | space = 1 + (grub_font_get_xheight (main_glyph->font)) / 8; | ||
| 70 | + /* Fallthrough. */ | ||
| 71 | |||
| 72 | case GRUB_UNICODE_STACK_ATTACHED_BELOW: | ||
| 73 | do_blit (combining_glyphs[i], targetx, -(bounds.y - space)); | ||
| 74 | Index: grub-2.00/grub-core/fs/udf.c | ||
| 75 | =================================================================== | ||
| 76 | --- grub-2.00.orig/grub-core/fs/udf.c | ||
| 77 | +++ grub-2.00/grub-core/fs/udf.c | ||
| 78 | @@ -970,6 +970,7 @@ grub_udf_read_symlink (grub_fshelp_node_ | ||
| 79 | case 1: | ||
| 80 | if (ptr[1]) | ||
| 81 | goto fail; | ||
| 82 | + break; | ||
| 83 | case 2: | ||
| 84 | /* in 4 bytes. out: 1 byte. */ | ||
| 85 | optr = out; | ||
| 86 | Index: grub-2.00/grub-core/lib/legacy_parse.c | ||
| 87 | =================================================================== | ||
| 88 | --- grub-2.00.orig/grub-core/lib/legacy_parse.c | ||
| 89 | +++ grub-2.00/grub-core/lib/legacy_parse.c | ||
| 90 | @@ -626,6 +626,7 @@ grub_legacy_parse (const char *buf, char | ||
| 91 | { | ||
| 92 | case TYPE_FILE_NO_CONSUME: | ||
| 93 | hold_arg = 1; | ||
| 94 | + /* Fallthrough. */ | ||
| 95 | case TYPE_PARTITION: | ||
| 96 | case TYPE_FILE: | ||
| 97 | args[i] = adjust_file (curarg, curarglen); | ||
| 98 | Index: grub-2.00/grub-core/lib/libgcrypt-grub/cipher/rijndael.c | ||
| 99 | =================================================================== | ||
| 100 | --- grub-2.00.orig/grub-core/lib/libgcrypt-grub/cipher/rijndael.c | ||
| 101 | +++ grub-2.00/grub-core/lib/libgcrypt-grub/cipher/rijndael.c | ||
| 102 | @@ -96,7 +96,8 @@ do_setkey (RIJNDAEL_context *ctx, const | ||
| 103 | static int initialized = 0; | ||
| 104 | static const char *selftest_failed=0; | ||
| 105 | int ROUNDS; | ||
| 106 | - int i,j, r, t, rconpointer = 0; | ||
| 107 | + unsigned int i, t, rconpointer = 0; | ||
| 108 | + int j, r; | ||
| 109 | int KC; | ||
| 110 | union | ||
| 111 | { | ||
| 112 | Index: grub-2.00/grub-core/mmap/efi/mmap.c | ||
| 113 | =================================================================== | ||
| 114 | --- grub-2.00.orig/grub-core/mmap/efi/mmap.c | ||
| 115 | +++ grub-2.00/grub-core/mmap/efi/mmap.c | ||
| 116 | @@ -72,6 +72,7 @@ grub_efi_mmap_iterate (grub_memory_hook_ | ||
| 117 | GRUB_MEMORY_AVAILABLE); | ||
| 118 | break; | ||
| 119 | } | ||
| 120 | + /* Fallthrough. */ | ||
| 121 | case GRUB_EFI_RUNTIME_SERVICES_CODE: | ||
| 122 | hook (desc->physical_start, desc->num_pages * 4096, | ||
| 123 | GRUB_MEMORY_CODE); | ||
| 124 | @@ -86,6 +87,7 @@ grub_efi_mmap_iterate (grub_memory_hook_ | ||
| 125 | grub_printf ("Unknown memory type %d, considering reserved\n", | ||
| 126 | desc->type); | ||
| 127 | |||
| 128 | + /* Fallthrough. */ | ||
| 129 | case GRUB_EFI_BOOT_SERVICES_DATA: | ||
| 130 | if (!avoid_efi_boot_services) | ||
| 131 | { | ||
| 132 | @@ -93,6 +95,7 @@ grub_efi_mmap_iterate (grub_memory_hook_ | ||
| 133 | GRUB_MEMORY_AVAILABLE); | ||
| 134 | break; | ||
| 135 | } | ||
| 136 | + /* Fallthrough. */ | ||
| 137 | case GRUB_EFI_RESERVED_MEMORY_TYPE: | ||
| 138 | case GRUB_EFI_RUNTIME_SERVICES_DATA: | ||
| 139 | case GRUB_EFI_MEMORY_MAPPED_IO: | ||
| 140 | Index: grub-2.00/grub-core/normal/charset.c | ||
| 141 | =================================================================== | ||
| 142 | --- grub-2.00.orig/grub-core/normal/charset.c | ||
| 143 | +++ grub-2.00/grub-core/normal/charset.c | ||
| 144 | @@ -858,6 +858,7 @@ grub_bidi_line_logical_to_visual (const | ||
| 145 | case GRUB_BIDI_TYPE_R: | ||
| 146 | case GRUB_BIDI_TYPE_AL: | ||
| 147 | bidi_needed = 1; | ||
| 148 | + /* Fallthrough. */ | ||
| 149 | default: | ||
| 150 | { | ||
| 151 | if (join_state == JOIN_FORCE) | ||
| 152 | Index: grub-2.00/grub-core/video/bochs.c | ||
| 153 | =================================================================== | ||
| 154 | --- grub-2.00.orig/grub-core/video/bochs.c | ||
| 155 | +++ grub-2.00/grub-core/video/bochs.c | ||
| 156 | @@ -351,6 +351,7 @@ grub_video_bochs_setup (unsigned int wid | ||
| 157 | case 32: | ||
| 158 | framebuffer.mode_info.reserved_mask_size = 8; | ||
| 159 | framebuffer.mode_info.reserved_field_pos = 24; | ||
| 160 | + /* Fallthrough. */ | ||
| 161 | |||
| 162 | case 24: | ||
| 163 | framebuffer.mode_info.red_mask_size = 8; | ||
| 164 | Index: grub-2.00/grub-core/video/cirrus.c | ||
| 165 | =================================================================== | ||
| 166 | --- grub-2.00.orig/grub-core/video/cirrus.c | ||
| 167 | +++ grub-2.00/grub-core/video/cirrus.c | ||
| 168 | @@ -431,6 +431,7 @@ grub_video_cirrus_setup (unsigned int wi | ||
| 169 | case 32: | ||
| 170 | framebuffer.mode_info.reserved_mask_size = 8; | ||
| 171 | framebuffer.mode_info.reserved_field_pos = 24; | ||
| 172 | + /* Fallthrough. */ | ||
| 173 | |||
| 174 | case 24: | ||
| 175 | framebuffer.mode_info.red_mask_size = 8; | ||
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc index ef893b327f..a93c99e6c9 100644 --- a/meta/recipes-bsp/grub/grub2.inc +++ b/meta/recipes-bsp/grub/grub2.inc | |||
| @@ -36,6 +36,10 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ | |||
| 36 | file://0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch \ | 36 | file://0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch \ |
| 37 | file://0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch \ | 37 | file://0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch \ |
| 38 | file://0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch \ | 38 | file://0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch \ |
| 39 | file://0001-btrfs-avoid-used-uninitialized-error-with-GCC7.patch \ | ||
| 40 | file://0002-i386-x86_64-ppc-fix-switch-fallthrough-cases-with-GC.patch \ | ||
| 41 | file://0003-Add-gnulib-fix-gcc7-fallthrough.diff.patch \ | ||
| 42 | file://0004-Fix-remaining-cases-of-gcc-7-fallthrough-warning.patch \ | ||
| 39 | " | 43 | " |
| 40 | 44 | ||
| 41 | DEPENDS = "flex-native bison-native autogen-native" | 45 | DEPENDS = "flex-native bison-native autogen-native" |
