Repository: bitcoin/bitcoin (language: cpp)

Issue:
tracepoints: gnu-zero-variadic-macro-arguments warnings
These occur for all tracepoints when using Clang 15 and a system installed `systemtap`:
```bash
# clang --version
Debian clang version 15.0.7

./autogen.sh
./configure CC=clang-15 CXX=clang++-15
make
...
net_processing.cpp:4892:5: warning: must specify at least one argument for '...' parameter of variadic macro [-Wgnu-zero-variadic-macro-arguments]
    TRACE6(net, inbound_message,
    ^
./util/trace.h:18:50: note: expanded from macro 'TRACE6'
#define TRACE6(context, event, a, b, c, d, e, f) DTRACE_PROBE6(context, event, a, b, c, d, e, f)
                                                 ^
/usr/include/aarch64-linux-gnu/sys/sdt.h:494:3: note: expanded from macro 'DTRACE_PROBE6'
  STAP_PROBE6(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6)
  ^
/usr/include/aarch64-linux-gnu/sys/sdt.h:380:3: note: expanded from macro 'STAP_PROBE6'
  _SDT_PROBE(provider, name, 6, (arg1, arg2, arg3, arg4, arg5, arg6))
  ^
/usr/include/aarch64-linux-gnu/sys/sdt.h:78:75: note: expanded from macro '_SDT_PROBE'
    __asm__ __volatile__ (_SDT_ASM_BODY(provider, name, _SDT_ASM_ARGS, (n)) \
                                                                          ^
/usr/include/aarch64-linux-gnu/sys/sdt.h:283:9: note: macro '_SDT_ASM_BODY' defined here
#define _SDT_ASM_BODY(provider, name, pack_args, args, ...)                   \
        ^
1 warning generated.
```


Discussion / hints:

Fix patch:
diff --git a/depends/packages/systemtap.mk b/depends/packages/systemtap.mk
index ad74323d9833d..541ebeee01408 100644
--- a/depends/packages/systemtap.mk
+++ b/depends/packages/systemtap.mk
@@ -1,12 +1,13 @@
 package=systemtap
-$(package)_version=4.7
+$(package)_version=4.8
 $(package)_download_path=https://sourceware.org/ftp/systemtap/releases/
 $(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=43a0a3db91aa4d41e28015b39a65e62059551f3cc7377ebf3a3a5ca7339e7b1f
-$(package)_patches=remove_SDT_ASM_SECTION_AUTOGROUP_SUPPORT_check.patch
+$(package)_sha256_hash=cbd50a4eba5b261394dc454c12448ddec73e55e6742fda7f508f9fbc1331c223
+$(package)_patches=remove_SDT_ASM_SECTION_AUTOGROUP_SUPPORT_check.patch fix_variadic_warning.patch
 
 define $(package)_preprocess_cmds
   patch -p1 < $($(package)_patch_dir)/remove_SDT_ASM_SECTION_AUTOGROUP_SUPPORT_check.patch && \
+  patch -p1 < $($(package)_patch_dir)/fix_variadic_warning.patch && \
   mkdir -p $($(package)_staging_prefix_dir)/include/sys && \
   cp includes/sys/sdt.h $($(package)_staging_prefix_dir)/include/sys/sdt.h
 endef
diff --git a/depends/patches/systemtap/fix_variadic_warning.patch b/depends/patches/systemtap/fix_variadic_warning.patch
new file mode 100644
index 0000000000000..93cc2d6081d77
--- /dev/null
+++ b/depends/patches/systemtap/fix_variadic_warning.patch
@@ -0,0 +1,16 @@
+Could be dropped after a migration to C++20.
+See: https://github.com/bitcoin/bitcoin/issues/26916.
+
+diff --git a/includes/sys/sdt.h b/includes/sys/sdt.h
+index 4075a5f..7c6138c 100644
+--- a/includes/sys/sdt.h
++++ b/includes/sys/sdt.h
+@@ -276,7 +276,7 @@ __extension__ extern unsigned long long __sdt_unsp;
+   _SDT_ASM_1(.purgem _SDT_TYPE_)					      \
+   _SDT_ASM_1(.purgem _SDT_TYPE)
+ 
+-#define _SDT_ASM_BODY(provider, name, pack_args, args, ...)		      \
++#define _SDT_ASM_BODY(provider, name, pack_args, args)		            \
+   _SDT_DEF_MACROS							      \
+   _SDT_ASM_1(990:	_SDT_NOP)					      \
+   _SDT_ASM_3(		.pushsection .note.stapsdt,_SDT_ASM_AUTOGROUP,"note") \


Test patch: