All of lore.kernel.org
 help / color / mirror / Atom feed
* gcc 8/8.1 warnings
@ 2018-06-05 14:54 Jens Axboe
  2018-06-05 18:23 ` Tomohiro Kusumi
  0 siblings, 1 reply; 3+ messages in thread
From: Jens Axboe @ 2018-06-05 14:54 UTC (permalink / raw)
  To: fio

Hi,

If someone is looking for a little project, compiling fio with
gcc 8/8.1 triggers a new set of overflow warnings. I've included
them below.

FIO_VERSION = fio-3.7-5-g85e9
In file included from filesetup.c:9:
filesetup.c: In function ‘generic_open_file’:
fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 101 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
fio.h:482:2: note: in expansion of macro ‘__td_verror’
  __td_verror((td), (err), strerror((err)), (func)); \
  ^~~~~~~~~~~
filesetup.c:699:3: note: in expansion of macro ‘td_verror’
   td_verror(td, __e, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from fio.h:11,
                 from filesetup.c:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 36 or more bytes (assuming 163) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from filesetup.c:9:
fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 101 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
fio.h:484:3: note: in expansion of macro ‘__td_verror’
   __td_verror((td)->parent, (err), strerror((err)), (func)); \
   ^~~~~~~~~~~
filesetup.c:699:3: note: in expansion of macro ‘td_verror’
   td_verror(td, __e, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from fio.h:11,
                 from filesetup.c:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 36 or more bytes (assuming 163) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from verify.h:6,
                 from verify.c:12:
verify.c: In function ‘open_state_file’:
verify-state.h:104:28: warning: ‘-’ directive output may be truncated writing 1 byte into a region of size between 0 and 4095 [-Wformat-truncation=]
  snprintf(out, size, "%s-%s-%d-verify.state", prefix, ename, num);
                            ^
In file included from /usr/include/stdio.h:862,
                 from fio.h:11,
                 from verify.c:11:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 17 or more bytes (assuming 4112) into a destination of size 4096
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from filesetup.c:9:
filesetup.c: In function ‘recurse_dir’:
fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 100 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
fio.h:482:2: note: in expansion of macro ‘__td_verror’
  __td_verror((td), (err), strerror((err)), (func)); \
  ^~~~~~~~~~~
filesetup.c:1743:3: note: in expansion of macro ‘td_verror’
   td_verror(td, errno, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from fio.h:11,
                 from filesetup.c:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 37 or more bytes (assuming 164) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from filesetup.c:9:
fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 100 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
fio.h:484:3: note: in expansion of macro ‘__td_verror’
   __td_verror((td)->parent, (err), strerror((err)), (func)); \
   ^~~~~~~~~~~
filesetup.c:1743:3: note: in expansion of macro ‘td_verror’
   td_verror(td, errno, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from fio.h:11,
                 from filesetup.c:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 37 or more bytes (assuming 164) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engines/filecreate.c:11:
engines/filecreate.c: In function ‘open_file’:
engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 93 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
engines/../fio.h:482:2: note: in expansion of macro ‘__td_verror’
  __td_verror((td), (err), strerror((err)), (func)); \
  ^~~~~~~~~~~
engines/filecreate.c:43:3: note: in expansion of macro ‘td_verror’
   td_verror(td, e, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from engines/filecreate.c:7:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 44 or more bytes (assuming 171) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engines/filecreate.c:11:
engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 93 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
engines/../fio.h:484:3: note: in expansion of macro ‘__td_verror’
   __td_verror((td)->parent, (err), strerror((err)), (func)); \
   ^~~~~~~~~~~
engines/filecreate.c:43:3: note: in expansion of macro ‘td_verror’
   td_verror(td, e, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from engines/filecreate.c:7:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 44 or more bytes (assuming 171) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engines/net.c:21:
engines/net.c: In function ‘fio_netio_init’:
engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 98 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
engines/../fio.h:482:2: note: in expansion of macro ‘__td_verror’
  __td_verror((td), (err), strerror((err)), (func)); \
  ^~~~~~~~~~~
engines/net.c:1044:3: note: in expansion of macro ‘td_verror’
   td_verror(td, e, str);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from engines/net.c:7:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 39 or more bytes (assuming 166) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engines/net.c:21:
engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 98 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
engines/../fio.h:484:3: note: in expansion of macro ‘__td_verror’
   __td_verror((td)->parent, (err), strerror((err)), (func)); \
   ^~~~~~~~~~~
engines/net.c:1044:3: note: in expansion of macro ‘td_verror’
   td_verror(td, e, str);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from engines/net.c:7:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 39 or more bytes (assuming 166) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from server.c:26:
verify-state.h: In function ‘verify_state_gen_name.constprop’:
verify-state.h:104:26: warning: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size between 128 and 255 [-Wformat-truncation=]
  snprintf(out, size, "%s-%s-%d-verify.state", prefix, ename, num);
                          ^~                           ~~~~~
In file included from /usr/include/stdio.h:862,
                 from server.c:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output between 17 and 4249 bytes into a destination of size 256
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engines/falloc.c:15:
engines/falloc.c: In function ‘open_file’:
engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 97 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
engines/../fio.h:482:2: note: in expansion of macro ‘__td_verror’
  __td_verror((td), (err), strerror((err)), (func)); \
  ^~~~~~~~~~~
engines/falloc.c:45:3: note: in expansion of macro ‘td_verror’
   td_verror(td, e, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from engines/falloc.c:11:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 40 or more bytes (assuming 167) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from engines/falloc.c:15:
engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 97 [-Wformat-truncation=]
    snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
engines/../fio.h:484:3: note: in expansion of macro ‘__td_verror’
   __td_verror((td)->parent, (err), strerror((err)), (func)); \
   ^~~~~~~~~~~
engines/falloc.c:45:3: note: in expansion of macro ‘td_verror’
   td_verror(td, e, buf);
   ^~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from engines/falloc.c:11:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 40 or more bytes (assuming 167) into a destination of size 128
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diskutil.c: In function ‘__init_per_file_disk_util’:
diskutil.c:245:25: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
   sprintf(temppath, "%s/%s", slavesdir, dirent->d_name);
                         ^~
In file included from /usr/include/stdio.h:862,
                 from diskutil.c:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 2 and 4352 bytes into a destination of size 4096
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diskutil.c:258:25: warning: ‘%s’ directive writing up to 4095 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
   sprintf(temppath, "%s/%s/dev", slavesdir, slavepath);
                         ^~                  ~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from diskutil.c:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 6 and 8196 bytes into a destination of size 4096
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diskutil.c:260:26: warning: ‘%s’ directive writing up to 4095 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
    sprintf(temppath, "%s/%s/device/dev", slavesdir, slavepath);
                          ^~                         ~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from diskutil.c:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 13 and 8203 bytes into a destination of size 4096
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diskutil.c:274:25: warning: ‘%s’ directive writing up to 4095 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
   sprintf(temppath, "%s/%s", slavesdir, slavepath);
                         ^~              ~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from diskutil.c:1:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 2 and 8192 bytes into a destination of size 4096
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: gcc 8/8.1 warnings
  2018-06-05 14:54 gcc 8/8.1 warnings Jens Axboe
@ 2018-06-05 18:23 ` Tomohiro Kusumi
  2018-06-05 18:26   ` Jens Axboe
  0 siblings, 1 reply; 3+ messages in thread
From: Tomohiro Kusumi @ 2018-06-05 18:23 UTC (permalink / raw)
  To: Jens Axboe; +Cc: fio

Hi

2018年6月5日(火) 23:56 Jens Axboe <axboe@kernel.dk>:
>
> Hi,
>
> If someone is looking for a little project, compiling fio with
> gcc 8/8.1 triggers a new set of overflow warnings. I've included
> them below.

What's the CFLAGS being used ?
I see lots of warnings on Fedora 28 (gcc 8.1.1), but only with
additional -Wextra.

>
> FIO_VERSION = fio-3.7-5-g85e9
> In file included from filesetup.c:9:
> filesetup.c: In function ‘generic_open_file’:
> fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 101 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> fio.h:482:2: note: in expansion of macro ‘__td_verror’
>   __td_verror((td), (err), strerror((err)), (func)); \
>   ^~~~~~~~~~~
> filesetup.c:699:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, __e, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from fio.h:11,
>                  from filesetup.c:9:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 36 or more bytes (assuming 163) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from filesetup.c:9:
> fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 101 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> fio.h:484:3: note: in expansion of macro ‘__td_verror’
>    __td_verror((td)->parent, (err), strerror((err)), (func)); \
>    ^~~~~~~~~~~
> filesetup.c:699:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, __e, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from fio.h:11,
>                  from filesetup.c:9:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 36 or more bytes (assuming 163) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from verify.h:6,
>                  from verify.c:12:
> verify.c: In function ‘open_state_file’:
> verify-state.h:104:28: warning: ‘-’ directive output may be truncated writing 1 byte into a region of size between 0 and 4095 [-Wformat-truncation=]
>   snprintf(out, size, "%s-%s-%d-verify.state", prefix, ename, num);
>                             ^
> In file included from /usr/include/stdio.h:862,
>                  from fio.h:11,
>                  from verify.c:11:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 17 or more bytes (assuming 4112) into a destination of size 4096
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from filesetup.c:9:
> filesetup.c: In function ‘recurse_dir’:
> fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 100 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> fio.h:482:2: note: in expansion of macro ‘__td_verror’
>   __td_verror((td), (err), strerror((err)), (func)); \
>   ^~~~~~~~~~~
> filesetup.c:1743:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, errno, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from fio.h:11,
>                  from filesetup.c:9:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 37 or more bytes (assuming 164) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from filesetup.c:9:
> fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 100 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> fio.h:484:3: note: in expansion of macro ‘__td_verror’
>    __td_verror((td)->parent, (err), strerror((err)), (func)); \
>    ^~~~~~~~~~~
> filesetup.c:1743:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, errno, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from fio.h:11,
>                  from filesetup.c:9:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 37 or more bytes (assuming 164) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from engines/filecreate.c:11:
> engines/filecreate.c: In function ‘open_file’:
> engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 93 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> engines/../fio.h:482:2: note: in expansion of macro ‘__td_verror’
>   __td_verror((td), (err), strerror((err)), (func)); \
>   ^~~~~~~~~~~
> engines/filecreate.c:43:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, e, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from engines/filecreate.c:7:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 44 or more bytes (assuming 171) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from engines/filecreate.c:11:
> engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 93 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> engines/../fio.h:484:3: note: in expansion of macro ‘__td_verror’
>    __td_verror((td)->parent, (err), strerror((err)), (func)); \
>    ^~~~~~~~~~~
> engines/filecreate.c:43:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, e, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from engines/filecreate.c:7:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 44 or more bytes (assuming 171) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from engines/net.c:21:
> engines/net.c: In function ‘fio_netio_init’:
> engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 98 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> engines/../fio.h:482:2: note: in expansion of macro ‘__td_verror’
>   __td_verror((td), (err), strerror((err)), (func)); \
>   ^~~~~~~~~~~
> engines/net.c:1044:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, e, str);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from engines/net.c:7:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 39 or more bytes (assuming 166) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from engines/net.c:21:
> engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 98 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> engines/../fio.h:484:3: note: in expansion of macro ‘__td_verror’
>    __td_verror((td)->parent, (err), strerror((err)), (func)); \
>    ^~~~~~~~~~~
> engines/net.c:1044:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, e, str);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from engines/net.c:7:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 39 or more bytes (assuming 166) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from server.c:26:
> verify-state.h: In function ‘verify_state_gen_name.constprop’:
> verify-state.h:104:26: warning: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size between 128 and 255 [-Wformat-truncation=]
>   snprintf(out, size, "%s-%s-%d-verify.state", prefix, ename, num);
>                           ^~                           ~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from server.c:1:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output between 17 and 4249 bytes into a destination of size 256
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from engines/falloc.c:15:
> engines/falloc.c: In function ‘open_file’:
> engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 97 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> engines/../fio.h:482:2: note: in expansion of macro ‘__td_verror’
>   __td_verror((td), (err), strerror((err)), (func)); \
>   ^~~~~~~~~~~
> engines/falloc.c:45:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, e, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from engines/falloc.c:11:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 40 or more bytes (assuming 167) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from engines/falloc.c:15:
> engines/../fio.h:471:45: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 97 [-Wformat-truncation=]
>     snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg));  \
>                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      ~~~~~~
> engines/../fio.h:484:3: note: in expansion of macro ‘__td_verror’
>    __td_verror((td)->parent, (err), strerror((err)), (func)); \
>    ^~~~~~~~~~~
> engines/falloc.c:45:3: note: in expansion of macro ‘td_verror’
>    td_verror(td, e, buf);
>    ^~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from engines/falloc.c:11:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:64:10: note: ‘__builtin___snprintf_chk’ output 40 or more bytes (assuming 167) into a destination of size 128
>    return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>         __bos (__s), __fmt, __va_arg_pack ());
>         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> diskutil.c: In function ‘__init_per_file_disk_util’:
> diskutil.c:245:25: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
>    sprintf(temppath, "%s/%s", slavesdir, dirent->d_name);
>                          ^~
> In file included from /usr/include/stdio.h:862,
>                  from diskutil.c:1:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 2 and 4352 bytes into a destination of size 4096
>    return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>        __bos (__s), __fmt, __va_arg_pack ());
>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> diskutil.c:258:25: warning: ‘%s’ directive writing up to 4095 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
>    sprintf(temppath, "%s/%s/dev", slavesdir, slavepath);
>                          ^~                  ~~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from diskutil.c:1:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 6 and 8196 bytes into a destination of size 4096
>    return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>        __bos (__s), __fmt, __va_arg_pack ());
>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> diskutil.c:260:26: warning: ‘%s’ directive writing up to 4095 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
>     sprintf(temppath, "%s/%s/device/dev", slavesdir, slavepath);
>                           ^~                         ~~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from diskutil.c:1:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 13 and 8203 bytes into a destination of size 4096
>    return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>        __bos (__s), __fmt, __va_arg_pack ());
>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> diskutil.c:274:25: warning: ‘%s’ directive writing up to 4095 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
>    sprintf(temppath, "%s/%s", slavesdir, slavepath);
>                          ^~              ~~~~~~~~~
> In file included from /usr/include/stdio.h:862,
>                  from diskutil.c:1:
> /usr/include/x86_64-linux-gnu/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output between 2 and 8192 bytes into a destination of size 4096
>    return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>        __bos (__s), __fmt, __va_arg_pack ());
>        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> --
> Jens Axboe
>
> --
> To unsubscribe from this list: send the line "unsubscribe fio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: gcc 8/8.1 warnings
  2018-06-05 18:23 ` Tomohiro Kusumi
@ 2018-06-05 18:26   ` Jens Axboe
  0 siblings, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2018-06-05 18:26 UTC (permalink / raw)
  To: Tomohiro Kusumi; +Cc: fio

On 6/5/18 12:23 PM, Tomohiro Kusumi wrote:
> Hi
> 
> 2018年6月5日(火) 23:56 Jens Axboe <axboe@kernel.dk>:
>>
>> Hi,
>>
>> If someone is looking for a little project, compiling fio with
>> gcc 8/8.1 triggers a new set of overflow warnings. I've included
>> them below.
> 
> What's the CFLAGS being used ?
> I see lots of warnings on Fedora 28 (gcc 8.1.1), but only with
> additional -Wextra.

Just a default build, make clean && make. Maybe RH changes the gcc
defaults for -Wformat-truncation? Or maybe ubuntu/debian does.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-06-05 18:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-05 14:54 gcc 8/8.1 warnings Jens Axboe
2018-06-05 18:23 ` Tomohiro Kusumi
2018-06-05 18:26   ` Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.