This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
svr4.h avoidance: xtensa
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: sterling at tensilica dot com
- Date: Mon, 13 Dec 2010 23:16:46 +0000 (UTC)
- Subject: svr4.h avoidance: xtensa
This patch in the series removing svr4.h from the headers used by
particular targets in GCC stops xtensa*-*-elf* and xtensa*-*-linux*
(that is, all xtensa*-* targets) from using svr4.h.
Both targets use the SIZE_TYPE and PTRDIFF_TYPE definitions from
svr4.h so those are added to xtensa/elf.h and xtensa/linux.h. In
addition, because svr4.h is included after xtensa.h they get the
#undef of DBX_REGISTER_NUMBER from svr4.h; that also is added to
xtensa/elf.h and xtensa/linux.h to avoid this patch changing any
semantics. (The target maintainers should note that the xtensa.h
definition of DBX_REGISTER_NUMBER is in fact not used by any target
configuration, and consider fixing this by either removing the
#undefs, if that is correct and does not cause compatibility problems,
or removing the xtensa.h definition and associated function.)
Tested building cc1 and xgcc for crosses to xtensa-elf and
xtensa-linux-gnu. OK to commit?
2010-12-13 Joseph Myers <joseph@codesourcery.com>
* config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
(DBX_REGISTER_NUMBER): Undefine.
* config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
(DBX_REGISTER_NUMBER): Undefine.
* config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc (revision 167746)
+++ gcc/config.gcc (working copy)
@@ -2660,11 +2660,11 @@ xstormy16-*-elf)
extra_parts="crtbegin.o crtend.o"
;;
xtensa*-*-elf*)
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h newlib-stdint.h xtensa/elf.h"
+ tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
tmake_file="xtensa/t-xtensa xtensa/t-elf"
;;
xtensa*-*-linux*)
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h glibc-stdint.h xtensa/linux.h"
+ tm_file="${tm_file} dbxelf.h elfos.h linux.h glibc-stdint.h xtensa/linux.h"
tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux"
;;
am33_2.0-*-linux*)
Index: gcc/config/xtensa/linux.h
===================================================================
--- gcc/config/xtensa/linux.h (revision 167746)
+++ gcc/config/xtensa/linux.h (working copy)
@@ -27,6 +27,12 @@ along with GCC; see the file COPYING3.
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (Xtensa GNU/Linux with ELF)", stderr);
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
#undef WCHAR_TYPE
#define WCHAR_TYPE "long int"
@@ -60,5 +66,7 @@ along with GCC; see the file COPYING3.
/* Always enable "-fpic" for Xtensa Linux. */
#define XTENSA_ALWAYS_PIC 1
+#undef DBX_REGISTER_NUMBER
+
#define MD_UNWIND_SUPPORT "config/xtensa/linux-unwind.h"
Index: gcc/config/xtensa/elf.h
===================================================================
--- gcc/config/xtensa/elf.h (revision 167746)
+++ gcc/config/xtensa/elf.h (working copy)
@@ -32,6 +32,12 @@ along with GCC; see the file COPYING3.
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (Xtensa/ELF)", stderr);
+#undef SIZE_TYPE
+#define SIZE_TYPE "unsigned int"
+
+#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "int"
+
#undef WCHAR_TYPE
#define WCHAR_TYPE "short unsigned int"
@@ -75,6 +81,8 @@ along with GCC; see the file COPYING3.
/* Do not force "-fpic" for this target. */
#define XTENSA_ALWAYS_PIC 0
+#undef DBX_REGISTER_NUMBER
+
/* Search for headers in $tooldir/arch/include and for libraries and
startfiles in $tooldir/arch/lib. */
#define GCC_DRIVER_HOST_INITIALIZATION \
--
Joseph S. Myers
joseph@codesourcery.com