Hi,
When building ada with musl, I encountered the following error:
----------------
make[7]: Entering directory '/opt/gcc-build/gcc/build/gcc/ada/rts'
/opt/gcc-build/gcc/build/./gcc/xgcc -B/opt/gcc-build/gcc/build/./gcc/
-B/opt/gcc-13/aarch64-linux-musl/usr/aarch64-linux-musl/bin/
-B/opt/gcc-13/aarch64-linux-musl/usr/aarch64-linux-musl/lib/ -isystem
/opt/gcc-13/aarch64-linux-musl/usr/aarch64-linux-musl/include -isystem
/opt/gcc-13/aarch64-linux-musl/usr/aarch64-linux-musl/sys-include
--sysroot=/opt/gcc-13/aarch64-linux-musl/usr/aarch64-linux-musl/sys-root -c
-DCROSS_DIRECTORY_STRUCTURE -DIN_GCC -W -Wall -g -O2 -g -O2 -fexceptions
-DIN_RTS -DHAVE_GETIPINFO -fPIC -fno-lto \
-iquote . -iquote .. -iquote ../.. -iquote /opt/gcc-build/gcc/gcc/ada -iquote
/opt/gcc-build/gcc/gcc -I/opt/gcc-build/gcc/include -I./../.. adadecode.c -o
adadecode.o
In file included from adadecode.c:37:
adaint.h:324:8: error: unknown type name 'cpu_set_t'
324 | extern cpu_set_t *__gnat_cpu_alloc (size_t);
| ^~~~~~~~~
----------------
It can be seen from the man pages[1] that this error is caused by not defining
`_GNU_SOURCE`, so I recommend the following fix:
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 987432c93..fa8ddaf13 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -319,6 +319,9 @@ extern void *__gnat_lwp_self
(void);
/* Routines for interface to required CPU set primitives */
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
#include <sched.h>
extern cpu_set_t *__gnat_cpu_alloc (size_t);
[1] https://man7.org/linux/man-pages/man3/CPU_SET.3.html
Please help commit if appropriate.
--
Best regards,
Dongsheng Song