perf symbol-elf: Add support for the block argument for libbfd
authorIan Rogers <irogers@google.com>
Thu, 4 Sep 2025 16:17:31 +0000 (09:17 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 4 Sep 2025 23:37:35 +0000 (16:37 -0700)
commitca81e74dc34734078d34485d4aa123561ba75b15
treec1a10abe7804776166b2b29cd3404df290f53f5f
parent744175e972ac7c1f1be53556e186e5976e39f735
perf symbol-elf: Add support for the block argument for libbfd

James Clark caught that the BUILD_NONDISTRO=1 build with libbfd was
broken due to an update to the read_build_id function adding a
blocking argument. Add support for this argument by first opening the
file blocking or non-blocking, then switching from bfd_openr to
bfd_fdopenr and passing the opened fd. bfd_fdopenr closes the fd on
error and when bfd_close are called.

Reported-by: James Clark <james.clark@linaro.org>
Closes: https://lore.kernel.org/lkml/20250903-james-perf-read-build-id-fix-v1-2-6a694d0a980f@linaro.org/
Fixes: 2c369d91d093 ("perf symbol: Add blocking argument to filename__read_build_id")
Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: James Clark <james.clark@linaro.org>
Link: https://lore.kernel.org/r/20250904161731.1193729-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/symbol-elf.c