Patchwork sparc64*-*-rtems* should not define __svr4__

login
register
mail settings
Submitter Joel Sherrill
Date May 10, 2013, 8:57 p.m.
Message ID <518D5F38.60203@oarcorp.com>
Download mbox | patch
Permalink /patch/243063/
State New
Headers show

Comments

Joel Sherrill - May 10, 2013, 8:57 p.m.
Hi

sparc64*-*-rtems* ends up with __svr4__ defined. The attached
patch corrects that.

OK to apply?

013-05-10  Joel Sherrill  <joel.sherrill@oarcorp.com>

         * config.gcc (sparc64*-*-rtems*): Use sp64-rtemself.h.
         RTEMS target should not have -D__svr4__ in CPP_SUBTARGET_SPEC.
         * config/sparc/sp64-rtemself.h: New file.

Patch

Index: gcc/config/sparc/sp64-rtemself.h
===================================================================
--- gcc/config/sparc/sp64-rtemself.h	(revision 0)
+++ gcc/config/sparc/sp64-rtemself.h	(working copy)
@@ -0,0 +1,37 @@ 
+/* Definitions for rtems targeting a SPARC64 using ELF.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   Contributed by Joel Sherrill (joel.sherrill@OARcorp.com).
+
+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/>.  */
+
+/* Target OS builtins.  */
+#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS()		\
+  do						\
+    {						\
+	builtin_define ("__rtems__");		\
+	builtin_define ("__USE_INIT_FINI__");	\
+	builtin_assert ("system=rtems");	\
+    }						\
+  while (0)
+
+/* Use the default */
+#undef LINK_GCC_C_SEQUENCE_SPEC
+
+/* we are not svr4 */
+#undef CPP_SUBTARGET_SPEC
+#define CPP_SUBTARGET_SPEC ""
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 198775)
+++ gcc/config.gcc	(working copy)
@@ -2516,7 +2516,7 @@ 
 	tmake_file="${tmake_file} sparc/t-sparc"
 	;;
 sparc64-*-rtems*)
-	tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
+	tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/sp64-rtemself.h rtems.h"
 	extra_options="${extra_options}"
 	tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64 t-rtems"
 	;;