Commit ad5f604e authored by Namhyung Kim's avatar Namhyung Kim
Browse files

perf test: Fix a compile error on pe-file-parsing.c



The dso__find_symbol_by_name() should be have idx pointer argument.
Found during the build-test.

  $ make build-test
  ...
    CC      /tmp/tmp.6JwPK1xbWG/tests/pe-file-parsing.o
  tests/pe-file-parsing.c: In function ‘run_dir’:
  tests/pe-file-parsing.c:64:15: error: too few arguments to function ‘dso__find_symbol_by_name’
     64 |         sym = dso__find_symbol_by_name(dso, "main");
        |               ^~~~~~~~~~~~~~~~~~~~~~~~
  In file included from tests/pe-file-parsing.c:16:
  /usr/local/google/home/namhyung/project/linux/tools/perf/util/symbol.h:135:16: note: declared here
    135 | struct symbol *dso__find_symbol_by_name(struct dso *dso, const char *name, size_t *idx);
        |                ^~~~~~~~~~~~~~~~~~~~~~~~

Fixes: 259dce91 ("perf symbol: Remove symbol_name_rb_node")
Acked-by: default avatarIan Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230627063257.549005-1-namhyung@kernel.org


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent 78987bb0
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -315,6 +315,9 @@ FEATURE_CHECK_LDFLAGS-libpython := $(PYTHON_EMBED_LDOPTS)

FEATURE_CHECK_LDFLAGS-libaio = -lrt

FEATURE_CHECK_LDFLAGS-disassembler-four-args = -lbfd -lopcodes -ldl
FEATURE_CHECK_LDFLAGS-disassembler-init-styled = -lbfd -lopcodes -ldl

CORE_CFLAGS += -fno-omit-frame-pointer
CORE_CFLAGS += -ggdb3
CORE_CFLAGS += -funwind-tables
@@ -344,8 +347,8 @@ ifneq ($(TCMALLOC),)
endif

ifeq ($(FEATURES_DUMP),)
# We will display at the end of this Makefile.config, using $(call feature_display_entries),
# as we may retry some feature detection here.
# We will display at the end of this Makefile.config, using $(call feature_display_entries)
# As we may retry some feature detection here, see the disassembler-four-args case, for instance
  FEATURE_DISPLAY_DEFERRED := 1
include $(srctree)/tools/build/Makefile.feature
else
@@ -907,9 +910,13 @@ ifdef BUILD_NONDISTRO

    ifeq ($(feature-libbfd-liberty), 1)
      EXTLIBS += -lbfd -lopcodes -liberty
      FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -ldl
      FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -ldl
    else
      ifeq ($(feature-libbfd-liberty-z), 1)
        EXTLIBS += -lbfd -lopcodes -liberty -lz
        FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -lz -ldl
        FEATURE_CHECK_LDFLAGS-disassembler-init-styled += -liberty -lz -ldl
      endif
    endif
    $(call feature_check,disassembler-four-args)
@@ -1333,6 +1340,6 @@ endif

# re-generate FEATURE-DUMP as we may have called feature_check, found out
# extra libraries to add to LDFLAGS of some other test and then redo those
# tests.
# tests, see the block about libbfd, disassembler-four-args, for instance.
$(shell rm -f $(FEATURE_DUMP_FILENAME))
$(foreach feat,$(FEATURE_TESTS),$(shell echo "$(call feature_assign,$(feat))" >> $(FEATURE_DUMP_FILENAME)))
+2 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ static int run_dir(const char *d)
	struct dso *dso;
	struct symbol *sym;
	int ret;
	size_t idx;

	scnprintf(filename, PATH_MAX, "%s/pe-file.exe", d);
	ret = filename__read_build_id(filename, &bid);
@@ -61,7 +62,7 @@ static int run_dir(const char *d)
	TEST_ASSERT_VAL("Failed to load symbols", ret == 0);

	dso__sort_by_name(dso);
	sym = dso__find_symbol_by_name(dso, "main");
	sym = dso__find_symbol_by_name(dso, "main", &idx);
	TEST_ASSERT_VAL("Failed to find main", sym);
	dso__delete(dso);