quinn-os/gcc-5.2.0.diff
2016-01-28 19:33:52 +10:00

107 lines
4.0 KiB
Diff

diff -Naur orig/gcc-5.2.0/config.sub gcc-5.2.0/config.sub
--- orig/gcc-5.2.0/config.sub 2015-01-02 19:30:21.000000000 +1000
+++ gcc-5.2.0/config.sub 2015-12-29 19:06:50.000000000 +1000
@@ -1373,7 +1373,7 @@
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -quinn* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff -Naur orig/gcc-5.2.0/fixincludes/mkfixinc.sh gcc-5.2.0/fixincludes/mkfixinc.sh
--- orig/gcc-5.2.0/fixincludes/mkfixinc.sh 2012-10-29 07:42:48.000000000 +1000
+++ gcc-5.2.0/fixincludes/mkfixinc.sh 2015-12-29 19:06:50.000000000 +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-5.2.0/gcc/config/quinn.h gcc-5.2.0/gcc/config/quinn.h
--- orig/gcc-5.2.0/gcc/config/quinn.h 1970-01-01 10:00:00.000000000 +1000
+++ gcc-5.2.0/gcc/config/quinn.h 2015-12-29 19:06:50.000000000 +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-5.2.0/gcc/config.gcc gcc-5.2.0/gcc/config.gcc
--- orig/gcc-5.2.0/gcc/config.gcc 2015-07-03 01:53:33.000000000 +1000
+++ gcc-5.2.0/gcc/config.gcc 2015-12-29 19:06:50.000000000 +1000
@@ -598,6 +598,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"
@@ -876,6 +881,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"
+ ;;
aarch64*-*-elf)
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-5.2.0/libgcc/config.host gcc-5.2.0/libgcc/config.host
--- orig/gcc-5.2.0/libgcc/config.host 2015-06-26 03:55:02.000000000 +1000
+++ gcc-5.2.0/libgcc/config.host 2015-12-29 19:06:50.000000000 +1000
@@ -317,6 +317,10 @@
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)
extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
extra_parts="$extra_parts crtfastmath.o"
diff -Naur orig/gcc-5.2.0/libstdc++-v3/crossconfig.m4 gcc-5.2.0/libstdc++-v3/crossconfig.m4
--- orig/gcc-5.2.0/libstdc++-v3/crossconfig.m4 2014-04-22 22:30:59.000000000 +1000
+++ gcc-5.2.0/libstdc++-v3/crossconfig.m4 2015-12-29 19:06:50.000000000 +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.
;;