From: "heming.zhao@suse.com" <heming.zhao@suse.com>
To: Zdenek Kabelac <zkabelac@redhat.com>,
LVM general discussion and development <linux-lvm@redhat.com>
Cc: dcermak@suse.com
Subject: Re: [linux-lvm] [PATCH] gcc: change zero-sized array to fexlible array
Date: Sat, 29 Aug 2020 11:11:42 +0800 [thread overview]
Message-ID: <4bb3e590-39f1-75e7-9000-03d1d3fc0e73@suse.com> (raw)
In-Reply-To: <80e36f4c-8193-1df5-41ad-e0caf42f6537@redhat.com>
On 8/29/20 3:32 AM, Zdenek Kabelac wrote:
> Dne 26. 08. 20 v 7:18 heming.zhao@suse.com napsal(a):
>> ping.
>>
>> @Marian & other maintainers
>>
>>
>> On 8/21/20 12:05 AM, Zhao Heming wrote:
>>> this patch makes gcc happy with compiling option: [-Wstringop-overflow=]
>>>
>>> Signed-off-by: Zhao Heming <heming.zhao@suse.com>
>>> ---
>>> �� device_mapper/libdm-common.c | 2 +-
>>> �� lib/activate/fs.c����������� | 2 +-
>>> �� libdm/libdm-common.c�������� | 2 +-
>>> �� 3 files changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/device_mapper/libdm-common.c b/device_mapper/libdm-common.c
>>> index bc691d6..3627457 100644
>>> --- a/device_mapper/libdm-common.c
>>> +++ b/device_mapper/libdm-common.c
>>> @@ -1445,7 +1445,7 @@ struct node_op_parms {
>>> ������ char *old_name;
>>> ������ int warn_if_udev_failed;
>>> ������ unsigned rely_on_udev;
>>> -��� char names[0];
>>> +��� char names[];
>>> �� };
>
>
> Hi
>
> Here I don't see much problem with patch itself - except it seems to be somewhat mysterious. Lvm2 is not strict ISO C compilable - there are far to many other things which would need to be fixed - thus flexible arrays shouldn't be an issue.
>
> I'm curious why these 3 were important in your case - while other 26 appearances passed for you just fine (see attachment).
>
> So can you paste what sort of gcc problem do you actually try to solve ?
>
> Regards
>
> Zdenek
These 3 zero-sized array blocked me to create lvm2 package for opensuse tumbleweed.
Opensuse uses OBS (open build service: https://openbuildservice.org/) to create rpm packages.
In my eyes, the OBS is black-box, it only showed these 3 warning and stopped building work.
So I filed patch only about these 3 places.
the build error just related with [-Wstringop-overflow=]
```
[ 72s] In function 'strcpy',
[ 72s] inlined from '_store_str' at device_mapper/libdm-common.c:1453:2,
[ 72s] inlined from '_stack_node_op' at device_mapper/libdm-common.c:1589:2:
[ 72s] /usr/include/bits/string_fortified.h:90:10: warning: '__builtin_strcpy' writing 1 or more bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
[ 72s] 90 | return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
```
thanks,
heming
next prev parent reply other threads:[~2020-08-29 3:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-20 16:05 [linux-lvm] [PATCH] gcc: change zero-sized array to fexlible array Zhao Heming
2020-08-20 16:08 ` heming.zhao
2020-08-26 5:18 ` heming.zhao
2020-08-28 19:32 ` Zdenek Kabelac
2020-08-29 3:11 ` heming.zhao [this message]
2020-09-02 15:22 ` Zdenek Kabelac
2020-09-03 14:58 ` heming.zhao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4bb3e590-39f1-75e7-9000-03d1d3fc0e73@suse.com \
--to=heming.zhao@suse.com \
--cc=dcermak@suse.com \
--cc=linux-lvm@redhat.com \
--cc=zkabelac@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).