mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
1a33e4b952
This fixes building with USE_LTO enabled:
mold: error: undefined symbol: __memset
>>> referenced by <artificial>
>>> ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memset_orig
>>> referenced by <artificial>
>>> ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: perf_regs_load
>>> referenced by <artificial>
>>> ./tmp/ccsgR7G6.ltrans15.ltrans.o:(test_dwarf_unwind__thread)
mold: error: undefined symbol: memset_erms
>>> referenced by <artificial>
>>> ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memcpy_orig
>>> referenced by <artificial>
>>> ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: memcpy_erms
>>> referenced by <artificial>
>>> ./tmp/ccsgR7G6.ltrans10.ltrans.o
mold: error: undefined symbol: __memcpy
>>> referenced by <artificial>
>>> ./tmp/ccsgR7G6.ltrans10.ltrans.o
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile.perf:670: ../openwrt/linux/tools/perf-target-x86_64_musl/perf] Error 1
make[4]: *** [Makefile.perf:238: sub-make] Error 2
make[3]: *** [Makefile:70: all] Error 2
make[2]: *** [Makefile:84: ./build_dir/target-x86_64_musl/linux-x86_64/linux-5.15.120/tools/perf-target-x86_64_musl/.built] Error 2
make[2]: Leaving directory './package/devel/perf'
time: package/devel/perf/compile#55.88#6.78#12.89
ERROR: package/devel/perf failed to build.
Signed-off-by: Javier Marcet <javier@marcet.info>
(cherry picked from commit 5ed185bfbd
)
82 lines
1.9 KiB
Makefile
82 lines
1.9 KiB
Makefile
#
|
|
# Copyright (C) 2011-2013 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
PKG_NAME:=perf
|
|
PKG_VERSION:=$(LINUX_VERSION)
|
|
PKG_RELEASE:=5
|
|
|
|
PKG_BUILD_FLAGS:=no-mips16 no-lto
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
|
PKG_FLAGS:=nonshared
|
|
|
|
# Perf's makefile and headers are not relocatable and must be built from the
|
|
# Linux sources directory
|
|
PKG_BUILD_DIR:=$(LINUX_DIR)/tools/perf-$(TARGET_DIR_NAME)
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
|
|
define Package/perf
|
|
SECTION:=devel
|
|
CATEGORY:=Development
|
|
DEPENDS:= +libelf +libdw +PACKAGE_libunwind:libunwind +libpthread +librt +objdump @!IN_SDK @KERNEL_PERF_EVENTS \
|
|
+PACKAGE_libbfd:libbfd +PACKAGE_libopcodes:libopcodes
|
|
TITLE:=Linux performance monitoring tool
|
|
VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
|
|
URL:=http://www.kernel.org
|
|
endef
|
|
|
|
define Package/perf/description
|
|
perf is the Linux performance monitoring tool
|
|
endef
|
|
|
|
HOST_CFLAGS += -I$(LINUX_DIR)/tools/include
|
|
|
|
TARGET_LDFLAGS += $(INTL_LDFLAGS)
|
|
|
|
MAKE_FLAGS = \
|
|
ARCH="$(LINUX_KARCH)" \
|
|
NO_LIBPERL=1 \
|
|
NO_LIBPYTHON=1 \
|
|
NO_NEWT=1 \
|
|
NO_LZMA=1 \
|
|
NO_BACKTRACE=1 \
|
|
NO_LIBNUMA=1 \
|
|
NO_GTK2=1 \
|
|
NO_LIBAUDIT=1 \
|
|
NO_LIBCRYPTO=1 \
|
|
NO_LIBUNWIND=1 \
|
|
NO_LIBZSTD=1 \
|
|
NO_LIBCAP=1 \
|
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
|
CC="$(TARGET_CC)" \
|
|
LD="$(TARGET_CROSS)ld" \
|
|
EXTRA_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
KBUILD_HOSTCFLAGS="$(HOST_CFLAGS)" \
|
|
$(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \
|
|
WERROR=0 \
|
|
O=$(PKG_BUILD_DIR) \
|
|
prefix=/usr
|
|
|
|
define Build/Compile
|
|
+$(MAKE_FLAGS) $(MAKE) $(PKG_JOBS) \
|
|
--no-print-directory \
|
|
-C $(LINUX_DIR)/tools/perf
|
|
endef
|
|
|
|
define Package/perf/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/perf $(1)/usr/bin/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,perf))
|