Skip to content

Commit fbed59f

Browse files
Jiri Olsaacmel
authored andcommitted
perf build: Regenerate the FEATURE_DUMP file after extra feature checks
Feature detection is done in tools/build/Makefile.feature, we may exit there with some features not detected and then, in tools/perf/Makefile.config try adding extra libraries to link and then do extra feature checks to see if we now find the feature. This is the case with the disassembler-four-args that checks if the diassembler() function in libopcodes (binutils) has a signature with one or with four arguments, as this is not ABI and they changed it at some point. This is not a problem when doing normal builds, for instance: $ make -C tools/perf O=/tmp/build/perf As we don't use what is in FEATURE-DUMP at that point, but is a problem if we pass FEATURE_DUMP=/previously-detected-features as we do in 'make -C tools/perf build-test' to reuse the feature detection in the many build combinations we test there. When that is done feature-disassembler-four-args will be set to 0, but opensuse 15.1 has the four arguments function signature in disassembler(). The build thus fails. Fix it by rewriting the FEATURE-DUMP file at the end of tools/perf/Makefile.config to register features we retested in that make file. Signed-off-by: Jiri Olsa <[email protected]> Reported-by: Arnaldo Carvalho de Melo <[email protected]> Tested-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
1 parent 81e70d7 commit fbed59f

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

tools/perf/Makefile.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1224,3 +1224,9 @@ $(call detected_var,LIBDIR)
12241224
$(call detected_var,GTK_CFLAGS)
12251225
$(call detected_var,PERL_EMBED_CCOPTS)
12261226
$(call detected_var,PYTHON_EMBED_CCOPTS)
1227+
1228+
# re-generate FEATURE-DUMP as we may have called feature_check, found out
1229+
# extra libraries to add to LDFLAGS of some other test and then redo those
1230+
# tests, see the block about libbfd, disassembler-four-args, for instance.
1231+
$(shell rm -f $(FEATURE_DUMP_FILENAME))
1232+
$(foreach feat,$(FEATURE_TESTS),$(shell echo "$(call feature_assign,$(feat))" >> $(FEATURE_DUMP_FILENAME)))

0 commit comments

Comments
 (0)