Some distributions, like debian, don't link perf with libbfd. Add a build flag to make this configuration buildable and testable. This was inspired by: https://lore.kernel.org/linux-perf-users/20210910102307.2055484-1-tonyg@leastfixedpoint.com/T/#u
Unified · Split
| @@ -827,33 +827,36 @@ else · 826 unmodified lines | ||
| 827 | 827 | endif |
| 828 | 828 | endif |
| 829 | 829 | |
| 830 | −ifeq ($(feature-libbfd), 1) | |
| 831 | − EXTLIBS += -lbfd -lopcodes | |
| 832 | −else | |
| 833 | − # we are on a system that requires -liberty and (maybe) -lz | |
| 834 | − # to link against -lbfd; test each case individually here | |
| 835 | − | |
| 836 | − # call all detections now so we get correct | |
| 837 | − # status in VF output | |
| 838 | − $(call feature_check,libbfd-liberty) | |
| 839 | − $(call feature_check,libbfd-liberty-z) | |
| 840 | 830 | |
| 841 | − ifeq ($(feature-libbfd-liberty), 1) | |
| 842 | − EXTLIBS += -lbfd -lopcodes -liberty | |
| 843 | − FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -ldl | |
| 831 | +ifndef NO_LIBBFD | |
| 832 | + ifeq ($(feature-libbfd), 1) | |
| 833 | + EXTLIBS += -lbfd -lopcodes | |
| 844 | 834 | else |
| 845 | − ifeq ($(feature-libbfd-liberty-z), 1) | |
| 846 | − EXTLIBS += -lbfd -lopcodes -liberty -lz | |
| 847 | − FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -lz -ldl | |
| 835 | + # we are on a system that requires -liberty and (maybe) -lz | |
| 836 | + # to link against -lbfd; test each case individually here | |
| 837 | + | |
| 838 | + # call all detections now so we get correct | |
| 839 | + # status in VF output | |
| 840 | + $(call feature_check,libbfd-liberty) | |
| 841 | + $(call feature_check,libbfd-liberty-z) | |
| 842 | + | |
| 843 | + ifeq ($(feature-libbfd-liberty), 1) | |
| 844 | + EXTLIBS += -lbfd -lopcodes -liberty | |
| 845 | + FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -ldl | |
| 846 | + else | |
| 847 | + ifeq ($(feature-libbfd-liberty-z), 1) | |
| 848 | + EXTLIBS += -lbfd -lopcodes -liberty -lz | |
| 849 | + FEATURE_CHECK_LDFLAGS-disassembler-four-args += -liberty -lz -ldl | |
| 850 | + endif | |
| 848 | 851 | endif |
| 852 | + $(call feature_check,disassembler-four-args) | |
| 849 | 853 | endif |
| 850 | − $(call feature_check,disassembler-four-args) | |
| 851 | −endif | |
| 852 | 854 | |
| 853 | −ifeq ($(feature-libbfd-buildid), 1) | |
| 854 | − CFLAGS += -DHAVE_LIBBFD_BUILDID_SUPPORT | |
| 855 | −else | |
| 856 | − msg := $(warning Old version of libbfd/binutils things like PE executable profiling will not be available); | |
| 855 | + ifeq ($(feature-libbfd-buildid), 1) | |
| 856 | + CFLAGS += -DHAVE_LIBBFD_BUILDID_SUPPORT | |
| 857 | + else | |
| 858 | + msg := $(warning Old version of libbfd/binutils things like PE executable profiling will not be available); | |
| 859 | + endif | |
| 857 | 860 | endif |
| 858 | 861 | |
| 859 | 862 | ifdef NO_DEMANGLE |