This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]