This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Search additional directories for xtensa-elf target
- From: Bob Wilson <bwilson at tensilica dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 25 Nov 2004 19:59:31 -0800
- Subject: Search additional directories for xtensa-elf target
- Organization: Tensilica, Inc.
Newer versions of Xtensa tools from Tensilica put some headers and libraries in
a separate "arch" directory underneath the "tooldir" directory. This patch
causes the gcc driver to search those directories. Committed on mainline.
2004-11-25 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0.
(GCC_DRIVER_HOST_INITIALIZATION): Define.
Index: elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/xtensa/elf.h,v
retrieving revision 1.12
diff -u -r1.12 elf.h
--- elf.h 25 Dec 2003 04:49:32 -0000 1.12
+++ elf.h 26 Nov 2004 03:54:16 -0000
@@ -56,7 +56,8 @@
#define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal"
#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "crt1-sim%O%s crti%O%s crtbegin%O%s _vectors%O%s"
+#define STARTFILE_SPEC \
+ "crt1-sim%O%s crt0%O%s crti%O%s crtbegin%O%s _vectors%O%s"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend%O%s crtn%O%s"
@@ -91,3 +92,24 @@
XTENSA_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL); \
} \
while (0)
+
+/* Search for headers in $tooldir/arch/include and for libraries and
+ startfiles in $tooldir/arch/lib. */
+#define GCC_DRIVER_HOST_INITIALIZATION \
+do \
+{ \
+ char *tooldir, *archdir; \
+ tooldir = concat (tooldir_base_prefix, spec_machine, \
+ dir_separator_str, NULL); \
+ if (!IS_ABSOLUTE_PATH (tooldir)) \
+ tooldir = concat (standard_exec_prefix, spec_machine, dir_separator_str, \
+ spec_version, dir_separator_str, tooldir, NULL); \
+ archdir = concat (tooldir, "arch", dir_separator_str, NULL); \
+ add_prefix (&startfile_prefixes, \
+ concat (archdir, "lib", dir_separator_str, NULL), \
+ "GCC", PREFIX_PRIORITY_LAST, 0, 1); \
+ add_prefix (&include_prefixes, archdir, \
+ "GCC", PREFIX_PRIORITY_LAST, 0, 0); \
+ } \
+while (0)
+