quinn-os/gcc-7.2.0.diff
2017-10-07 16:10:31 +10:00

167 lines
6.5 KiB
Diff

diff -Naur orig/gcc-7.2.0/config.sub gcc-7.2.0/config.sub
--- orig/gcc-7.2.0/config.sub 2016-12-29 21:04:53.721993000 +1000
+++ gcc-7.2.0/config.sub 2017-10-07 13:36:01.437441865 +1000
@@ -1388,7 +1388,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* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff -Naur orig/gcc-7.2.0/fixincludes/mkfixinc.sh gcc-7.2.0/fixincludes/mkfixinc.sh
--- orig/gcc-7.2.0/fixincludes/mkfixinc.sh 2016-06-22 07:57:20.986088000 +1000
+++ gcc-7.2.0/fixincludes/mkfixinc.sh 2017-10-07 13:36:35.461185292 +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 orig/gcc-7.2.0/gcc/config/quinn-stdint.h gcc-7.2.0/gcc/config/quinn-stdint.h
--- orig/gcc-7.2.0/gcc/config/quinn-stdint.h 1970-01-01 10:00:00.000000000 +1000
+++ gcc-7.2.0/gcc/config/quinn-stdint.h 2017-10-07 14:38:12.858891038 +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 orig/gcc-7.2.0/gcc/config/quinn.h gcc-7.2.0/gcc/config/quinn.h
--- orig/gcc-7.2.0/gcc/config/quinn.h 1970-01-01 10:00:00.000000000 +1000
+++ gcc-7.2.0/gcc/config/quinn.h 2017-10-07 13:37:33.584749042 +1000
@@ -0,0 +1,24 @@
+/* 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 */
+
+/* Don't automatically add extern "C" { } around header files. */
+#undef NO_IMPLICIT_EXTERN_C
+#define NO_IMPLICIT_EXTERN_C 1
+
+/* 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 orig/gcc-7.2.0/gcc/config.gcc gcc-7.2.0/gcc/config.gcc
--- orig/gcc-7.2.0/gcc/config.gcc 2017-07-31 21:33:18.182361000 +1000
+++ gcc-7.2.0/gcc/config.gcc 2017-10-07 14:39:20.154553932 +1000
@@ -615,6 +615,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 ${cpu_type}/t-darwin"
tm_file="${tm_file} darwin.h"
@@ -918,6 +923,9 @@
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-elf-raw.h"
diff -Naur orig/gcc-7.2.0/libgcc/config.host gcc-7.2.0/libgcc/config.host
--- orig/gcc-7.2.0/libgcc/config.host 2017-05-11 06:42:58.366374000 +1000
+++ gcc-7.2.0/libgcc/config.host 2017-10-07 14:22:48.864920313 +1000
@@ -329,6 +329,11 @@
esac
case ${host} in
+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"
+ ;;
+
aarch64*-*-elf | aarch64*-*-rtems*)
extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
extra_parts="$extra_parts crtfastmath.o"
diff -Naur orig/gcc-7.2.0/libstdc++-v3/crossconfig.m4 gcc-7.2.0/libstdc++-v3/crossconfig.m4
--- orig/gcc-7.2.0/libstdc++-v3/crossconfig.m4 2017-01-18 09:36:12.846709000 +1000
+++ gcc-7.2.0/libstdc++-v3/crossconfig.m4 2017-10-07 13:45:00.929454075 +1000
@@ -5,6 +5,12 @@
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.
;;