diff --git a/config.sub b/config.sub index 38f3d037a..44169ef44 100755 --- a/config.sub +++ b/config.sub @@ -1749,7 +1749,7 @@ case $os in | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* ) + | fiwix* | sb*) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh index df90720b7..fdd219967 100755 --- a/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh @@ -11,6 +11,8 @@ target=fixinc.sh # Check for special fix rules for particular targets case $machine in + *-sb* | \ + *-*-sb* | \ i?86-*-cygwin* | \ i?86-*-mingw32* | \ x86_64-*-mingw32* | \ diff --git a/gcc/config.gcc b/gcc/config.gcc index 6fd159448..c4c05ce9e 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -690,6 +690,12 @@ x86_cpus="generic intel" # Common parts for widely ported systems. case ${target} in +*-*-sb*) + gas=yes + gnu_ld=yes + default_use_cxa_atexit=yes + use_gcc_stdint=provide + ;; *-*-darwin*) tmake_file="t-darwin " tm_file="${tm_file} darwin.h" @@ -1126,6 +1132,9 @@ case ${target} in esac case ${target} in +#i[34567]86-*-sb*) # UNSURE +# tm_file="${tm_file} i386/unix.h i386/att.h elfos.h glibc-stdint.h i386/i386elf.h sb.h" +# ;; aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*) tm_file="${tm_file} elfos.h newlib-stdint.h" tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h" @@ -2327,6 +2336,10 @@ m68k-*-elf* | fido-*-elf*) ;; esac ;; +#AAAAAAAAAAAAAAAAAAA +i[34567]86-*-sb*) # UNSURE + tm_file="${tm_file} i386/unix.h i386/att.h elfos.h glibc-stdint.h i386/i386elf.h sb.h" + ;; m68k*-*-netbsdelf*) default_m68k_cpu=68020 default_cf_cpu=5475 diff --git a/gcc/config/sb.h b/gcc/config/sb.h new file mode 100644 index 000000000..b721cb53f --- /dev/null +++ b/gcc/config/sb.h @@ -0,0 +1,28 @@ +/* Useful if you wish to make target-specific GCC changes. */ +#undef TARGET_SB +#define TARGET_SB 1 + +/* Default arguments you want when running your + i686-myos-gcc/x86_64-myos-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("__sb__"); \ + builtin_define("__unix__"); \ + builtin_assert("system=sb"); \ + builtin_assert("system=unix"); \ + builtin_assert("system=posix"); \ + } while (0); diff --git a/libgcc/config.host b/libgcc/config.host index b9975de90..da9323956 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -220,6 +220,10 @@ esac # Common parts for widely ported systems. case ${host} in +#i[34567]86-*-sb*) +# 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" +# ;; *-*-darwin*) asm_hidden_op=.private_extern tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic" @@ -1503,6 +1507,10 @@ am33_2.0-*-linux*) m32c-*-elf*) tmake_file="$tmake_file m32c/t-m32c" ;; +i[34567]86-*-sb*) + 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" + ;; nvptx-*) tmake_file="$tmake_file nvptx/t-nvptx" extra_parts="crt0.o" diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4 index b3269cb88..8c0bc1e6f 100644 --- a/libstdc++-v3/crossconfig.m4 +++ b/libstdc++-v3/crossconfig.m4 @@ -8,7 +8,12 @@ case "${host}" in arm*-*-symbianelf*) # This is a freestanding configuration; there is nothing to do here. ;; - + *-sb*) + GLIBCXX_CHECK_COMPILER_FEATURES + GLIBCXX_CHECK_LINKER_FEATURES + GLIBCXX_CHECK_MATH_SUPPORT + GLIBCXX_CHECK_STDLIB_SUPPORT + ;; avr*-*-*) AC_DEFINE(HAVE_ACOSF) AC_DEFINE(HAVE_ASINF)