• A
    perf env: Do not return pointers to local variables · ebcb9464
    Arnaldo Carvalho de Melo 提交于
    It is possible to return a pointer to a local variable when looking up
    the architecture name for the running system and no normalization is
    done on that value, i.e. we may end up returning the uts.machine local
    variable.
    
    While this doesn't happen on most arches, as normalization takes place,
    lets fix this by making that a static variable and optimize it a bit by
    not always running uname(), only the first time.
    
    Noticed in fedora rawhide running with:
    
      [perfbuilder@a5ff49d6e6e4 ~]$ gcc --version
      gcc (GCC) 10.0.1 20200216 (Red Hat 10.0.1-0.8)
    Reported-by: NJiri Olsa <jolsa@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    ebcb9464
env.c 8.4 KB