• I
    perf tools: include basename for non-glibc systems · b771a830
    Irina Tirdea 提交于
    perf uses the glibc version of basename(), by defining _GNU_SOURCE,
    including string.h and not including libgen.h. The glibc version of
    basename is better than the POSIX version since it does not modify its
    argument.
    
    Android has only one version of basename which is defined in libgen.h.
    This version is the same as the glibc version.
    
    Error on Android:
    util/annotate.c: In function 'symbol__annotate_printf':
    util/annotate.c:503:3: error: implicit declaration of function 'basename'
    [-Werror=implicit-function-declaration]
    util/annotate.c:503:3: error: nested extern declaration of 'basename'
    [-Werror=nested-externs]
    util/annotate.c:503:14: error: assignment makes pointer from integer without
    a cast [-Werror]
    
    On Android libgen.h should be included to define basename.
    Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Namhyung Kim <namhyung.kim@lge.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Link: http://lkml.kernel.org/r/1347065004-15306-6-git-send-email-irina.tirdea@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    b771a830
symbol.h 10.0 KB