This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
svr4.h avoidance: m32c
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: dj at redhat dot com
- Date: Tue, 14 Dec 2010 00:11:02 +0000 (UTC)
- Subject: svr4.h avoidance: m32c
This patch in the series removing svr4.h from the headers used by
particular targets in GCC stops m32c-*-elf* and m32c-*-rtems* (that
is, all m32c-* targets) from using svr4.h.
The macros used from svr4.h are added to m32c.h. For LINK_SPEC I used
the same simplified definition I used for other targets (see
<http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00588.html>), and for
ENDFILE_SPEC I also simplified the svr4.h definition, removing -pg
support since none of the other m32c specs have such support. (For
RTEMS, ENDFILE_SPEC in turn ends up getting overridden to empty by
config/rtems.h.)
Tested building cc1 and xgcc for crosses to m32c-elf and m32c-rtems.
OK to commit?
2010-12-13 Joseph Myers <joseph@codesourcery.com>
* config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
* config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc (revision 167746)
+++ gcc/config.gcc (working copy)
@@ -2675,13 +2675,13 @@ am33_2.0-*-linux*)
use_collect2=no
;;
m32c-*-rtems*)
- tm_file="dbxelf.h elfos.h svr4.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
+ tm_file="dbxelf.h elfos.h ${tm_file} m32c/rtems.h rtems.h newlib-stdint.h"
tmake_file="${tmake_file} t-rtems"
c_target_objs="m32c-pragma.o"
cxx_target_objs="m32c-pragma.o"
;;
m32c-*-elf*)
- tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h ${tm_file}"
+ tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
c_target_objs="m32c-pragma.o"
cxx_target_objs="m32c-pragma.o"
;;
Index: gcc/config/m32c/m32c.h
===================================================================
--- gcc/config/m32c/m32c.h (revision 167746)
+++ gcc/config/m32c/m32c.h (working copy)
@@ -27,6 +27,13 @@
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "crt0.o%s crtbegin.o%s"
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
+
+#undef LINK_SPEC
+#define LINK_SPEC "%{h*} %{v:-V} \
+ %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic}"
+
/* There are four CPU series we support, but they basically break down
into two families - the R8C/M16C families, with 16-bit address
registers and one set of opcodes, and the M32CM/M32C group, with
@@ -190,6 +197,18 @@ machine_function;
#undef UINTPTR_TYPE
#define UINTPTR_TYPE (TARGET_A16 ? "unsigned int" : "long unsigned int")
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
+#undef WCHAR_TYPE
+#define WCHAR_TYPE "long int"
+
+#undef WCHAR_TYPE_SIZE
+#define WCHAR_TYPE_SIZE BITS_PER_WORD
+
/* REGISTER USAGE */
/* Register Basics */
--
Joseph S. Myers
joseph@codesourcery.com