From e158a2a7aa501da635cb34414abd0c092216e5f4 Mon Sep 17 00:00:00 2001 From: 0xb10c <0xb10c@gmail.com> Date: Tue, 7 Dec 2021 14:46:48 +0100 Subject: build: add systemtap's sys/sdt.h as depends The sys/sdt.h header is required to build Bitcoin Core with Userspace Statically Defined Tracing support. Systemtap version 4.5 (May 2021) is used as the most recent version 4.6 (Nov 2021) fails to build. See e.g. https://sourceware.org/git/?p=systemtap.git;a=commit;h=1d3653936fc1fd13135a723a27e6c7e959793ad0 As Systemtap itself is not needed, the build steps (configure and make) are skipped. We require fewer build dependecies and don't waste time building depends we don't end up using. However, the configure step would normally processes sys/sdt-config.h.in. The resulting sdt-config.h defines _SDT_ASM_SECTION_AUTOGROUP_SUPPORT (either 0 or 1 to indicate whether the assembler supports "?" in .pushsection directives). For now, we assume all currently used assemblers supports this feature and remove the check from the sys/sdt.h header file in a patch. Co-authored-by: Michael Ford --- depends/packages/packages.mk | 2 ++ depends/packages/systemtap.mk | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 depends/packages/systemtap.mk (limited to 'depends/packages') diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk index 426fa2e748..77866c8e7a 100644 --- a/depends/packages/packages.mk +++ b/depends/packages/packages.mk @@ -19,6 +19,8 @@ natpmp_packages=libnatpmp multiprocess_packages = libmultiprocess capnp multiprocess_native_packages = native_libmultiprocess native_capnp +usdt_linux_packages=systemtap + darwin_native_packages = native_ds_store native_mac_alias $(host_arch)_$(host_os)_native_packages += native_b2 diff --git a/depends/packages/systemtap.mk b/depends/packages/systemtap.mk new file mode 100644 index 0000000000..833e75b978 --- /dev/null +++ b/depends/packages/systemtap.mk @@ -0,0 +1,12 @@ +package=systemtap +$(package)_version=4.5 +$(package)_download_path=https://sourceware.org/systemtap/ftp/releases/ +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=75078ed37e0dd2a769c9d1f9394170b2d9f4d7daa425f43ca80c13bad6cfc925 +$(package)_patches=remove_SDT_ASM_SECTION_AUTOGROUP_SUPPORT_check.patch + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/remove_SDT_ASM_SECTION_AUTOGROUP_SUPPORT_check.patch && \ + mkdir -p $($(package)_staging_prefix_dir)/include/sys && \ + cp includes/sys/sdt.h $($(package)_staging_prefix_dir)/include/sys/sdt.h +endef -- cgit v1.2.3