aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp/grub/files/0004-Fix-remaining-cases-of-gcc-7-fallthrough-warning.patch
blob: 78a70a2dab33c0ff3f2b660d80219bd5952c7266 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
From d454509bb866d4eaefbb558d94dd0ef0228830eb Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Wed, 12 Apr 2017 01:42:38 +0000
Subject: [PATCH 4/4] Fix remaining cases of gcc 7 fallthrough warning.

They are all intended, so just add the relevant comment.
---
Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>

 grub-core/kern/ia64/dl.c                     | 1 +
 grub-core/kern/mips/dl.c                     | 1 +
 grub-core/kern/sparc64/dl.c                  | 1 +
 grub-core/loader/i386/coreboot/chainloader.c | 1 +
 4 files changed, 4 insertions(+)

Index: grub-2.00/grub-core/kern/ia64/dl.c
===================================================================
--- grub-2.00.orig/grub-core/kern/ia64/dl.c
+++ grub-2.00/grub-core/kern/ia64/dl.c
@@ -257,6 +257,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t
 		  case R_IA64_LTOFF22:
 		    if (ELF_ST_TYPE (sym->st_info) == STT_FUNC)
 		      value = *(grub_uint64_t *) sym->st_value + rel->r_addend;
+		  /* Fallthrough.  */
 		  case R_IA64_LTOFF_FPTR22:
 		    *gpptr = value;
 		    add_value_to_slot_21 (addr, (grub_addr_t) gpptr - (grub_addr_t) gp);
Index: grub-2.00/grub-core/disk/diskfilter.c
===================================================================
--- grub-2.00.orig/grub-core/disk/diskfilter.c
+++ grub-2.00/grub-core/disk/diskfilter.c
@@ -71,10 +71,12 @@ is_lv_readable (struct grub_diskfilter_l
 	case GRUB_DISKFILTER_RAID6:
 	  if (!easily)
 	    need--;
+	  /* Fallthrough.  */
 	case GRUB_DISKFILTER_RAID4:
 	case GRUB_DISKFILTER_RAID5:
 	  if (!easily)
 	    need--;
+	  /* Fallthrough.  */
 	case GRUB_DISKFILTER_STRIPED:
 	  break;
 
@@ -507,6 +509,7 @@ read_segment (struct grub_diskfilter_seg
       if (seg->node_count == 1)
 	return grub_diskfilter_read_node (&seg->nodes[0],
 					  sector, size, buf);
+    /* Fallthrough.  */
     case GRUB_DISKFILTER_MIRROR:
     case GRUB_DISKFILTER_RAID10:
       {
Index: grub-2.00/grub-core/font/font.c
===================================================================
--- grub-2.00.orig/grub-core/font/font.c
+++ grub-2.00/grub-core/font/font.c
@@ -1297,6 +1297,7 @@ blit_comb (const struct grub_unicode_gly
 	    - grub_font_get_xheight (combining_glyphs[i]->font) - 1;
 	  if (space <= 0)
 	    space = 1 + (grub_font_get_xheight (main_glyph->font)) / 8;
+        /* Fallthrough.  */
 
 	case GRUB_UNICODE_STACK_ATTACHED_ABOVE:
 	  do_blit (combining_glyphs[i], targetx,
@@ -1338,6 +1339,7 @@ blit_comb (const struct grub_unicode_gly
 		    + combining_glyphs[i]->height);
 	  if (space <= 0)
 	    space = 1 + (grub_font_get_xheight (main_glyph->font)) / 8;
+        /* Fallthrough.  */
 
 	case GRUB_UNICODE_STACK_ATTACHED_BELOW:
 	  do_blit (combining_glyphs[i], targetx, -(bounds.y - space));
Index: grub-2.00/grub-core/fs/udf.c
===================================================================
--- grub-2.00.orig/grub-core/fs/udf.c
+++ grub-2.00/grub-core/fs/udf.c
@@ -970,6 +970,7 @@ grub_udf_read_symlink (grub_fshelp_node_
 	case 1:
 	  if (ptr[1])
 	    goto fail;
+	  break;
 	case 2:
 	  /* in 4 bytes. out: 1 byte.  */
 	  optr = out;
Index: grub-2.00/grub-core/lib/legacy_parse.c
===================================================================
--- grub-2.00.orig/grub-core/lib/legacy_parse.c
+++ grub-2.00/grub-core/lib/legacy_parse.c
@@ -626,6 +626,7 @@ grub_legacy_parse (const char *buf, char
 	  {
 	  case TYPE_FILE_NO_CONSUME:
 	    hold_arg = 1;
+	  /* Fallthrough.  */
 	  case TYPE_PARTITION:
 	  case TYPE_FILE:
 	    args[i] = adjust_file (curarg, curarglen);
Index: grub-2.00/grub-core/lib/libgcrypt-grub/cipher/rijndael.c
===================================================================
--- grub-2.00.orig/grub-core/lib/libgcrypt-grub/cipher/rijndael.c
+++ grub-2.00/grub-core/lib/libgcrypt-grub/cipher/rijndael.c
@@ -96,7 +96,8 @@ do_setkey (RIJNDAEL_context *ctx, const
   static int initialized = 0;
   static const char *selftest_failed=0;
   int ROUNDS;
-  int i,j, r, t, rconpointer = 0;
+  unsigned int i, t, rconpointer = 0;
+  int j, r;
   int KC;
   union
   {
Index: grub-2.00/grub-core/mmap/efi/mmap.c
===================================================================
--- grub-2.00.orig/grub-core/mmap/efi/mmap.c
+++ grub-2.00/grub-core/mmap/efi/mmap.c
@@ -72,6 +72,7 @@ grub_efi_mmap_iterate (grub_memory_hook_
 		    GRUB_MEMORY_AVAILABLE);
 	      break;
 	    }
+	  /* Fallthrough.  */
 	case GRUB_EFI_RUNTIME_SERVICES_CODE:
 	  hook (desc->physical_start, desc->num_pages * 4096,
 		GRUB_MEMORY_CODE);
@@ -86,6 +87,7 @@ grub_efi_mmap_iterate (grub_memory_hook_
 	  grub_printf ("Unknown memory type %d, considering reserved\n",
 		       desc->type);
 
+	  /* Fallthrough.  */
 	case GRUB_EFI_BOOT_SERVICES_DATA:
 	  if (!avoid_efi_boot_services)
 	    {
@@ -93,6 +95,7 @@ grub_efi_mmap_iterate (grub_memory_hook_
 		    GRUB_MEMORY_AVAILABLE);
 	      break;
 	    }
+	  /* Fallthrough.  */
 	case GRUB_EFI_RESERVED_MEMORY_TYPE:
 	case GRUB_EFI_RUNTIME_SERVICES_DATA:
 	case GRUB_EFI_MEMORY_MAPPED_IO:
Index: grub-2.00/grub-core/normal/charset.c
===================================================================
--- grub-2.00.orig/grub-core/normal/charset.c
+++ grub-2.00/grub-core/normal/charset.c
@@ -858,6 +858,7 @@ grub_bidi_line_logical_to_visual (const
 	  case GRUB_BIDI_TYPE_R:
 	  case GRUB_BIDI_TYPE_AL:
 	    bidi_needed = 1;
+	  /* Fallthrough.  */
 	  default:
 	    {
 	      if (join_state == JOIN_FORCE)
Index: grub-2.00/grub-core/video/bochs.c
===================================================================
--- grub-2.00.orig/grub-core/video/bochs.c
+++ grub-2.00/grub-core/video/bochs.c
@@ -351,6 +351,7 @@ grub_video_bochs_setup (unsigned int wid
     case 32:
       framebuffer.mode_info.reserved_mask_size = 8;
       framebuffer.mode_info.reserved_field_pos = 24;
+      /* Fallthrough.  */
 
     case 24:
       framebuffer.mode_info.red_mask_size = 8;
Index: grub-2.00/grub-core/video/cirrus.c
===================================================================
--- grub-2.00.orig/grub-core/video/cirrus.c
+++ grub-2.00/grub-core/video/cirrus.c
@@ -431,6 +431,7 @@ grub_video_cirrus_setup (unsigned int wi
     case 32:
       framebuffer.mode_info.reserved_mask_size = 8;
       framebuffer.mode_info.reserved_field_pos = 24;
+      /* Fallthrough.  */
 
     case 24:
       framebuffer.mode_info.red_mask_size = 8;