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 <jo@mein.io>
master
Jo-Philipp Wich 5 years ago
parent 44304c1d67
commit b070101c50

@ -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))

Loading…
Cancel
Save