diff gcc/config/fuchsia.h @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/config/fuchsia.h	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,68 @@
+/* Base configuration file for all Fuchsia targets.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   Contributed by Google.
+
+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.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+/* Common Fuchsia configuration.  */
+
+#undef  STARTFILE_SPEC
+#define STARTFILE_SPEC "%{!shared: crt1%O%s} crtbegin%O%s"
+
+#undef  ENDFILE_SPEC
+#define ENDFILE_SPEC "crtend%O%s"
+
+/* When neither pic nor pie has been specified, use PIE.  */
+#undef  CC1_SPEC
+#define CC1_SPEC "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC:" \
+                   "%{!fno-pie:%{!fno-PIE:%{!fpie:%{!fPIE: -fPIE}}}}}}}}"
+
+#undef  LIB_SPEC
+#define LIB_SPEC "--start-group" \
+		 " -lmxio -lmagenta -lc -llaunchpad" \
+		 "%{!static: -lgcc_s}" \
+		 " --end-group"
+
+#undef  LINK_SPEC
+#define LINK_SPEC "-z max-page-size=4096" \
+		  " -z combreloc" \
+		  " -z relro" \
+		  " -z now" \
+		  " -z text" \
+		  "%{!hash-style: --hash-style=gnu}" \
+		  "%{!no-eh-frame-hdr: --eh-frame-hdr}" \
+		  "%{!no-build-id: --build-id}" \
+		  "%{shared: -shared}" \
+		  "%{!shared:%{!static:%{!dynamic-linker: -dynamic-linker=ld.so.1}}}"
+
+/* We are using MUSL as our libc.  */
+#undef  OPTION_MUSL
+#define OPTION_MUSL 1
+
+#ifndef TARGET_SUB_OS_CPP_BUILTINS
+#define TARGET_SUB_OS_CPP_BUILTINS()
+#endif
+
+#undef  TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS()		\
+  do						\
+    {						\
+      builtin_define ("__fuchsia__");		\
+      TARGET_SUB_OS_CPP_BUILTINS();		\
+    }						\
+  while (false)
+