diff '--color=auto' -ruN ../gcc-11.2.0/config.sub gcc-11.2.0/config.sub --- ../gcc-11.2.0/config.sub 2021-07-28 08:55:06.620278039 +0200 +++ gcc-11.2.0/config.sub 2022-01-21 22:02:55.149012099 +0100 @@ -1725,7 +1725,8 @@ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* \ + | aleksa*) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) diff '--color=auto' -ruN ../gcc-11.2.0/fixincludes/mkfixinc.sh gcc-11.2.0/fixincludes/mkfixinc.sh --- ../gcc-11.2.0/fixincludes/mkfixinc.sh 2021-07-28 08:55:06.644278372 +0200 +++ gcc-11.2.0/fixincludes/mkfixinc.sh 2022-01-21 22:02:55.145678766 +0100 @@ -11,6 +11,7 @@ # Check for special fix rules for particular targets case $machine in + *-aleksa* | \ i?86-*-cygwin* | \ i?86-*-mingw32* | \ x86_64-*-mingw32* | \ diff '--color=auto' -ruN ../gcc-11.2.0/gcc/config/aleksa.h gcc-11.2.0/gcc/config/aleksa.h --- ../gcc-11.2.0/gcc/config/aleksa.h 1970-01-01 01:00:00.000000000 +0100 +++ gcc-11.2.0/gcc/config/aleksa.h 2022-01-21 22:02:55.145678766 +0100 @@ -0,0 +1,28 @@ +/* Useful if you wish to make target-specific GCC changes. */ +#undef TARGET_ALEKSA +#define TARGET_ALEKSA 1 + +/* Default arguments you want when running your + i686-aleksa-gcc/x86_64-aleksa-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" + +/* Additional predefined macros. */ +#undef TARGET_OS_CPP_BUILTINS +#define TARGET_OS_CPP_BUILTINS() \ + do { \ + builtin_define ("__aleksa__"); \ + builtin_define ("__unix__"); \ + builtin_assert ("system=aleksa"); \ + builtin_assert ("system=unix"); \ + builtin_assert ("system=posix"); \ + } while(0); diff '--color=auto' -ruN ../gcc-11.2.0/gcc/config.gcc gcc-11.2.0/gcc/config.gcc --- ../gcc-11.2.0/gcc/config.gcc 2021-07-28 08:55:07.000283339 +0200 +++ gcc-11.2.0/gcc/config.gcc 2022-01-21 22:02:55.149012099 +0100 @@ -686,6 +686,12 @@ # Common parts for widely ported systems. case ${target} in +*-*-aleksa*) + gas=yes + gnu_ld=yes + default_use_cxa_atexit=yes + use_gcc_stdint=wrap + ;; *-*-darwin*) tmake_file="t-darwin " tm_file="${tm_file} darwin.h" @@ -1084,6 +1090,12 @@ esac case ${target} in +i[34567]86-*-aleksa*) + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h aleksa.h" + ;; +x86_64-*-aleksa*) + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h aleksa.h" + ;; aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h" tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h" diff '--color=auto' -ruN ../gcc-11.2.0/libgcc/config.host gcc-11.2.0/libgcc/config.host --- ../gcc-11.2.0/libgcc/config.host 2021-07-28 08:55:08.752307785 +0200 +++ gcc-11.2.0/libgcc/config.host 2022-01-21 22:02:55.149012099 +0100 @@ -356,6 +356,14 @@ esac case ${host} in +i[34567]86-*-aleksa*) + 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-*-aleksa*) + 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" + ;; aarch64*-*-elf | aarch64*-*-rtems*) extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" extra_parts="$extra_parts crtfastmath.o" diff '--color=auto' -ruN ../gcc-11.2.0/libgcc/libgcov.h gcc-11.2.0/libgcc/libgcov.h --- ../gcc-11.2.0/libgcc/libgcov.h 2021-07-28 08:55:08.812308622 +0200 +++ gcc-11.2.0/libgcc/libgcov.h 2022-01-21 22:03:55.409011142 +0100 @@ -183,6 +183,7 @@ #endif #include "gcov-io.h" +#include /* Structures embedded in coveraged program. The structures generated by write_profile must match these. */ diff '--color=auto' -ruN ../gcc-11.2.0/libstdc++-v3/crossconfig.m4 gcc-11.2.0/libstdc++-v3/crossconfig.m4 --- ../gcc-11.2.0/libstdc++-v3/crossconfig.m4 2021-07-28 08:55:09.228314429 +0200 +++ gcc-11.2.0/libstdc++-v3/crossconfig.m4 2022-01-21 22:02:55.149012099 +0100 @@ -5,6 +5,12 @@ AC_DEFUN([GLIBCXX_CROSSCONFIG],[ # Base decisions on target environment. case "${host}" in + *-aleksa*) + GLIBCXX_CHECK_COMPILER_FEATURES + GLIBCXX_CHECK_LINKER_FEATURES + GLIBCXX_CHECK_MATH_SUPPORT + GLIBCXX_CHECK_STDLIB_SUPPORT + ;; arm*-*-symbianelf*) # This is a freestanding configuration; there is nothing to do here. ;;