diff mbox series

[1/1] package/strace: musl on aarch64 needs headers >= 5.0

Message ID 20240302125938.790570-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/strace: musl on aarch64 needs headers >= 5.0 | expand

Commit Message

Fabrice Fontaine March 2, 2024, 12:59 p.m. UTC
strace needs headers >= 5.0 and
https://github.com/torvalds/linux/commit/9966a05c7b80f075f2bc7e48dbb108d3f2927234
to avoid the following build failure on musl and aarch64 due to headers
conflict raised at least since bump to version 6.0 in commit
544806bfd8052d05dee671c23c354e5f73f954f9:

In file included from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/signal.h:48,
                 from strace.c:17:
/home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/bits/signal.h:18:16: error: redefinition of 'struct sigcontext'
   18 | typedef struct sigcontext {
      |                ^~~~~~~~~~
In file included from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/asm/ptrace.h:26,
                 from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/linux/ptrace.h:107,
                 from ptrace.h:33,
                 from strace.c:16:
/home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/asm/sigcontext.h:28:8: note: originally defined here
   28 | struct sigcontext {
      |        ^~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/74a480aa76970b36dcd890d9bd7a9df1d49e8e16
 - http://autobuild.buildroot.org/results/79ee8ae5fb9712fd874b56e836eca1b997c50cd9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/strace/Config.in | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Peter Korsgaard March 3, 2024, 12:06 p.m. UTC | #1
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > strace needs headers >= 5.0 and
 > https://github.com/torvalds/linux/commit/9966a05c7b80f075f2bc7e48dbb108d3f2927234
 > to avoid the following build failure on musl and aarch64 due to headers
 > conflict raised at least since bump to version 6.0 in commit
 > 544806bfd8052d05dee671c23c354e5f73f954f9:

 > In file included from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/signal.h:48,
 >                  from strace.c:17:
 > /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/bits/signal.h:18:16: error: redefinition of 'struct sigcontext'
 >    18 | typedef struct sigcontext {
 >       |                ^~~~~~~~~~
 > In file included from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/asm/ptrace.h:26,
 >                  from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/linux/ptrace.h:107,
 >                  from ptrace.h:33,
 >                  from strace.c:16:
 > /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/asm/sigcontext.h:28:8: note: originally defined here
 >    28 | struct sigcontext {
 >       |        ^~~~~~~~~~

 > Fixes:
 >  - http://autobuild.buildroot.org/results/74a480aa76970b36dcd890d9bd7a9df1d49e8e16
 >  - http://autobuild.buildroot.org/results/79ee8ae5fb9712fd874b56e836eca1b997c50cd9

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
 > ---
 >  package/strace/Config.in | 9 +++++++++
 >  1 file changed, 9 insertions(+)

 > diff --git a/package/strace/Config.in b/package/strace/Config.in
 > index dc245c7297..cace7e129d 100644
 > --- a/package/strace/Config.in
 > +++ b/package/strace/Config.in
 > @@ -4,6 +4,10 @@ config BR2_PACKAGE_STRACE
 >  	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 || !BR2_nios2
 >  	# needs at least kernel headers 5.0 on xtensa
 >  	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_xtensa
 > +	# needs at least kernel headers 5.0 on musl aarch64
 > +	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || \
 > +		!BR2_aarch64 || !BR2_aarch64_be || \

This doesn't work as BR2_aarch64 cannot be true at the same time as
BR2_aarch64_be (so with ! at least one of them are true).

I've changed it to !(BR2_aarch64 || BR2_aarch64_be) and committed,
thanks.
Peter Korsgaard March 19, 2024, 12:05 p.m. UTC | #2
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > strace needs headers >= 5.0 and
 > https://github.com/torvalds/linux/commit/9966a05c7b80f075f2bc7e48dbb108d3f2927234
 > to avoid the following build failure on musl and aarch64 due to headers
 > conflict raised at least since bump to version 6.0 in commit
 > 544806bfd8052d05dee671c23c354e5f73f954f9:

 > In file included from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/signal.h:48,
 >                  from strace.c:17:
 > /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/bits/signal.h:18:16: error: redefinition of 'struct sigcontext'
 >    18 | typedef struct sigcontext {
 >       |                ^~~~~~~~~~
 > In file included from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/asm/ptrace.h:26,
 >                  from /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/linux/ptrace.h:107,
 >                  from ptrace.h:33,
 >                  from strace.c:16:
 > /home/autobuild/autobuild/instance-7/output-1/host/aarch64_be-buildroot-linux-musl/sysroot/usr/include/asm/sigcontext.h:28:8: note: originally defined here
 >    28 | struct sigcontext {
 >       |        ^~~~~~~~~~

 > Fixes:
 >  - http://autobuild.buildroot.org/results/74a480aa76970b36dcd890d9bd7a9df1d49e8e16
 >  - http://autobuild.buildroot.org/results/79ee8ae5fb9712fd874b56e836eca1b997c50cd9

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Committed to 2023.02.x and 2023.11.x, thanks.
diff mbox series

Patch

diff --git a/package/strace/Config.in b/package/strace/Config.in
index dc245c7297..cace7e129d 100644
--- a/package/strace/Config.in
+++ b/package/strace/Config.in
@@ -4,6 +4,10 @@  config BR2_PACKAGE_STRACE
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 || !BR2_nios2
 	# needs at least kernel headers 5.0 on xtensa
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_xtensa
+	# needs at least kernel headers 5.0 on musl aarch64
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || \
+		!BR2_aarch64 || !BR2_aarch64_be || \
+		!BR2_TOOLCHAIN_USES_MUSL
 	depends on !BR2_RISCV_32
 	help
 	  A useful diagnostic, instructional, and debugging tool.
@@ -22,3 +26,8 @@  comment "strace needs a toolchain w/ headers >= 4.0 on nios2"
 comment "strace needs a toolchain w/ headers >= 5.0 on xtensa"
 	depends on BR2_xtensa
 	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0
+
+comment "strace needs a musl toolchain w/ headers >= 5.0 on aarch64"
+	depends on BR2_aarch64 || BR2_aarch64_be
+	depends on BR2_TOOLCHAIN_USES_MUSL
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0