From b070101c506ca5541d6f232c2da3e0f7b1383106 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 25 Oct 2019 19:42:09 +0200 Subject: [PATCH] valgrind: do not strip internal preload libraries and executables Implement the suggestions laid out in README_PACKAGERS, mainly by preventing the stripping of the internal vgpreload*.so libraries. Also retain the symbol information of valgrind's private helper executables and enable LTO as suggested in the packagers readme. Signed-off-by: Jo-Philipp Wich --- package/devel/valgrind/Makefile | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/package/devel/valgrind/Makefile b/package/devel/valgrind/Makefile index 956e5ad722..ecb4af8b35 100644 --- a/package/devel/valgrind/Makefile +++ b/package/devel/valgrind/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=valgrind PKG_VERSION:=3.15.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://sourceware.org/pub/valgrind/ @@ -25,6 +25,8 @@ PKG_BUILD_PARALLEL := 1 PKG_USE_MIPS16:=0 PKG_SSP:=0 +STRIP:=: + include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/kernel.mk @@ -96,6 +98,7 @@ else endif CONFIGURE_ARGS += \ + --enable-lto \ --enable-tls \ --without-x \ --without-mpicc \ @@ -106,7 +109,7 @@ CONFIGURE_ARGS += \ --without-included-gettext \ --with-pagesize=4 \ -define Package/valgrind/install +define Package/valgrind/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/valgrind* $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib/valgrind @@ -125,6 +128,10 @@ ifneq ($(ARCH),aarch64) $(PKG_INSTALL_DIR)/usr/lib/valgrind/$(CPU)-*.xml \ $(1)/usr/lib/valgrind/ endif + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/none-* \ + $(PKG_INSTALL_DIR)/usr/lib/valgrind/memcheck-* endef define Package/valgrind-cachegrind/install @@ -134,6 +141,8 @@ define Package/valgrind-cachegrind/install $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* \ $(1)/usr/lib/valgrind/ + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/cachegrind-* endef define Package/valgrind-callgrind/install @@ -143,6 +152,8 @@ define Package/valgrind-callgrind/install $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* \ $(1)/usr/lib/valgrind/ + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/callgrind-* endef define Package/valgrind-drd/install @@ -151,6 +162,8 @@ define Package/valgrind-drd/install $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* \ $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_drd*.so \ $(1)/usr/lib/valgrind/ + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/drd-* endef define Package/valgrind-massif/install @@ -161,6 +174,8 @@ define Package/valgrind-massif/install $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* \ $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_massif*.so \ $(1)/usr/lib/valgrind/ + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/massif-* endef define Package/valgrind-helgrind/install @@ -169,11 +184,14 @@ define Package/valgrind-helgrind/install $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* \ $(PKG_INSTALL_DIR)/usr/lib/valgrind/vgpreload_helgrind*.so \ $(1)/usr/lib/valgrind/ + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip -g",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/lib/valgrind/helgrind-* endef define Package/valgrind-vgdb/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/vgdb $(1)/usr/bin/ + $(patsubst STRIP=%,STRIP="$(TARGET_CROSS)strip",$(RSTRIP)) $(PKG_INSTALL_DIR)/usr/bin endef $(eval $(call BuildPackage,valgrind))