[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: test-getgroups.c:stringop-overflow warning on newer GCC
From: |
Bernhard Voelker |
Subject: |
Re: test-getgroups.c:stringop-overflow warning on newer GCC |
Date: |
Sat, 2 Jan 2021 02:43:17 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
Hi Bruno,
On 1/1/21 1:56 PM, Bruno Haible wrote:
> Hi Berny,
>
> Bernhard Voelker wrote in
> <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>:
>> Newer GCC complains about this test:
>>
>> $ make test-getgroups.o V=1
>> depbase=`echo test-getgroups.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -DIN_FINDUTILS_GNULIB_TESTS=1
>> -I. -I. -I.. -I./.. -I../gl/lib -I./.. \
>> /gl/lib -g -O2 -MT test-getgroups.o -MD -MP -MF $depbase.Tpo -c -o
>> test-getgroups.o test-getgroups.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> In file included from test-getgroups.c:31:
>> test-getgroups.c: In function 'main':
>> test-getgroups.c:65:11: warning: argument 1 value -1 is negative
>> [-Wstringop-overflow=]
>> 65 | ASSERT (getgroups (-1, NULL) == -1);
>> | ^~~~~~~~~~~~~~~~~~~~
>
> I can't reproduce this with a testdir created through
> ./gnulib-tool --create-testdir --dir=... --single-configure getgroups
> and GCC 10.2.0, even with '-Wall' (whereas the GCC invocation that you show
> does
> not invoke any warning options!):
yes, this shows up without -Wall here.
> $ gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1
> -DIN_GNULIB_TESTS=1 -I. -I. -I.. -I./.. -I../gllib -I./../gllib -g -O2 -c
> test-getgroups.c -Wall
> (no diagnostics)
I reproduced again without -Wall both on my openSUSE Tumbleweed system with
gcc (SUSE Linux) 10.2.1 20201202 [revision
e563687cf9d3d1278f45aaebd03e0f66531076c9]
and on Fedora (in a docker container) with
gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9)
So it may be an issue with the 10.2.1 version
> Also, it's strange that this warning reports to come from -Wstringop-overflow
> — whereas 'getgroups' is not a string operation>
> So, to me it looks like a bug in the particular GCC version that you are
> using.
>
> Under regular circumstances, I would consider adding a #pragma GCC diagnostic,
> as you suggest, but not under these circumstances.
I'm not sure how to proceed from here.
Have a nice day,
Berny