Re: [PATCH 0/4] btrfs-progs: GCC9 fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 17, 2019 at 03:59:32PM +0800, Qu Wenruo wrote:
> This patchset will address the remaining warning when compiling
> btrfs-progs devel branch with GCC9.
> 
> It's based on the following commit:
> commit 9a1d86a9ac7384b332db498822585a2255f7d3e6 (david/devel)
> Author: David Sterba <dsterba@xxxxxxxx>
> Date:   Thu Jun 13 20:45:49 2019 +0200
> 
>     btrfs-progs: build: disable -Waddress-of-packed-member by default
> 
> 
> Please note that the 2nd patch mostly replace commit 691656abdc9a
> ("btrfs-progs: fix gcc9 warning and potentially unaligned access to dev stats") by
> backporing kernel btrfs_dev_stats_value() to btrfs-progs.
> Thus the original fix can be removed.

Yeah, the backport is better, patch replaced.

> The remaining warning is -Warray-boundary, but that one looks pretty
> strange. The code looks good, and I backported an easy version:
> 
>   #include <stdio.h>
>   #include <stdlib.h>
>   #include <string.h>
>   #include <stddef.h>
>   
>   struct test_struct {
>   	long long off_0_7;
>   	int	offset_8_11;
>   	unsigned char offset_12_12;
>   } __attribute__ ((packed));
>   
>   void reset_values(struct test_struct *ptr)
>   {
>   	memset(&ptr->offset_8_11, 0, sizeof(struct test_struct) - offsetof(struct test_struct, offset_8_11));
>   }
>   
>   int main()
>   {
>   	struct test_struct my_struct = { 0xffff, 0xff, 0xff};
>   
>   	printf("struct=0x%llx start=0x%llx len=0x%x\n",
>   		&my_struct, &my_struct.offset_8_11, sizeof(struct test_struct) - offsetof(struct test_struct, offset_8_11));
>   	reset_values(&my_struct);
>   	printf("0x%lx 0x%x 0x%x\n", my_struct.off_0_7, my_struct.offset_8_11, my_struct.offset_12_12);
>   	return 0;
>   }
> 
> Which doesn't reproduce the warning.
> Thus looks like a false warning and a bug in gcc.


> 
> Qu Wenruo (4):
>   btrfs-progs: constify extent buffer reader
>   btrfs-progs: Fix -Waddress-of-packed-member warning in
>     btrfs_dev_stats_values callers
>   btrfs-progs: Remove unnecessary fallthrough attribute in
>     test_num_disk_vs_raid()
>   btrfs-progs: Fix Wformat-overflow warning in cmds-receive.c

1-4 applied, thanks.



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux