162 lines
6.0 KiB
Diff
162 lines
6.0 KiB
Diff
diff -Naur a/config.sub b/config.sub
|
|
--- a/config.sub 2020-07-23 16:35:16.912379792 +1000
|
|
+++ b/config.sub 2020-12-28 13:39:57.638319504 +1000
|
|
@@ -1343,7 +1343,7 @@
|
|
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
|
|
| sym* | kopensolaris* | plan9* \
|
|
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
|
|
- | aos* | aros* | cloudabi* | sortix* \
|
|
+ | aos* | aros* | cloudabi* | sortix* | quinn* \
|
|
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
|
|
| clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
|
|
| knetbsd* | mirbsd* | netbsd* \
|
|
diff -Naur a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
|
|
--- a/fixincludes/mkfixinc.sh 2020-07-23 16:35:16.932380013 +1000
|
|
+++ b/fixincludes/mkfixinc.sh 2020-12-28 13:39:57.730315512 +1000
|
|
@@ -11,6 +11,7 @@
|
|
|
|
# Check for special fix rules for particular targets
|
|
case $machine in
|
|
+ *-quinn* | \
|
|
i?86-*-cygwin* | \
|
|
i?86-*-mingw32* | \
|
|
x86_64-*-mingw32* | \
|
|
diff -Naur a/gcc/config/quinn.h b/gcc/config/quinn.h
|
|
--- a/gcc/config/quinn.h 1970-01-01 10:00:00.000000000 +1000
|
|
+++ b/gcc/config/quinn.h 2020-12-28 13:39:57.730315512 +1000
|
|
@@ -0,0 +1,20 @@
|
|
+/* Useful if you wish to make target-specific gcc changes. */
|
|
+#undef TARGET_QUINN
|
|
+#define TARGET_QUINN 1
|
|
+
|
|
+/* Default arguments you want when running your
|
|
+ i686-myos-gcc/x86_64-myos-gcc toolchain */
|
|
+#define LIB_SPEC "-lc -lg -lm" /* link against C standard libraries */
|
|
+ /* modify this based on your needs */
|
|
+
|
|
+/* Additional predefined macros. */
|
|
+#undef TARGET_OS_CPP_BUILTINS
|
|
+#define TARGET_OS_CPP_BUILTINS() \
|
|
+ do { \
|
|
+ builtin_define ("__quinn__"); \
|
|
+ builtin_define ("__unix__"); \
|
|
+ builtin_assert ("system=quinn"); \
|
|
+ builtin_assert ("system=unix"); \
|
|
+ builtin_assert ("system=posix"); \
|
|
+ } while(0);
|
|
+
|
|
diff -Naur a/gcc/config/quinn-stdint.h b/gcc/config/quinn-stdint.h
|
|
--- a/gcc/config/quinn-stdint.h 1970-01-01 10:00:00.000000000 +1000
|
|
+++ b/gcc/config/quinn-stdint.h 2020-12-28 13:39:57.730315512 +1000
|
|
@@ -0,0 +1,55 @@
|
|
+/* Definitions for <stdint.h> types for NetBSD systems.
|
|
+ Copyright (C) 2016-2017 Free Software Foundation, Inc.
|
|
+
|
|
+This file is part of GCC.
|
|
+
|
|
+GCC is free software; you can redistribute it and/or modify
|
|
+it under the terms of the GNU General Public License as published by
|
|
+the Free Software Foundation; either version 3, or (at your option)
|
|
+any later version.
|
|
+
|
|
+GCC is distributed in the hope that it will be useful,
|
|
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+GNU General Public License for more details.
|
|
+
|
|
+Under Section 7 of GPL version 3, you are granted additional
|
|
+permissions described in the GCC Runtime Library Exception, version
|
|
+3.1, as published by the Free Software Foundation.
|
|
+
|
|
+You should have received a copy of the GNU General Public License and
|
|
+a copy of the GCC Runtime Library Exception along with this program;
|
|
+see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
+<http://www.gnu.org/licenses/>. */
|
|
+
|
|
+#define SIG_ATOMIC_TYPE "int"
|
|
+
|
|
+#define INT8_TYPE "signed char"
|
|
+#define INT16_TYPE "short int"
|
|
+#define INT32_TYPE "int"
|
|
+#define INT64_TYPE "long long int"
|
|
+#define UINT8_TYPE "unsigned char"
|
|
+#define UINT16_TYPE "short unsigned int"
|
|
+#define UINT32_TYPE "unsigned int"
|
|
+#define UINT64_TYPE "long long unsigned int"
|
|
+
|
|
+#define INT_LEAST8_TYPE INT8_TYPE
|
|
+#define INT_LEAST16_TYPE INT16_TYPE
|
|
+#define INT_LEAST32_TYPE INT32_TYPE
|
|
+#define INT_LEAST64_TYPE INT64_TYPE
|
|
+#define UINT_LEAST8_TYPE UINT8_TYPE
|
|
+#define UINT_LEAST16_TYPE UINT16_TYPE
|
|
+#define UINT_LEAST32_TYPE UINT32_TYPE
|
|
+#define UINT_LEAST64_TYPE UINT64_TYPE
|
|
+
|
|
+#define INT_FAST8_TYPE INT32_TYPE
|
|
+#define INT_FAST16_TYPE INT32_TYPE
|
|
+#define INT_FAST32_TYPE INT32_TYPE
|
|
+#define INT_FAST64_TYPE INT64_TYPE
|
|
+#define UINT_FAST8_TYPE UINT32_TYPE
|
|
+#define UINT_FAST16_TYPE UINT32_TYPE
|
|
+#define UINT_FAST32_TYPE UINT32_TYPE
|
|
+#define UINT_FAST64_TYPE UINT64_TYPE
|
|
+
|
|
+#define INTPTR_TYPE INT32_TYPE
|
|
+#define UINTPTR_TYPE UINT32_TYPE
|
|
diff -Naur a/gcc/config.gcc b/gcc/config.gcc
|
|
--- a/gcc/config.gcc 2020-07-23 16:35:17.316384243 +1000
|
|
+++ b/gcc/config.gcc 2020-12-28 13:39:57.734315339 +1000
|
|
@@ -675,6 +675,11 @@
|
|
|
|
# Common parts for widely ported systems.
|
|
case ${target} in
|
|
+*-*-quinn*)
|
|
+ gas=yes
|
|
+ gnu_ld=yes
|
|
+ default_use_cxa_atexit=yes
|
|
+ ;;
|
|
*-*-darwin*)
|
|
tmake_file="t-darwin "
|
|
tm_file="${tm_file} darwin.h"
|
|
@@ -1033,6 +1038,8 @@
|
|
esac
|
|
|
|
case ${target} in
|
|
+i[34567]86-*-quinn*)
|
|
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h quinn.h quinn-stdint.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 -Naur a/libgcc/config.host b/libgcc/config.host
|
|
--- a/libgcc/config.host 2020-07-23 16:35:18.752400064 +1000
|
|
+++ b/libgcc/config.host 2020-12-28 13:45:49.991049522 +1000
|
|
@@ -737,6 +737,10 @@
|
|
;;
|
|
x86_64-*-openbsd*)
|
|
;;
|
|
+i[34567]86-*-quinn*)
|
|
+ extra_parts="$extra_parts crtbegin.o crtend.o"
|
|
+ tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
|
|
+ ;;
|
|
i[34567]86-*-linux*)
|
|
extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
|
|
tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
|
|
diff -Naur a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
|
|
--- a/libstdc++-v3/crossconfig.m4 2020-07-23 16:35:19.188404867 +1000
|
|
+++ b/libstdc++-v3/crossconfig.m4 2020-12-28 13:39:57.754314471 +1000
|
|
@@ -5,6 +5,13 @@
|
|
AC_DEFUN([GLIBCXX_CROSSCONFIG],[
|
|
# Base decisions on target environment.
|
|
case "${host}" in
|
|
+ *-quinn*)
|
|
+ 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.
|
|
;;
|