apio
8476ea0dc9
All checks were successful
continuous-integration/drone/push Build is passing
The main compiler (cc1) crashes in some obscure null dereference that I'll have to investigate. However, it compiles fine, and the preprocessor seems to work...
252 lines
9.3 KiB
Diff
252 lines
9.3 KiB
Diff
diff --color -rN -u vanilla/gcc-12.2.0/config.sub gcc-12.2.0/config.sub
|
|
--- a/gcc-12.2.0/config.sub 2022-08-19 10:09:52.128656687 +0200
|
|
+++ b/gcc-12.2.0/config.sub 2023-08-08 20:42:05.032843544 +0200
|
|
@@ -1723,7 +1723,7 @@
|
|
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
|
|
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
|
|
| hiux* | abug | nacl* | netware* | windows* \
|
|
- | os9* | macos* | osx* | ios* \
|
|
+ | os9* | macos* | osx* | ios* | luna* \
|
|
| mpw* | magic* | mmixware* | mon960* | lnews* \
|
|
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
|
|
| aos* | aros* | cloudabi* | sortix* | twizzler* \
|
|
diff --color -rN -u vanilla/gcc-12.2.0/fixincludes/mkfixinc.sh gcc-12.2.0/fixincludes/mkfixinc.sh
|
|
--- a/gcc-12.2.0/fixincludes/mkfixinc.sh 2022-08-19 10:09:52.160657095 +0200
|
|
+++ b/gcc-12.2.0/fixincludes/mkfixinc.sh 2023-08-08 20:42:05.034843561 +0200
|
|
@@ -12,6 +12,8 @@
|
|
# Check for special fix rules for particular targets
|
|
case $machine in
|
|
i?86-*-cygwin* | \
|
|
+ *-luna* | \
|
|
+ *-*-luna* | \
|
|
i?86-*-mingw32* | \
|
|
x86_64-*-mingw32* | \
|
|
powerpc-*-eabisim* | \
|
|
diff --color -rN -u vanilla/gcc-12.2.0/gcc/config/i386/x86_64-luna-kernel gcc-12.2.0/gcc/config/i386/x86_64-luna-kernel
|
|
--- a/gcc-12.2.0/gcc/config/i386/x86_64-luna-kernel 1970-01-01 01:00:00.000000000 +0100
|
|
+++ b/gcc-12.2.0/gcc/config/i386/x86_64-luna-kernel 2023-08-08 20:42:05.038843594 +0200
|
|
@@ -0,0 +1,4 @@
|
|
+#Add libgcc multilib variant without red-zone requirement, for use in the kernel
|
|
+
|
|
+MULTILIB_OPTIONS += mno-red-zone
|
|
+MULTILIB_DIRNAMES += no-red-zone
|
|
\ No newline at end of file
|
|
diff --color -rN -u vanilla/gcc-12.2.0/gcc/config/luna.h gcc-12.2.0/gcc/config/luna.h
|
|
--- a/gcc-12.2.0/gcc/config/luna.h 1970-01-01 01:00:00.000000000 +0100
|
|
+++ b/gcc-12.2.0/gcc/config/luna.h 2023-08-08 20:42:05.040843610 +0200
|
|
@@ -0,0 +1,36 @@
|
|
+#undef TARGET_LUNA
|
|
+#define TARGET_LUNA 1
|
|
+
|
|
+/* Default arguments you want when running your
|
|
+ i686-luna-gcc/x86_64-luna-gcc toolchain */
|
|
+#undef LIB_SPEC
|
|
+#define LIB_SPEC "-lc" /* link against C standard library */
|
|
+
|
|
+/* Files that are linked before user code.
|
|
+ The %s tells GCC to look for these files in the library directory. */
|
|
+#undef STARTFILE_SPEC
|
|
+#define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s"
|
|
+
|
|
+/* Files that are linked after user code. */
|
|
+#undef ENDFILE_SPEC
|
|
+#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
|
|
+
|
|
+#undef SIZE_TYPE
|
|
+#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
|
|
+
|
|
+/* Ensure that ptrdiff_t matches the actual pointer size */
|
|
+#undef PTRDIFF_TYPE
|
|
+#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
|
|
+
|
|
+/* Additional predefined macros. */
|
|
+#undef TARGET_OS_CPP_BUILTINS
|
|
+#define TARGET_OS_CPP_BUILTINS() \
|
|
+ do { \
|
|
+ builtin_define("__luna__"); \
|
|
+ builtin_define("__unix__"); \
|
|
+ builtin_assert("system=luna"); \
|
|
+ builtin_assert("system=unix"); \
|
|
+ builtin_assert("system=posix"); \
|
|
+ } while (0);
|
|
+
|
|
+#undef LINK_SPEC
|
|
diff --color -rN -u vanilla/gcc-12.2.0/gcc/config.gcc gcc-12.2.0/gcc/config.gcc
|
|
--- a/gcc-12.2.0/gcc/config.gcc 2022-08-19 10:09:52.552662114 +0200
|
|
+++ b/gcc-12.2.0/gcc/config.gcc 2023-08-08 20:42:05.044843643 +0200
|
|
@@ -895,6 +895,12 @@
|
|
;;
|
|
esac
|
|
;;
|
|
+*-*-luna*)
|
|
+ gas=yes
|
|
+ gnu_ld=yes
|
|
+ default_use_cxa_atexit=yes
|
|
+ use_gcc_stdint=provide
|
|
+ ;;
|
|
*-*-netbsd*)
|
|
tm_p_file="${tm_p_file} netbsd-protos.h"
|
|
tmake_file="t-netbsd t-slibgcc"
|
|
@@ -1901,6 +1907,13 @@
|
|
x86_64-*-elf*)
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
|
|
;;
|
|
+i[34567]86-*-luna*)
|
|
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h luna.h"
|
|
+ ;;
|
|
+x86_64-*-luna*)
|
|
+ tmake_file="${tmake_file} i386/x86_64-luna-kernel"
|
|
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h luna.h"
|
|
+ ;;
|
|
x86_64-*-rtems*)
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h i386/rtemself.h rtems.h"
|
|
;;
|
|
diff --color -rN -u vanilla/gcc-12.2.0/libgcc/config.host gcc-12.2.0/libgcc/config.host
|
|
--- a/gcc-12.2.0/libgcc/config.host 2022-08-19 10:09:54.664689148 +0200
|
|
+++ b/gcc-12.2.0/libgcc/config.host 2023-08-08 20:42:05.046843660 +0200
|
|
@@ -783,6 +783,14 @@
|
|
;;
|
|
i[34567]86-*-lynxos*)
|
|
;;
|
|
+i[34567]86-*-luna*)
|
|
+ extra_parts="$extra_parts crti.o crtbegin.o crtend.o crtn.o"
|
|
+ tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
|
|
+ ;;
|
|
+x86_64-*-luna*)
|
|
+ extra_parts="$extra_parts crti.o crtbegin.o crtend.o crtn.o"
|
|
+ tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
|
|
+ ;;
|
|
i[34567]86-*-nto-qnx*)
|
|
tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
|
|
extra_parts=crtbegin.o
|
|
diff --color -rN -u vanilla/gcc-12.2.0/libgcc/libgcov.h gcc-12.2.0/libgcc/libgcov.h
|
|
--- a/gcc-12.2.0/libgcc/libgcov.h 2022-08-19 10:09:54.728689966 +0200
|
|
+++ b/gcc-12.2.0/libgcc/libgcov.h 2023-08-08 20:42:05.048843677 +0200
|
|
@@ -194,6 +194,7 @@
|
|
#endif
|
|
|
|
#include "gcov-io.h"
|
|
+#include <stdint.h>
|
|
|
|
/* Structures embedded in coveraged program. The structures generated
|
|
by write_profile must match these. */
|
|
diff --color -rN -u vanilla/gcc-12.2.0/libstdc++-v3/acinclude.m4 gcc-12.2.0/libstdc++-v3/acinclude.m4
|
|
--- a/gcc-12.2.0/libstdc++-v3/acinclude.m4 2022-08-19 10:09:55.380698313 +0200
|
|
+++ b/gcc-12.2.0/libstdc++-v3/acinclude.m4 2023-08-08 21:08:00.777765701 +0200
|
|
@@ -1356,6 +1356,10 @@
|
|
ac_has_nanosleep=yes
|
|
ac_has_sched_yield=yes
|
|
;;
|
|
+ luna*)
|
|
+ ac_has_clock_monotonic=yes
|
|
+ ac_has_clock_realtime=yes
|
|
+ ;;
|
|
# VxWorks has nanosleep as soon as the kernel is configured with
|
|
# INCLUDE_POSIX_TIMERS, which is normally/most-often the case.
|
|
vxworks*)
|
|
@@ -2421,7 +2425,7 @@
|
|
dragonfly* | freebsd*)
|
|
enable_clocale_flag=dragonfly
|
|
;;
|
|
- openbsd*)
|
|
+ openbsd* | luna*)
|
|
enable_clocale_flag=newlib
|
|
;;
|
|
*)
|
|
diff --color -rN -u vanilla/gcc-12.2.0/libstdc++-v3/configure gcc-12.2.0/libstdc++-v3/configure
|
|
--- a/gcc-12.2.0/libstdc++-v3/configure 2022-08-19 10:09:55.416698774 +0200
|
|
+++ b/gcc-12.2.0/libstdc++-v3/configure 2023-08-09 11:34:54.810282202 +0200
|
|
@@ -16481,6 +16481,9 @@
|
|
openbsd*)
|
|
enable_clocale_flag=newlib
|
|
;;
|
|
+ luna*)
|
|
+ enable_clocale_flag=generic
|
|
+ ;;
|
|
*)
|
|
if test x"$with_newlib" = x"yes"; then
|
|
enable_clocale_flag=newlib
|
|
@@ -20493,6 +20496,10 @@
|
|
ac_has_nanosleep=yes
|
|
ac_has_sched_yield=yes
|
|
;;
|
|
+ luna*)
|
|
+ ac_has_clock_monotonic=yes
|
|
+ ac_has_clock_realtime=yes
|
|
+ ;;
|
|
# VxWorks has nanosleep as soon as the kernel is configured with
|
|
# INCLUDE_POSIX_TIMERS, which is normally/most-often the case.
|
|
vxworks*)
|
|
diff --color -rN -u vanilla/gcc-12.2.0/libstdc++-v3/configure.host gcc-12.2.0/libstdc++-v3/configure.host
|
|
--- a/gcc-12.2.0/libstdc++-v3/configure.host 2022-08-19 10:09:55.420698825 +0200
|
|
+++ b/gcc-12.2.0/libstdc++-v3/configure.host 2023-08-09 11:35:05.734185945 +0200
|
|
@@ -306,6 +306,9 @@
|
|
vxworks*)
|
|
os_include_dir="os/vxworks"
|
|
;;
|
|
+ luna*)
|
|
+ os_include_dir="os/generic"
|
|
+ ;;
|
|
*)
|
|
os_include_dir="os/generic"
|
|
;;
|
|
diff --color -rN -u vanilla/gcc-12.2.0/libstdc++-v3/crossconfig.m4 gcc-12.2.0/libstdc++-v3/crossconfig.m4
|
|
--- a/gcc-12.2.0/libstdc++-v3/crossconfig.m4 2022-08-19 10:09:55.420698825 +0200
|
|
+++ b/gcc-12.2.0/libstdc++-v3/crossconfig.m4 2023-08-08 21:16:12.897071194 +0200
|
|
@@ -277,6 +277,12 @@
|
|
GLIBCXX_CHECK_MATH_SUPPORT
|
|
GLIBCXX_CHECK_STDLIB_SUPPORT
|
|
;;
|
|
+ *-luna*)
|
|
+ GLIBCXX_CHECK_COMPILER_FEATURES
|
|
+ GLIBCXX_CHECK_LINKER_FEATURES
|
|
+ GLIBCXX_CHECK_MATH_SUPPORT
|
|
+ GLIBCXX_CHECK_STDLIB_SUPPORT
|
|
+ ;;
|
|
*-vxworks*)
|
|
AC_DEFINE(HAVE_ACOSF)
|
|
AC_DEFINE(HAVE_ASINF)
|
|
diff --color -rN -u toolchain/build/gcc-12.2.0/libcody/netserver.cc ports/temp/gcc-12.2.0/libcody/netserver.cc
|
|
--- a/gcc-12.2.0/libcody/netserver.cc 2022-08-19 10:09:54.620688586 +0200
|
|
+++ b/gcc-12.2.0/libcody/netserver.cc 2023-10-15 11:26:18.755350163 +0200
|
|
@@ -78,6 +78,10 @@
|
|
|
|
int ListenInet6 (char const **e, char const *name, int port, unsigned backlog)
|
|
{
|
|
+#ifdef __luna__
|
|
+ errno = ENOTSUP;
|
|
+ return -1;
|
|
+#else
|
|
addrinfo *addrs = nullptr;
|
|
int fd = -1;
|
|
char const *errstr = nullptr;
|
|
@@ -150,6 +154,7 @@
|
|
|
|
return fd;
|
|
+#endif
|
|
}
|
|
|
|
}
|
|
#endif
|
|
diff --color -rN -u toolchain/build/gcc-12.2.0/libcody/netclient.cc ports/temp/gcc-12.2.0/libcody/netclient.cc
|
|
--- a/gcc-12.2.0/libcody/netclient.cc 2022-08-19 10:09:54.620688586 +0200
|
|
+++ b/gcc-12.2.0/libcody/netclient.cc 2023-10-15 11:32:45.205953424 +0200
|
|
@@ -71,6 +71,10 @@
|
|
|
|
int OpenInet6 (char const **e, char const *name, int port)
|
|
{
|
|
+#ifdef __luna__
|
|
+ errno = ENOTSUP;
|
|
+ return -1;
|
|
+#else
|
|
addrinfo *addrs = nullptr;
|
|
int fd = -1;
|
|
char const *errstr = nullptr;
|
|
@@ -133,6 +137,7 @@
|
|
|
|
return fd;
|
|
+#endif
|
|
}
|
|
|
|
}
|