• Yang Jihong's avatar
    perf build: Fix build feature-dwarf_getlocations fail for old libdw · a530337b
    Yang Jihong authored
    For libdw versions below 0.177, need to link libdl.a in addition to
    libbebl.a during static compilation, otherwise
    feature-dwarf_getlocations compilation will fail.
    
    Before:
    
      $ make LDFLAGS=-static
        BUILD:   Doing 'make -j20' parallel build
      <SNIP>
      Makefile.config:483: Old libdw.h, finding variables at given 'perf probe' point will not work, install elfutils-devel/libdw-dev >= 0.157
      <SNIP>
    
      $ cat ../build/feature/test-dwarf_getlocations.make.output
      /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libebl.a(eblclosebackend.o): in function `ebl_closebackend':
      (.text+0x20): undefined reference to `dlclose'
      collect2: error: ld returned 1 exit status
    
    After:
    
      $ make LDFLAGS=-static
      <SNIP>
        Auto-detecting system features:
      ...                                   dwarf: [ on  ]
      <SNIP>
    
        $ ./perf probe
       Usage: perf probe [<options>] 'PROBEDEF' ['PROBEDEF' ...]
          or: perf probe [<options>] --add 'PROBEDEF' [--add 'PROBEDEF' ...]
          or: perf probe [<options>] --del '[GROUP:]EVENT' ...
          or: perf probe --list [GROUP:]EVENT ...
      <SNIP>
    
    Fixes: 536661da ("perf: build: Only link libebl.a for old libdw")
    Reviewed-by: default avatarLeo Yan <leo.yan@arm.com>
    Signed-off-by: default avatarYang Jihong <yangjihong@bytedance.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Leo Yan <leo.yan@arm.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20240919013513.118527-3-yangjihong@bytedance.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a530337b
Makefile 12.5 KB