• I
    perf probe: Fix !dwarf build · 3b0d5164
    Ingo Molnar 提交于
    Fix the !drawf build.
    
    This uses the existing NO_DWARF_SUPPORT mechanism we use for that,
    but it's really fragile and needs a cleanup. (in a separate patch)
    
    1) Such uses:
    
     #ifndef NO_DWARF_SUPPORT
    
    are double inverted logic a'la 'not not'. Instead the flag should
    be called DWARF_SUPPORT.
    
    2) Furthermore, assymetric #ifdef polluted code flow like:
    
            if (need_dwarf)
     #ifdef NO_DWARF_SUPPORT
                    die("Debuginfo-analysis is not supported");
     #else   /* !NO_DWARF_SUPPORT */
                    pr_debug("Some probes require debuginfo.\n");
    
            fd = open_vmlinux();
    
    is very fragile and not acceptable. Instead of that helper functions
    should be created and the dwarf/no-dwarf logic should be separated more
    cleanly.
    
    3) Local variable #ifdefs like this:
    
     #ifndef NO_DWARF_SUPPORT
            int fd;
     #endif
    
    Are fragile as well and should be eliminated. Helper functions achieve
    that too.
    
    Cc: Masami Hiramatsu <mhiramat@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <20100316220612.32050.33806.stgit@localhost6.localdomain6>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    3b0d5164
probe-event.c 28.5 KB