how to disable warning from -flto link ?

Niklas Gürtler profclonk@gmail.com
Wed Jan 31 10:19:00 GMT 2018


Your code contains a serious bug (buffer overflow) - don't you want to
get warned about that?

On 31.01.2018 10:41, Jay Foad wrote:
> See example below: I'm getting warnings emitted by the -flto link stage.
> I'd like to selectively disable these warnings in my build scripts, but the
> usual -Wno-* option doesn't seem to have any effect. Is it supposed to
> work? Is there another way to do it?
>
> Thanks,
> Jay.
>
> $ gcc --version
> gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0
> Copyright (C) 2017 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> $ cat a.c
> #include <string.h>
> void a(char * x, int n) {
> memset(x, 0, n);
> }
> $ cat b.c
> void a(char *, int);
> int main() {
> char x[3];
> a(x, 4);
> }
> $ gcc -O3 -flto -c a.c b.c -Wno-stringop-overflow
> $ gcc -O3 -flto a.o b.o -Wno-stringop-overflow
> In function ‘memset’,
>     inlined from ‘main’ at a.c:3:2:
> /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:10: warning:
> ‘__builtin___memset_chk’ writing 4 bytes into a region of size 3 overflows
> the destination [-Wstringop-overflow=]
>    return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
>           ^




More information about the Gcc-help mailing list