Comment # 7 on bug 1158189 from
I used this patch to calculate the pointer without taking address of indexed
dev_roles array and it worked fine for me.

> Index: grub-2.04/grub-core/disk/mdraid1x_linux.c
> ===================================================================
> --- grub-2.04.orig/grub-core/disk/mdraid1x_linux.c
> +++ grub-2.04/grub-core/disk/mdraid1x_linux.c
> @@ -178,7 +178,7 @@ grub_mdraid_detect (grub_disk_t disk,
>  	return NULL;
>  
>        if (grub_disk_read (disk, sector, 
> -			  (char *) &sb.dev_roles[grub_le_to_cpu32 (sb.dev_number)]
> +			  (char *) (sb.dev_roles + grub_le_to_cpu32 (sb.dev_number))
>  			  - (char *) &sb,
>  			  sizeof (role), &role))
>  	return NULL;

And after I encountered more errors from gcc-10 ...


You are receiving this mail because: