• J
    perf tools: Fix compilation errors on gcc8 · a09603f8
    Jiri Olsa 提交于
    We are getting following warnings on gcc8 that break compilation:
    
      $ make
        CC       jvmti/jvmti_agent.o
      jvmti/jvmti_agent.c: In function ‘jvmti_open’:
      jvmti/jvmti_agent.c:252:35: error: ‘/jit-’ directive output may be truncated \
        writing 5 bytes into a region of size between 1 and 4096 [-Werror=format-truncation=]
        snprintf(dump_path, PATH_MAX, "%s/jit-%i.dump", jit_path, getpid());
    
    There's no point in checking the result of snprintf call in
    jvmti_open, the following open call will fail in case the
    name is mangled or too long.
    
    Using tools/lib/ function scnprintf that touches the return value from
    the snprintf() calls and thus get rid of those warnings.
    
      $ make DEBUG=1
        CC       arch/x86/util/perf_regs.o
      arch/x86/util/perf_regs.c: In function ‘arch_sdt_arg_parse_op’:
      arch/x86/util/perf_regs.c:229:4: error: ‘strncpy’ output truncated before terminating nul
      copying 2 bytes from a string of the same length [-Werror=stringop-truncation]
        strncpy(prefix, "+0", 2);
        ^~~~~~~~~~~~~~~~~~~~~~~~
    
    Using scnprintf instead of the strncpy (which we know is safe in here)
    to get rid of that warning.
    Signed-off-by: NJiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20180702134202.17745-1-jolsa@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    a09603f8
jvmti_agent.c 9.2 KB