summaryrefslogtreecommitdiffstats
path: root/contrib/crossrpms/patches/gcc-core-3.4.6-rtems4.9-20071111.diff
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2007-11-13 08:38:30 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2007-11-13 08:38:30 +0000
commit3ef68f9ed37270347ab9fcbc1e7d6065381856ef (patch)
tree09fee4703587d7bd12ebde44b1d9bcece059b63c /contrib/crossrpms/patches/gcc-core-3.4.6-rtems4.9-20071111.diff
parentRegenerate. (diff)
downloadrtems-3ef68f9ed37270347ab9fcbc1e7d6065381856ef.tar.bz2
Remove *.origs
Diffstat (limited to '')
-rw-r--r--contrib/crossrpms/patches/gcc-core-3.4.6-rtems4.9-20071111.diff6790
1 files changed, 0 insertions, 6790 deletions
diff --git a/contrib/crossrpms/patches/gcc-core-3.4.6-rtems4.9-20071111.diff b/contrib/crossrpms/patches/gcc-core-3.4.6-rtems4.9-20071111.diff
index 8108e55a9d..11a8403436 100644
--- a/contrib/crossrpms/patches/gcc-core-3.4.6-rtems4.9-20071111.diff
+++ b/contrib/crossrpms/patches/gcc-core-3.4.6-rtems4.9-20071111.diff
@@ -10,2878 +10,6 @@ diff -uNr gcc-3.4.6.orig/gcc/collect2.c gcc-3.4.6/gcc/collect2.c
/* Duplicate the stdout and stderr file handles
so they can be restored later. */
-diff -uNr gcc-3.4.6.orig/gcc/collect2.c.orig gcc-3.4.6/gcc/collect2.c.orig
---- gcc-3.4.6.orig/gcc/collect2.c.orig 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-3.4.6/gcc/collect2.c.orig 2005-01-10 16:25:23.000000000 +0100
-@@ -0,0 +1,2868 @@
-+/* Collect static initialization info into data structures that can be
-+ traversed by C++ initialization and finalization routines.
-+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-+ 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+ Contributed by Chris Smith (csmith@convex.com).
-+ Heavily modified by Michael Meissner (meissner@cygnus.com),
-+ Per Bothner (bothner@cygnus.com), and John Gilmore (gnu@cygnus.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 2, 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 COPYING. If not, write to the Free
-+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-+02111-1307, USA. */
-+
-+
-+/* Build tables of static constructors and destructors and run ld. */
-+
-+#include "config.h"
-+#include "system.h"
-+#include "coretypes.h"
-+#include "tm.h"
-+#include <signal.h>
-+#if ! defined( SIGCHLD ) && defined( SIGCLD )
-+# define SIGCHLD SIGCLD
-+#endif
-+
-+#ifdef vfork /* Autoconf may define this to fork for us. */
-+# define VFORK_STRING "fork"
-+#else
-+# define VFORK_STRING "vfork"
-+#endif
-+#ifdef HAVE_VFORK_H
-+#include <vfork.h>
-+#endif
-+#ifdef VMS
-+#define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \
-+ lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1)
-+#endif /* VMS */
-+
-+#ifndef LIBRARY_PATH_ENV
-+#define LIBRARY_PATH_ENV "LIBRARY_PATH"
-+#endif
-+
-+#define COLLECT
-+
-+#include "collect2.h"
-+#include "demangle.h"
-+#include "obstack.h"
-+#include "intl.h"
-+#include "version.h"
-+
-+/* On certain systems, we have code that works by scanning the object file
-+ directly. But this code uses system-specific header files and library
-+ functions, so turn it off in a cross-compiler. Likewise, the names of
-+ the utilities are not correct for a cross-compiler; we have to hope that
-+ cross-versions are in the proper directories. */
-+
-+#ifdef CROSS_COMPILE
-+#undef SUNOS4_SHARED_LIBRARIES
-+#undef OBJECT_FORMAT_COFF
-+#undef MD_EXEC_PREFIX
-+#undef REAL_LD_FILE_NAME
-+#undef REAL_NM_FILE_NAME
-+#undef REAL_STRIP_FILE_NAME
-+#endif
-+
-+/* If we cannot use a special method, use the ordinary one:
-+ run nm to find what symbols are present.
-+ In a cross-compiler, this means you need a cross nm,
-+ but that is not quite as unpleasant as special headers. */
-+
-+#if !defined (OBJECT_FORMAT_COFF)
-+#define OBJECT_FORMAT_NONE
-+#endif
-+
-+#ifdef OBJECT_FORMAT_COFF
-+
-+#include <a.out.h>
-+#include <ar.h>
-+
-+#ifdef UMAX
-+#include <sgs.h>
-+#endif
-+
-+/* Many versions of ldfcn.h define these. */
-+#ifdef FREAD
-+#undef FREAD
-+#undef FWRITE
-+#endif
-+
-+#include <ldfcn.h>
-+
-+/* Some systems have an ISCOFF macro, but others do not. In some cases
-+ the macro may be wrong. MY_ISCOFF is defined in tm.h files for machines
-+ that either do not have an ISCOFF macro in /usr/include or for those
-+ where it is wrong. */
-+
-+#ifndef MY_ISCOFF
-+#define MY_ISCOFF(X) ISCOFF (X)
-+#endif
-+
-+#endif /* OBJECT_FORMAT_COFF */
-+
-+#ifdef OBJECT_FORMAT_NONE
-+
-+/* Default flags to pass to nm. */
-+#ifndef NM_FLAGS
-+#define NM_FLAGS "-n"
-+#endif
-+
-+#endif /* OBJECT_FORMAT_NONE */
-+
-+/* Some systems use __main in a way incompatible with its use in gcc, in these
-+ cases use the macros NAME__MAIN to give a quoted symbol and SYMBOL__MAIN to
-+ give the same symbol without quotes for an alternative entry point. */
-+#ifndef NAME__MAIN
-+#define NAME__MAIN "__main"
-+#endif
-+
-+/* This must match tree.h. */
-+#define DEFAULT_INIT_PRIORITY 65535
-+
-+#ifndef COLLECT_SHARED_INIT_FUNC
-+#define COLLECT_SHARED_INIT_FUNC(STREAM, FUNC) \
-+ fprintf ((STREAM), "void _GLOBAL__DI() {\n\t%s();\n}\n", (FUNC))
-+#endif
-+#ifndef COLLECT_SHARED_FINI_FUNC
-+#define COLLECT_SHARED_FINI_FUNC(STREAM, FUNC) \
-+ fprintf ((STREAM), "void _GLOBAL__DD() {\n\t%s();\n}\n", (FUNC))
-+#endif
-+
-+#if defined (LDD_SUFFIX) || SUNOS4_SHARED_LIBRARIES
-+#define SCAN_LIBRARIES
-+#endif
-+
-+#ifdef USE_COLLECT2
-+int do_collecting = 1;
-+#else
-+int do_collecting = 0;
-+#endif
-+
-+#ifndef COLLECT_PARSE_FLAG
-+#define COLLECT_PARSE_FLAG(FLAG)
-+#endif
-+
-+/* Nonzero if we should suppress the automatic demangling of identifiers
-+ in linker error messages. Set from COLLECT_NO_DEMANGLE. */
-+int no_demangle;
-+
-+/* Linked lists of constructor and destructor names. */
-+
-+struct id
-+{
-+ struct id *next;
-+ int sequence;
-+ char name[1];
-+};
-+
-+struct head
-+{
-+ struct id *first;
-+ struct id *last;
-+ int number;
-+};
-+
-+/* Enumeration giving which pass this is for scanning the program file. */
-+
-+enum pass {
-+ PASS_FIRST, /* without constructors */
-+ PASS_OBJ, /* individual objects */
-+ PASS_LIB, /* looking for shared libraries */
-+ PASS_SECOND /* with constructors linked in */
-+};
-+
-+int vflag; /* true if -v */
-+static int rflag; /* true if -r */
-+static int strip_flag; /* true if -s */
-+#ifdef COLLECT_EXPORT_LIST
-+static int export_flag; /* true if -bE */
-+static int aix64_flag; /* true if -b64 */
-+static int aixrtl_flag; /* true if -brtl */
-+#endif
-+
-+int debug; /* true if -debug */
-+
-+static int shared_obj; /* true if -shared */
-+
-+static const char *c_file; /* <xxx>.c for constructor/destructor list. */
-+static const char *o_file; /* <xxx>.o for constructor/destructor list. */
-+#ifdef COLLECT_EXPORT_LIST
-+static const char *export_file; /* <xxx>.x for AIX export list. */
-+#endif
-+const char *ldout; /* File for ld errors. */
-+static const char *output_file; /* Output file for ld. */
-+static const char *nm_file_name; /* pathname of nm */
-+#ifdef LDD_SUFFIX
-+static const char *ldd_file_name; /* pathname of ldd (or equivalent) */
-+#endif
-+static const char *strip_file_name; /* pathname of strip */
-+const char *c_file_name; /* pathname of gcc */
-+static char *initname, *fininame; /* names of init and fini funcs */
-+
-+static struct head constructors; /* list of constructors found */
-+static struct head destructors; /* list of destructors found */
-+#ifdef COLLECT_EXPORT_LIST
-+static struct head exports; /* list of exported symbols */
-+#endif
-+static struct head frame_tables; /* list of frame unwind info tables */
-+
-+struct obstack temporary_obstack;
-+char * temporary_firstobj;
-+
-+/* Holds the return value of pexecute and fork. */
-+int pid;
-+
-+/* Structure to hold all the directories in which to search for files to
-+ execute. */
-+
-+struct prefix_list
-+{
-+ const char *prefix; /* String to prepend to the path. */
-+ struct prefix_list *next; /* Next in linked list. */
-+};
-+
-+struct path_prefix
-+{
-+ struct prefix_list *plist; /* List of prefixes to try */
-+ int max_len; /* Max length of a prefix in PLIST */
-+ const char *name; /* Name of this list (used in config stuff) */
-+};
-+
-+#ifdef COLLECT_EXPORT_LIST
-+/* Lists to keep libraries to be scanned for global constructors/destructors. */
-+static struct head libs; /* list of libraries */
-+static struct path_prefix cmdline_lib_dirs; /* directories specified with -L */
-+static struct path_prefix libpath_lib_dirs; /* directories in LIBPATH */
-+static struct path_prefix *libpaths[3] = {&cmdline_lib_dirs,
-+ &libpath_lib_dirs, NULL};
-+#endif
-+
-+static void handler (int);
-+static int is_ctor_dtor (const char *);
-+static char *find_a_file (struct path_prefix *, const char *);
-+static void add_prefix (struct path_prefix *, const char *);
-+static void prefix_from_env (const char *, struct path_prefix *);
-+static void prefix_from_string (const char *, struct path_prefix *);
-+static void do_wait (const char *);
-+static void fork_execute (const char *, char **);
-+static void maybe_unlink (const char *);
-+static void add_to_list (struct head *, const char *);
-+static int extract_init_priority (const char *);
-+static void sort_ids (struct head *);
-+static void write_list (FILE *, const char *, struct id *);
-+#ifdef COLLECT_EXPORT_LIST
-+static void dump_list (FILE *, const char *, struct id *);
-+#endif
-+#if 0
-+static void dump_prefix_list (FILE *, const char *, struct prefix_list *);
-+#endif
-+static void write_list_with_asm (FILE *, const char *, struct id *);
-+static void write_c_file (FILE *, const char *);
-+static void write_c_file_stat (FILE *, const char *);
-+#ifndef LD_INIT_SWITCH
-+static void write_c_file_glob (FILE *, const char *);
-+#endif
-+static void scan_prog_file (const char *, enum pass);
-+#ifdef SCAN_LIBRARIES
-+static void scan_libraries (const char *);
-+#endif
-+#if LINK_ELIMINATE_DUPLICATE_LDIRECTORIES
-+static int is_in_args (const char *, const char **, const char **);
-+#endif
-+#ifdef COLLECT_EXPORT_LIST
-+#if 0
-+static int is_in_list (const char *, struct id *);
-+#endif
-+static void write_aix_file (FILE *, struct id *);
-+static char *resolve_lib_name (const char *);
-+#endif
-+static char *extract_string (const char **);
-+
-+#ifndef HAVE_DUP2
-+static int
-+dup2 (int oldfd, int newfd)
-+{
-+ int fdtmp[256];
-+ int fdx = 0;
-+ int fd;
-+
-+ if (oldfd == newfd)
-+ return oldfd;
-+ close (newfd);
-+ while ((fd = dup (oldfd)) != newfd && fd >= 0) /* good enough for low fd's */
-+ fdtmp[fdx++] = fd;
-+ while (fdx > 0)
-+ close (fdtmp[--fdx]);
-+
-+ return fd;
-+}
-+#endif /* ! HAVE_DUP2 */
-+
-+/* Delete tempfiles and exit function. */
-+
-+void
-+collect_exit (int status)
-+{
-+ if (c_file != 0 && c_file[0])
-+ maybe_unlink (c_file);
-+
-+ if (o_file != 0 && o_file[0])
-+ maybe_unlink (o_file);
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ if (export_file != 0 && export_file[0])
-+ maybe_unlink (export_file);
-+#endif
-+
-+ if (ldout != 0 && ldout[0])
-+ {
-+ dump_file (ldout);
-+ maybe_unlink (ldout);
-+ }
-+
-+ if (status != 0 && output_file != 0 && output_file[0])
-+ maybe_unlink (output_file);
-+
-+ exit (status);
-+}
-+
-+
-+/* Notify user of a non-error. */
-+void
-+notice (const char *msgid, ...)
-+{
-+ va_list ap;
-+
-+ va_start (ap, msgid);
-+ vfprintf (stderr, _(msgid), ap);
-+ va_end (ap);
-+}
-+
-+/* Die when sys call fails. */
-+
-+void
-+fatal_perror (const char * msgid, ...)
-+{
-+ int e = errno;
-+ va_list ap;
-+
-+ va_start (ap, msgid);
-+ fprintf (stderr, "collect2: ");
-+ vfprintf (stderr, _(msgid), ap);
-+ fprintf (stderr, ": %s\n", xstrerror (e));
-+ va_end (ap);
-+
-+ collect_exit (FATAL_EXIT_CODE);
-+}
-+
-+/* Just die. */
-+
-+void
-+fatal (const char * msgid, ...)
-+{
-+ va_list ap;
-+
-+ va_start (ap, msgid);
-+ fprintf (stderr, "collect2: ");
-+ vfprintf (stderr, _(msgid), ap);
-+ fprintf (stderr, "\n");
-+ va_end (ap);
-+
-+ collect_exit (FATAL_EXIT_CODE);
-+}
-+
-+/* Write error message. */
-+
-+void
-+error (const char * msgid, ...)
-+{
-+ va_list ap;
-+
-+ va_start (ap, msgid);
-+ fprintf (stderr, "collect2: ");
-+ vfprintf (stderr, _(msgid), ap);
-+ fprintf (stderr, "\n");
-+ va_end(ap);
-+}
-+
-+/* In case obstack is linked in, and abort is defined to fancy_abort,
-+ provide a default entry. */
-+
-+void
-+fancy_abort (void)
-+{
-+ fatal ("internal error");
-+}
-+
-+static void
-+handler (int signo)
-+{
-+ if (c_file != 0 && c_file[0])
-+ maybe_unlink (c_file);
-+
-+ if (o_file != 0 && o_file[0])
-+ maybe_unlink (o_file);
-+
-+ if (ldout != 0 && ldout[0])
-+ maybe_unlink (ldout);
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ if (export_file != 0 && export_file[0])
-+ maybe_unlink (export_file);
-+#endif
-+
-+ signal (signo, SIG_DFL);
-+ kill (getpid (), signo);
-+}
-+
-+
-+int
-+file_exists (const char *name)
-+{
-+ return access (name, R_OK) == 0;
-+}
-+
-+/* Parse a reasonable subset of shell quoting syntax. */
-+
-+static char *
-+extract_string (const char **pp)
-+{
-+ const char *p = *pp;
-+ int backquote = 0;
-+ int inside = 0;
-+
-+ for (;;)
-+ {
-+ char c = *p;
-+ if (c == '\0')
-+ break;
-+ ++p;
-+ if (backquote)
-+ obstack_1grow (&temporary_obstack, c);
-+ else if (! inside && c == ' ')
-+ break;
-+ else if (! inside && c == '\\')
-+ backquote = 1;
-+ else if (c == '\'')
-+ inside = !inside;
-+ else
-+ obstack_1grow (&temporary_obstack, c);
-+ }
-+
-+ obstack_1grow (&temporary_obstack, '\0');
-+ *pp = p;
-+ return obstack_finish (&temporary_obstack);
-+}
-+
-+void
-+dump_file (const char *name)
-+{
-+ FILE *stream = fopen (name, "r");
-+
-+ if (stream == 0)
-+ return;
-+ while (1)
-+ {
-+ int c;
-+ while (c = getc (stream),
-+ c != EOF && (ISIDNUM (c) || c == '$' || c == '.'))
-+ obstack_1grow (&temporary_obstack, c);
-+ if (obstack_object_size (&temporary_obstack) > 0)
-+ {
-+ const char *word, *p;
-+ char *result;
-+ obstack_1grow (&temporary_obstack, '\0');
-+ word = obstack_finish (&temporary_obstack);
-+
-+ if (*word == '.')
-+ ++word, putc ('.', stderr);
-+ p = word;
-+ if (!strncmp (p, USER_LABEL_PREFIX, strlen (USER_LABEL_PREFIX)))
-+ p += strlen (USER_LABEL_PREFIX);
-+
-+ if (no_demangle)
-+ result = 0;
-+ else
-+ result = cplus_demangle (p, DMGL_PARAMS | DMGL_ANSI | DMGL_VERBOSE);
-+
-+ if (result)
-+ {
-+ int diff;
-+ fputs (result, stderr);
-+
-+ diff = strlen (word) - strlen (result);
-+ while (diff > 0 && c == ' ')
-+ --diff, putc (' ', stderr);
-+ while (diff < 0 && c == ' ')
-+ ++diff, c = getc (stream);
-+
-+ free (result);
-+ }
-+ else
-+ fputs (word, stderr);
-+
-+ fflush (stderr);
-+ obstack_free (&temporary_obstack, temporary_firstobj);
-+ }
-+ if (c == EOF)
-+ break;
-+ putc (c, stderr);
-+ }
-+ fclose (stream);
-+}
-+
-+/* Decide whether the given symbol is: a constructor (1), a destructor
-+ (2), a routine in a shared object that calls all the constructors
-+ (3) or destructors (4), a DWARF exception-handling table (5), or
-+ nothing special (0). */
-+
-+static int
-+is_ctor_dtor (const char *s)
-+{
-+ struct names { const char *const name; const int len; const int ret;
-+ const int two_underscores; };
-+
-+ const struct names *p;
-+ int ch;
-+ const char *orig_s = s;
-+
-+ static const struct names special[] = {
-+#ifndef NO_DOLLAR_IN_LABEL
-+ { "GLOBAL__I$", sizeof ("GLOBAL__I$")-1, 1, 0 },
-+ { "GLOBAL__D$", sizeof ("GLOBAL__D$")-1, 2, 0 },
-+#else
-+#ifndef NO_DOT_IN_LABEL
-+ { "GLOBAL__I.", sizeof ("GLOBAL__I.")-1, 1, 0 },
-+ { "GLOBAL__D.", sizeof ("GLOBAL__D.")-1, 2, 0 },
-+#endif /* NO_DOT_IN_LABEL */
-+#endif /* NO_DOLLAR_IN_LABEL */
-+ { "GLOBAL__I_", sizeof ("GLOBAL__I_")-1, 1, 0 },
-+ { "GLOBAL__D_", sizeof ("GLOBAL__D_")-1, 2, 0 },
-+ { "GLOBAL__F_", sizeof ("GLOBAL__F_")-1, 5, 0 },
-+ { "GLOBAL__FI_", sizeof ("GLOBAL__FI_")-1, 3, 0 },
-+ { "GLOBAL__FD_", sizeof ("GLOBAL__FD_")-1, 4, 0 },
-+ { NULL, 0, 0, 0 }
-+ };
-+
-+ while ((ch = *s) == '_')
-+ ++s;
-+
-+ if (s == orig_s)
-+ return 0;
-+
-+ for (p = &special[0]; p->len > 0; p++)
-+ {
-+ if (ch == p->name[0]
-+ && (!p->two_underscores || ((s - orig_s) >= 2))
-+ && strncmp(s, p->name, p->len) == 0)
-+ {
-+ return p->ret;
-+ }
-+ }
-+ return 0;
-+}
-+
-+/* We maintain two prefix lists: one from COMPILER_PATH environment variable
-+ and one from the PATH variable. */
-+
-+static struct path_prefix cpath, path;
-+
-+#ifdef CROSS_COMPILE
-+/* This is the name of the target machine. We use it to form the name
-+ of the files to execute. */
-+
-+static const char *const target_machine = TARGET_MACHINE;
-+#endif
-+
-+/* Search for NAME using prefix list PPREFIX. We only look for executable
-+ files.
-+
-+ Return 0 if not found, otherwise return its name, allocated with malloc. */
-+
-+static char *
-+find_a_file (struct path_prefix *pprefix, const char *name)
-+{
-+ char *temp;
-+ struct prefix_list *pl;
-+ int len = pprefix->max_len + strlen (name) + 1;
-+
-+ if (debug)
-+ fprintf (stderr, "Looking for '%s'\n", name);
-+
-+#ifdef HOST_EXECUTABLE_SUFFIX
-+ len += strlen (HOST_EXECUTABLE_SUFFIX);
-+#endif
-+
-+ temp = xmalloc (len);
-+
-+ /* Determine the filename to execute (special case for absolute paths). */
-+
-+ if (*name == '/'
-+#ifdef HAVE_DOS_BASED_FILE_SYSTEM
-+ || (*name && name[1] == ':')
-+#endif
-+ )
-+ {
-+ if (access (name, X_OK) == 0)
-+ {
-+ strcpy (temp, name);
-+
-+ if (debug)
-+ fprintf (stderr, " - found: absolute path\n");
-+
-+ return temp;
-+ }
-+
-+#ifdef HOST_EXECUTABLE_SUFFIX
-+ /* Some systems have a suffix for executable files.
-+ So try appending that. */
-+ strcpy (temp, name);
-+ strcat (temp, HOST_EXECUTABLE_SUFFIX);
-+
-+ if (access (temp, X_OK) == 0)
-+ return temp;
-+#endif
-+
-+ if (debug)
-+ fprintf (stderr, " - failed to locate using absolute path\n");
-+ }
-+ else
-+ for (pl = pprefix->plist; pl; pl = pl->next)
-+ {
-+ struct stat st;
-+
-+ strcpy (temp, pl->prefix);
-+ strcat (temp, name);
-+
-+ if (stat (temp, &st) >= 0
-+ && ! S_ISDIR (st.st_mode)
-+ && access (temp, X_OK) == 0)
-+ return temp;
-+
-+#ifdef HOST_EXECUTABLE_SUFFIX
-+ /* Some systems have a suffix for executable files.
-+ So try appending that. */
-+ strcat (temp, HOST_EXECUTABLE_SUFFIX);
-+
-+ if (stat (temp, &st) >= 0
-+ && ! S_ISDIR (st.st_mode)
-+ && access (temp, X_OK) == 0)
-+ return temp;
-+#endif
-+ }
-+
-+ if (debug && pprefix->plist == NULL)
-+ fprintf (stderr, " - failed: no entries in prefix list\n");
-+
-+ free (temp);
-+ return 0;
-+}
-+
-+/* Add an entry for PREFIX to prefix list PPREFIX. */
-+
-+static void
-+add_prefix (struct path_prefix *pprefix, const char *prefix)
-+{
-+ struct prefix_list *pl, **prev;
-+ int len;
-+
-+ if (pprefix->plist)
-+ {
-+ for (pl = pprefix->plist; pl->next; pl = pl->next)
-+ ;
-+ prev = &pl->next;
-+ }
-+ else
-+ prev = &pprefix->plist;
-+
-+ /* Keep track of the longest prefix. */
-+
-+ len = strlen (prefix);
-+ if (len > pprefix->max_len)
-+ pprefix->max_len = len;
-+
-+ pl = xmalloc (sizeof (struct prefix_list));
-+ pl->prefix = xstrdup (prefix);
-+
-+ if (*prev)
-+ pl->next = *prev;
-+ else
-+ pl->next = (struct prefix_list *) 0;
-+ *prev = pl;
-+}
-+
-+/* Take the value of the environment variable ENV, break it into a path, and
-+ add of the entries to PPREFIX. */
-+
-+static void
-+prefix_from_env (const char *env, struct path_prefix *pprefix)
-+{
-+ const char *p;
-+ GET_ENVIRONMENT (p, env);
-+
-+ if (p)
-+ prefix_from_string (p, pprefix);
-+}
-+
-+static void
-+prefix_from_string (const char *p, struct path_prefix *pprefix)
-+{
-+ const char *startp, *endp;
-+ char *nstore = xmalloc (strlen (p) + 3);
-+
-+ if (debug)
-+ fprintf (stderr, "Convert string '%s' into prefixes, separator = '%c'\n", p, PATH_SEPARATOR);
-+
-+ startp = endp = p;
-+ while (1)
-+ {
-+ if (*endp == PATH_SEPARATOR || *endp == 0)
-+ {
-+ strncpy (nstore, startp, endp-startp);
-+ if (endp == startp)
-+ {
-+ strcpy (nstore, "./");
-+ }
-+ else if (! IS_DIR_SEPARATOR (endp[-1]))
-+ {
-+ nstore[endp-startp] = DIR_SEPARATOR;
-+ nstore[endp-startp+1] = 0;
-+ }
-+ else
-+ nstore[endp-startp] = 0;
-+
-+ if (debug)
-+ fprintf (stderr, " - add prefix: %s\n", nstore);
-+
-+ add_prefix (pprefix, nstore);
-+ if (*endp == 0)
-+ break;
-+ endp = startp = endp + 1;
-+ }
-+ else
-+ endp++;
-+ }
-+}
-+
-+/* Main program. */
-+
-+int
-+main (int argc, char **argv)
-+{
-+ static const char *const ld_suffix = "ld";
-+ static const char *const real_ld_suffix = "real-ld";
-+ static const char *const collect_ld_suffix = "collect-ld";
-+ static const char *const nm_suffix = "nm";
-+ static const char *const gnm_suffix = "gnm";
-+#ifdef LDD_SUFFIX
-+ static const char *const ldd_suffix = LDD_SUFFIX;
-+#endif
-+ static const char *const strip_suffix = "strip";
-+ static const char *const gstrip_suffix = "gstrip";
-+
-+#ifdef CROSS_COMPILE
-+ /* If we look for a program in the compiler directories, we just use
-+ the short name, since these directories are already system-specific.
-+ But it we look for a program in the system directories, we need to
-+ qualify the program name with the target machine. */
-+
-+ const char *const full_ld_suffix =
-+ concat(target_machine, "-", ld_suffix, NULL);
-+ const char *const full_nm_suffix =
-+ concat (target_machine, "-", nm_suffix, NULL);
-+ const char *const full_gnm_suffix =
-+ concat (target_machine, "-", gnm_suffix, NULL);
-+#ifdef LDD_SUFFIX
-+ const char *const full_ldd_suffix =
-+ concat (target_machine, "-", ldd_suffix, NULL);
-+#endif
-+ const char *const full_strip_suffix =
-+ concat (target_machine, "-", strip_suffix, NULL);
-+ const char *const full_gstrip_suffix =
-+ concat (target_machine, "-", gstrip_suffix, NULL);
-+#else
-+ const char *const full_ld_suffix = ld_suffix;
-+ const char *const full_nm_suffix = nm_suffix;
-+ const char *const full_gnm_suffix = gnm_suffix;
-+#ifdef LDD_SUFFIX
-+ const char *const full_ldd_suffix = ldd_suffix;
-+#endif
-+ const char *const full_strip_suffix = strip_suffix;
-+ const char *const full_gstrip_suffix = gstrip_suffix;
-+#endif /* CROSS_COMPILE */
-+
-+ const char *arg;
-+ FILE *outf;
-+#ifdef COLLECT_EXPORT_LIST
-+ FILE *exportf;
-+#endif
-+ const char *ld_file_name;
-+ const char *p;
-+ char **c_argv;
-+ const char **c_ptr;
-+ char **ld1_argv;
-+ const char **ld1;
-+ char **ld2_argv;
-+ const char **ld2;
-+ char **object_lst;
-+ const char **object;
-+ int first_file;
-+ int num_c_args = argc+9;
-+
-+ no_demangle = !! getenv ("COLLECT_NO_DEMANGLE");
-+
-+ /* Suppress demangling by the real linker, which may be broken. */
-+ putenv (xstrdup ("COLLECT_NO_DEMANGLE="));
-+
-+#if defined (COLLECT2_HOST_INITIALIZATION)
-+ /* Perform system dependent initialization, if necessary. */
-+ COLLECT2_HOST_INITIALIZATION;
-+#endif
-+
-+#ifdef SIGCHLD
-+ /* We *MUST* set SIGCHLD to SIG_DFL so that the wait4() call will
-+ receive the signal. A different setting is inheritable */
-+ signal (SIGCHLD, SIG_DFL);
-+#endif
-+
-+ gcc_init_libintl ();
-+
-+ /* Do not invoke xcalloc before this point, since locale needs to be
-+ set first, in case a diagnostic is issued. */
-+
-+ ld1 = (const char **)(ld1_argv = xcalloc(sizeof (char *), argc+3));
-+ ld2 = (const char **)(ld2_argv = xcalloc(sizeof (char *), argc+10));
-+ object = (const char **)(object_lst = xcalloc(sizeof (char *), argc));
-+
-+#ifdef DEBUG
-+ debug = 1;
-+#endif
-+
-+ /* Parse command line early for instances of -debug. This allows
-+ the debug flag to be set before functions like find_a_file()
-+ are called. */
-+ {
-+ int i;
-+
-+ for (i = 1; argv[i] != NULL; i ++)
-+ {
-+ if (! strcmp (argv[i], "-debug"))
-+ debug = 1;
-+ COLLECT_PARSE_FLAG (argv[i]);
-+ }
-+ vflag = debug;
-+ }
-+
-+#ifndef DEFAULT_A_OUT_NAME
-+ output_file = "a.out";
-+#else
-+ output_file = DEFAULT_A_OUT_NAME;
-+#endif
-+
-+ obstack_begin (&temporary_obstack, 0);
-+ temporary_firstobj = obstack_alloc (&temporary_obstack, 0);
-+
-+ current_demangling_style = auto_demangling;
-+ p = getenv ("COLLECT_GCC_OPTIONS");
-+ while (p && *p)
-+ {
-+ const char *q = extract_string (&p);
-+ if (*q == '-' && (q[1] == 'm' || q[1] == 'f'))
-+ num_c_args++;
-+ }
-+ obstack_free (&temporary_obstack, temporary_firstobj);
-+
-+ /* -fno-profile-arcs -fno-test-coverage -fno-branch-probabilities
-+ -fno-exceptions -w */
-+ num_c_args += 5;
-+
-+ c_ptr = (const char **) (c_argv = xcalloc (sizeof (char *), num_c_args));
-+
-+ if (argc < 2)
-+ fatal ("no arguments");
-+
-+#ifdef SIGQUIT
-+ if (signal (SIGQUIT, SIG_IGN) != SIG_IGN)
-+ signal (SIGQUIT, handler);
-+#endif
-+ if (signal (SIGINT, SIG_IGN) != SIG_IGN)
-+ signal (SIGINT, handler);
-+#ifdef SIGALRM
-+ if (signal (SIGALRM, SIG_IGN) != SIG_IGN)
-+ signal (SIGALRM, handler);
-+#endif
-+#ifdef SIGHUP
-+ if (signal (SIGHUP, SIG_IGN) != SIG_IGN)
-+ signal (SIGHUP, handler);
-+#endif
-+ if (signal (SIGSEGV, SIG_IGN) != SIG_IGN)
-+ signal (SIGSEGV, handler);
-+#ifdef SIGBUS
-+ if (signal (SIGBUS, SIG_IGN) != SIG_IGN)
-+ signal (SIGBUS, handler);
-+#endif
-+
-+ /* Extract COMPILER_PATH and PATH into our prefix list. */
-+ prefix_from_env ("COMPILER_PATH", &cpath);
-+ prefix_from_env ("PATH", &path);
-+
-+ /* Try to discover a valid linker/nm/strip to use. */
-+
-+ /* Maybe we know the right file to use (if not cross). */
-+ ld_file_name = 0;
-+#ifdef DEFAULT_LINKER
-+ if (access (DEFAULT_LINKER, X_OK) == 0)
-+ ld_file_name = DEFAULT_LINKER;
-+ if (ld_file_name == 0)
-+#endif
-+#ifdef REAL_LD_FILE_NAME
-+ ld_file_name = find_a_file (&path, REAL_LD_FILE_NAME);
-+ if (ld_file_name == 0)
-+#endif
-+ /* Search the (target-specific) compiler dirs for ld'. */
-+ ld_file_name = find_a_file (&cpath, real_ld_suffix);
-+ /* Likewise for `collect-ld'. */
-+ if (ld_file_name == 0)
-+ ld_file_name = find_a_file (&cpath, collect_ld_suffix);
-+ /* Search the compiler directories for `ld'. We have protection against
-+ recursive calls in find_a_file. */
-+ if (ld_file_name == 0)
-+ ld_file_name = find_a_file (&cpath, ld_suffix);
-+ /* Search the ordinary system bin directories
-+ for `ld' (if native linking) or `TARGET-ld' (if cross). */
-+ if (ld_file_name == 0)
-+ ld_file_name = find_a_file (&path, full_ld_suffix);
-+
-+#ifdef REAL_NM_FILE_NAME
-+ nm_file_name = find_a_file (&path, REAL_NM_FILE_NAME);
-+ if (nm_file_name == 0)
-+#endif
-+ nm_file_name = find_a_file (&cpath, gnm_suffix);
-+ if (nm_file_name == 0)
-+ nm_file_name = find_a_file (&path, full_gnm_suffix);
-+ if (nm_file_name == 0)
-+ nm_file_name = find_a_file (&cpath, nm_suffix);
-+ if (nm_file_name == 0)
-+ nm_file_name = find_a_file (&path, full_nm_suffix);
-+
-+#ifdef LDD_SUFFIX
-+ ldd_file_name = find_a_file (&cpath, ldd_suffix);
-+ if (ldd_file_name == 0)
-+ ldd_file_name = find_a_file (&path, full_ldd_suffix);
-+#endif
-+
-+#ifdef REAL_STRIP_FILE_NAME
-+ strip_file_name = find_a_file (&path, REAL_STRIP_FILE_NAME);
-+ if (strip_file_name == 0)
-+#endif
-+ strip_file_name = find_a_file (&cpath, gstrip_suffix);
-+ if (strip_file_name == 0)
-+ strip_file_name = find_a_file (&path, full_gstrip_suffix);
-+ if (strip_file_name == 0)
-+ strip_file_name = find_a_file (&cpath, strip_suffix);
-+ if (strip_file_name == 0)
-+ strip_file_name = find_a_file (&path, full_strip_suffix);
-+
-+ /* Determine the full path name of the C compiler to use. */
-+ c_file_name = getenv ("COLLECT_GCC");
-+ if (c_file_name == 0)
-+ {
-+#ifdef CROSS_COMPILE
-+ c_file_name = concat (target_machine, "-gcc", NULL);
-+#else
-+ c_file_name = "gcc";
-+#endif
-+ }
-+
-+ p = find_a_file (&cpath, c_file_name);
-+
-+ /* Here it should be safe to use the system search path since we should have
-+ already qualified the name of the compiler when it is needed. */
-+ if (p == 0)
-+ p = find_a_file (&path, c_file_name);
-+
-+ if (p)
-+ c_file_name = p;
-+
-+ *ld1++ = *ld2++ = ld_file_name;
-+
-+ /* Make temp file names. */
-+ c_file = make_temp_file (".c");
-+ o_file = make_temp_file (".o");
-+#ifdef COLLECT_EXPORT_LIST
-+ export_file = make_temp_file (".x");
-+#endif
-+ ldout = make_temp_file (".ld");
-+ *c_ptr++ = c_file_name;
-+ *c_ptr++ = "-x";
-+ *c_ptr++ = "c";
-+ *c_ptr++ = "-c";
-+ *c_ptr++ = "-o";
-+ *c_ptr++ = o_file;
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ /* Generate a list of directories from LIBPATH. */
-+ prefix_from_env ("LIBPATH", &libpath_lib_dirs);
-+ /* Add to this list also two standard directories where
-+ AIX loader always searches for libraries. */
-+ add_prefix (&libpath_lib_dirs, "/lib");
-+ add_prefix (&libpath_lib_dirs, "/usr/lib");
-+#endif
-+
-+ /* Get any options that the upper GCC wants to pass to the sub-GCC.
-+
-+ AIX support needs to know if -shared has been specified before
-+ parsing commandline arguments. */
-+
-+ p = getenv ("COLLECT_GCC_OPTIONS");
-+ while (p && *p)
-+ {
-+ const char *q = extract_string (&p);
-+ if (*q == '-' && (q[1] == 'm' || q[1] == 'f'))
-+ *c_ptr++ = xstrdup (q);
-+ if (strcmp (q, "-EL") == 0 || strcmp (q, "-EB") == 0)
-+ *c_ptr++ = xstrdup (q);
-+ if (strcmp (q, "-shared") == 0)
-+ shared_obj = 1;
-+ if (*q == '-' && q[1] == 'B')
-+ {
-+ *c_ptr++ = xstrdup (q);
-+ if (q[2] == 0)
-+ {
-+ q = extract_string (&p);
-+ *c_ptr++ = xstrdup (q);
-+ }
-+ }
-+ }
-+ obstack_free (&temporary_obstack, temporary_firstobj);
-+ *c_ptr++ = "-fno-profile-arcs";
-+ *c_ptr++ = "-fno-test-coverage";
-+ *c_ptr++ = "-fno-branch-probabilities";
-+ *c_ptr++ = "-fno-exceptions";
-+ *c_ptr++ = "-w";
-+
-+ /* !!! When GCC calls collect2,
-+ it does not know whether it is calling collect2 or ld.
-+ So collect2 cannot meaningfully understand any options
-+ except those ld understands.
-+ If you propose to make GCC pass some other option,
-+ just imagine what will happen if ld is really ld!!! */
-+
-+ /* Parse arguments. Remember output file spec, pass the rest to ld. */
-+ /* After the first file, put in the c++ rt0. */
-+
-+ first_file = 1;
-+ while ((arg = *++argv) != (char *) 0)
-+ {
-+ *ld1++ = *ld2++ = arg;
-+
-+ if (arg[0] == '-')
-+ {
-+ switch (arg[1])
-+ {
-+#ifdef COLLECT_EXPORT_LIST
-+ /* We want to disable automatic exports on AIX when user
-+ explicitly puts an export list in command line */
-+ case 'b':
-+ if (arg[2] == 'E' || strncmp (&arg[2], "export", 6) == 0)
-+ export_flag = 1;
-+ else if (arg[2] == '6' && arg[3] == '4')
-+ aix64_flag = 1;
-+ else if (arg[2] == 'r' && arg[3] == 't' && arg[4] == 'l')
-+ aixrtl_flag = 1;
-+ break;
-+#endif
-+
-+ case 'd':
-+ if (!strcmp (arg, "-debug"))
-+ {
-+ /* Already parsed. */
-+ ld1--;
-+ ld2--;
-+ }
-+ break;
-+
-+ case 'l':
-+ if (first_file)
-+ {
-+ /* place o_file BEFORE this argument! */
-+ first_file = 0;
-+ ld2--;
-+ *ld2++ = o_file;
-+ *ld2++ = arg;
-+ }
-+#ifdef COLLECT_EXPORT_LIST
-+ {
-+ /* Resolving full library name. */
-+ const char *s = resolve_lib_name (arg+2);
-+
-+ /* Saving a full library name. */
-+ add_to_list (&libs, s);
-+ }
-+#endif
-+ break;
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ /* Saving directories where to search for libraries. */
-+ case 'L':
-+ add_prefix (&cmdline_lib_dirs, arg+2);
-+ break;
-+#else
-+#if LINK_ELIMINATE_DUPLICATE_LDIRECTORIES
-+ case 'L':
-+ if (is_in_args (arg, (const char **) ld1_argv, ld1-1))
-+ --ld1;
-+ break;
-+#endif /* LINK_ELIMINATE_DUPLICATE_LDIRECTORIES */
-+#endif
-+
-+ case 'o':
-+ if (arg[2] == '\0')
-+ output_file = *ld1++ = *ld2++ = *++argv;
-+ else if (1
-+#ifdef SWITCHES_NEED_SPACES
-+ && ! strchr (SWITCHES_NEED_SPACES, arg[1])
-+#endif
-+ )
-+
-+ output_file = &arg[2];
-+ break;
-+
-+ case 'r':
-+ if (arg[2] == '\0')
-+ rflag = 1;
-+ break;
-+
-+ case 's':
-+ if (arg[2] == '\0' && do_collecting)
-+ {
-+ /* We must strip after the nm run, otherwise C++ linking
-+ will not work. Thus we strip in the second ld run, or
-+ else with strip if there is no second ld run. */
-+ strip_flag = 1;
-+ ld1--;
-+ }
-+ break;
-+
-+ case 'v':
-+ if (arg[2] == '\0')
-+ vflag = 1;
-+ break;
-+ }
-+ }
-+ else if ((p = strrchr (arg, '.')) != (char *) 0
-+ && (strcmp (p, ".o") == 0 || strcmp (p, ".a") == 0
-+ || strcmp (p, ".so") == 0 || strcmp (p, ".lo") == 0
-+ || strcmp (p, ".obj") == 0))
-+ {
-+ if (first_file)
-+ {
-+ first_file = 0;
-+ if (p[1] == 'o')
-+ *ld2++ = o_file;
-+ else
-+ {
-+ /* place o_file BEFORE this argument! */
-+ ld2--;
-+ *ld2++ = o_file;
-+ *ld2++ = arg;
-+ }
-+ }
-+ if (p[1] == 'o' || p[1] == 'l')
-+ *object++ = arg;
-+#ifdef COLLECT_EXPORT_LIST
-+ /* libraries can be specified directly, i.e. without -l flag. */
-+ else
-+ {
-+ /* Saving a full library name. */
-+ add_to_list (&libs, arg);
-+ }
-+#endif
-+ }
-+ }
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ /* This is added only for debugging purposes. */
-+ if (debug)
-+ {
-+ fprintf (stderr, "List of libraries:\n");
-+ dump_list (stderr, "\t", libs.first);
-+ }
-+
-+ /* The AIX linker will discard static constructors in object files if
-+ nothing else in the file is referenced, so look at them first. */
-+ {
-+ const char **export_object_lst = (const char **)object_lst;
-+
-+ while (export_object_lst < object)
-+ scan_prog_file (*export_object_lst++, PASS_OBJ);
-+ }
-+ {
-+ struct id *list = libs.first;
-+
-+ for (; list; list = list->next)
-+ scan_prog_file (list->name, PASS_FIRST);
-+ }
-+
-+ if (exports.first)
-+ {
-+ char *buf = concat ("-bE:", export_file, NULL);
-+
-+ *ld1++ = buf;
-+ *ld2++ = buf;
-+
-+ exportf = fopen (export_file, "w");
-+ if (exportf == (FILE *) 0)
-+ fatal_perror ("fopen %s", export_file);
-+ write_aix_file (exportf, exports.first);
-+ if (fclose (exportf))
-+ fatal_perror ("fclose %s", export_file);
-+ }
-+#endif
-+
-+ *c_ptr++ = c_file;
-+ *c_ptr = *ld1 = *object = (char *) 0;
-+
-+ if (vflag)
-+ {
-+ notice ("collect2 version %s", version_string);
-+#ifdef TARGET_VERSION
-+ TARGET_VERSION;
-+#endif
-+ fprintf (stderr, "\n");
-+ }
-+
-+ if (debug)
-+ {
-+ const char *ptr;
-+ fprintf (stderr, "ld_file_name = %s\n",
-+ (ld_file_name ? ld_file_name : "not found"));
-+ fprintf (stderr, "c_file_name = %s\n",
-+ (c_file_name ? c_file_name : "not found"));
-+ fprintf (stderr, "nm_file_name = %s\n",
-+ (nm_file_name ? nm_file_name : "not found"));
-+#ifdef LDD_SUFFIX
-+ fprintf (stderr, "ldd_file_name = %s\n",
-+ (ldd_file_name ? ldd_file_name : "not found"));
-+#endif
-+ fprintf (stderr, "strip_file_name = %s\n",
-+ (strip_file_name ? strip_file_name : "not found"));
-+ fprintf (stderr, "c_file = %s\n",
-+ (c_file ? c_file : "not found"));
-+ fprintf (stderr, "o_file = %s\n",
-+ (o_file ? o_file : "not found"));
-+
-+ ptr = getenv ("COLLECT_GCC_OPTIONS");
-+ if (ptr)
-+ fprintf (stderr, "COLLECT_GCC_OPTIONS = %s\n", ptr);
-+
-+ ptr = getenv ("COLLECT_GCC");
-+ if (ptr)
-+ fprintf (stderr, "COLLECT_GCC = %s\n", ptr);
-+
-+ ptr = getenv ("COMPILER_PATH");
-+ if (ptr)
-+ fprintf (stderr, "COMPILER_PATH = %s\n", ptr);
-+
-+ ptr = getenv (LIBRARY_PATH_ENV);
-+ if (ptr)
-+ fprintf (stderr, "%-20s= %s\n", LIBRARY_PATH_ENV, ptr);
-+
-+ fprintf (stderr, "\n");
-+ }
-+
-+ /* Load the program, searching all libraries and attempting to provide
-+ undefined symbols from repository information. */
-+
-+ /* On AIX we do this later. */
-+#ifndef COLLECT_EXPORT_LIST
-+ do_tlink (ld1_argv, object_lst);
-+#endif
-+
-+ /* If -r or they will be run via some other method, do not build the
-+ constructor or destructor list, just return now. */
-+ if (rflag
-+#ifndef COLLECT_EXPORT_LIST
-+ || ! do_collecting
-+#endif
-+ )
-+ {
-+#ifdef COLLECT_EXPORT_LIST
-+ /* Do the link we avoided above if we are exiting. */
-+ do_tlink (ld1_argv, object_lst);
-+
-+ /* But make sure we delete the export file we may have created. */
-+ if (export_file != 0 && export_file[0])
-+ maybe_unlink (export_file);
-+#endif
-+ maybe_unlink (c_file);
-+ maybe_unlink (o_file);
-+ return 0;
-+ }
-+
-+ /* Examine the namelist with nm and search it for static constructors
-+ and destructors to call.
-+ Write the constructor and destructor tables to a .s file and reload. */
-+
-+ /* On AIX we already scanned for global constructors/destructors. */
-+#ifndef COLLECT_EXPORT_LIST
-+ scan_prog_file (output_file, PASS_FIRST);
-+#endif
-+
-+#ifdef SCAN_LIBRARIES
-+ scan_libraries (output_file);
-+#endif
-+
-+ if (debug)
-+ {
-+ notice ("%d constructor(s) found\n", constructors.number);
-+ notice ("%d destructor(s) found\n", destructors.number);
-+ notice ("%d frame table(s) found\n", frame_tables.number);
-+ }
-+
-+ if (constructors.number == 0 && destructors.number == 0
-+ && frame_tables.number == 0
-+#if defined (SCAN_LIBRARIES) || defined (COLLECT_EXPORT_LIST)
-+ /* If we will be running these functions ourselves, we want to emit
-+ stubs into the shared library so that we do not have to relink
-+ dependent programs when we add static objects. */
-+ && ! shared_obj
-+#endif
-+ )
-+ {
-+#ifdef COLLECT_EXPORT_LIST
-+ /* Do tlink without additional code generation. */
-+ do_tlink (ld1_argv, object_lst);
-+#endif
-+ /* Strip now if it was requested on the command line. */
-+ if (strip_flag)
-+ {
-+ char **real_strip_argv = xcalloc (sizeof (char *), 3);
-+ const char ** strip_argv = (const char **) real_strip_argv;
-+
-+ strip_argv[0] = strip_file_name;
-+ strip_argv[1] = output_file;
-+ strip_argv[2] = (char *) 0;
-+ fork_execute ("strip", real_strip_argv);
-+ }
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ maybe_unlink (export_file);
-+#endif
-+ maybe_unlink (c_file);
-+ maybe_unlink (o_file);
-+ return 0;
-+ }
-+
-+ /* Sort ctor and dtor lists by priority. */
-+ sort_ids (&constructors);
-+ sort_ids (&destructors);
-+
-+ maybe_unlink(output_file);
-+ outf = fopen (c_file, "w");
-+ if (outf == (FILE *) 0)
-+ fatal_perror ("fopen %s", c_file);
-+
-+ write_c_file (outf, c_file);
-+
-+ if (fclose (outf))
-+ fatal_perror ("fclose %s", c_file);
-+
-+ /* Tell the linker that we have initializer and finalizer functions. */
-+#ifdef LD_INIT_SWITCH
-+#ifdef COLLECT_EXPORT_LIST
-+ *ld2++ = concat (LD_INIT_SWITCH, ":", initname, ":", fininame, NULL);
-+#else
-+ *ld2++ = LD_INIT_SWITCH;
-+ *ld2++ = initname;
-+ *ld2++ = LD_FINI_SWITCH;
-+ *ld2++ = fininame;
-+#endif
-+#endif
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ if (shared_obj)
-+ {
-+ /* If we did not add export flag to link arguments before, add it to
-+ second link phase now. No new exports should have been added. */
-+ if (! exports.first)
-+ *ld2++ = concat ("-bE:", export_file, NULL);
-+
-+#ifndef LD_INIT_SWITCH
-+ add_to_list (&exports, initname);
-+ add_to_list (&exports, fininame);
-+ add_to_list (&exports, "_GLOBAL__DI");
-+ add_to_list (&exports, "_GLOBAL__DD");
-+#endif
-+ exportf = fopen (export_file, "w");
-+ if (exportf == (FILE *) 0)
-+ fatal_perror ("fopen %s", export_file);
-+ write_aix_file (exportf, exports.first);
-+ if (fclose (exportf))
-+ fatal_perror ("fclose %s", export_file);
-+ }
-+#endif
-+
-+ /* End of arguments to second link phase. */
-+ *ld2 = (char*) 0;
-+
-+ if (debug)
-+ {
-+ fprintf (stderr, "\n========== output_file = %s, c_file = %s\n",
-+ output_file, c_file);
-+ write_c_file (stderr, "stderr");
-+ fprintf (stderr, "========== end of c_file\n\n");
-+#ifdef COLLECT_EXPORT_LIST
-+ fprintf (stderr, "\n========== export_file = %s\n", export_file);
-+ write_aix_file (stderr, exports.first);
-+ fprintf (stderr, "========== end of export_file\n\n");
-+#endif
-+ }
-+
-+ /* Assemble the constructor and destructor tables.
-+ Link the tables in with the rest of the program. */
-+
-+ fork_execute ("gcc", c_argv);
-+#ifdef COLLECT_EXPORT_LIST
-+ /* On AIX we must call tlink because of possible templates resolution. */
-+ do_tlink (ld2_argv, object_lst);
-+#else
-+ /* Otherwise, simply call ld because tlink is already done. */
-+ fork_execute ("ld", ld2_argv);
-+
-+ /* Let scan_prog_file do any final mods (OSF/rose needs this for
-+ constructors/destructors in shared libraries. */
-+ scan_prog_file (output_file, PASS_SECOND);
-+#endif
-+
-+ maybe_unlink (c_file);
-+ maybe_unlink (o_file);
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ maybe_unlink (export_file);
-+#endif
-+
-+ return 0;
-+}
-+
-+
-+/* Wait for a process to finish, and exit if a nonzero status is found. */
-+
-+int
-+collect_wait (const char *prog)
-+{
-+ int status;
-+
-+ pwait (pid, &status, 0);
-+ if (status)
-+ {
-+ if (WIFSIGNALED (status))
-+ {
-+ int sig = WTERMSIG (status);
-+ error ("%s terminated with signal %d [%s]%s",
-+ prog, sig, strsignal(sig),
-+ WCOREDUMP(status) ? ", core dumped" : "");
-+ collect_exit (FATAL_EXIT_CODE);
-+ }
-+
-+ if (WIFEXITED (status))
-+ return WEXITSTATUS (status);
-+ }
-+ return 0;
-+}
-+
-+static void
-+do_wait (const char *prog)
-+{
-+ int ret = collect_wait (prog);
-+ if (ret != 0)
-+ {
-+ error ("%s returned %d exit status", prog, ret);
-+ collect_exit (ret);
-+ }
-+}
-+
-+
-+/* Execute a program, and wait for the reply. */
-+
-+void
-+collect_execute (const char *prog, char **argv, const char *redir)
-+{
-+ char *errmsg_fmt;
-+ char *errmsg_arg;
-+ int redir_handle = -1;
-+ int stdout_save = -1;
-+ int stderr_save = -1;
-+
-+ if (vflag || debug)
-+ {
-+ char **p_argv;
-+ const char *str;
-+
-+ if (argv[0])
-+ fprintf (stderr, "%s", argv[0]);
-+ else
-+ notice ("[cannot find %s]", prog);
-+
-+ for (p_argv = &argv[1]; (str = *p_argv) != (char *) 0; p_argv++)
-+ fprintf (stderr, " %s", str);
-+
-+ fprintf (stderr, "\n");
-+ }
-+
-+ fflush (stdout);
-+ fflush (stderr);
-+
-+ /* If we cannot find a program we need, complain error. Do this here
-+ since we might not end up needing something that we could not find. */
-+
-+ if (argv[0] == 0)
-+ fatal ("cannot find `%s'", prog);
-+
-+ if (redir)
-+ {
-+ /* Open response file. */
-+ redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
-+
-+ /* Duplicate the stdout and stderr file handles
-+ so they can be restored later. */
-+ stdout_save = dup (STDOUT_FILENO);
-+ if (stdout_save == -1)
-+ fatal_perror ("redirecting stdout: %s", redir);
-+ stderr_save = dup (STDERR_FILENO);
-+ if (stderr_save == -1)
-+ fatal_perror ("redirecting stdout: %s", redir);
-+
-+ /* Redirect stdout & stderr to our response file. */
-+ dup2 (redir_handle, STDOUT_FILENO);
-+ dup2 (redir_handle, STDERR_FILENO);
-+ }
-+
-+ pid = pexecute (argv[0], argv, argv[0], NULL, &errmsg_fmt, &errmsg_arg,
-+ (PEXECUTE_FIRST | PEXECUTE_LAST | PEXECUTE_SEARCH));
-+
-+ if (redir)
-+ {
-+ /* Restore stdout and stderr to their previous settings. */
-+ dup2 (stdout_save, STDOUT_FILENO);
-+ dup2 (stderr_save, STDERR_FILENO);
-+
-+ /* Close response file. */
-+ close (redir_handle);
-+ }
-+
-+ if (pid == -1)
-+ fatal_perror (errmsg_fmt, errmsg_arg);
-+}
-+
-+static void
-+fork_execute (const char *prog, char **argv)
-+{
-+ collect_execute (prog, argv, NULL);
-+ do_wait (prog);
-+}
-+
-+/* Unlink a file unless we are debugging. */
-+
-+static void
-+maybe_unlink (const char *file)
-+{
-+ if (!debug)
-+ unlink (file);
-+ else
-+ notice ("[Leaving %s]\n", file);
-+}
-+
-+
-+static long sequence_number = 0;
-+
-+/* Add a name to a linked list. */
-+
-+static void
-+add_to_list (struct head *head_ptr, const char *name)
-+{
-+ struct id *newid = xcalloc (sizeof (struct id) + strlen (name), 1);
-+ struct id *p;
-+ strcpy (newid->name, name);
-+
-+ if (head_ptr->first)
-+ head_ptr->last->next = newid;
-+ else
-+ head_ptr->first = newid;
-+
-+ /* Check for duplicate symbols. */
-+ for (p = head_ptr->first;
-+ strcmp (name, p->name) != 0;
-+ p = p->next)
-+ ;
-+ if (p != newid)
-+ {
-+ head_ptr->last->next = 0;
-+ free (newid);
-+ return;
-+ }
-+
-+ newid->sequence = ++sequence_number;
-+ head_ptr->last = newid;
-+ head_ptr->number++;
-+}
-+
-+/* Grab the init priority number from an init function name that
-+ looks like "_GLOBAL_.I.12345.foo". */
-+
-+static int
-+extract_init_priority (const char *name)
-+{
-+ int pos = 0, pri;
-+
-+ while (name[pos] == '_')
-+ ++pos;
-+ pos += 10; /* strlen ("GLOBAL__X_") */
-+
-+ /* Extract init_p number from ctor/dtor name. */
-+ pri = atoi (name + pos);
-+ return pri ? pri : DEFAULT_INIT_PRIORITY;
-+}
-+
-+/* Insertion sort the ids from ctor/dtor list HEAD_PTR in descending order.
-+ ctors will be run from right to left, dtors from left to right. */
-+
-+static void
-+sort_ids (struct head *head_ptr)
-+{
-+ /* id holds the current element to insert. id_next holds the next
-+ element to insert. id_ptr iterates through the already sorted elements
-+ looking for the place to insert id. */
-+ struct id *id, *id_next, **id_ptr;
-+
-+ id = head_ptr->first;
-+
-+ /* We don't have any sorted elements yet. */
-+ head_ptr->first = NULL;
-+
-+ for (; id; id = id_next)
-+ {
-+ id_next = id->next;
-+ id->sequence = extract_init_priority (id->name);
-+
-+ for (id_ptr = &(head_ptr->first); ; id_ptr = &((*id_ptr)->next))
-+ if (*id_ptr == NULL
-+ /* If the sequence numbers are the same, we put the id from the
-+ file later on the command line later in the list. */
-+ || id->sequence > (*id_ptr)->sequence
-+ /* Hack: do lexical compare, too.
-+ || (id->sequence == (*id_ptr)->sequence
-+ && strcmp (id->name, (*id_ptr)->name) > 0) */
-+ )
-+ {
-+ id->next = *id_ptr;
-+ *id_ptr = id;
-+ break;
-+ }
-+ }
-+
-+ /* Now set the sequence numbers properly so write_c_file works. */
-+ for (id = head_ptr->first; id; id = id->next)
-+ id->sequence = ++sequence_number;
-+}
-+
-+/* Write: `prefix', the names on list LIST, `suffix'. */
-+
-+static void
-+write_list (FILE *stream, const char *prefix, struct id *list)
-+{
-+ while (list)
-+ {
-+ fprintf (stream, "%sx%d,\n", prefix, list->sequence);
-+ list = list->next;
-+ }
-+}
-+
-+#if LINK_ELIMINATE_DUPLICATE_LDIRECTORIES
-+/* Given a STRING, return nonzero if it occurs in the list in range
-+ [ARGS_BEGIN,ARGS_END). */
-+
-+static int
-+is_in_args (const char *string, const char **args_begin,
-+ const char **args_end)
-+{
-+ const char **args_pointer;
-+ for (args_pointer = args_begin; args_pointer != args_end; ++args_pointer)
-+ if (strcmp (string, *args_pointer) == 0)
-+ return 1;
-+ return 0;
-+}
-+#endif /* LINK_ELIMINATE_DUPLICATE_LDIRECTORIES */
-+
-+#ifdef COLLECT_EXPORT_LIST
-+/* This function is really used only on AIX, but may be useful. */
-+#if 0
-+static int
-+is_in_list (const char *prefix, struct id *list)
-+{
-+ while (list)
-+ {
-+ if (!strcmp (prefix, list->name)) return 1;
-+ list = list->next;
-+ }
-+ return 0;
-+}
-+#endif
-+#endif /* COLLECT_EXPORT_LIST */
-+
-+/* Added for debugging purpose. */
-+#ifdef COLLECT_EXPORT_LIST
-+static void
-+dump_list (FILE *stream, const char *prefix, struct id *list)
-+{
-+ while (list)
-+ {
-+ fprintf (stream, "%s%s,\n", prefix, list->name);
-+ list = list->next;
-+ }
-+}
-+#endif
-+
-+#if 0
-+static void
-+dump_prefix_list (FILE *stream, const char *prefix, struct prefix_list *list)
-+{
-+ while (list)
-+ {
-+ fprintf (stream, "%s%s,\n", prefix, list->prefix);
-+ list = list->next;
-+ }
-+}
-+#endif
-+
-+static void
-+write_list_with_asm (FILE *stream, const char *prefix, struct id *list)
-+{
-+ while (list)
-+ {
-+ fprintf (stream, "%sx%d __asm__ (\"%s\");\n",
-+ prefix, list->sequence, list->name);
-+ list = list->next;
-+ }
-+}
-+
-+/* Write out the constructor and destructor tables statically (for a shared
-+ object), along with the functions to execute them. */
-+
-+static void
-+write_c_file_stat (FILE *stream, const char *name ATTRIBUTE_UNUSED)
-+{
-+ const char *p, *q;
-+ char *prefix, *r;
-+ int frames = (frame_tables.number > 0);
-+
-+ /* Figure out name of output_file, stripping off .so version. */
-+ p = strrchr (output_file, '/');
-+ if (p == 0)
-+ p = output_file;
-+ else
-+ p++;
-+ q = p;
-+ while (q)
-+ {
-+ q = strchr (q,'.');
-+ if (q == 0)
-+ {
-+ q = p + strlen (p);
-+ break;
-+ }
-+ else
-+ {
-+ if (strncmp (q, ".so", 3) == 0)
-+ {
-+ q += 3;
-+ break;
-+ }
-+ else
-+ q++;
-+ }
-+ }
-+ /* q points to null at end of the string (or . of the .so version) */
-+ prefix = xmalloc (q - p + 1);
-+ strncpy (prefix, p, q - p);
-+ prefix[q - p] = 0;
-+ for (r = prefix; *r; r++)
-+ if (!ISALNUM ((unsigned char)*r))
-+ *r = '_';
-+ if (debug)
-+ notice ("\nwrite_c_file - output name is %s, prefix is %s\n",
-+ output_file, prefix);
-+
-+ initname = concat ("_GLOBAL__FI_", prefix, NULL);
-+ fininame = concat ("_GLOBAL__FD_", prefix, NULL);
-+
-+ free (prefix);
-+
-+ /* Write the tables as C code. */
-+
-+ fprintf (stream, "static int count;\n");
-+ fprintf (stream, "typedef void entry_pt();\n");
-+ write_list_with_asm (stream, "extern entry_pt ", constructors.first);
-+
-+ if (frames)
-+ {
-+ write_list_with_asm (stream, "extern void *", frame_tables.first);
-+
-+ fprintf (stream, "\tstatic void *frame_table[] = {\n");
-+ write_list (stream, "\t\t&", frame_tables.first);
-+ fprintf (stream, "\t0\n};\n");
-+
-+ /* This must match what's in frame.h. */
-+ fprintf (stream, "struct object {\n");
-+ fprintf (stream, " void *pc_begin;\n");
-+ fprintf (stream, " void *pc_end;\n");
-+ fprintf (stream, " void *fde_begin;\n");
-+ fprintf (stream, " void *fde_array;\n");
-+ fprintf (stream, " __SIZE_TYPE__ count;\n");
-+ fprintf (stream, " struct object *next;\n");
-+ fprintf (stream, "};\n");
-+
-+ fprintf (stream, "extern void __register_frame_info_table (void *, struct object *);\n");
-+ fprintf (stream, "extern void *__deregister_frame_info (void *);\n");
-+
-+ fprintf (stream, "static void reg_frame () {\n");
-+ fprintf (stream, "\tstatic struct object ob;\n");
-+ fprintf (stream, "\t__register_frame_info_table (frame_table, &ob);\n");
-+ fprintf (stream, "\t}\n");
-+
-+ fprintf (stream, "static void dereg_frame () {\n");
-+ fprintf (stream, "\t__deregister_frame_info (frame_table);\n");
-+ fprintf (stream, "\t}\n");
-+ }
-+
-+ fprintf (stream, "void %s() {\n", initname);
-+ if (constructors.number > 0 || frames)
-+ {
-+ fprintf (stream, "\tstatic entry_pt *ctors[] = {\n");
-+ write_list (stream, "\t\t", constructors.first);
-+ if (frames)
-+ fprintf (stream, "\treg_frame,\n");
-+ fprintf (stream, "\t};\n");
-+ fprintf (stream, "\tentry_pt **p;\n");
-+ fprintf (stream, "\tif (count++ != 0) return;\n");
-+ fprintf (stream, "\tp = ctors + %d;\n", constructors.number + frames);
-+ fprintf (stream, "\twhile (p > ctors) (*--p)();\n");
-+ }
-+ else
-+ fprintf (stream, "\t++count;\n");
-+ fprintf (stream, "}\n");
-+ write_list_with_asm (stream, "extern entry_pt ", destructors.first);
-+ fprintf (stream, "void %s() {\n", fininame);
-+ if (destructors.number > 0 || frames)
-+ {
-+ fprintf (stream, "\tstatic entry_pt *dtors[] = {\n");
-+ write_list (stream, "\t\t", destructors.first);
-+ if (frames)
-+ fprintf (stream, "\tdereg_frame,\n");
-+ fprintf (stream, "\t};\n");
-+ fprintf (stream, "\tentry_pt **p;\n");
-+ fprintf (stream, "\tif (--count != 0) return;\n");
-+ fprintf (stream, "\tp = dtors;\n");
-+ fprintf (stream, "\twhile (p < dtors + %d) (*p++)();\n",
-+ destructors.number + frames);
-+ }
-+ fprintf (stream, "}\n");
-+
-+ if (shared_obj)
-+ {
-+ COLLECT_SHARED_INIT_FUNC(stream, initname);
-+ COLLECT_SHARED_FINI_FUNC(stream, fininame);
-+ }
-+}
-+
-+/* Write the constructor/destructor tables. */
-+
-+#ifndef LD_INIT_SWITCH
-+static void
-+write_c_file_glob (FILE *stream, const char *name ATTRIBUTE_UNUSED)
-+{
-+ /* Write the tables as C code. */
-+
-+ int frames = (frame_tables.number > 0);
-+
-+ fprintf (stream, "typedef void entry_pt();\n\n");
-+
-+ write_list_with_asm (stream, "extern entry_pt ", constructors.first);
-+
-+ if (frames)
-+ {
-+ write_list_with_asm (stream, "extern void *", frame_tables.first);
-+
-+ fprintf (stream, "\tstatic void *frame_table[] = {\n");
-+ write_list (stream, "\t\t&", frame_tables.first);
-+ fprintf (stream, "\t0\n};\n");
-+
-+ /* This must match what's in frame.h. */
-+ fprintf (stream, "struct object {\n");
-+ fprintf (stream, " void *pc_begin;\n");
-+ fprintf (stream, " void *pc_end;\n");
-+ fprintf (stream, " void *fde_begin;\n");
-+ fprintf (stream, " void *fde_array;\n");
-+ fprintf (stream, " __SIZE_TYPE__ count;\n");
-+ fprintf (stream, " struct object *next;\n");
-+ fprintf (stream, "};\n");
-+
-+ fprintf (stream, "extern void __register_frame_info_table (void *, struct object *);\n");
-+ fprintf (stream, "extern void *__deregister_frame_info (void *);\n");
-+
-+ fprintf (stream, "static void reg_frame () {\n");
-+ fprintf (stream, "\tstatic struct object ob;\n");
-+ fprintf (stream, "\t__register_frame_info_table (frame_table, &ob);\n");
-+ fprintf (stream, "\t}\n");
-+
-+ fprintf (stream, "static void dereg_frame () {\n");
-+ fprintf (stream, "\t__deregister_frame_info (frame_table);\n");
-+ fprintf (stream, "\t}\n");
-+ }
-+
-+ fprintf (stream, "\nentry_pt * __CTOR_LIST__[] = {\n");
-+ fprintf (stream, "\t(entry_pt *) %d,\n", constructors.number + frames);
-+ write_list (stream, "\t", constructors.first);
-+ if (frames)
-+ fprintf (stream, "\treg_frame,\n");
-+ fprintf (stream, "\t0\n};\n\n");
-+
-+ write_list_with_asm (stream, "extern entry_pt ", destructors.first);
-+
-+ fprintf (stream, "\nentry_pt * __DTOR_LIST__[] = {\n");
-+ fprintf (stream, "\t(entry_pt *) %d,\n", destructors.number + frames);
-+ write_list (stream, "\t", destructors.first);
-+ if (frames)
-+ fprintf (stream, "\tdereg_frame,\n");
-+ fprintf (stream, "\t0\n};\n\n");
-+
-+ fprintf (stream, "extern entry_pt %s;\n", NAME__MAIN);
-+ fprintf (stream, "entry_pt *__main_reference = %s;\n\n", NAME__MAIN);
-+}
-+#endif /* ! LD_INIT_SWITCH */
-+
-+static void
-+write_c_file (FILE *stream, const char *name)
-+{
-+ fprintf (stream, "#ifdef __cplusplus\nextern \"C\" {\n#endif\n");
-+#ifndef LD_INIT_SWITCH
-+ if (! shared_obj)
-+ write_c_file_glob (stream, name);
-+ else
-+#endif
-+ write_c_file_stat (stream, name);
-+ fprintf (stream, "#ifdef __cplusplus\n}\n#endif\n");
-+}
-+
-+#ifdef COLLECT_EXPORT_LIST
-+static void
-+write_aix_file (FILE *stream, struct id *list)
-+{
-+ for (; list; list = list->next)
-+ {
-+ fputs (list->name, stream);
-+ putc ('\n', stream);
-+ }
-+}
-+#endif
-+
-+#ifdef OBJECT_FORMAT_NONE
-+
-+/* Generic version to scan the name list of the loaded program for
-+ the symbols g++ uses for static constructors and destructors.
-+
-+ The constructor table begins at __CTOR_LIST__ and contains a count
-+ of the number of pointers (or -1 if the constructors are built in a
-+ separate section by the linker), followed by the pointers to the
-+ constructor functions, terminated with a null pointer. The
-+ destructor table has the same format, and begins at __DTOR_LIST__. */
-+
-+static void
-+scan_prog_file (const char *prog_name, enum pass which_pass)
-+{
-+ void (*int_handler) (int);
-+ void (*quit_handler) (int);
-+ char *real_nm_argv[4];
-+ const char **nm_argv = (const char **) real_nm_argv;
-+ int argc = 0;
-+ int pipe_fd[2];
-+ char *p, buf[1024];
-+ FILE *inf;
-+
-+ if (which_pass == PASS_SECOND)
-+ return;
-+
-+ /* If we do not have an `nm', complain. */
-+ if (nm_file_name == 0)
-+ fatal ("cannot find `nm'");
-+
-+ nm_argv[argc++] = nm_file_name;
-+ if (NM_FLAGS[0] != '\0')
-+ nm_argv[argc++] = NM_FLAGS;
-+
-+ nm_argv[argc++] = prog_name;
-+ nm_argv[argc++] = (char *) 0;
-+
-+ if (pipe (pipe_fd) < 0)
-+ fatal_perror ("pipe");
-+
-+ inf = fdopen (pipe_fd[0], "r");
-+ if (inf == (FILE *) 0)
-+ fatal_perror ("fdopen");
-+
-+ /* Trace if needed. */
-+ if (vflag)
-+ {
-+ const char **p_argv;
-+ const char *str;
-+
-+ for (p_argv = &nm_argv[0]; (str = *p_argv) != (char *) 0; p_argv++)
-+ fprintf (stderr, " %s", str);
-+
-+ fprintf (stderr, "\n");
-+ }
-+
-+ fflush (stdout);
-+ fflush (stderr);
-+
-+ /* Spawn child nm on pipe. */
-+ pid = vfork ();
-+ if (pid == -1)
-+ fatal_perror (VFORK_STRING);
-+
-+ if (pid == 0) /* child context */
-+ {
-+ /* setup stdout */
-+ if (dup2 (pipe_fd[1], 1) < 0)
-+ fatal_perror ("dup2 %d 1", pipe_fd[1]);
-+
-+ if (close (pipe_fd[0]) < 0)
-+ fatal_perror ("close %d", pipe_fd[0]);
-+
-+ if (close (pipe_fd[1]) < 0)
-+ fatal_perror ("close %d", pipe_fd[1]);
-+
-+ execv (nm_file_name, real_nm_argv);
-+ fatal_perror ("execv %s", nm_file_name);
-+ }
-+
-+ /* Parent context from here on. */
-+ int_handler = (void (*) (int)) signal (SIGINT, SIG_IGN);
-+#ifdef SIGQUIT
-+ quit_handler = (void (*) (int)) signal (SIGQUIT, SIG_IGN);
-+#endif
-+
-+ if (close (pipe_fd[1]) < 0)
-+ fatal_perror ("close %d", pipe_fd[1]);
-+
-+ if (debug)
-+ fprintf (stderr, "\nnm output with constructors/destructors.\n");
-+
-+ /* Read each line of nm output. */
-+ while (fgets (buf, sizeof buf, inf) != (char *) 0)
-+ {
-+ int ch, ch2;
-+ char *name, *end;
-+
-+ /* If it contains a constructor or destructor name, add the name
-+ to the appropriate list. */
-+
-+ for (p = buf; (ch = *p) != '\0' && ch != '\n' && ch != '_'; p++)
-+ if (ch == ' ' && p[1] == 'U' && p[2] == ' ')
-+ break;
-+
-+ if (ch != '_')
-+ continue;
-+
-+ name = p;
-+ /* Find the end of the symbol name.
-+ Do not include `|', because Encore nm can tack that on the end. */
-+ for (end = p; (ch2 = *end) != '\0' && !ISSPACE (ch2) && ch2 != '|';
-+ end++)
-+ continue;
-+
-+
-+ *end = '\0';
-+ switch (is_ctor_dtor (name))
-+ {
-+ case 1:
-+ if (which_pass != PASS_LIB)
-+ add_to_list (&constructors, name);
-+ break;
-+
-+ case 2:
-+ if (which_pass != PASS_LIB)
-+ add_to_list (&destructors, name);
-+ break;
-+
-+ case 3:
-+ if (which_pass != PASS_LIB)
-+ fatal ("init function found in object %s", prog_name);
-+#ifndef LD_INIT_SWITCH
-+ add_to_list (&constructors, name);
-+#endif
-+ break;
-+
-+ case 4:
-+ if (which_pass != PASS_LIB)
-+ fatal ("fini function found in object %s", prog_name);
-+#ifndef LD_FINI_SWITCH
-+ add_to_list (&destructors, name);
-+#endif
-+ break;
-+
-+ case 5:
-+ if (which_pass != PASS_LIB)
-+ add_to_list (&frame_tables, name);
-+ break;
-+
-+ default: /* not a constructor or destructor */
-+ continue;
-+ }
-+
-+ if (debug)
-+ fprintf (stderr, "\t%s\n", buf);
-+ }
-+
-+ if (debug)
-+ fprintf (stderr, "\n");
-+
-+ if (fclose (inf) != 0)
-+ fatal_perror ("fclose");
-+
-+ do_wait (nm_file_name);
-+
-+ signal (SIGINT, int_handler);
-+#ifdef SIGQUIT
-+ signal (SIGQUIT, quit_handler);
-+#endif
-+}
-+
-+#if SUNOS4_SHARED_LIBRARIES
-+
-+/* Routines to scan the SunOS 4 _DYNAMIC structure to find shared libraries
-+ that the output file depends upon and their initialization/finalization
-+ routines, if any. */
-+
-+#include <a.out.h>
-+#include <fcntl.h>
-+#include <link.h>
-+#include <sys/mman.h>
-+#include <sys/param.h>
-+#include <unistd.h>
-+#include <sys/dir.h>
-+
-+/* pointers to the object file */
-+unsigned object; /* address of memory mapped file */
-+unsigned objsize; /* size of memory mapped to file */
-+char * code; /* pointer to code segment */
-+char * data; /* pointer to data segment */
-+struct nlist *symtab; /* pointer to symbol table */
-+struct link_dynamic *ld;
-+struct link_dynamic_2 *ld_2;
-+struct head libraries;
-+
-+/* Map the file indicated by NAME into memory and store its address. */
-+
-+static void
-+mapfile (const char *name)
-+{
-+ int fp;
-+ struct stat s;
-+ if ((fp = open (name, O_RDONLY)) == -1)
-+ fatal ("unable to open file '%s'", name);
-+ if (fstat (fp, &s) == -1)
-+ fatal ("unable to stat file '%s'", name);
-+
-+ objsize = s.st_size;
-+ object = (unsigned) mmap (0, objsize, PROT_READ|PROT_WRITE, MAP_PRIVATE,
-+ fp, 0);
-+ if (object == (unsigned)-1)
-+ fatal ("unable to mmap file '%s'", name);
-+
-+ close (fp);
-+}
-+
-+/* Helpers for locatelib. */
-+
-+static const char *libname;
-+
-+static int
-+libselect (struct direct *d)
-+{
-+ return (strncmp (libname, d->d_name, strlen (libname)) == 0);
-+}
-+
-+/* If one file has an additional numeric extension past LIBNAME, then put
-+ that one first in the sort. If both files have additional numeric
-+ extensions, then put the one with the higher number first in the sort.
-+
-+ We must verify that the extension is numeric, because Sun saves the
-+ original versions of patched libraries with a .FCS extension. Files with
-+ invalid extensions must go last in the sort, so that they will not be used. */
-+
-+static int
-+libcompare (struct direct **d1, struct direct **d2)
-+{
-+ int i1, i2 = strlen (libname);
-+ char *e1 = (*d1)->d_name + i2;
-+ char *e2 = (*d2)->d_name + i2;
-+
-+ while (*e1 && *e2 && *e1 == '.' && *e2 == '.'
-+ && e1[1] && ISDIGIT (e1[1]) && e2[1] && ISDIGIT (e2[1]))
-+ {
-+ ++e1;
-+ ++e2;
-+ i1 = strtol (e1, &e1, 10);
-+ i2 = strtol (e2, &e2, 10);
-+ if (i1 != i2)
-+ return i1 - i2;
-+ }
-+
-+ if (*e1)
-+ {
-+ /* It has a valid numeric extension, prefer this one. */
-+ if (*e1 == '.' && e1[1] && ISDIGIT (e1[1]))
-+ return 1;
-+ /* It has an invalid numeric extension, must prefer the other one. */
-+ else
-+ return -1;
-+ }
-+ else if (*e2)
-+ {
-+ /* It has a valid numeric extension, prefer this one. */
-+ if (*e2 == '.' && e2[1] && ISDIGIT (e2[1]))
-+ return -1;
-+ /* It has an invalid numeric extension, must prefer the other one. */
-+ else
-+ return 1;
-+ }
-+ else
-+ return 0;
-+}
-+
-+/* Given the name NAME of a dynamic dependency, find its pathname and add
-+ it to the list of libraries. */
-+
-+static void
-+locatelib (const char *name)
-+{
-+ static const char **l;
-+ static int cnt;
-+ char buf[MAXPATHLEN];
-+ char *p, *q;
-+ const char **pp;
-+
-+ if (l == 0)
-+ {
-+ char *ld_rules;
-+ char *ldr = 0;
-+ /* counting elements in array, need 1 extra for null */
-+ cnt = 1;
-+ ld_rules = (char *) (ld_2->ld_rules + code);
-+ if (ld_rules)
-+ {
-+ cnt++;
-+ for (; *ld_rules != 0; ld_rules++)
-+ if (*ld_rules == ':')
-+ cnt++;
-+ ld_rules = (char *) (ld_2->ld_rules + code);
-+ ldr = xstrdup (ld_rules);
-+ }
-+ p = getenv ("LD_LIBRARY_PATH");
-+ q = 0;
-+ if (p)
-+ {
-+ cnt++;
-+ for (q = p ; *q != 0; q++)
-+ if (*q == ':')
-+ cnt++;
-+ q = xstrdup (p);
-+ }
-+ l = xmalloc ((cnt + 3) * sizeof (char *));
-+ pp = l;
-+ if (ldr)
-+ {
-+ *pp++ = ldr;
-+ for (; *ldr != 0; ldr++)
-+ if (*ldr == ':')
-+ {
-+ *ldr++ = 0;
-+ *pp++ = ldr;
-+ }
-+ }
-+ if (q)
-+ {
-+ *pp++ = q;
-+ for (; *q != 0; q++)
-+ if (*q == ':')
-+ {
-+ *q++ = 0;
-+ *pp++ = q;
-+ }
-+ }
-+ /* built in directories are /lib, /usr/lib, and /usr/local/lib */
-+ *pp++ = "/lib";
-+ *pp++ = "/usr/lib";
-+ *pp++ = "/usr/local/lib";
-+ *pp = 0;
-+ }
-+ libname = name;
-+ for (pp = l; *pp != 0 ; pp++)
-+ {
-+ struct direct **namelist;
-+ int entries;
-+ if ((entries = scandir (*pp, &namelist, libselect, libcompare)) > 0)
-+ {
-+ sprintf (buf, "%s/%s", *pp, namelist[entries - 1]->d_name);
-+ add_to_list (&libraries, buf);
-+ if (debug)
-+ fprintf (stderr, "%s\n", buf);
-+ break;
-+ }
-+ }
-+ if (*pp == 0)
-+ {
-+ if (debug)
-+ notice ("not found\n");
-+ else
-+ fatal ("dynamic dependency %s not found", name);
-+ }
-+}
-+
-+/* Scan the _DYNAMIC structure of the output file to find shared libraries
-+ that it depends upon and any constructors or destructors they contain. */
-+
-+static void
-+scan_libraries (const char *prog_name)
-+{
-+ struct exec *header;
-+ char *base;
-+ struct link_object *lo;
-+ char buff[MAXPATHLEN];
-+ struct id *list;
-+
-+ mapfile (prog_name);
-+ header = (struct exec *)object;
-+ if (N_BADMAG (*header))
-+ fatal ("bad magic number in file '%s'", prog_name);
-+ if (header->a_dynamic == 0)
-+ return;
-+
-+ code = (char *) (N_TXTOFF (*header) + (long) header);
-+ data = (char *) (N_DATOFF (*header) + (long) header);
-+ symtab = (struct nlist *) (N_SYMOFF (*header) + (long) header);
-+
-+ if (header->a_magic == ZMAGIC && header->a_entry == 0x20)
-+ {
-+ /* shared object */
-+ ld = (struct link_dynamic *) (symtab->n_value + code);
-+ base = code;
-+ }
-+ else
-+ {
-+ /* executable */
-+ ld = (struct link_dynamic *) data;
-+ base = code-PAGSIZ;
-+ }
-+
-+ if (debug)
-+ notice ("dynamic dependencies.\n");
-+
-+ ld_2 = (struct link_dynamic_2 *) ((long) ld->ld_un.ld_2 + (long)base);
-+ for (lo = (struct link_object *) ld_2->ld_need; lo;
-+ lo = (struct link_object *) lo->lo_next)
-+ {
-+ char *name;
-+ lo = (struct link_object *) ((long) lo + code);
-+ name = (char *) (code + lo->lo_name);
-+ if (lo->lo_library)
-+ {
-+ if (debug)
-+ fprintf (stderr, "\t-l%s.%d => ", name, lo->lo_major);
-+ sprintf (buff, "lib%s.so.%d.%d", name, lo->lo_major, lo->lo_minor);
-+ locatelib (buff);
-+ }
-+ else
-+ {
-+ if (debug)
-+ fprintf (stderr, "\t%s\n", name);
-+ add_to_list (&libraries, name);
-+ }
-+ }
-+
-+ if (debug)
-+ fprintf (stderr, "\n");
-+
-+ /* Now iterate through the library list adding their symbols to
-+ the list. */
-+ for (list = libraries.first; list; list = list->next)
-+ scan_prog_file (list->name, PASS_LIB);
-+}
-+
-+#else /* SUNOS4_SHARED_LIBRARIES */
-+#ifdef LDD_SUFFIX
-+
-+/* Use the List Dynamic Dependencies program to find shared libraries that
-+ the output file depends upon and their initialization/finalization
-+ routines, if any. */
-+
-+static void
-+scan_libraries (const char *prog_name)
-+{
-+ static struct head libraries; /* list of shared libraries found */
-+ struct id *list;
-+ void (*int_handler) (int);
-+ void (*quit_handler) (int);
-+ char *real_ldd_argv[4];
-+ const char **ldd_argv = (const char **) real_ldd_argv;
-+ int argc = 0;
-+ int pipe_fd[2];
-+ char buf[1024];
-+ FILE *inf;
-+
-+ /* If we do not have an `ldd', complain. */
-+ if (ldd_file_name == 0)
-+ {
-+ error ("cannot find `ldd'");
-+ return;
-+ }
-+
-+ ldd_argv[argc++] = ldd_file_name;
-+ ldd_argv[argc++] = prog_name;
-+ ldd_argv[argc++] = (char *) 0;
-+
-+ if (pipe (pipe_fd) < 0)
-+ fatal_perror ("pipe");
-+
-+ inf = fdopen (pipe_fd[0], "r");
-+ if (inf == (FILE *) 0)
-+ fatal_perror ("fdopen");
-+
-+ /* Trace if needed. */
-+ if (vflag)
-+ {
-+ const char **p_argv;
-+ const char *str;
-+
-+ for (p_argv = &ldd_argv[0]; (str = *p_argv) != (char *) 0; p_argv++)
-+ fprintf (stderr, " %s", str);
-+
-+ fprintf (stderr, "\n");
-+ }
-+
-+ fflush (stdout);
-+ fflush (stderr);
-+
-+ /* Spawn child ldd on pipe. */
-+ pid = vfork ();
-+ if (pid == -1)
-+ fatal_perror (VFORK_STRING);
-+
-+ if (pid == 0) /* child context */
-+ {
-+ /* setup stdout */
-+ if (dup2 (pipe_fd[1], 1) < 0)
-+ fatal_perror ("dup2 %d 1", pipe_fd[1]);
-+
-+ if (close (pipe_fd[0]) < 0)
-+ fatal_perror ("close %d", pipe_fd[0]);
-+
-+ if (close (pipe_fd[1]) < 0)
-+ fatal_perror ("close %d", pipe_fd[1]);
-+
-+ execv (ldd_file_name, real_ldd_argv);
-+ fatal_perror ("execv %s", ldd_file_name);
-+ }
-+
-+ /* Parent context from here on. */
-+ int_handler = (void (*) (int)) signal (SIGINT, SIG_IGN);
-+#ifdef SIGQUIT
-+ quit_handler = (void (*) (int)) signal (SIGQUIT, SIG_IGN);
-+#endif
-+
-+ if (close (pipe_fd[1]) < 0)
-+ fatal_perror ("close %d", pipe_fd[1]);
-+
-+ if (debug)
-+ notice ("\nldd output with constructors/destructors.\n");
-+
-+ /* Read each line of ldd output. */
-+ while (fgets (buf, sizeof buf, inf) != (char *) 0)
-+ {
-+ int ch2;
-+ char *name, *end, *p = buf;
-+
-+ /* Extract names of libraries and add to list. */
-+ PARSE_LDD_OUTPUT (p);
-+ if (p == 0)
-+ continue;
-+
-+ name = p;
-+ if (strncmp (name, "not found", sizeof ("not found") - 1) == 0)
-+ fatal ("dynamic dependency %s not found", buf);
-+
-+ /* Find the end of the symbol name. */
-+ for (end = p;
-+ (ch2 = *end) != '\0' && ch2 != '\n' && !ISSPACE (ch2) && ch2 != '|';
-+ end++)
-+ continue;
-+ *end = '\0';
-+
-+ if (access (name, R_OK) == 0)
-+ add_to_list (&libraries, name);
-+ else
-+ fatal ("unable to open dynamic dependency '%s'", buf);
-+
-+ if (debug)
-+ fprintf (stderr, "\t%s\n", buf);
-+ }
-+ if (debug)
-+ fprintf (stderr, "\n");
-+
-+ if (fclose (inf) != 0)
-+ fatal_perror ("fclose");
-+
-+ do_wait (ldd_file_name);
-+
-+ signal (SIGINT, int_handler);
-+#ifdef SIGQUIT
-+ signal (SIGQUIT, quit_handler);
-+#endif
-+
-+ /* Now iterate through the library list adding their symbols to
-+ the list. */
-+ for (list = libraries.first; list; list = list->next)
-+ scan_prog_file (list->name, PASS_LIB);
-+}
-+
-+#endif /* LDD_SUFFIX */
-+#endif /* SUNOS4_SHARED_LIBRARIES */
-+
-+#endif /* OBJECT_FORMAT_NONE */
-+
-+
-+/*
-+ * COFF specific stuff.
-+ */
-+
-+#ifdef OBJECT_FORMAT_COFF
-+
-+#if defined (EXTENDED_COFF)
-+
-+# define GCC_SYMBOLS(X) (SYMHEADER(X).isymMax + SYMHEADER(X).iextMax)
-+# define GCC_SYMENT SYMR
-+# define GCC_OK_SYMBOL(X) ((X).st == stProc || (X).st == stGlobal)
-+# define GCC_SYMINC(X) (1)
-+# define GCC_SYMZERO(X) (SYMHEADER(X).isymMax)
-+# define GCC_CHECK_HDR(X) (PSYMTAB(X) != 0)
-+
-+#else
-+
-+# define GCC_SYMBOLS(X) (HEADER(ldptr).f_nsyms)
-+# define GCC_SYMENT SYMENT
-+# if defined (C_WEAKEXT)
-+# define GCC_OK_SYMBOL(X) \
-+ (((X).n_sclass == C_EXT || (X).n_sclass == C_WEAKEXT) && \
-+ ((X).n_scnum > N_UNDEF) && \
-+ (aix64_flag \
-+ || (((X).n_type & N_TMASK) == (DT_NON << N_BTSHFT) \
-+ || ((X).n_type & N_TMASK) == (DT_FCN << N_BTSHFT))))
-+# define GCC_UNDEF_SYMBOL(X) \
-+ (((X).n_sclass == C_EXT || (X).n_sclass == C_WEAKEXT) && \
-+ ((X).n_scnum == N_UNDEF))
-+# else
-+# define GCC_OK_SYMBOL(X) \
-+ (((X).n_sclass == C_EXT) && \
-+ ((X).n_scnum > N_UNDEF) && \
-+ (aix64_flag \
-+ || (((X).n_type & N_TMASK) == (DT_NON << N_BTSHFT) \
-+ || ((X).n_type & N_TMASK) == (DT_FCN << N_BTSHFT))))
-+# define GCC_UNDEF_SYMBOL(X) \
-+ (((X).n_sclass == C_EXT) && ((X).n_scnum == N_UNDEF))
-+# endif
-+# define GCC_SYMINC(X) ((X).n_numaux+1)
-+# define GCC_SYMZERO(X) 0
-+
-+/* 0757 = U803XTOCMAGIC (AIX 4.3) and 0767 = U64_TOCMAGIC (AIX V5) */
-+#ifdef _AIX51
-+# define GCC_CHECK_HDR(X) \
-+ ((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \
-+ || (HEADER (X).f_magic == 0767 && aix64_flag))
-+#else
-+# define GCC_CHECK_HDR(X) \
-+ ((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \
-+ || (HEADER (X).f_magic == 0757 && aix64_flag))
-+#endif
-+
-+#endif
-+
-+#ifdef COLLECT_EXPORT_LIST
-+/* Array of standard AIX libraries which should not
-+ be scanned for ctors/dtors. */
-+static const char *const aix_std_libs[] = {
-+ "/unix",
-+ "/lib/libc.a",
-+ "/lib/libm.a",
-+ "/lib/libc_r.a",
-+ "/lib/libm_r.a",
-+ "/usr/lib/libc.a",
-+ "/usr/lib/libm.a",
-+ "/usr/lib/libc_r.a",
-+ "/usr/lib/libm_r.a",
-+ "/usr/lib/threads/libc.a",
-+ "/usr/ccs/lib/libc.a",
-+ "/usr/ccs/lib/libm.a",
-+ "/usr/ccs/lib/libc_r.a",
-+ "/usr/ccs/lib/libm_r.a",
-+ NULL
-+};
-+
-+/* This function checks the filename and returns 1
-+ if this name matches the location of a standard AIX library. */
-+static int ignore_library (const char *);
-+static int
-+ignore_library (const char *name)
-+{
-+ const char *const *p = &aix_std_libs[0];
-+ while (*p++ != NULL)
-+ if (! strcmp (name, *p)) return 1;
-+ return 0;
-+}
-+#endif /* COLLECT_EXPORT_LIST */
-+
-+#if defined (HAVE_DECL_LDGETNAME) && !HAVE_DECL_LDGETNAME
-+extern char *ldgetname (LDFILE *, GCC_SYMENT *);
-+#endif
-+
-+/* COFF version to scan the name list of the loaded program for
-+ the symbols g++ uses for static constructors and destructors.
-+
-+ The constructor table begins at __CTOR_LIST__ and contains a count
-+ of the number of pointers (or -1 if the constructors are built in a
-+ separate section by the linker), followed by the pointers to the
-+ constructor functions, terminated with a null pointer. The
-+ destructor table has the same format, and begins at __DTOR_LIST__. */
-+
-+static void
-+scan_prog_file (const char *prog_name, enum pass which_pass)
-+{
-+ LDFILE *ldptr = NULL;
-+ int sym_index, sym_count;
-+ int is_shared = 0;
-+
-+ if (which_pass != PASS_FIRST && which_pass != PASS_OBJ)
-+ return;
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ /* We do not need scanning for some standard C libraries. */
-+ if (which_pass == PASS_FIRST && ignore_library (prog_name))
-+ return;
-+
-+ /* On AIX we have a loop, because there is not much difference
-+ between an object and an archive. This trick allows us to
-+ eliminate scan_libraries() function. */
-+ do
-+ {
-+#endif
-+ /* Some platforms (e.g. OSF4) declare ldopen as taking a
-+ non-const char * filename parameter, even though it will not
-+ modify that string. So we must cast away const-ness here,
-+ which will cause -Wcast-qual to burp. */
-+ if ((ldptr = ldopen ((char *)prog_name, ldptr)) != NULL)
-+ {
-+ if (! MY_ISCOFF (HEADER (ldptr).f_magic))
-+ fatal ("%s: not a COFF file", prog_name);
-+
-+ if (GCC_CHECK_HDR (ldptr))
-+ {
-+ sym_count = GCC_SYMBOLS (ldptr);
-+ sym_index = GCC_SYMZERO (ldptr);
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ /* Is current archive member a shared object? */
-+ is_shared = HEADER (ldptr).f_flags & F_SHROBJ;
-+#endif
-+
-+ while (sym_index < sym_count)
-+ {
-+ GCC_SYMENT symbol;
-+
-+ if (ldtbread (ldptr, sym_index, &symbol) <= 0)
-+ break;
-+ sym_index += GCC_SYMINC (symbol);
-+
-+ if (GCC_OK_SYMBOL (symbol))
-+ {
-+ char *name;
-+
-+ if ((name = ldgetname (ldptr, &symbol)) == NULL)
-+ continue; /* Should never happen. */
-+
-+#ifdef XCOFF_DEBUGGING_INFO
-+ /* All AIX function names have a duplicate entry
-+ beginning with a dot. */
-+ if (*name == '.')
-+ ++name;
-+#endif
-+
-+ switch (is_ctor_dtor (name))
-+ {
-+ case 1:
-+ if (! is_shared)
-+ add_to_list (&constructors, name);
-+#if defined (COLLECT_EXPORT_LIST) && !defined (LD_INIT_SWITCH)
-+ if (which_pass == PASS_OBJ)
-+ add_to_list (&exports, name);
-+#endif
-+ break;
-+
-+ case 2:
-+ if (! is_shared)
-+ add_to_list (&destructors, name);
-+#if defined (COLLECT_EXPORT_LIST) && !defined (LD_INIT_SWITCH)
-+ if (which_pass == PASS_OBJ)
-+ add_to_list (&exports, name);
-+#endif
-+ break;
-+
-+#ifdef COLLECT_EXPORT_LIST
-+ case 3:
-+#ifndef LD_INIT_SWITCH
-+ if (is_shared)
-+ add_to_list (&constructors, name);
-+#endif
-+ break;
-+
-+ case 4:
-+#ifndef LD_INIT_SWITCH
-+ if (is_shared)
-+ add_to_list (&destructors, name);
-+#endif
-+ break;
-+#endif
-+
-+ case 5:
-+ if (! is_shared)
-+ add_to_list (&frame_tables, name);
-+#if defined (COLLECT_EXPORT_LIST) && !defined (LD_INIT_SWITCH)
-+ if (which_pass == PASS_OBJ)
-+ add_to_list (&exports, name);
-+#endif
-+ break;
-+
-+ default: /* not a constructor or destructor */
-+#ifdef COLLECT_EXPORT_LIST
-+ /* Explicitly export all global symbols when
-+ building a shared object on AIX, but do not
-+ re-export symbols from another shared object
-+ and do not export symbols if the user
-+ provides an explicit export list. */
-+ if (shared_obj && !is_shared
-+ && which_pass == PASS_OBJ && !export_flag)
-+ add_to_list (&exports, name);
-+#endif
-+ continue;
-+ }
-+
-+ if (debug)
-+#if !defined(EXTENDED_COFF)
-+ fprintf (stderr, "\tsec=%d class=%d type=%s%o %s\n",
-+ symbol.n_scnum, symbol.n_sclass,
-+ (symbol.n_type ? "0" : ""), symbol.n_type,
-+ name);
-+#else
-+ fprintf (stderr,
-+ "\tiss = %5d, value = %5ld, index = %5d, name = %s\n",
-+ symbol.iss, (long) symbol.value, symbol.index, name);
-+#endif
-+ }
-+ }
-+ }
-+#ifdef COLLECT_EXPORT_LIST
-+ else
-+ {
-+ /* If archive contains both 32-bit and 64-bit objects,
-+ we want to skip objects in other mode so mismatch normal. */
-+ if (debug)
-+ fprintf (stderr, "%s : magic=%o aix64=%d mismatch\n",
-+ prog_name, HEADER (ldptr).f_magic, aix64_flag);
-+ }
-+#endif
-+ }
-+ else
-+ {
-+ fatal ("%s: cannot open as COFF file", prog_name);
-+ }
-+#ifdef COLLECT_EXPORT_LIST
-+ /* On AIX loop continues while there are more members in archive. */
-+ }
-+ while (ldclose (ldptr) == FAILURE);
-+#else
-+ /* Otherwise we simply close ldptr. */
-+ (void) ldclose(ldptr);
-+#endif
-+}
-+#endif /* OBJECT_FORMAT_COFF */
-+
-+#ifdef COLLECT_EXPORT_LIST
-+/* Given a library name without "lib" prefix, this function
-+ returns a full library name including a path. */
-+static char *
-+resolve_lib_name (const char *name)
-+{
-+ char *lib_buf;
-+ int i, j, l = 0;
-+ /* Library extensions for AIX dynamic linking. */
-+ const char * const libexts[2] = {"a", "so"};
-+
-+ for (i = 0; libpaths[i]; i++)
-+ if (libpaths[i]->max_len > l)
-+ l = libpaths[i]->max_len;
-+
-+ lib_buf = xmalloc (l + strlen(name) + 10);
-+
-+ for (i = 0; libpaths[i]; i++)
-+ {
-+ struct prefix_list *list = libpaths[i]->plist;
-+ for (; list; list = list->next)
-+ {
-+ /* The following lines are needed because path_prefix list
-+ may contain directories both with trailing '/' and
-+ without it. */
-+ const char *p = "";
-+ if (list->prefix[strlen(list->prefix)-1] != '/')
-+ p = "/";
-+ for (j = 0; j < 2; j++)
-+ {
-+ sprintf (lib_buf, "%s%slib%s.%s",
-+ list->prefix, p, name,
-+ libexts[(j + aixrtl_flag) % 2]);
-+ if (debug) fprintf (stderr, "searching for: %s\n", lib_buf);
-+ if (file_exists (lib_buf))
-+ {
-+ if (debug) fprintf (stderr, "found: %s\n", lib_buf);
-+ return (lib_buf);
-+ }
-+ }
-+ }
-+ }
-+ if (debug)
-+ fprintf (stderr, "not found\n");
-+ else
-+ fatal ("library lib%s not found", name);
-+ return (NULL);
-+}
-+#endif /* COLLECT_EXPORT_LIST */
diff -uNr gcc-3.4.6.orig/gcc/Makefile.in gcc-3.4.6/gcc/Makefile.in
--- gcc-3.4.6.orig/gcc/Makefile.in 2005-02-24 10:26:59.000000000 +0100
+++ gcc-3.4.6/gcc/Makefile.in 2007-11-13 08:48:20.000000000 +0100
@@ -2897,3921 +25,3 @@ diff -uNr gcc-3.4.6.orig/gcc/Makefile.in gcc-3.4.6/gcc/Makefile.in
-if [ -f gcc-cross$(exeext) ] ; then \
if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
-diff -uNr gcc-3.4.6.orig/gcc/Makefile.in.orig gcc-3.4.6/gcc/Makefile.in.orig
---- gcc-3.4.6.orig/gcc/Makefile.in.orig 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-3.4.6/gcc/Makefile.in.orig 2005-02-24 10:26:59.000000000 +0100
-@@ -0,0 +1,3914 @@
-+# Makefile for GNU Compiler Collection
-+# Run 'configure' to generate Makefile from Makefile.in
-+
-+# Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-+# 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+
-+#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 2, 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 COPYING. If not, write to
-+#the Free Software Foundation, 59 Temple Place - Suite 330,
-+#Boston MA 02111-1307, USA.
-+
-+# The targets for external use include:
-+# all, doc, proto, install, install-cross, install-cross-rest,
-+# uninstall, TAGS, mostlyclean, clean, distclean, maintainer-clean,
-+# stage1, stage2, stage3, stage4.
-+
-+# This is the default target.
-+# Set by autoconf to "all.internal" for a native build, or
-+# "all.cross" to build a cross compiler.
-+all: @ALL@
-+
-+# Depend on this to specify a phony target portably.
-+force:
-+
-+# This tells GNU make version 3 not to export the variables
-+# defined in this file into the environment (and thus recursive makes).
-+.NOEXPORT:
-+# And this tells it not to automatically pass command-line variables
-+# to recursive makes.
-+MAKEOVERRIDES =
-+
-+# Suppress smart makes who think they know how to automake yacc and flex file
-+.y.c:
-+.l.c:
-+
-+# The only suffixes we want for implicit rules are .c and .o, so clear
-+# the list and add them. This speeds up GNU Make, and allows -r to work.
-+# For i18n support, we also need .gmo, .po, .pox.
-+# This must come before the language makefile fragments to allow them to
-+# add suffixes and rules of their own.
-+.SUFFIXES:
-+.SUFFIXES: .c .o .po .pox .gmo
-+
-+# -------------------------------
-+# Standard autoconf-set variables
-+# -------------------------------
-+
-+build=@build@
-+host=@host@
-+target=@target@
-+target_noncanonical:=@target_noncanonical@
-+
-+# Sed command to transform gcc to installed name.
-+program_transform_name := @program_transform_name@
-+
-+# -----------------------------
-+# Directories used during build
-+# -----------------------------
-+
-+# Directory where sources are, from where we are.
-+srcdir = @srcdir@
-+docdir = @srcdir@/doc
-+
-+# Directory where sources are, absolute.
-+abs_srcdir = @abs_srcdir@
-+abs_docdir = @abs_srcdir@/doc
-+
-+# Top build directory, relative to here.
-+top_builddir = ..
-+# objdir is set by configure.
-+# It's normally the absolute path to the current directory.
-+objdir = @objdir@
-+
-+# --------
-+# Defined vpaths
-+# --------
-+
-+# Directory where sources are, from where we are.
-+VPATH = @srcdir@
-+
-+# We define a vpath for the sources of the .texi files here because they
-+# are split between multiple directories and we would rather use one implicit
-+# pattern rule for everything.
-+# This vpath could be extended within the Make-lang fragments.
-+
-+vpath %.texi $(docdir):$(docdir)/include
-+
-+# ----
-+# Default values for variables overridden in Makefile fragments.
-+# These need to be quite early in the Makefile so as to avoid
-+# trouble induced by changes in fragment ordering.
-+# ----
-+
-+# For ada/Make-lang.in; overridden in, for example, config/pa/x-ada.
-+X_ADA_CFLAGS =
-+T_ADA_CFLAGS =
-+X_ADAFLAGS =
-+T_ADAFLAGS =
-+
-+# --------
-+# UNSORTED
-+# --------
-+
-+# Variables that exist for you to override.
-+# See below for how to change them for certain systems.
-+
-+# List of language subdirectories.
-+SUBDIRS =@subdirs@
-+
-+# Selection of languages to be made.
-+CONFIG_LANGUAGES = @all_languages@
-+LANGUAGES = c gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES)
-+
-+# Selection of languages to be made during stage1 build.
-+BOOT_LANGUAGES = c @all_boot_languages@
-+
-+# Various ways of specifying flags for compilations:
-+# CFLAGS is for the user to override to, e.g., do a cross build with -O2.
-+# For recursive bootstrap builds CFLAGS is used to pass in STAGE1_CFLAGS
-+# or BOOT_CFLAGS
-+# STAGE1_CFLAGS is set by configure on some targets or passed from toplevel
-+# and sets the CFLAGS passed to stage1 of a bootstrap compilation.
-+# BOOT_CFLAGS is the value of CFLAGS to pass to the stage2, stage3 and stage4
-+# bootstrap compilations.
-+# XCFLAGS is used for most compilations but not when using the GCC just built.
-+# TCFLAGS is used for compilations with the GCC just built.
-+XCFLAGS =
-+TCFLAGS =
-+CFLAGS = -g
-+STAGE1_CFLAGS = -g @stage1_cflags@
-+BOOT_CFLAGS = -g -O2
-+
-+# Flags to determine code coverage. When coverage is disabled, this will
-+# contain the optimization flags, as you normally want code coverage
-+# without optimization.
-+COVERAGE_FLAGS = @coverage_flags@
-+coverageexts = .{gcda,gcno}
-+
-+# The warning flags are separate from BOOT_CFLAGS because people tend to
-+# override optimization flags and we'd like them to still have warnings
-+# turned on. These flags are also used to pass other stage dependent
-+# flags from configure. The user is free to explicitly turn these flags
-+# off if they wish.
-+# LOOSE_WARN are the warning flags to use when compiling something
-+# which is only compiled with gcc, such as libgcc and the frontends
-+# other than C.
-+# STRICT_WARN and STRICT2_WARN are the additional warning flags to
-+# apply to the back end and the C front end, which may be compiled
-+# with other compilers. This is partially controlled by configure in
-+# stage1, as not all versions of gcc understand -Wno-long-long.
-+LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-+STRICT_WARN = @strict1_warn@
-+STRICT2_WARN = -pedantic -Wno-long-long -Wold-style-definition @WERROR@
-+
-+# This is set by --enable-checking. The idea is to catch forgotten
-+# "extern" tags in header files.
-+NOCOMMON_FLAG = @nocommon_flag@
-+
-+# This is set by --disable-maintainer-mode (default) to "#"
-+MAINT := @MAINT@
-+
-+# These are set by --enable-checking=valgrind.
-+RUN_GEN = @valgrind_command@
-+VALGRIND_DRIVER_DEFINES = @valgrind_path_defines@
-+
-+# This is how we control whether or not the additional warnings are applied.
-+.-warn = $(STRICT_WARN)
-+GCC_WARN_CFLAGS = $(LOOSE_WARN) $($(@D)-warn) $(NOCOMMON_FLAG) $($@-warn)
-+
-+# These files are to have -Werror bypassed in stage2:
-+# These are very hard to completely clean due to target complexities.
-+gcc.o-warn = -Wno-error
-+insn-conditions.o-warn = -Wno-error
-+# Bison-1.75 output often yields (harmless) -Wtraditional warnings
-+gengtype-yacc.o-warn = -Wno-error
-+c-parse.o-warn = -Wno-error
-+# flex output may yield harmless "no previous prototype" warnings
-+gengtype-lex.o-warn = -Wno-error
-+# SYSCALLS.c misses prototypes
-+SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
-+
-+# All warnings have to be shut off in stage1 if the compiler used then
-+# isn't gcc; configure determines that. WARN_CFLAGS will be either
-+# $(GCC_WARN_CFLAGS), or nothing.
-+WARN_CFLAGS = @warn_cflags@
-+
-+CPPFLAGS = @CPPFLAGS@
-+
-+# These exists to be overridden by the x-* and t-* files, respectively.
-+X_CFLAGS =
-+T_CFLAGS =
-+
-+X_CPPFLAGS =
-+T_CPPFLAGS =
-+
-+AWK = @AWK@
-+CC = @CC@
-+BISON = @BISON@
-+BISONFLAGS =
-+FLEX = @FLEX@
-+FLEXFLAGS =
-+AR = ar
-+AR_FLAGS = rc
-+RANLIB = @RANLIB@
-+
-+# -------------------------------------------
-+# Programs which operate on the build machine
-+# -------------------------------------------
-+
-+SHELL = @SHELL@
-+# pwd command to use. Allow user to override default by setting PWDCMD in
-+# the environment to account for automounters. The make variable must not
-+# be called PWDCMD, otherwise the value set here is passed to make
-+# subprocesses and overrides the setting from the user's environment.
-+# Don't use PWD since it is a common shell environment variable and we
-+# don't want to corrupt it.
-+PWD_COMMAND = $${PWDCMD-pwd}
-+# on sysV, define this as cp.
-+INSTALL = @INSTALL@
-+# Some systems may be missing symbolic links, regular links, or both.
-+# Allow configure to check this and use "ln -s", "ln", or "cp" as appropriate.
-+LN=@LN@
-+LN_S=@LN_S@
-+# These permit overriding just for certain files.
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_SCRIPT = @INSTALL@
-+MAKEINFO = @MAKEINFO@
-+MAKEINFOFLAGS = --no-split
-+TEXI2DVI = texi2dvi
-+TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
-+POD2MAN = pod2man --center="GNU" --release="gcc-$(version)"
-+# Some versions of `touch' (such as the version on Solaris 2.8)
-+# do not correctly set the timestamp due to buggy versions of `utime'
-+# in the kernel. So, we use `echo' instead.
-+STAMP = echo timestamp >
-+
-+# Make sure the $(MAKE) variable is defined.
-+@SET_MAKE@
-+REMAKEFLAGS=LANGUAGES="$(LANGUAGES)" BOOT_CFLAGS="$(BOOT_CFLAGS)"
-+
-+# --------
-+# UNSORTED
-+# --------
-+
-+# Some compilers can't handle cc -c blah.c -o foo/blah.o.
-+# In stage2 and beyond, we force this to "-o $@" since we know we're using gcc.
-+OUTPUT_OPTION = @OUTPUT_OPTION@
-+
-+# This is where we get zlib from. zlibdir is -L../zlib and zlibinc is
-+# -I../zlib, unless we were configured with --with-system-zlib, in which
-+# case both are empty.
-+ZLIB = @zlibdir@ -lz
-+ZLIBINC = @zlibinc@
-+
-+# Substitution type for target's getgroups 2nd arg.
-+TARGET_GETGROUPS_T = @TARGET_GETGROUPS_T@
-+
-+# Target to use when installing include directory. Either
-+# install-headers-tar, install-headers-cpio or install-headers-cp.
-+INSTALL_HEADERS_DIR = @build_install_headers_dir@
-+
-+# Header files that are made available under the same name
-+# to programs compiled with GCC.
-+USER_H = $(srcdir)/ginclude/float.h \
-+ $(srcdir)/ginclude/iso646.h \
-+ $(srcdir)/ginclude/stdarg.h \
-+ $(srcdir)/ginclude/stdbool.h \
-+ $(srcdir)/ginclude/stddef.h \
-+ $(srcdir)/ginclude/varargs.h \
-+ $(srcdir)/unwind.h \
-+ $(EXTRA_HEADERS)
-+
-+# The GCC to use for compiling libgcc.a and crt*.o.
-+# Usually the one we just built.
-+# Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
-+GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include -L$(objdir)/../ld
-+
-+# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
-+# It omits XCFLAGS, and specifies -B./.
-+# It also specifies -isystem ./include to find, e.g., stddef.h.
-+GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(LOOSE_WARN) -Wold-style-definition $($@-warn) -isystem ./include $(TCFLAGS)
-+
-+# ---------------------------------------------------
-+# Programs which produce files for the target machine
-+# ---------------------------------------------------
-+
-+AR_FOR_TARGET = ` \
-+ if [ -f $(objdir)/../binutils/ar ] ; then \
-+ echo $(objdir)/../binutils/ar ; \
-+ else \
-+ if [ "$(host)" = "$(target)" ] ; then \
-+ echo ar; \
-+ else \
-+ t='$(program_transform_name)'; echo ar | sed -e $$t ; \
-+ fi; \
-+ fi`
-+AR_FLAGS_FOR_TARGET =
-+AR_CREATE_FOR_TARGET = $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) rc
-+AR_EXTRACT_FOR_TARGET = $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) x
-+RANLIB_FOR_TARGET = ` \
-+ if [ -f $(objdir)/../binutils/ranlib ] ; then \
-+ echo $(objdir)/../binutils/ranlib ; \
-+ else \
-+ if [ "$(host)" = "$(target)" ] ; then \
-+ echo $(RANLIB); \
-+ else \
-+ t='$(program_transform_name)'; echo ranlib | sed -e $$t ; \
-+ fi; \
-+ fi`
-+NM_FOR_TARGET = ` \
-+ if [ -f ./nm ] ; then \
-+ echo ./nm ; \
-+ elif [ -f $(objdir)/../binutils/nm-new ] ; then \
-+ echo $(objdir)/../binutils/nm-new ; \
-+ else \
-+ if [ "$(host)" = "$(target)" ] ; then \
-+ echo nm; \
-+ else \
-+ t='$(program_transform_name)'; echo nm | sed -e $$t ; \
-+ fi; \
-+ fi`
-+
-+# --------
-+# UNSORTED
-+# --------
-+
-+# Where to find some libiberty headers.
-+HASHTAB_H = $(srcdir)/../include/hashtab.h
-+OBSTACK_H = $(srcdir)/../include/obstack.h
-+SPLAY_TREE_H= $(srcdir)/../include/splay-tree.h
-+FIBHEAP_H = $(srcdir)/../include/fibheap.h
-+PARTITION_H = $(srcdir)/../include/partition.h
-+
-+# Default native SYSTEM_HEADER_DIR, to be overridden by targets.
-+NATIVE_SYSTEM_HEADER_DIR = /usr/include
-+# Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
-+CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
-+
-+# autoconf sets SYSTEM_HEADER_DIR to one of the above.
-+SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
-+
-+# Control whether to run fixproto and fixincludes.
-+STMP_FIXPROTO = @STMP_FIXPROTO@
-+STMP_FIXINC = @STMP_FIXINC@
-+
-+# Test to see whether <limits.h> exists in the system header files.
-+LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
-+
-+# Directory for prefix to system directories, for
-+# each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc.
-+TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
-+
-+xmake_file=@xmake_file@
-+tmake_file=@tmake_file@
-+out_file=$(srcdir)/config/@out_file@
-+out_object_file=@out_object_file@
-+md_file=$(srcdir)/config/@md_file@
-+tm_file_list=@tm_file_list@
-+tm_include_list=@tm_include_list@
-+tm_defines=@tm_defines@
-+tm_p_file_list=@tm_p_file_list@
-+tm_p_include_list=@tm_p_include_list@
-+build_xm_file_list=@build_xm_file_list@
-+build_xm_include_list=@build_xm_include_list@
-+build_xm_defines=@build_xm_defines@
-+host_xm_file_list=@host_xm_file_list@
-+host_xm_include_list=@host_xm_include_list@
-+host_xm_defines=@host_xm_defines@
-+xm_file_list=@xm_file_list@
-+xm_include_list=@xm_include_list@
-+xm_defines=@xm_defines@
-+lang_checks=check-gcc
-+lang_opt_files=@lang_opt_files@ $(srcdir)/c.opt $(srcdir)/common.opt
-+lang_specs_files=@lang_specs_files@
-+lang_tree_files=@lang_tree_files@
-+target_cpu_default=@target_cpu_default@
-+GCC_THREAD_FILE=@thread_file@
-+OBJC_BOEHM_GC=@objc_boehm_gc@
-+GTHREAD_FLAGS=@gthread_flags@
-+extra_modes_file=@extra_modes_file@
-+host_hook_obj=@out_host_hook_obj@
-+# Be prepared for gcc2 merges.
-+gcc_version=@gcc_version@
-+gcc_version_trigger=@gcc_version_trigger@
-+version=$(gcc_version)
-+mainversion=`grep version_string $(srcdir)/version.c | sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/'`
-+
-+# ------------------------
-+# Installation directories
-+# ------------------------
-+
-+# Common prefix for installation directories.
-+# NOTE: This directory must exist when you start installation.
-+prefix = @prefix@
-+# Directory in which to put localized header files. On the systems with
-+# gcc as the native cc, `local_prefix' may not be `prefix' which is
-+# `/usr'.
-+# NOTE: local_prefix *should not* default from prefix.
-+local_prefix = @local_prefix@
-+# Directory in which to put host dependent programs and libraries
-+exec_prefix = @exec_prefix@
-+# Directory in which to put the executable for the command `gcc'
-+bindir = @bindir@
-+# Directory in which to put the directories used by the compiler.
-+libdir = @libdir@
-+# Directory in which GCC puts its executables.
-+libexecdir = @libexecdir@
-+
-+# --------
-+# UNSORTED
-+# --------
-+
-+# Directory in which the compiler finds libraries etc.
-+libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(version)
-+# Directory in which the compiler finds executables
-+libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(version)
-+# Used to produce a relative $(gcc_tooldir) in gcc.o
-+unlibsubdir = ../../..
-+# Directory in which to find other cross-compilation tools and headers.
-+dollar = @dollar@
-+# Used in install-cross.
-+gcc_tooldir = @gcc_tooldir@
-+# Used to install the shared libgcc.
-+slibdir = @slibdir@
-+# Since gcc_tooldir does not exist at build-time, use -B$(build_tooldir)/bin/
-+build_tooldir = $(exec_prefix)/$(target_noncanonical)
-+# Directory in which the compiler finds target-independent g++ includes.
-+gcc_gxx_include_dir = @gcc_gxx_include_dir@
-+# Directory to search for site-specific includes.
-+local_includedir = $(local_prefix)/include
-+includedir = $(prefix)/include
-+# where the info files go
-+infodir = @infodir@
-+# Where cpp should go besides $prefix/bin if necessary
-+cpp_install_dir = @cpp_install_dir@
-+# where the locale files go
-+datadir = @datadir@
-+localedir = $(datadir)/locale
-+# Extension (if any) to put in installed man-page filename.
-+man1ext = .1
-+man7ext = .7
-+objext = .o
-+exeext = @host_exeext@
-+build_exeext = @build_exeext@
-+
-+# Directory in which to put man pages.
-+mandir = @mandir@
-+man1dir = $(mandir)/man1
-+man7dir = $(mandir)/man7
-+# Dir for temp files.
-+tmpdir = /tmp
-+
-+# Whether we were configured with NLS.
-+USE_NLS = @USE_NLS@
-+
-+# Internationalization library.
-+LIBINTL = @LIBINTL@
-+LIBINTL_DEP = @LIBINTL_DEP@
-+
-+# Character encoding conversion library.
-+LIBICONV = @LIBICONV@
-+LIBICONV_DEP = @LIBICONV_DEP@
-+
-+# The GC method to be used on this system.
-+GGC=@GGC@.o
-+
-+# If a supplementary library is being used for the GC.
-+GGC_LIB=
-+
-+# libgcc.a may be built directly or via stmp-multilib,
-+# and installed likewise. Overridden by t-fragment.
-+LIBGCC = libgcc.a
-+INSTALL_LIBGCC = install-libgcc
-+
-+# Options to use when compiling libgcc2.a.
-+#
-+LIBGCC2_DEBUG_CFLAGS = -g
-+LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED @inhibit_libc@
-+
-+# Additional options to use when compiling libgcc2.a.
-+# Some targets override this to -isystem include
-+LIBGCC2_INCLUDES =
-+
-+# Additional target-dependent options for compiling libgcc2.a.
-+TARGET_LIBGCC2_CFLAGS =
-+
-+# Options to use when compiling crtbegin/end.
-+CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
-+ -finhibit-size-directive -fno-inline-functions -fno-exceptions \
-+ -fno-zero-initialized-in-bss -fno-unit-at-a-time
-+
-+# Additional sources to handle exceptions; overridden by targets as needed.
-+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
-+ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
-+LIB2ADDEHSTATIC = $(LIB2ADDEH)
-+LIB2ADDEHSHARED = $(LIB2ADDEH)
-+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
-+
-+# Don't build libunwind by default.
-+LIBUNWIND =
-+LIBUNWINDDEP =
-+SHLIBUNWIND_LINK =
-+SHLIBUNWIND_INSTALL =
-+
-+# nm flags to list global symbols in libgcc object files.
-+SHLIB_NM_FLAGS = -pg
-+
-+# List of extra executables that should be compiled for this target machine
-+# that are used for compiling from source code to object code.
-+# The rules for compiling them should be in the t-* file for the machine.
-+EXTRA_PASSES =@extra_passes@
-+
-+# Like EXTRA_PASSES, but these are used when linking.
-+EXTRA_PROGRAMS = @extra_programs@
-+
-+# List of extra object files that should be compiled for this target machine.
-+# The rules for compiling them should be in the t-* file for the machine.
-+EXTRA_PARTS = @extra_parts@
-+
-+# List of extra object files that should be compiled and linked with
-+# compiler proper (cc1, cc1obj, cc1plus).
-+EXTRA_OBJS = @extra_objs@
-+
-+# List of extra object files that should be compiled and linked with
-+# the gcc driver.
-+EXTRA_GCC_OBJS =@extra_gcc_objs@
-+
-+# List of additional header files to install.
-+EXTRA_HEADERS =@extra_headers_list@
-+
-+# It is convenient for configure to add the assignment at the beginning,
-+# so don't override it here.
-+USE_COLLECT2 = collect2$(exeext)
-+
-+# List of extra C and assembler files to add to static and shared libgcc2.
-+# Assembler files should have names ending in `.asm'.
-+LIB2FUNCS_EXTRA =
-+
-+# List of extra C and assembler files to add to static libgcc2.
-+# Assembler files should have names ending in `.asm'.
-+LIB2FUNCS_STATIC_EXTRA =
-+
-+# List of extra C and assembler files to add to shared libgcc2.
-+# Assembler files should have names ending in `.asm'.
-+LIB2FUNCS_SHARED_EXTRA =
-+
-+# Program to convert libraries.
-+LIBCONVERT =
-+
-+# Control whether header files are installed.
-+INSTALL_HEADERS=install-headers install-mkheaders
-+
-+# Control whether Info documentation is built and installed.
-+BUILD_INFO = @BUILD_INFO@
-+
-+# Control whether manpages generated by texi2pod.pl can be rebuilt.
-+GENERATED_MANPAGES = @GENERATED_MANPAGES@
-+
-+# Additional directories of header files to run fixincludes on.
-+# These should be directories searched automatically by default
-+# just as /usr/include is.
-+# *Do not* use this for directories that happen to contain
-+# header files, but are not searched automatically by default.
-+# On most systems, this is empty.
-+OTHER_FIXINCLUDES_DIRS=
-+
-+# A list of all the language-specific executables.
-+COMPILERS = cc1$(exeext) @all_compilers@
-+
-+# List of things which should already be built whenever we try to use xgcc
-+# to compile anything (without linking).
-+GCC_PASSES=xgcc$(exeext) cc1$(exeext) specs $(EXTRA_PASSES)
-+
-+# List of things which should already be built whenever we try to use xgcc
-+# to link anything.
-+GCC_PARTS=$(GCC_PASSES) $(LIBGCC) $(EXTRA_PROGRAMS) $(USE_COLLECT2) $(EXTRA_PARTS)
-+
-+# Directory to link to, when using the target `maketest'.
-+DIR = ../gcc
-+
-+# Flags to use when cross-building GCC.
-+# Prefix to apply to names of object files when using them
-+# to run on the machine we are compiling on.
-+BUILD_PREFIX = @BUILD_PREFIX@
-+# Prefix to apply to names of object files when compiling them
-+# to run on the machine we are compiling on.
-+# The default for this variable is chosen to keep these rules
-+# out of the way of the other rules for compiling the same source files.
-+BUILD_PREFIX_1 = @BUILD_PREFIX_1@
-+# Native compiler for the build machine and its switches.
-+CC_FOR_BUILD = @CC_FOR_BUILD@
-+BUILD_CFLAGS= @BUILD_CFLAGS@ -DGENERATOR_FILE
-+
-+# Native linker and preprocessor flags. For x-fragment overrides.
-+BUILD_LDFLAGS=$(LDFLAGS)
-+BUILD_CPPFLAGS=$(ALL_CPPFLAGS)
-+
-+# Actual name to use when installing a native compiler.
-+GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
-+GCC_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gcc|sed '$(program_transform_name)')
-+CPP_INSTALL_NAME := $(shell echo cpp|sed '$(program_transform_name)')
-+PROTOIZE_INSTALL_NAME := $(shell echo protoize|sed '$(program_transform_name)')
-+UNPROTOIZE_INSTALL_NAME := $(shell echo unprotoize|sed '$(program_transform_name)')
-+GCOV_INSTALL_NAME := $(shell echo gcov|sed '$(program_transform_name)')
-+GCCBUG_INSTALL_NAME := $(shell echo gccbug|sed '$(program_transform_name)')
-+
-+# Setup the testing framework, if you have one
-+EXPECT = `if [ -f $${rootme}/../expect/expect ] ; then \
-+ echo $${rootme}/../expect/expect ; \
-+ else echo expect ; fi`
-+
-+RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
-+ echo $${srcdir}/../dejagnu/runtest ; \
-+ else echo runtest; fi`
-+RUNTESTFLAGS =
-+
-+# Extra symbols for fixproto to define when parsing headers.
-+FIXPROTO_DEFINES =
-+
-+# Extra flags to use when compiling crt{begin,end}.o.
-+CRTSTUFF_T_CFLAGS =
-+
-+# Extra flags to use when compiling [m]crt0.o.
-+CRT0STUFF_T_CFLAGS =
-+
-+# "t" or nothing, for building multilibbed versions of, say, crtbegin.o.
-+T =
-+
-+# Should T contain a `=', libgcc.mk will make T_TARGET, setting
-+# $(T_TARGET) to the name of the actual target filename.
-+T_TARGET =
-+T_TARGET : $(T_TARGET)
-+
-+# This should name the specs file that we're going to install. Target
-+# Makefiles may override it and name another file to be generated from
-+# the built-in specs and installed as the default spec, as long as
-+# they also introduce a rule to generate a file name specs, to be used
-+# at build time.
-+SPECS = specs
-+
-+# End of variables for you to override.
-+
-+# GTM_H lists the config files that the generator files depend on,
-+# while TM_H lists the ones ordinary gcc files depend on, which
-+# includes several files generated by those generators.
-+BCONFIG_H = bconfig.h $(build_xm_file_list)
-+CONFIG_H = config.h $(host_xm_file_list)
-+TCONFIG_H = tconfig.h $(xm_file_list)
-+TM_P_H = tm_p.h $(tm_p_file_list)
-+GTM_H = tm.h $(tm_file_list)
-+TM_H = $(GTM_H) insn-constants.h insn-flags.h
-+
-+TARGET_H = $(TM_H) target.h
-+HOOKS_H = hooks.h
-+LANGHOOKS_DEF_H = langhooks-def.h $(HOOKS_H)
-+TARGET_DEF_H = target-def.h $(HOOKS_H)
-+MACHMODE_H = machmode.h mode-classes.def insn-modes.h
-+RTL_BASE_H = rtl.h rtl.def $(MACHMODE_H)
-+RTL_H = $(RTL_BASE_H) genrtl.h input.h
-+PARAMS_H = params.h params.def
-+TREE_H = tree.h tree.def $(MACHMODE_H) tree-check.h version.h builtins.def \
-+ input.h
-+BASIC_BLOCK_H = basic-block.h bitmap.h sbitmap.h varray.h $(PARTITION_H) \
-+ hard-reg-set.h cfghooks.h
-+COVERAGE_H = coverage.h gcov-io.h gcov-iov.h
-+DEMANGLE_H = $(srcdir)/../include/demangle.h
-+RECOG_H = recog.h
-+EXPR_H = expr.h
-+OPTABS_H = optabs.h insn-codes.h
-+REGS_H = regs.h varray.h $(MACHMODE_H)
-+INTEGRATE_H = integrate.h varray.h
-+LOOP_H = loop.h varray.h bitmap.h
-+GCC_H = gcc.h version.h
-+GGC_H = ggc.h gtype-desc.h
-+TIMEVAR_H = timevar.h timevar.def
-+INSN_ATTR_H = insn-attr.h $(srcdir)/insn-addr.h $(srcdir)/varray.h
-+C_COMMON_H = c-common.h $(SPLAY_TREE_H) $(CPPLIB_H)
-+C_TREE_H = c-tree.h $(C_COMMON_H)
-+SYSTEM_H = system.h hwint.h $(srcdir)/../include/libiberty.h
-+PREDICT_H = predict.h predict.def
-+CPPLIB_H = cpplib.h line-map.h
-+PRETTY_PRINT_H = pretty-print.h input.h $(OBSTACK_H)
-+DIAGNOSTIC_H = diagnostic.h diagnostic.def $(PRETTY_PRINT_H)
-+C_PRETTY_PRINT_H = $(PRETTY_PRINT_H) $(C_COMMON_H) $(TREE_H)
-+
-+#
-+# Now figure out from those variables how to compile and link.
-+
-+# IN_GCC distinguishes between code compiled into GCC itself and other
-+# programs built during a bootstrap.
-+# autoconf inserts -DCROSS_COMPILE if we are building a cross compiler.
-+INTERNAL_CFLAGS = -DIN_GCC @CROSS@
-+
-+# This is the variable actually used when we compile. If you change this,
-+# you probably want to update BUILD_CFLAGS in configure.ac
-+ALL_CFLAGS = $(X_CFLAGS) $(T_CFLAGS) \
-+ $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) $(XCFLAGS) @DEFS@
-+
-+# Likewise.
-+ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)
-+
-+# Build and host support libraries. FORBUILD is either
-+# .. or ../$(build_alias) depending on whether host != build.
-+LIBIBERTY = ../libiberty/libiberty.a
-+BUILD_LIBIBERTY = @FORBUILD@/libiberty/libiberty.a
-+
-+# Dependencies on the intl and portability libraries.
-+LIBDEPS= $(LIBIBERTY) $(LIBINTL_DEP) $(LIBICONV_DEP)
-+
-+# Likewise, for use in the tools that must run on this machine
-+# even if we are cross-building GCC.
-+BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
-+
-+# How to link with both our special library facilities
-+# and the system's installed libraries.
-+LIBS = @LIBS@ $(LIBIBERTY) $(LIBINTL) $(LIBICONV)
-+
-+# Any system libraries needed just for GNAT.
-+SYSLIBS = @GNAT_LIBEXC@
-+
-+# Libs needed (at present) just for jcf-dump.
-+LDEXP_LIB = @LDEXP_LIB@
-+
-+# Likewise, for use in the tools that must run on this machine
-+# even if we are cross-building GCC.
-+BUILD_LIBS = $(BUILD_LIBIBERTY)
-+
-+BUILD_RTL = $(BUILD_PREFIX)rtl.o read-rtl.o $(BUILD_PREFIX)bitmap.o \
-+ $(BUILD_PREFIX)ggc-none.o min-insn-modes.o
-+BUILD_SUPPORT = gensupport.o insn-conditions.o
-+BUILD_EARLY_SUPPORT = gensupport.o dummy-conditions.o
-+
-+BUILD_PRINT = print-rtl1.o
-+BUILD_ERRORS = $(BUILD_PREFIX)errors.o
-+BUILD_VARRAY = $(BUILD_PREFIX)varray.o
-+
-+# Specify the directories to be searched for header files.
-+# Both . and srcdir are used, in that order,
-+# so that *config.h will be found in the compilation
-+# subdirectory rather than in the source directory.
-+# -I$(@D) and -I$(srcdir)/$(@D) cause the subdirectory of the file
-+# currently being compiled, in both source trees, to be examined as well.
-+# libintl.h will be found in ../intl if we are using the included libintl.
-+INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
-+ -I$(srcdir)/../include @INCINTL@
-+
-+.c.o:
-+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-+
-+#
-+# Support for additional languages (other than C).
-+# C can be supported this way too (leave for later).
-+
-+LANG_MAKEFRAGS = @all_lang_makefrags@
-+LANG_MAKEFILES = @all_lang_makefiles@
-+LANG_STAGESTUFF = @all_stagestuff@
-+
-+# Flags to pass to recursive makes.
-+# CC is set by configure. Hosts without symlinks need special handling
-+# because we need CC="stage1/xgcc -Bstage1/" to work in the language
-+# subdirectories.
-+# ??? The choices here will need some experimenting with.
-+
-+export AR_FOR_TARGET
-+export AR_CREATE_FOR_TARGET
-+export AR_FLAGS_FOR_TARGET
-+export AR_EXTRACT_FOR_TARGET
-+export AWK
-+export BUILD_PREFIX
-+export BUILD_PREFIX_1
-+export DESTDIR
-+export GCC_FOR_TARGET
-+export INCLUDES
-+export INSTALL_DATA
-+export LIB1ASMSRC
-+export LIBGCC2_CFLAGS
-+export MACHMODE_H
-+export NM_FOR_TARGET
-+export RANLIB_FOR_TARGET
-+export libsubdir
-+export slibdir
-+
-+ORDINARY_FLAGS_TO_PASS = \
-+ "BISON=$(BISON)" \
-+ "BISONFLAGS=$(BISONFLAGS)" \
-+ "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
-+ "LDFLAGS=$(LDFLAGS)" \
-+ "FLEX=$(FLEX)" \
-+ "FLEXFLAGS=$(FLEXFLAGS)" \
-+ "LN=$(LN)" \
-+ "LN_S=$(LN_S)" \
-+ "MAKEINFO=$(MAKEINFO)" \
-+ "MAKEINFOFLAGS=$(MAKEINFOFLAGS)" \
-+ "MAKEOVERRIDES=" \
-+ "SHELL=$(SHELL)" \
-+ "exeext=$(exeext)" \
-+ "build_exeext=$(build_exeext)" \
-+ "objext=$(objext)" \
-+ "exec_prefix=$(exec_prefix)" \
-+ "prefix=$(prefix)" \
-+ "local_prefix=$(local_prefix)" \
-+ "gxx_include_dir=$(gcc_gxx_include_dir)" \
-+ "build_tooldir=$(build_tooldir)" \
-+ "gcc_tooldir=$(gcc_tooldir)" \
-+ "bindir=$(bindir)" \
-+ "libexecsubdir=$(libsubdir)" \
-+ "datadir=$(datadir)" \
-+ "localedir=$(localedir)"
-+FLAGS_TO_PASS = $(ORDINARY_FLAGS_TO_PASS) "CC=@cc_set_by_configure@" \
-+ "STAGE_PREFIX=@stage_prefix_set_by_configure@"
-+PREPEND_DOTDOT_TO_RELATIVE_PATHS = sed \
-+ -e 's|^ *[^ /][^ /]*/|%&|' \
-+ -e 's| -B| -B%|g' \
-+ -e 's|% *[^- /]|%&|g' \
-+ -e 's|%% *|../|g' \
-+ -e 's|%||g'
-+SUBDIR_FLAGS_TO_PASS = $(ORDINARY_FLAGS_TO_PASS) \
-+ "CC=`echo @quoted_cc_set_by_configure@ | $(PREPEND_DOTDOT_TO_RELATIVE_PATHS)`" \
-+ "STAGE_PREFIX=`echo @quoted_stage_prefix_set_by_configure@ | $(PREPEND_DOTDOT_TO_RELATIVE_PATHS)`"
-+#
-+# Lists of files for various purposes.
-+
-+# Target specific, C specific object file
-+C_TARGET_OBJS=@c_target_objs@
-+
-+# Target specific, C++ specific object file
-+CXX_TARGET_OBJS=@cxx_target_objs@
-+
-+# Language-specific object files for C and Objective C.
-+C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
-+ c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \
-+ c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o \
-+ c-objc-common.o c-dump.o c-pch.o libcpp.a $(C_TARGET_OBJS)
-+
-+# Language-specific object files for C.
-+C_OBJS = c-parse.o c-lang.o c-pretty-print.o stub-objc.o $(C_AND_OBJC_OBJS)
-+
-+# Language-independent object files.
-+
-+OBJS-common = \
-+ alias.o bb-reorder.o bitmap.o builtins.o caller-save.o calls.o \
-+ cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfglayout.o cfgloop.o \
-+ cfgloopanal.o cfgloopmanip.o loop-init.o loop-unswitch.o loop-unroll.o \
-+ cfgrtl.o combine.o conflict.o convert.o coverage.o cse.o cselib.o \
-+ dbxout.o debug.o df.o diagnostic.o dojump.o doloop.o dominance.o \
-+ dwarf2asm.o dwarf2out.o emit-rtl.o except.o explow.o \
-+ expmed.o expr.o final.o flow.o fold-const.o function.o gcse.o \
-+ genrtl.o ggc-common.o global.o graph.o gtype-desc.o \
-+ haifa-sched.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-modes.o \
-+ insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o \
-+ integrate.o intl.o jump.o langhooks.o lcm.o lists.o local-alloc.o \
-+ loop.o optabs.o options.o opts.o params.o postreload.o predict.o \
-+ print-rtl.o print-tree.o value-prof.o \
-+ profile.o ra.o ra-build.o ra-colorize.o ra-debug.o ra-rewrite.o \
-+ real.o recog.o reg-stack.o regclass.o regmove.o regrename.o \
-+ reload.o reload1.o reorg.o resource.o rtl.o rtlanal.o rtl-error.o \
-+ sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o \
-+ sibcall.o simplify-rtx.o sreal.o stmt.o stor-layout.o stringpool.o \
-+ targhooks.o timevar.o toplev.o tracer.o tree.o tree-dump.o unroll.o \
-+ varasm.o varray.o version.o vmsdbgout.o xcoffout.o alloc-pool.o \
-+ et-forest.o cfghooks.o bt-load.o pretty-print.o $(GGC) web.o
-+
-+OBJS-md = $(out_object_file)
-+OBJS-archive = $(EXTRA_OBJS) $(host_hook_obj) hashtable.o tree-inline.o \
-+ tree-optimize.o cgraph.o cgraphunit.o
-+
-+OBJS = $(OBJS-common) $(out_object_file) $(OBJS-archive)
-+
-+OBJS-onestep = libbackend.o $(OBJS-archive)
-+
-+BACKEND = main.o libbackend.a
-+
-+# Files to be copied away after each stage in building.
-+STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
-+ insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
-+ insn-attr.h insn-attrtab.c insn-opinit.c insn-constants.h tm-preds.h \
-+ tree-check.h insn-conditions.c min-insn-modes.c insn-modes.c insn-modes.h \
-+ s-flags s-config s-codes s-mlib s-genrtl s-modes s-gtype gtyp-gen.h \
-+ s-output s-recog s-emit s-extract s-peep s-check s-conditions \
-+ s-attr s-attrtab s-opinit s-preds s-constants s-crt0 \
-+ genemit$(build_exeext) genoutput$(build_exeext) genrecog$(build_exeext) \
-+ genextract$(build_exeext) genflags$(build_exeext) gencodes$(build_exeext) \
-+ genconfig$(build_exeext) genpeep$(build_exeext) genattrtab$(build_exeext) \
-+ genattr$(build_exeext) genopinit$(build_exeext) gengenrtl$(build_exeext) \
-+ gencheck$(build_exeext) genpreds$(build_exeext) genconstants$(build_exeext) \
-+ gengtype$(build_exeext) genconditions$(build_exeext) genmodes$(build_exeext) \
-+ genrtl.c genrtl.h gt-*.h gtype-*.h gtype-desc.c \
-+ xgcc$(exeext) cpp$(exeext) cc1$(exeext) $(EXTRA_PASSES) \
-+ $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
-+ protoize$(exeext) unprotoize$(exeext) \
-+ $(SPECS) collect2$(exeext) $(USE_COLLECT2) \
-+ gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
-+ *.[0-9][0-9].* *.[si] libcpp.a libbackend.a libgcc.mk \
-+ $(LANG_STAGESTUFF)
-+
-+# Defined in libgcc2.c, included only in the static library.
-+LIB2FUNCS_ST = _eprintf __gcc_bcmp
-+
-+# Defined in libgcov.c, included only in gcov library
-+LIBGCOV = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta
-+
-+FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \
-+ _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
-+ _lt_sf _le_sf _unord_sf _si_to_sf _sf_to_si _negate_sf _make_sf \
-+ _sf_to_df _sf_to_tf _thenan_sf _sf_to_usi _usi_to_sf
-+
-+DPBIT_FUNCS = _pack_df _unpack_df _addsub_df _mul_df _div_df \
-+ _fpcmp_parts_df _compare_df _eq_df _ne_df _gt_df _ge_df \
-+ _lt_df _le_df _unord_df _si_to_df _df_to_si _negate_df _make_df \
-+ _df_to_sf _df_to_tf _thenan_df _df_to_usi _usi_to_df
-+
-+TPBIT_FUNCS = _pack_tf _unpack_tf _addsub_tf _mul_tf _div_tf \
-+ _fpcmp_parts_tf _compare_tf _eq_tf _ne_tf _gt_tf _ge_tf \
-+ _lt_tf _le_tf _unord_tf _si_to_tf _tf_to_si _negate_tf _make_tf \
-+ _tf_to_df _tf_to_sf _thenan_tf _tf_to_usi _usi_to_tf
-+
-+# These might cause a divide overflow trap and so are compiled with
-+# unwinder info.
-+LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
-+
-+#
-+# Language makefile fragments.
-+
-+# The following targets define the interface between us and the languages.
-+#
-+# all.cross, start.encap, rest.encap,
-+# install-normal, install-common, install-info, install-man,
-+# uninstall,
-+# mostlyclean, clean, distclean, maintainer-clean,
-+# stage1, stage2, stage3, stage4
-+#
-+# Each language is linked in with a series of hooks. The name of each
-+# hooked is "lang.${target_name}" (eg: lang.info). Configure computes
-+# and adds these here. We use double-colon rules for some of the hooks;
-+# double-colon rules should be preferred for any new hooks.
-+
-+# language hooks, generated by configure
-+@language_hooks@
-+
-+# Set up library path if needed.
-+@set_gcc_lib_path@
-+
-+# per-language makefile fragments
-+ifneq ($(LANG_MAKEFRAGS),)
-+include $(LANG_MAKEFRAGS)
-+endif
-+
-+# target and host overrides must follow the per-language makefile fragments
-+# so they can override or augment language-specific variables
-+
-+# target overrides
-+ifneq ($(tmake_file),)
-+include $(tmake_file)
-+endif
-+
-+# host overrides
-+ifneq ($(xmake_file),)
-+include $(xmake_file)
-+endif
-+
-+#
-+
-+# -----------------------------
-+# Rebuilding this configuration
-+# -----------------------------
-+
-+Makefile: config.status $(srcdir)/Makefile.in $(srcdir)/version.c $(LANG_MAKEFRAGS)
-+ LANGUAGES="$(CONFIG_LANGUAGES)" \
-+ CONFIG_HEADERS= \
-+ CONFIG_SHELL="$(SHELL)" \
-+ CONFIG_FILES=$@ $(SHELL) config.status
-+
-+config.h: cs-config.h ; @true
-+bconfig.h: cs-bconfig.h ; @true
-+tconfig.h: cs-tconfig.h ; @true
-+tm.h: cs-tm.h ; @true
-+tm_p.h: cs-tm_p.h ; @true
-+
-+cs-config.h: Makefile
-+ TARGET_CPU_DEFAULT="" \
-+ HEADERS="$(host_xm_include_list)" DEFINES="$(host_xm_defines)" \
-+ $(SHELL) $(srcdir)/mkconfig.sh config.h
-+
-+cs-bconfig.h: Makefile
-+ TARGET_CPU_DEFAULT="" \
-+ HEADERS="$(build_xm_include_list)" DEFINES="$(build_xm_defines)" \
-+ $(SHELL) $(srcdir)/mkconfig.sh bconfig.h
-+
-+cs-tconfig.h: Makefile
-+ TARGET_CPU_DEFAULT="" \
-+ HEADERS="$(xm_include_list)" DEFINES="$(xm_defines)" \
-+ $(SHELL) $(srcdir)/mkconfig.sh tconfig.h
-+
-+cs-tm.h: Makefile
-+ TARGET_CPU_DEFAULT="$(target_cpu_default)" \
-+ HEADERS="$(tm_include_list)" DEFINES="$(tm_defines)" \
-+ $(SHELL) $(srcdir)/mkconfig.sh tm.h
-+
-+cs-tm_p.h: Makefile
-+ TARGET_CPU_DEFAULT="" \
-+ HEADERS="$(tm_p_include_list)" DEFINES="" \
-+ $(SHELL) $(srcdir)/mkconfig.sh tm_p.h
-+
-+# Don't automatically run autoconf, since configure.ac might be accidentally
-+# newer than configure. Also, this writes into the source directory which
-+# might be on a read-only file system. If configured for maintainer mode
-+# then do allow autoconf to be run.
-+
-+$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac
-+ (cd $(srcdir) && autoconf)
-+
-+gccbug: $(srcdir)/gccbug.in
-+ CONFIG_FILES=gccbug CONFIG_HEADERS= ./config.status
-+
-+mklibgcc: $(srcdir)/mklibgcc.in
-+ CONFIG_FILES=mklibgcc CONFIG_HEADERS= ./config.status
-+
-+mkheaders: $(srcdir)/mkheaders.in
-+ CONFIG_FILES=mkheaders CONFIG_HEADERS= ./config.status
-+
-+# cstamp-h.in controls rebuilding of config.in.
-+# It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't
-+# delete it. A stamp file is needed as autoheader won't update the file if
-+# nothing has changed.
-+# It remains in the source directory and is part of the distribution.
-+# This follows what is done in shellutils, fileutils, etc.
-+# "echo timestamp" is used instead of touch to be consistent with other
-+# packages that use autoconf (??? perhaps also to avoid problems with patch?).
-+# ??? Newer versions have a maintainer mode that may be useful here.
-+
-+# Don't run autoheader automatically either.
-+# Only run it if maintainer mode is enabled.
-+@MAINT@ $(srcdir)/config.in: $(srcdir)/cstamp-h.in
-+@MAINT@ $(srcdir)/cstamp-h.in: $(srcdir)/configure.ac
-+@MAINT@ (cd $(srcdir) && autoheader)
-+@MAINT@ @rm -f $(srcdir)/cstamp-h.in
-+@MAINT@ echo timestamp > $(srcdir)/cstamp-h.in
-+auto-host.h: cstamp-h ; @true
-+cstamp-h: config.in config.status
-+ CONFIG_HEADERS=auto-host.h:config.in \
-+ CONFIG_FILES= \
-+ LANGUAGES="$(CONFIG_LANGUAGES)" $(SHELL) config.status
-+
-+# Really, really stupid make features, such as SUN's KEEP_STATE, may force
-+# a target to build even if it is up-to-date. So we must verify that
-+# config.status does not exist before failing.
-+config.status: $(srcdir)/configure $(srcdir)/config.gcc version.c
-+ @if [ ! -f config.status ] ; then \
-+ echo You must configure gcc. Look at http://gcc.gnu.org/install/ for details.; \
-+ false; \
-+ else \
-+ LANGUAGES="$(CONFIG_LANGUAGES)" $(SHELL) config.status --recheck; \
-+ fi
-+
-+# --------
-+# UNSORTED
-+# --------
-+
-+all.internal: start.encap rest.encap doc
-+# This is what to compile if making a cross-compiler.
-+all.cross: native gcc-cross cpp$(exeext) specs \
-+ $(LIBGCC) $(EXTRA_PARTS) lang.all.cross doc
-+# This is what must be made before installing GCC and converting libraries.
-+start.encap: native xgcc$(exeext) cpp$(exeext) specs \
-+ xlimits.h lang.start.encap @GENINSRC@ srcextra
-+# These can't be made until after GCC can run.
-+rest.encap: $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
-+# This is what is made with the host's compiler
-+# whether making a cross compiler or not.
-+native: config.status auto-host.h build-@POSUB@ $(LANGUAGES) \
-+ $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)
-+
-+# Define the names for selecting languages in LANGUAGES.
-+C c: cc1$(exeext)
-+PROTO: proto
-+
-+# Tell GNU make these are phony targets.
-+.PHONY: C c PROTO proto
-+
-+# On the target machine, finish building a cross compiler.
-+# This does the things that can't be done on the host machine.
-+rest.cross: $(LIBGCC) specs
-+
-+# Recompile all the language-independent object files.
-+# This is used only if the user explicitly asks for it.
-+compilations: $(BACKEND)
-+
-+# Like libcpp.a, this archive is strictly for the host.
-+libbackend.a: $(OBJS@onestep@)
-+ -rm -rf libbackend.a
-+ $(AR) $(AR_FLAGS) libbackend.a $(OBJS@onestep@)
-+ -$(RANLIB) libbackend.a
-+
-+# We call this executable `xgcc' rather than `gcc'
-+# to avoid confusion if the current directory is in the path
-+# and CC is `gcc'. It is renamed to `gcc' when it is installed.
-+xgcc$(exeext): gcc.o gccspec.o version.o intl.o prefix.o \
-+ version.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o gccspec.o intl.o \
-+ prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
-+
-+# cpp is to cpp0 as gcc is to cc1.
-+# The only difference from xgcc is that it's linked with cppspec.o
-+# instead of gccspec.o.
-+cpp$(exeext): gcc.o cppspec.o version.o intl.o prefix.o \
-+ version.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o cppspec.o intl.o \
-+ prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
-+
-+# Dump a specs file to make -B./ read these specs over installed ones.
-+$(SPECS): xgcc$(exeext)
-+ $(GCC_FOR_TARGET) -dumpspecs > tmp-specs
-+ mv tmp-specs $(SPECS)
-+
-+# We do want to create an executable named `xgcc', so we can use it to
-+# compile libgcc2.a.
-+# Also create gcc-cross, so that install-common will install properly.
-+gcc-cross: xgcc$(exeext)
-+ cp xgcc$(exeext) gcc-cross$(exeext)
-+
-+cc1$(exeext): $(C_OBJS) $(BACKEND) $(LIBDEPS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1$(exeext) \
-+ $(C_OBJS) $(BACKEND) $(LIBS)
-+
-+# Build the version of limits.h that we will install.
-+xlimits.h: glimits.h limitx.h limity.h
-+ if $(LIMITS_H_TEST) ; then \
-+ cat $(srcdir)/limitx.h $(srcdir)/glimits.h $(srcdir)/limity.h > tmp-xlimits.h; \
-+ else \
-+ cat $(srcdir)/glimits.h > tmp-xlimits.h; \
-+ fi
-+ mv tmp-xlimits.h xlimits.h
-+#
-+# Build libgcc.a.
-+
-+LIB2ADD = $(LIB2FUNCS_EXTRA)
-+LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
-+LIB2ADD_SH = $(LIB2FUNCS_SHARED_EXTRA)
-+
-+libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) $(LIB2ADD_SH) \
-+ xgcc$(exeext) specs
-+ objext='$(objext)' \
-+ LIB1ASMFUNCS='$(LIB1ASMFUNCS)' \
-+ LIB2FUNCS_ST='$(LIB2FUNCS_ST)' \
-+ LIBGCOV='$(LIBGCOV)' \
-+ LIB2ADD='$(LIB2ADD)' \
-+ LIB2ADD_ST='$(LIB2ADD_ST)' \
-+ LIB2ADD_SH='$(LIB2ADD_SH)' \
-+ LIB2ADDEH='$(LIB2ADDEH)' \
-+ LIB2ADDEHSTATIC='$(LIB2ADDEHSTATIC)' \
-+ LIB2ADDEHSHARED='$(LIB2ADDEHSHARED)' \
-+ LIB2ADDEHDEP='$(LIB2ADDEHDEP)' \
-+ LIBUNWIND='$(LIBUNWIND)' \
-+ LIBUNWINDDEP='$(LIBUNWINDDEP)' \
-+ SHLIBUNWIND_LINK='$(SHLIBUNWIND_LINK)' \
-+ SHLIBUNWIND_INSTALL='$(SHLIBUNWIND_INSTALL)' \
-+ FPBIT='$(FPBIT)' \
-+ FPBIT_FUNCS='$(FPBIT_FUNCS)' \
-+ LIB2_DIVMOD_FUNCS='$(LIB2_DIVMOD_FUNCS)' \
-+ DPBIT='$(DPBIT)' \
-+ DPBIT_FUNCS='$(DPBIT_FUNCS)' \
-+ TPBIT='$(TPBIT)' \
-+ TPBIT_FUNCS='$(TPBIT_FUNCS)' \
-+ MULTILIBS=`$(GCC_FOR_TARGET) --print-multi-lib` \
-+ EXTRA_MULTILIB_PARTS='$(EXTRA_MULTILIB_PARTS)' \
-+ SHLIB_LINK='$(SHLIB_LINK)' \
-+ SHLIB_INSTALL='$(SHLIB_INSTALL)' \
-+ SHLIB_EXT='$(SHLIB_EXT)' \
-+ SHLIB_MULTILIB='$(SHLIB_MULTILIB)' \
-+ SHLIB_MKMAP='$(SHLIB_MKMAP)' \
-+ SHLIB_MKMAP_OPTS='$(SHLIB_MKMAP_OPTS)' \
-+ SHLIB_MAPFILES='$(SHLIB_MAPFILES)' \
-+ SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
-+ MULTILIB_OSDIRNAMES='$(MULTILIB_OSDIRNAMES)' \
-+ mkinstalldirs='$(SHELL) $(srcdir)/mkinstalldirs' \
-+ $(SHELL) mklibgcc > tmp-libgcc.mk
-+ mv tmp-libgcc.mk libgcc.mk
-+
-+# All the things that might cause us to want to recompile bits of libgcc.
-+LIBGCC_DEPS = $(GCC_PASSES) $(LANGUAGES) stmp-int-hdrs $(STMP_FIXPROTO) \
-+ libgcc.mk $(srcdir)/libgcc2.c $(srcdir)/libgcov.c $(TCONFIG_H) \
-+ $(MACHMODE_H) longlong.h gbl-ctors.h config.status stmp-int-hdrs \
-+ tsystem.h $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
-+ $(LIB2ADD_ST) $(LIB2ADD_SH) $(LIB2ADDEH) $(LIB2ADDEHDEP) \
-+ $(EXTRA_PARTS) $(srcdir)/config/$(LIB1ASMSRC) \
-+ $(srcdir)/gcov-io.h $(srcdir)/gcov-io.c gcov-iov.h
-+
-+libgcov.a: libgcc.a; @true
-+
-+libgcc.a: $(LIBGCC_DEPS)
-+ $(MAKE) \
-+ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
-+ CONFIG_H="$(TCONFIG_H)" TM_H="$(TM_H)" \
-+ INCLUDES="$(INCLUDES)" \
-+ MAKEOVERRIDES= \
-+ -f libgcc.mk all
-+
-+# Use the genmultilib shell script to generate the information the gcc
-+# driver program needs to select the library directory based on the
-+# switches.
-+multilib.h: s-mlib; @true
-+s-mlib: $(srcdir)/genmultilib Makefile
-+ if test @enable_multilib@ = yes \
-+ || test -n "$(MULTILIB_OSDIRNAMES)"; then \
-+ $(SHELL) $(srcdir)/genmultilib \
-+ "$(MULTILIB_OPTIONS)" \
-+ "$(MULTILIB_DIRNAMES)" \
-+ "$(MULTILIB_MATCHES)" \
-+ "$(MULTILIB_EXCEPTIONS)" \
-+ "$(MULTILIB_EXTRA_OPTS)" \
-+ "$(MULTILIB_EXCLUSIONS)" \
-+ "$(MULTILIB_OSDIRNAMES)" \
-+ "@enable_multilib@" \
-+ > tmp-mlib.h; \
-+ else \
-+ $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' no \
-+ > tmp-mlib.h; \
-+ fi
-+ $(SHELL) $(srcdir)/move-if-change tmp-mlib.h multilib.h
-+ $(STAMP) s-mlib
-+
-+# Build multiple copies of libgcc.a, one for each target switch.
-+stmp-multilib: $(LIBGCC_DEPS)
-+ $(MAKE) \
-+ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
-+ CONFIG_H="$(CONFIG_H)" \
-+ MAKEOVERRIDES= \
-+ -f libgcc.mk all
-+ $(STAMP) stmp-multilib
-+
-+# Compile two additional files that are linked with every program
-+# linked using GCC on systems using COFF or ELF, for the sake of C++
-+# constructors.
-+$(T)crtbegin.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
-+ gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
-+ $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
-+ @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_BEGIN \
-+ -o $(T)crtbegin$(objext)
-+
-+$(T)crtend.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
-+ gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
-+ $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
-+ @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_END \
-+ -o $(T)crtend$(objext)
-+
-+# These are versions of crtbegin and crtend for shared libraries.
-+$(T)crtbeginS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
-+ gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
-+ $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \
-+ @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFS_O \
-+ -o $(T)crtbeginS$(objext)
-+
-+$(T)crtendS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
-+ gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
-+ $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \
-+ @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_END -DCRTSTUFFS_O \
-+ -o $(T)crtendS$(objext)
-+
-+# This is a version of crtbegin for -static links.
-+$(T)crtbeginT.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
-+ gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
-+ $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
-+ @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \
-+ -o $(T)crtbeginT$(objext)
-+
-+# Compile the start modules crt0.o and mcrt0.o that are linked with
-+# every program
-+crt0.o: s-crt0 ; @true
-+mcrt0.o: s-crt0; @true
-+
-+s-crt0: $(CRT0_S) $(MCRT0_S) $(GCC_PASSES) $(CONFIG_H)
-+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \
-+ -o crt0.o -c $(CRT0_S)
-+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \
-+ -o mcrt0.o -c $(MCRT0_S)
-+ $(STAMP) s-crt0
-+#
-+# Compiling object files from source files.
-+
-+# Note that dependencies on obstack.h are not written
-+# because that file is not part of GCC.
-+
-+# C language specific files.
-+
-+c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(C_TREE_H) flags.h $(DIAGNOSTIC_H) $(TM_P_H)
-+c-parse.o : c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(GGC_H) intl.h $(C_TREE_H) input.h flags.h toplev.h output.h $(CPPLIB_H) \
-+ varray.h gt-c-parse.h
-+
-+srcextra: gcc.srcextra lang.srcextra
-+
-+gcc.srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
-+ -cp -p $^ $(srcdir)
-+
-+c-parse.c: c-parse.y
-+ -$(BISON) $(BISONFLAGS) -o $@ $<
-+
-+c-parse.y: c-parse.in
-+ echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y
-+ sed -e "/^@@ifobjc.*/,/^@@end_ifobjc.*/d" \
-+ -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" $< >>tmp-c-parse.y
-+ $(SHELL) $(srcdir)/move-if-change tmp-c-parse.y $@
-+
-+c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
-+ intl.h prefix.h coretypes.h $(TM_H) cppdefault.h
-+
-+c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(RTL_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) flags.h function.h output.h \
-+ $(EXPR_H) debug.h toplev.h intl.h $(TM_P_H) tree-inline.h $(TIMEVAR_H) \
-+ opts.h c-pragma.h gt-c-decl.h cgraph.h $(HASHTAB_H) libfuncs.h except.h \
-+ $(LANGHOOKS_DEF_H)
-+c-typeck.o : c-typeck.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
-+ $(TARGET_H) flags.h intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H)
-+c-lang.o : c-lang.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(C_TREE_H) $(C_PRETTY_PRINT_H) $(DIAGNOSTIC_H) \
-+ $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-c.h
-+stub-objc.o : stub-objc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
-+ $(GGC_H) $(C_COMMON_H)
-+c-lex.o : c-lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(RTL_H) debug.h $(C_TREE_H) $(C_COMMON_H) real.h c-incpath.h cppdefault.h \
-+ c-pragma.h input.h intl.h flags.h toplev.h output.h \
-+ $(CPPLIB_H) $(EXPR_H) $(TM_P_H)
-+c-ppoutput.o : c-ppoutput.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(C_COMMON_H) $(TREE_H) $(CPPLIB_H) cpphash.h $(TM_P_H) c-pragma.h
-+c-objc-common.o : c-objc-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(C_TREE_H) $(RTL_H) insn-config.h $(INTEGRATE_H) $(EXPR_H) $(C_TREE_H) \
-+ flags.h toplev.h tree-inline.h $(DIAGNOSTIC_H) $(VARRAY_H) \
-+ langhooks.h $(GGC_H) $(TARGET_H) cgraph.h
-+c-aux-info.o : c-aux-info.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(C_TREE_H) flags.h toplev.h
-+c-convert.o : c-convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ flags.h toplev.h $(C_COMMON_H) real.h
-+c-pragma.o: c-pragma.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ function.h c-pragma.h toplev.h output.h $(GGC_H) $(TM_P_H) $(C_COMMON_H) gt-c-pragma.h
-+graph.o: graph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h flags.h output.h \
-+ $(RTL_H) function.h hard-reg-set.h $(BASIC_BLOCK_H) graph.h
-+sbitmap.o: sbitmap.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ hard-reg-set.h $(BASIC_BLOCK_H)
-+
-+COLLECT2_OBJS = collect2.o tlink.o intl.o version.o
-+COLLECT2_LIBS = @COLLECT2_LIBS@
-+collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
-+# Don't try modifying collect2 (aka ld) in place--it might be linking this.
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o T$@ \
-+ $(COLLECT2_OBJS) $(LIBS) $(COLLECT2_LIBS)
-+ mv -f T$@ $@
-+
-+collect2.o : collect2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) gstab.h intl.h \
-+ $(OBSTACK_H) $(DEMANGLE_H) collect2.h version.h
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -DTARGET_MACHINE=\"$(target_noncanonical)\" \
-+ -c $(srcdir)/collect2.c $(OUTPUT_OPTION)
-+
-+tlink.o: tlink.c $(DEMANGLE_H) $(HASHTAB_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(OBSTACK_H) collect2.h intl.h
-+
-+# A file used by all variants of C.
-+
-+c-common.o : c-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(OBSTACK_H) $(C_COMMON_H) flags.h toplev.h output.h c-pragma.h intl.h \
-+ $(GGC_H) $(EXPR_H) $(TM_P_H) builtin-types.def builtin-attrs.def \
-+ $(DIAGNOSTIC_H) gt-c-common.h langhooks.h varray.h $(RTL_H) \
-+ $(TARGET_H) $(C_TREE_H)
-+c-pretty-print.o : c-pretty-print.c $(C_PRETTY_PRINT_H) \
-+ $(C_COMMON_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) real.h
-+
-+c-opts.o : c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ c-pragma.h flags.h toplev.h langhooks.h tree-inline.h $(DIAGNOSTIC_H) \
-+ intl.h debug.h $(C_COMMON_H) opts.h options.h $(PARAMS_H)
-+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ $< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
-+
-+c-cppbuiltin.o : c-cppbuiltin.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(TREE_H) $(C_COMMON_H) c-pragma.h flags.h toplev.h langhooks.h \
-+ output.h except.h real.h $(TM_P_H)
-+
-+# A file used by all variants of C and some other languages.
-+
-+attribs.o : attribs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) flags.h \
-+ toplev.h output.h c-pragma.h $(RTL_H) $(GGC_H) $(EXPR_H) $(TM_P_H) \
-+ builtin-types.def $(TARGET_H) langhooks.h
-+
-+c-format.o : c-format.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) langhooks.h \
-+ $(C_COMMON_H) flags.h toplev.h intl.h $(DIAGNOSTIC_H)
-+
-+c-semantics.o : c-semantics.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(C_TREE_H) flags.h toplev.h output.h c-pragma.h $(RTL_H) $(GGC_H) \
-+ $(EXPR_H) $(PREDICT_H) tree-inline.h
-+
-+c-dump.o : c-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(C_TREE_H) tree-dump.h
-+
-+c-pch.o : c-pch.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(CPPLIB_H) $(TREE_H) \
-+ $(C_COMMON_H) output.h toplev.h c-pragma.h $(GGC_H) debug.h \
-+ langhooks.h flags.h hosthooks.h version.h $(TARGET_H)
-+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -DHOST_MACHINE=\"$(host)\" -DTARGET_MACHINE=\"$(target)\" \
-+ $< $(OUTPUT_OPTION)
-+
-+# Language-independent files.
-+
-+DRIVER_DEFINES = \
-+ -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
-+ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
-+ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \
-+ -DDEFAULT_TARGET_VERSION=\"$(version)\" \
-+ -DDEFAULT_TARGET_MACHINE=\"$(target_noncanonical)\" \
-+ -DSTANDARD_BINDIR_PREFIX=\"$(bindir)/\" \
-+ -DTOOLDIR_BASE_PREFIX=\"$(unlibsubdir)/../\" \
-+ @TARGET_SYSTEM_ROOT_DEFINE@ \
-+ $(VALGRIND_DRIVER_DEFINES) \
-+ `test "X$${SHLIB_LINK}" = "X" || test "@enable_shared@" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` \
-+ `test "X$${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"`
-+
-+gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \
-+ Makefile $(lang_specs_files) specs.h prefix.h $(GCC_H)
-+ (SHLIB_LINK='$(SHLIB_LINK)' \
-+ SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ $(DRIVER_DEFINES) \
-+ -c $(srcdir)/gcc.c $(OUTPUT_OPTION))
-+
-+gccspec.o: gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
-+ (SHLIB_LINK='$(SHLIB_LINK)' \
-+ SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ $(DRIVER_DEFINES) \
-+ -c $(srcdir)/gccspec.c $(OUTPUT_OPTION))
-+
-+cppspec.o: cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
-+
-+tree-check.h: s-check ; @true
-+s-check : gencheck$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./gencheck$(build_exeext) > tmp-check.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-check.h tree-check.h
-+ $(STAMP) s-check
-+
-+gencheck$(build_exeext) : gencheck.o $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ gencheck.o $(BUILD_LIBS)
-+
-+gencheck.o : gencheck.c gencheck.h tree.def $(BCONFIG_H) $(SYSTEM_H) \
-+ coretypes.h $(GTM_H) $(lang_tree_files)
-+
-+gencheck.h : s-gencheck ; @true
-+s-gencheck : Makefile
-+ ltf="$(lang_tree_files)"; for f in $$ltf; do \
-+ echo "#include \"$$f\""; \
-+ done | sed 's|$(srcdir)/||' > tmp-gencheck.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-gencheck.h gencheck.h
-+ $(STAMP) s-gencheck
-+
-+specs.h : s-specs ; @true
-+s-specs : Makefile
-+ lsf="$(lang_specs_files)"; for f in $$lsf; do \
-+ echo "#include \"$$f\""; \
-+ done | sed 's|$(srcdir)/||' > tmp-specs.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-specs.h specs.h
-+ $(STAMP) s-specs
-+
-+options.c: $(lang_opt_files) $(srcdir)/opts.sh options.h intl.h
-+
-+options.h: $(lang_opt_files) $(srcdir)/opts.sh Makefile
-+ AWK=$(AWK) $(SHELL) $(srcdir)/opts.sh \
-+ '$(SHELL) $(srcdir)/move-if-change' \
-+ options.c options.h $(lang_opt_files)
-+
-+dumpvers: dumpvers.c
-+
-+version.o: version.c version.h
-+
-+gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) varray.h \
-+ $(HASHTAB_H) $(TREE_H) $(RTL_H) function.h insn-config.h $(EXPR_H) $(OPTABS_H) \
-+ libfuncs.h debug.h $(GGC_H) bitmap.h $(BASIC_BLOCK_H) hard-reg-set.h \
-+ cselib.h insn-addr.h
-+
-+ggc-common.o: ggc-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(GGC_H) \
-+ $(HASHTAB_H) toplev.h $(PARAMS_H) hosthooks.h
-+
-+ggc-simple.o: ggc-simple.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h $(GGC_H) varray.h $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H)
-+
-+ggc-page.o: ggc-page.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H)
-+
-+ggc-zone.o: ggc-zone.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H)
-+
-+stringpool.o: stringpool.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(TREE_H) $(GGC_H) gt-stringpool.h
-+
-+ggc-none.o: ggc-none.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(GGC_H)
-+ $(CC) -c $(ALL_CFLAGS) -DGENERATOR_FILE $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-+
-+prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) Makefile prefix.h
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -DPREFIX=\"$(prefix)\" \
-+ -c $(srcdir)/prefix.c $(OUTPUT_OPTION)
-+
-+convert.o: convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) flags.h \
-+ convert.h toplev.h langhooks.h
-+
-+langhooks.o : langhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) toplev.h \
-+ tree-inline.h $(RTL_H) insn-config.h $(INTEGRATE_H) langhooks.h \
-+ $(LANGHOOKS_DEF_H) flags.h $(GGC_H) gt-langhooks.h diagnostic.h
-+tree.o : tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) flags.h function.h \
-+ toplev.h $(GGC_H) $(HASHTAB_H) $(TARGET_H) output.h $(TM_P_H) langhooks.h \
-+ real.h gt-tree.h
-+tree-dump.o: tree-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(C_TREE_H) flags.h langhooks.h toplev.h output.h c-pragma.h $(RTL_H) $(GGC_H) \
-+ $(EXPR_H) $(SPLAY_TREE_H) tree-dump.h
-+tree-inline.o : tree-inline.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(TREE_H) $(RTL_H) $(EXPR_H) flags.h $(PARAMS_H) input.h insn-config.h \
-+ $(INTEGRATE_H) $(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) toplev.h \
-+ langhooks.h $(C_COMMON_H) tree-inline.h cgraph.h intl.h
-+tree-optimize.o : tree-optimize.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(TREE_H) toplev.h langhooks.h cgraph.h $(TIMEVAR_H) function.h $(GGC_H)
-+
-+print-tree.o : print-tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(GGC_H) langhooks.h real.h
-+stor-layout.o : stor-layout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ flags.h function.h $(EXPR_H) $(RTL_H) toplev.h $(GGC_H) $(TM_P_H) $(TARGET_H) \
-+ langhooks.h
-+fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ flags.h real.h toplev.h $(HASHTAB_H) $(EXPR_H) $(RTL_H) $(GGC_H) $(TM_P_H) langhooks.h
-+diagnostic.o : diagnostic.c $(DIAGNOSTIC_H) real.h \
-+ $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(TM_P_H) flags.h $(GGC_H) \
-+ input.h toplev.h intl.h langhooks.h $(LANGHOOKS_DEF_H)
-+opts.o : opts.c opts.h options.h toplev.h $(CONFIG_H) $(SYSTEM_H) \
-+ coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(RTL_H) \
-+ output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h
-+targhooks.o : targhooks.c targhooks.h $(CONFIG_H) $(SYSTEM_H) \
-+ coretypes.h $(TREE_H) $(TM_H) $(RTL_H) $(TM_P_H) function.h \
-+ output.h toplev.h
-+
-+toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
-+ function.h flags.h xcoffout.h input.h $(INSN_ATTR_H) output.h $(DIAGNOSTIC_H) \
-+ debug.h insn-config.h intl.h $(RECOG_H) Makefile toplev.h \
-+ dwarf2out.h sdbout.h dbxout.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
-+ graph.h $(LOOP_H) except.h $(REGS_H) $(TIMEVAR_H) value-prof.h \
-+ $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
-+ langhooks.h insn-flags.h cfglayout.h real.h cfgloop.h \
-+ hosthooks.h $(LANGHOOKS_DEF_H) cgraph.h $(COVERAGE_H) alloc-pool.h
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -DTARGET_NAME=\"$(target_noncanonical)\" \
-+ -c $(srcdir)/toplev.c $(OUTPUT_OPTION)
-+main.o : main.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h
-+
-+host-default.o : host-default.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-+ hosthooks.h hosthooks-def.h
-+
-+rtl-error.o: rtl-error.c $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(INSN_ATTR_H) \
-+ insn-config.h input.h toplev.h intl.h $(DIAGNOSTIC_H) $(CONFIG_H)
-+
-+rtl.o : rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(RTL_H) real.h \
-+ $(GGC_H) errors.h
-+ $(CC) -c $(ALL_CFLAGS) -DGENERATOR_FILE $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-+
-+print-rtl.o : print-rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) real.h $(TM_P_H)
-+rtlanal.o : rtlanal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
-+ $(RTL_H) hard-reg-set.h $(TM_P_H) insn-config.h $(RECOG_H) real.h flags.h \
-+ $(BASIC_BLOCK_H)
-+
-+errors.o : errors.c $(CONFIG_H) $(SYSTEM_H) errors.h
-+ $(CC) -c $(ALL_CFLAGS) -DGENERATOR_FILE $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-+
-+varasm.o : varasm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
-+ flags.h function.h $(EXPR_H) hard-reg-set.h $(REGS_H) \
-+ output.h c-pragma.h toplev.h xcoffout.h debug.h $(GGC_H) $(TM_P_H) \
-+ $(HASHTAB_H) $(TARGET_H) langhooks.h gt-varasm.h real.h
-+function.o : function.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h function.h $(EXPR_H) $(OPTABS_H) libfuncs.h $(REGS_H) hard-reg-set.h \
-+ insn-config.h $(RECOG_H) output.h toplev.h except.h $(HASHTAB_H) $(GGC_H) \
-+ $(TM_P_H) langhooks.h gt-function.h $(TARGET_H)
-+stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) flags.h \
-+ function.h insn-config.h hard-reg-set.h $(EXPR_H) libfuncs.h except.h \
-+ $(LOOP_H) $(RECOG_H) toplev.h output.h varray.h $(GGC_H) $(TM_P_H) \
-+ langhooks.h $(PREDICT_H) gt-stmt.h $(OPTABS_H) $(TARGET_H)
-+except.o : except.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(TREE_H) flags.h except.h function.h $(EXPR_H) libfuncs.h $(INTEGRATE_H) \
-+ langhooks.h insn-config.h hard-reg-set.h $(BASIC_BLOCK_H) output.h \
-+ dwarf2asm.h dwarf2out.h toplev.h $(HASHTAB_H) intl.h $(GGC_H) \
-+ gt-except.h cgraph.h
-+expr.o : expr.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) flags.h \
-+ function.h $(REGS_H) $(EXPR_H) $(OPTABS_H) libfuncs.h $(INSN_ATTR_H) insn-config.h \
-+ $(RECOG_H) output.h typeclass.h hard-reg-set.h toplev.h hard-reg-set.h \
-+ except.h reload.h $(GGC_H) langhooks.h intl.h $(TM_P_H) real.h $(TARGET_H)
-+dojump.o : dojump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h function.h $(EXPR_H) $(OPTABS_H) $(INSN_ATTR_H) insn-config.h \
-+ langhooks.h $(GGC_H) gt-dojump.h
-+builtins.o : builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H)\
-+ flags.h $(TARGET_H) function.h $(REGS_H) $(EXPR_H) $(OPTABS_H) insn-config.h \
-+ $(RECOG_H) output.h typeclass.h hard-reg-set.h toplev.h hard-reg-set.h \
-+ except.h $(TM_P_H) $(PREDICT_H) libfuncs.h real.h langhooks.h
-+calls.o : calls.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) flags.h \
-+ $(EXPR_H) $(OPTABS_H) langhooks.h $(TARGET_H) \
-+ libfuncs.h $(REGS_H) toplev.h output.h function.h $(TIMEVAR_H) $(TM_P_H) cgraph.h except.h
-+expmed.o : expmed.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h insn-config.h $(EXPR_H) $(OPTABS_H) $(RECOG_H) real.h \
-+ toplev.h $(TM_P_H) langhooks.h
-+explow.o : explow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h hard-reg-set.h insn-config.h $(EXPR_H) $(OPTABS_H) $(RECOG_H) \
-+ toplev.h function.h $(GGC_H) $(TM_P_H) langhooks.h gt-explow.h
-+optabs.o : optabs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h insn-config.h $(EXPR_H) $(OPTABS_H) libfuncs.h $(RECOG_H) reload.h \
-+ toplev.h $(GGC_H) real.h $(TM_P_H) except.h gt-optabs.h $(BASIC_BLOCK_H) \
-+ $(TARGET_H)
-+dbxout.o : dbxout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
-+ flags.h $(REGS_H) debug.h $(TM_P_H) $(TARGET_H) function.h langhooks.h \
-+ insn-config.h reload.h gstab.h xcoffout.h output.h dbxout.h toplev.h \
-+ $(GGC_H) gt-dbxout.h
-+debug.o : debug.c debug.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
-+sdbout.o : sdbout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
-+ flags.h function.h $(EXPR_H) output.h hard-reg-set.h $(REGS_H) real.h \
-+ insn-config.h xcoffout.h c-pragma.h $(GGC_H) $(TARGET_H) \
-+ sdbout.h toplev.h $(TM_P_H) except.h debug.h langhooks.h gt-sdbout.h
-+dwarf2out.o : dwarf2out.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(RTL_H) dwarf2.h debug.h flags.h insn-config.h reload.h output.h $(DIAGNOSTIC_H) real.h \
-+ hard-reg-set.h $(REGS_H) $(EXPR_H) libfuncs.h toplev.h dwarf2out.h varray.h \
-+ $(GGC_H) except.h dwarf2asm.h $(TM_P_H) langhooks.h $(HASHTAB_H) \
-+ gt-dwarf2out.h $(TARGET_H) cgraph.h
-+dwarf2asm.o : dwarf2asm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) flags.h $(RTL_H) \
-+ $(TREE_H) output.h dwarf2asm.h $(TM_P_H) $(GGC_H) gt-dwarf2asm.h
-+vmsdbgout.o : vmsdbgout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ $(RTL_H) flags.h output.h vmsdbg.h debug.h langhooks.h function.h $(TARGET_H)
-+xcoffout.o : xcoffout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
-+ xcoffout.h flags.h toplev.h output.h dbxout.h $(GGC_H) $(TARGET_H)
-+emit-rtl.o : emit-rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h function.h $(REGS_H) insn-config.h $(RECOG_H) real.h $(GGC_H) \
-+ $(EXPR_H) $(OBSTACK_H) hard-reg-set.h bitmap.h toplev.h \
-+ $(HASHTAB_H) $(TM_P_H) debug.h langhooks.h gt-emit-rtl.h
-+real.o : real.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) toplev.h $(TM_P_H)
-+integrate.o : integrate.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h debug.h $(INTEGRATE_H) insn-config.h $(EXPR_H) real.h $(REGS_H) \
-+ intl.h function.h output.h $(RECOG_H) except.h toplev.h $(LOOP_H) \
-+ $(PARAMS_H) $(TM_P_H) $(TARGET_H) langhooks.h gt-integrate.h
-+jump.o : jump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ hard-reg-set.h $(REGS_H) insn-config.h $(RECOG_H) $(EXPR_H) real.h except.h function.h \
-+ toplev.h $(INSN_ATTR_H) $(TM_P_H) reload.h $(PREDICT_H) $(TIMEVAR_H) \
-+ $(DIAGNOSTIC_H)
-+
-+simplify-rtx.o : simplify-rtx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(REGS_H) hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
-+ output.h function.h $(GGC_H) $(OBSTACK_H) $(TM_P_H) $(TREE_H) $(TARGET_H)
-+cgraph.o : cgraph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ langhooks.h toplev.h flags.h $(GGC_H) $(TARGET_H) cgraph.h gt-cgraph.h \
-+ output.h intl.h
-+cgraphunit.o : cgraphunit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
-+ langhooks.h tree-inline.h toplev.h flags.h $(GGC_H) $(TARGET_H) cgraph.h intl.h \
-+ function.h
-+coverage.o : coverage.c gcov-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-+ $(TM_H) $(RTL_H) $(TREE_H) flags.h output.h $(REGS_H) $(EXPR_H) function.h \
-+ toplev.h $(GGC_H) $(TARGET_H) langhooks.h $(COVERAGE_H) libfuncs.h \
-+ gt-coverage.h $(HASHTAB_H)
-+cselib.o : cselib.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
-+ hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
-+ output.h function.h cselib.h $(GGC_H) $(TM_P_H) gt-cselib.h $(PARAMS_H)
-+cse.o : cse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
-+ hard-reg-set.h flags.h real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
-+ output.h function.h $(BASIC_BLOCK_H) $(GGC_H) $(TM_P_H) $(TIMEVAR_H) \
-+ except.h $(TARGET_H) $(PARAMS_H)
-+web.o : web.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
-+ hard-reg-set.h flags.h $(BASIC_BLOCK_H) function.h output.h toplev.h df.h
-+gcse.o : gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
-+ hard-reg-set.h flags.h real.h insn-config.h $(GGC_H) $(RECOG_H) $(EXPR_H) \
-+ $(BASIC_BLOCK_H) function.h output.h toplev.h $(TM_P_H) $(PARAMS_H) \
-+ except.h gt-gcse.h $(TREE_H) cselib.h
-+sibcall.o : sibcall.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
-+ function.h hard-reg-set.h flags.h insn-config.h $(RECOG_H) $(BASIC_BLOCK_H)
-+resource.o : resource.c $(CONFIG_H) $(RTL_H) hard-reg-set.h $(SYSTEM_H) coretypes.h \
-+ $(TM_H) $(BASIC_BLOCK_H) $(REGS_H) flags.h output.h resource.h function.h toplev.h \
-+ $(INSN_ATTR_H) except.h $(PARAMS_H) $(TM_P_H)
-+lcm.o : lcm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
-+ hard-reg-set.h flags.h real.h insn-config.h $(INSN_ATTR_H) $(RECOG_H) $(EXPR_H) \
-+ $(BASIC_BLOCK_H) $(TM_P_H) df.h function.h
-+df.o : df.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ insn-config.h $(RECOG_H) function.h $(REGS_H) alloc-pool.h hard-reg-set.h \
-+ $(BASIC_BLOCK_H) df.h $(FIBHEAP_H)
-+conflict.o : conflict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(OBSTACK_H) \
-+ $(HASHTAB_H) $(RTL_H) hard-reg-set.h $(BASIC_BLOCK_H)
-+profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(TREE_H) flags.h output.h $(REGS_H) $(EXPR_H) function.h \
-+ toplev.h $(BASIC_BLOCK_H) $(COVERAGE_H) $(TREE_H) value-prof.h
-+value-prof.o : value-prof.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h value-prof.h $(EXPR_H) output.h flags.h \
-+ $(RECOG_H) insn-config.h $(OPTABS_H) $(REGS_H)
-+loop.o : loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h $(LOOP_H) \
-+ insn-config.h $(REGS_H) hard-reg-set.h $(RECOG_H) $(EXPR_H) \
-+ real.h $(PREDICT_H) $(BASIC_BLOCK_H) function.h cfgloop.h \
-+ toplev.h varray.h except.h cselib.h $(OPTABS_H) $(TM_P_H) $(GGC_H)
-+doloop.o : doloop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ $(LOOP_H) $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H) toplev.h \
-+ cfgloop.h
-+unroll.o : unroll.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) insn-config.h \
-+ function.h $(INTEGRATE_H) $(REGS_H) $(RECOG_H) flags.h $(EXPR_H) $(LOOP_H) toplev.h \
-+ hard-reg-set.h varray.h $(BASIC_BLOCK_H) $(TM_P_H) $(PREDICT_H) $(PARAMS_H) \
-+ cfgloop.h
-+alloc-pool.o : alloc-pool.c $(CONFIG_H) $(SYSTEM_H) alloc-pool.h $(HASHTAB_H)
-+flow.o : flow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h \
-+ $(RECOG_H) function.h except.h $(EXPR_H) $(GGC_H) $(TM_P_H)
-+cfg.o : cfg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h insn-config.h \
-+ $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
-+ function.h except.h $(GGC_H) $(TM_P_H) alloc-pool.h
-+cfghooks.o: cfghooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ $(BASIC_BLOCK_H) cfglayout.h
-+cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
-+ function.h except.h $(GGC_H) $(TM_P_H) insn-config.h $(EXPR_H)
-+cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h insn-config.h $(RECOG_H) $(GGC_H) $(TM_P_H)
-+cfgbuild.o : cfgbuild.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
-+ function.h except.h $(GGC_H)
-+cfgcleanup.o : cfgcleanup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(TIMEVAR_H) $(BASIC_BLOCK_H) hard-reg-set.h output.h flags.h \
-+ $(RECOG_H) toplev.h $(GGC_H) insn-config.h cselib.h $(TARGET_H) $(TM_P_H) \
-+ $(PARAMS_H)
-+cfgloop.o : cfgloop.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) coretypes.h $(TM_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h flags.h
-+cfgloopanal.o : cfgloopanal.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h $(EXPR_H) coretypes.h $(TM_H)
-+cfgloopmanip.o : cfgloopmanip.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h cfglayout.h output.h coretypes.h $(TM_H)
-+loop-init.o : loop-init.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h cfglayout.h \
-+ coretypes.h $(TM_H)
-+loop-unswitch.o : loop-unswitch.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TM_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h cfglayout.h $(PARAMS_H) \
-+ output.h $(EXPR_H) coretypes.h $(TM_H)
-+loop-unroll.o: loop-unroll.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TM_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h cfglayout.h $(PARAMS_H) \
-+ output.h $(EXPR_H) coretypes.h $(TM_H)
-+dominance.o : dominance.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ hard-reg-set.h $(BASIC_BLOCK_H) et-forest.h
-+et-forest.o : et-forest.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) et-forest.h alloc-pool.h
-+combine.o : combine.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ function.h insn-config.h $(INSN_ATTR_H) $(REGS_H) $(EXPR_H) \
-+ $(BASIC_BLOCK_H) $(RECOG_H) real.h hard-reg-set.h toplev.h $(TM_P_H) \
-+ $(TREE_H) $(TARGET_H) $(PARAMS_H)
-+regclass.o : regclass.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ hard-reg-set.h flags.h $(BASIC_BLOCK_H) $(REGS_H) insn-config.h $(RECOG_H) reload.h \
-+ real.h toplev.h function.h output.h $(GGC_H) $(TM_P_H) $(EXPR_H) $(TIMEVAR_H)
-+local-alloc.o : local-alloc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ flags.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h insn-config.h $(RECOG_H) \
-+ output.h function.h $(INSN_ATTR_H) toplev.h except.h $(TM_P_H)
-+bitmap.o : bitmap.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(RTL_H) flags.h \
-+ $(BASIC_BLOCK_H) $(REGS_H) $(GGC_H)
-+ $(CC) -c $(ALL_CFLAGS) -DGENERATOR_FILE $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-+global.o : global.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ reload.h function.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h insn-config.h output.h \
-+ toplev.h $(TM_P_H)
-+varray.o : varray.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) varray.h $(GGC_H) errors.h
-+ra.o : ra.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TM_P_H) insn-config.h \
-+ $(RECOG_H) $(INTEGRATE_H) function.h $(REGS_H) $(OBSTACK_H) hard-reg-set.h \
-+ $(BASIC_BLOCK_H) df.h $(EXPR_H) output.h toplev.h flags.h reload.h ra.h
-+ra-build.o : ra-build.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TM_P_H) \
-+ insn-config.h $(RECOG_H) function.h $(REGS_H) hard-reg-set.h \
-+ $(BASIC_BLOCK_H) df.h output.h $(GGC_H) ra.h gt-ra-build.h reload.h
-+ra-colorize.o : ra-colorize.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(TM_P_H) function.h $(REGS_H) hard-reg-set.h $(BASIC_BLOCK_H) df.h output.h ra.h
-+ra-debug.o : ra-debug.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ insn-config.h $(RECOG_H) function.h hard-reg-set.h $(BASIC_BLOCK_H) df.h output.h \
-+ ra.h $(TM_P_H)
-+ra-rewrite.o : ra-rewrite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(TM_P_H) function.h $(REGS_H) hard-reg-set.h $(BASIC_BLOCK_H) df.h $(EXPR_H) \
-+ output.h except.h ra.h reload.h insn-config.h
-+reload.o : reload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h output.h \
-+ $(EXPR_H) $(OPTABS_H) reload.h $(RECOG_H) hard-reg-set.h insn-config.h \
-+ $(REGS_H) function.h real.h toplev.h $(TM_P_H) $(PARAMS_H)
-+reload1.o : reload1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) real.h flags.h \
-+ $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) hard-reg-set.h insn-config.h \
-+ $(BASIC_BLOCK_H) $(RECOG_H) output.h function.h toplev.h $(TM_P_H) \
-+ except.h $(TREE_H)
-+postreload.o : postreload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) real.h flags.h \
-+ $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) hard-reg-set.h insn-config.h \
-+ $(BASIC_BLOCK_H) $(RECOG_H) output.h function.h toplev.h cselib.h $(TM_P_H) \
-+ except.h $(TREE_H)
-+caller-save.o : caller-save.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ flags.h $(REGS_H) hard-reg-set.h insn-config.h $(BASIC_BLOCK_H) function.h \
-+ $(RECOG_H) reload.h $(EXPR_H) toplev.h $(TM_P_H)
-+bt-load.o : bt-load.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(BASIC_BLOCK_H) $(RTL_H) hard-reg-set.h $(REGS_H) $(OBSTACK_H) $(TM_P_H) \
-+ $(FIBHEAP_H) output.h $(TARGET_H) $(EXPR_H) flags.h $(INSN_ATTR_H)
-+reorg.o : reorg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) conditions.h \
-+ hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) insn-config.h $(INSN_ATTR_H) except.h \
-+ $(RECOG_H) function.h flags.h output.h $(EXPR_H) toplev.h $(PARAMS_H) $(TM_P_H)
-+alias.o : alias.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
-+ hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) toplev.h output.h $(EXPR_H) \
-+ $(GGC_H) function.h cselib.h $(TREE_H) $(TM_P_H) langhooks.h $(TARGET_H) \
-+ gt-alias.h $(TIMEVAR_H) cgraph.h
-+regmove.o : regmove.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) insn-config.h \
-+ $(RECOG_H) output.h $(REGS_H) hard-reg-set.h flags.h function.h \
-+ $(EXPR_H) $(BASIC_BLOCK_H) toplev.h $(TM_P_H) except.h reload.h
-+haifa-sched.o : haifa-sched.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ sched-int.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
-+ $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) $(TARGET_H)
-+sched-deps.o : sched-deps.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ sched-int.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
-+ $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h cselib.h $(PARAMS_H) $(TM_P_H)
-+sched-rgn.o : sched-rgn.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ sched-int.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
-+ $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) $(TARGET_H)
-+sched-ebb.o : sched-ebb.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ sched-int.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h function.h \
-+ $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) $(PARAMS_H)
-+sched-vis.o : sched-vis.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ sched-int.h hard-reg-set.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(REGS_H) $(TM_P_H) \
-+ $(TARGET_H) real.h
-+final.o : final.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h intl.h $(REGS_H) $(RECOG_H) conditions.h insn-config.h $(INSN_ATTR_H) \
-+ function.h real.h output.h hard-reg-set.h except.h debug.h xcoffout.h \
-+ toplev.h reload.h dwarf2out.h $(BASIC_BLOCK_H) $(TM_P_H) $(TARGET_H) \
-+ $(EXPR_H)
-+recog.o : recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) function.h \
-+ $(BASIC_BLOCK_H) $(REGS_H) $(RECOG_H) $(EXPR_H) hard-reg-set.h flags.h insn-config.h \
-+ $(INSN_ATTR_H) real.h toplev.h output.h reload.h $(TM_P_H)
-+reg-stack.o : reg-stack.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ $(RECOG_H) $(REGS_H) hard-reg-set.h flags.h insn-config.h toplev.h reload.h \
-+ varray.h function.h $(TM_P_H) $(GGC_H) gt-reg-stack.h
-+sreal.o: sreal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) sreal.h
-+predict.o: predict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ flags.h insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h \
-+ $(RECOG_H) function.h except.h $(EXPR_H) $(TM_P_H) $(PREDICT_H) sreal.h \
-+ $(PARAMS_H) $(TARGET_H) cfgloop.h $(COVERAGE_H)
-+lists.o: lists.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h $(RTL_H) $(GGC_H)
-+bb-reorder.o : bb-reorder.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(BASIC_BLOCK_H) flags.h timevar.h output.h cfglayout.h $(FIBHEAP_H) \
-+ $(TARGET_H)
-+tracer.o : tracer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
-+ $(BASIC_BLOCK_H) hard-reg-set.h output.h cfglayout.h flags.h timevar.h \
-+ $(PARAMS_H) $(COVERAGE_H)
-+cfglayout.o : cfglayout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(TREE_H) insn-config.h $(BASIC_BLOCK_H) hard-reg-set.h output.h \
-+ function.h cfglayout.h cfgloop.h $(TARGET_H) gt-cfglayout.h $(GGC_H)
-+timevar.o : timevar.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TIMEVAR_H) flags.h \
-+ intl.h toplev.h
-+regrename.o : regrename.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h $(RECOG_H) function.h \
-+ resource.h $(OBSTACK_H) flags.h $(TM_P_H)
-+ifcvt.o : ifcvt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(REGS_H) toplev.h flags.h insn-config.h function.h $(RECOG_H) $(TARGET_H) \
-+ $(BASIC_BLOCK_H) $(EXPR_H) output.h except.h $(TM_P_H) real.h $(OPTABS_H) \
-+ cfgloop.h
-+params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(PARAMS_H) toplev.h
-+hooks.o: hooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(HOOKS_H)
-+pretty-print.o: $(CONFIG_H) $(SYSTEM_H) pretty-print.c $(PRETTY_PRINT_H)
-+
-+$(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) $(GGC_H) \
-+ $(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
-+ output.h $(INSN_ATTR_H) $(SYSTEM_H) toplev.h $(TARGET_H) libfuncs.h \
-+ $(TARGET_DEF_H) function.h sched-int.h $(TM_P_H) $(EXPR_H) $(OPTABS_H) \
-+ langhooks.h
-+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ $(out_file) $(OUTPUT_OPTION)
-+
-+# Build auxiliary files that support ecoff format.
-+mips-tfile: mips-tfile.o version.o $(LIBDEPS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tfile.o version.o $(LIBS)
-+
-+mips-tfile.o : mips-tfile.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h $(TM_H) version.h
-+
-+mips-tdump: mips-tdump.o version.o $(LIBDEPS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tdump.o version.o $(LIBS)
-+
-+mips-tdump.o : mips-tdump.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h $(TM_H) version.h
-+
-+# FIXME: writing proper dependencies for this is a *LOT* of work.
-+libbackend.o : $(OBJS-common:.o=.c) $(out_file) \
-+ insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-+ insn-attr.h
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -DTARGET_NAME=\"$(target_noncanonical)\" \
-+ -DLOCALEDIR=\"$(localedir)\" \
-+ -c $(filter %.c,$^) -o $@
-+
-+#
-+# Generate header and source files from the machine description,
-+# and compile them.
-+
-+.PRECIOUS: insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-+ insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \
-+ insn-attr.h insn-attrtab.c
-+
-+# The following pair of rules has this effect:
-+# genconfig is run only if the md has changed since genconfig was last run;
-+# but the file insn-config.h is touched only when its contents actually change.
-+
-+# Each of the other insn-* files is handled by a similar pair of rules.
-+
-+# This causes an anomaly in the results of make -n
-+# because insn-* is older than s-*
-+# and thus make -n thinks that insn-* will be updated
-+# and force recompilation of things that depend on it.
-+# We use move-if-change precisely to avoid such recompilation.
-+# But there is no way to teach make -n that it will be avoided.
-+
-+# Each of the insn-*.[ch] rules has a semicolon at the end,
-+# for otherwise the system Make on SunOS 4.1 never tries
-+# to recompile insn-*.o. To avoid problems and extra noise from
-+# versions of make which don't like empty commands (nothing after the
-+# trailing `;'), we call true for each.
-+
-+insn-config.h: s-config ; @true
-+s-config : $(md_file) genconfig$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genconfig$(build_exeext) $(md_file) > tmp-config.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-config.h insn-config.h
-+ $(STAMP) s-config
-+
-+insn-conditions.c: s-conditions ; @true
-+s-conditions : $(md_file) genconditions$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genconditions$(build_exeext) $(md_file) > tmp-conditions.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-conditions.c insn-conditions.c
-+ $(STAMP) s-conditions
-+
-+insn-conditions.o : insn-conditions.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-+ $(GTM_H) $(RTL_H) $(TM_P_H) $(REGS_H) function.h $(RECOG_H) real.h output.h \
-+ flags.h hard-reg-set.h resource.h toplev.h reload.h gensupport.h \
-+ insn-constants.h
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) insn-conditions.c
-+
-+dummy-conditions.o : dummy-conditions.c $(BCONFIG_H) $(SYSTEM_H) \
-+ coretypes.h $(GTM_H) gensupport.h
-+
-+insn-flags.h: s-flags ; @true
-+s-flags : $(md_file) genflags$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genflags$(build_exeext) $(md_file) > tmp-flags.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-flags.h insn-flags.h
-+ $(STAMP) s-flags
-+
-+insn-codes.h: s-codes ; @true
-+s-codes : $(md_file) gencodes$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./gencodes$(build_exeext) $(md_file) > tmp-codes.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-codes.h insn-codes.h
-+ $(STAMP) s-codes
-+
-+insn-constants.h: s-constants ; @true
-+s-constants : $(md_file) genconstants$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genconstants$(build_exeext) $(md_file) > tmp-constants.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-constants.h insn-constants.h
-+ $(STAMP) s-constants
-+
-+insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
-+ $(RECOG_H) toplev.h function.h flags.h hard-reg-set.h resource.h $(TM_P_H)
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.c \
-+ $(OUTPUT_OPTION)
-+
-+insn-emit.c: s-emit ; @true
-+s-emit : $(md_file) genemit$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genemit$(build_exeext) $(md_file) > tmp-emit.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-emit.c insn-emit.c
-+ $(STAMP) s-emit
-+
-+insn-recog.o : insn-recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) insn-config.h $(RECOG_H) real.h output.h flags.h function.h \
-+ hard-reg-set.h resource.h $(TM_P_H) toplev.h reload.h
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-recog.c \
-+ $(OUTPUT_OPTION)
-+
-+insn-recog.c: s-recog ; @true
-+s-recog : $(md_file) genrecog$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genrecog$(build_exeext) $(md_file) > tmp-recog.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-recog.c insn-recog.c
-+ $(STAMP) s-recog
-+
-+insn-opinit.o : insn-opinit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) insn-config.h flags.h $(RECOG_H) $(EXPR_H) $(OPTABS_H) reload.h
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-opinit.c \
-+ $(OUTPUT_OPTION)
-+
-+insn-opinit.c: s-opinit ; @true
-+s-opinit : $(md_file) genopinit$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genopinit$(build_exeext) $(md_file) > tmp-opinit.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-opinit.c insn-opinit.c
-+ $(STAMP) s-opinit
-+
-+insn-extract.o : insn-extract.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) toplev.h insn-config.h $(RECOG_H)
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-extract.c \
-+ $(OUTPUT_OPTION)
-+
-+insn-extract.c: s-extract ; @true
-+s-extract : $(md_file) genextract$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genextract$(build_exeext) $(md_file) > tmp-extract.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-extract.c insn-extract.c
-+ $(STAMP) s-extract
-+
-+insn-peep.o : insn-peep.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(REGS_H) output.h real.h insn-config.h $(RECOG_H) except.h \
-+ function.h $(TM_P_H)
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-peep.c \
-+ $(OUTPUT_OPTION)
-+
-+insn-peep.c: s-peep ; @true
-+s-peep : $(md_file) genpeep$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genpeep$(build_exeext) $(md_file) > tmp-peep.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-peep.c insn-peep.c
-+ $(STAMP) s-peep
-+
-+insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(REGS_H) real.h output.h $(INSN_ATTR_H) insn-config.h toplev.h \
-+ $(RECOG_H) $(TM_P_H) flags.h
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-attrtab.c \
-+ $(OUTPUT_OPTION)
-+
-+insn-attr.h: s-attr ; @true
-+s-attr : $(md_file) genattr$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genattr$(build_exeext) $(md_file) > tmp-attr.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-attr.h insn-attr.h
-+ $(STAMP) s-attr
-+
-+insn-attrtab.c: s-attrtab ; @true
-+s-attrtab : $(md_file) genattrtab$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genattrtab$(build_exeext) $(md_file) > tmp-attrtab.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-attrtab.c insn-attrtab.c
-+ $(STAMP) s-attrtab
-+
-+insn-output.o : insn-output.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(RTL_H) $(GGC_H) $(REGS_H) real.h conditions.h hard-reg-set.h \
-+ insn-config.h $(INSN_ATTR_H) $(EXPR_H) output.h $(RECOG_H) function.h \
-+ toplev.h flags.h insn-codes.h $(TM_P_H) $(TARGET_H)
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-output.c \
-+ $(OUTPUT_OPTION)
-+
-+insn-output.c: s-output ; @true
-+s-output : $(md_file) genoutput$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genoutput$(build_exeext) $(md_file) > tmp-output.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-output.c insn-output.c
-+ $(STAMP) s-output
-+
-+genrtl.o : genrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
-+ $(GGC_H)
-+genrtl.c genrtl.h : s-genrtl
-+ @true # force gnu make to recheck modification times.
-+
-+s-genrtl: gengenrtl$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./gengenrtl$(build_exeext) -h > tmp-genrtl.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-genrtl.h genrtl.h
-+ $(RUN_GEN) ./gengenrtl$(build_exeext) > tmp-genrtl.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-genrtl.c genrtl.c
-+ $(STAMP) s-genrtl
-+
-+insn-modes.o : insn-modes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ $(MACHMODE_H) real.h
-+min-insn-modes.c insn-modes.c insn-modes.h : s-modes ; @true
-+
-+s-modes: genmodes$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genmodes$(build_exeext) -h > tmp-modes.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-modes.h insn-modes.h
-+ $(RUN_GEN) ./genmodes$(build_exeext) -m > tmp-min-modes.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-min-modes.c min-insn-modes.c
-+ $(RUN_GEN) ./genmodes$(build_exeext) > tmp-modes.c
-+ $(SHELL) $(srcdir)/move-if-change tmp-modes.c insn-modes.c
-+ $(STAMP) s-modes
-+
-+tm-preds.h: s-preds; @true
-+
-+s-preds: genpreds$(build_exeext) $(srcdir)/move-if-change
-+ $(RUN_GEN) ./genpreds$(build_exeext) > tmp-preds.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-preds.h tm-preds.h
-+ $(STAMP) s-preds
-+
-+GTFILES = $(srcdir)/input.h $(srcdir)/coretypes.h $(srcdir)/cpplib.h \
-+ $(host_xm_file_list) $(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) \
-+ $(srcdir)/bitmap.h $(srcdir)/coverage.c $(srcdir)/function.h $(srcdir)/rtl.h \
-+ $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/libfuncs.h $(srcdir)/hashtable.h \
-+ $(srcdir)/real.h $(srcdir)/varray.h $(srcdir)/insn-addr.h \
-+ $(srcdir)/cselib.h $(srcdir)/basic-block.h $(srcdir)/cgraph.h \
-+ $(srcdir)/c-common.h $(srcdir)/c-tree.h \
-+ $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
-+ $(srcdir)/dbxout.c $(srcdir)/dwarf2out.c $(srcdir)/dwarf2asm.c \
-+ $(srcdir)/dojump.c \
-+ $(srcdir)/emit-rtl.c $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
-+ $(srcdir)/fold-const.c $(srcdir)/function.c \
-+ $(srcdir)/gcse.c $(srcdir)/integrate.c $(srcdir)/lists.c $(srcdir)/optabs.c \
-+ $(srcdir)/profile.c $(srcdir)/ra-build.c $(srcdir)/regclass.c \
-+ $(srcdir)/reg-stack.c $(srcdir)/cfglayout.c $(srcdir)/langhooks.c \
-+ $(srcdir)/sdbout.c $(srcdir)/stmt.c $(srcdir)/stor-layout.c \
-+ $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
-+ $(out_file) \
-+ @all_gtfiles@
-+
-+GTFILES_FILES_LANGS = @all_gtfiles_files_langs@
-+GTFILES_FILES_FILES = @all_gtfiles_files_files@
-+GTFILES_LANG_DIR_NAMES = @subdirs@
-+GTFILES_SRCDIR = @srcdir@
-+
-+gt-cgraph.h gt-coverage.h gtype-desc.h gtype-desc.c gt-except.h \
-+gt-function.h gt-integrate.h gt-stmt.h gt-tree.h gt-varasm.h \
-+gt-emit-rtl.h gt-explow.h gt-stor-layout.h gt-regclass.h \
-+gt-lists.h gt-alias.h gt-cselib.h gt-fold-const.h gt-gcse.h \
-+gt-expr.h gt-sdbout.h gt-optabs.h gt-bitmap.h gt-dojump.h \
-+gt-dwarf2out.h gt-ra-build.h gt-reg-stack.h gt-dwarf2asm.h \
-+gt-dbxout.h gt-c-common.h gt-c-decl.h gt-c-parse.h \
-+gt-c-pragma.h gtype-c.h gt-input.h gt-cfglayout.h \
-+gt-stringpool.h gt-langhooks.h : s-gtype ; @true
-+
-+gtyp-gen.h: Makefile
-+ echo "/* This file is machine generated. Do not edit. */" > tmp-gtyp.h
-+ echo "static const char *const srcdir = " >> tmp-gtyp.h
-+ echo "\"$(GTFILES_SRCDIR)\"" >> tmp-gtyp.h
-+ echo ";" >> tmp-gtyp.h
-+ echo "static const char *const lang_files[] = {" >> tmp-gtyp.h
-+ ll="$(GTFILES_FILES_FILES)"; \
-+ for f in $$ll; do \
-+ echo "\"$$f\", "; done >> tmp-gtyp.h
-+ echo "NULL};" >> tmp-gtyp.h
-+ echo "static const char *const langs_for_lang_files[] = {" >> tmp-gtyp.h
-+ ff="$(GTFILES_FILES_LANGS)"; \
-+ for f in $$ff; do \
-+ echo "\"$$f\", " ; done >> tmp-gtyp.h
-+ echo "NULL};" >> tmp-gtyp.h
-+ echo "static const char *const all_files[] = {" >> tmp-gtyp.h
-+ gf="$(GTFILES)"; \
-+ for f in $$gf; do \
-+ echo "\"$$f\", "; done >> tmp-gtyp.h
-+ echo " NULL};" >> tmp-gtyp.h
-+ echo "static const char *const lang_dir_names[] = { \"c\", " >> tmp-gtyp.h
-+ gf="$(GTFILES_LANG_DIR_NAMES)"; \
-+ for l in $$gf; do \
-+ echo "\"$$l\", "; done >> tmp-gtyp.h
-+ echo "NULL};" >> tmp-gtyp.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-gtyp.h gtyp-gen.h
-+
-+s-gtype: gengtype$(build_exeext) $(GTFILES)
-+ $(RUN_GEN) ./gengtype
-+ $(STAMP) s-gtype
-+
-+#
-+# Compile the programs that generate insn-* from the machine description.
-+# They are compiled with $(CC_FOR_BUILD), and associated libraries,
-+# since they need to run on this machine
-+# even if GCC is being compiled to run on some other machine.
-+
-+# $(CONFIG_H) is omitted from the deps of the gen*.o
-+# because these programs don't really depend on anything
-+# about the target machine. They do depend on config.h itself,
-+# since that describes the host machine.
-+
-+# The names of programs that run on the "build" machine.
-+genprognames=genconfig genflags gencodes genemit genopinit genrecog \
-+ genextract genpeep genattr genoutput
-+
-+# The names of the executable files for those programs.
-+genprogs=$(genprognames:%=%$(build_exeext))
-+
-+# Object files used in those programs.
-+genobjs=$(genprognames:%=%.o) read-rtl.o gensupport.o genattrtab.o \
-+ genautomata.o gengenrtl.o genmodes.o genpreds.o gengtype.o \
-+ genconstants.o gen-protos.o scan.o fix-header.o scan-decls.o \
-+ gencheck.o dummy-conditions.o genconditions.o
-+
-+$(genprogs): %$(build_exeext): %.o $(BUILD_RTL) $(BUILD_SUPPORT) \
-+ $(BUILD_PRINT) $(BUILD_ERRORS) \
-+ $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ $< $(BUILD_RTL) $(BUILD_SUPPORT) $(BUILD_PRINT) \
-+ $(BUILD_ERRORS) $(BUILD_LIBS)
-+
-+$(genobjs): %.o : %.c
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-+
-+read-rtl.o: read-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(RTL_H) \
-+ $(OBSTACK_H) $(HASHTAB_H)
-+
-+gensupport.o: gensupport.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(RTL_H) \
-+ $(OBSTACK_H) errors.h $(HASHTAB_H) gensupport.h
-+
-+genconfig.o : genconfig.c $(RTL_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
-+
-+genflags.o : genflags.c $(RTL_H) $(OBSTACK_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
-+
-+gencodes.o : gencodes.c $(RTL_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
-+
-+genconstants$(build_exeext) : genconstants.o $(BUILD_RTL) $(BUILD_EARLY_SUPPORT) \
-+ $(BUILD_ERRORS) $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ genconstants.o $(BUILD_EARLY_SUPPORT) $(BUILD_RTL) \
-+ $(BUILD_ERRORS) $(BUILD_LIBS)
-+
-+genconstants.o : genconstants.c $(RTL_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
-+ errors.h
-+
-+genemit.o : genemit.c $(RTL_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
-+ errors.h gensupport.h
-+
-+genopinit.o : genopinit.c $(RTL_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
-+
-+genrecog.o : genrecog.c $(RTL_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
-+
-+genextract.o : genextract.c $(RTL_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) insn-config.h errors.h gensupport.h
-+
-+genpeep.o : genpeep.c $(RTL_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
-+ errors.h gensupport.h
-+
-+genattr.o : genattr.c $(RTL_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) errors.h \
-+ gensupport.h
-+
-+genattrtab$(build_exeext) : genattrtab.o genautomata.o \
-+ $(BUILD_RTL) $(BUILD_SUPPORT) $(BUILD_PRINT) $(BUILD_ERRORS) $(BUILD_VARRAY) \
-+ $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ genattrtab.o genautomata.o \
-+ $(BUILD_RTL) $(BUILD_SUPPORT) $(BUILD_PRINT) $(BUILD_ERRORS) \
-+ $(BUILD_VARRAY) $(BUILD_LIBS) -lm
-+
-+genattrtab.o : genattrtab.c $(RTL_H) $(OBSTACK_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(GGC_H) gensupport.h genattrtab.h
-+
-+genautomata.o : genautomata.c $(RTL_H) $(OBSTACK_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h varray.h genattrtab.h $(HASHTAB_H)
-+
-+genoutput.o : genoutput.c $(RTL_H) $(BCONFIG_H) \
-+ $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
-+
-+gengenrtl$(build_exeext) : gengenrtl.o $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ gengenrtl.o $(BUILD_LIBS)
-+
-+gengenrtl.o : gengenrtl.c $(BCONFIG_H) $(SYSTEM_H) rtl.def
-+
-+genmodes$(build_exeext) : genmodes.o $(BUILD_ERRORS) $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ genmodes.o $(BUILD_ERRORS) $(BUILD_LIBS)
-+
-+genmodes.o : genmodes.c $(BCONFIG_H) $(SYSTEM_H) errors.h $(HASHTAB_H) \
-+ machmode.def $(extra_modes_file)
-+
-+genpreds$(build_exeext) : genpreds.o $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ genpreds.o $(BUILD_LIBS)
-+
-+genpreds.o : genpreds.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
-+
-+gengtype$(build_exeext) : gengtype.o gengtype-lex.o gengtype-yacc.o \
-+ $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ gengtype.o gengtype-lex.o gengtype-yacc.o $(BUILD_LIBS)
-+
-+gengtype.o : gengtype.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
-+ real.h $(RTL_BASE_H) gtyp-gen.h
-+
-+gengtype-lex.o : gengtype-lex.c gengtype.h gengtype-yacc.h \
-+ $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H)
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
-+ $< $(OUTPUT_OPTION)
-+
-+gengtype-yacc.o : gengtype-yacc.c gengtype.h $(BCONFIG_H) $(SYSTEM_H) \
-+ coretypes.h $(GTM_H)
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
-+ $< $(OUTPUT_OPTION)
-+
-+gengtype-lex.c : gengtype-lex.l
-+ -$(FLEX) $(FLEXFLAGS) -o$@ $<
-+
-+gengtype-yacc.c gengtype-yacc.h: gengtype-yacc.y
-+ -$(BISON) $(BISONFLAGS) -d -o gengtype-yacc.c $<
-+
-+genconditions$(build_exeext) : genconditions.o $(BUILD_EARLY_SUPPORT) \
-+ $(BUILD_RTL) $(BUILD_ERRORS) $(BUILD_LIBDEPS)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ genconditions.o $(BUILD_EARLY_SUPPORT) $(BUILD_RTL) \
-+ $(BUILD_ERRORS) $(BUILD_LIBS)
-+
-+genconditions.o : genconditions.c $(RTL_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
-+ $(GTM_H) errors.h
-+
-+#
-+# Compile the libraries to be used by gen*.
-+# If we are not cross-building, gen* use the same .o's that cc1 will use,
-+# and BUILD_PREFIX_1 is `loser-', just to ensure these rules don't conflict
-+# with the rules for rtl.o, etc.
-+$(BUILD_PREFIX_1)rtl.o: $(srcdir)/rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) $(RTL_H) \
-+ real.h $(GGC_H) errors.h
-+ rm -f $(BUILD_PREFIX)rtl.c
-+ sed -e 's/config[.]h/bconfig.h/' $(srcdir)/rtl.c > $(BUILD_PREFIX)rtl.c
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) $(BUILD_PREFIX)rtl.c $(OUTPUT_OPTION)
-+
-+print-rtl1.o: $(srcdir)/print-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
-+ $(GTM_H) $(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H)
-+ rm -f print-rtl1.c
-+ sed -e 's/config[.]h/bconfig.h/' $(srcdir)/print-rtl.c > print-rtl1.c
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) print-rtl1.c $(OUTPUT_OPTION)
-+
-+$(BUILD_PREFIX_1)bitmap.o: $(srcdir)/bitmap.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \
-+ $(RTL_H) flags.h $(BASIC_BLOCK_H) $(REGS_H) $(GGC_H)
-+ rm -f $(BUILD_PREFIX)bitmap.c
-+ sed -e 's/config[.]h/bconfig.h/' $(srcdir)/bitmap.c > $(BUILD_PREFIX)bitmap.c
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) $(BUILD_PREFIX)bitmap.c $(OUTPUT_OPTION)
-+
-+$(BUILD_PREFIX_1)errors.o: errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
-+ rm -f $(BUILD_PREFIX)errors.c
-+ sed -e 's/config[.]h/bconfig.h/' $(srcdir)/errors.c > $(BUILD_PREFIX)errors.c
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) $(BUILD_PREFIX)errors.c $(OUTPUT_OPTION)
-+
-+$(BUILD_PREFIX_1)varray.o: varray.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) varray.h \
-+ $(RTL_H) $(GGC_H) $(TREE_H) bitmap.h errors.h
-+ rm -f $(BUILD_PREFIX)varray.c
-+ sed -e 's/config[.]h/bconfig.h/' $(srcdir)/varray.c > \
-+ $(BUILD_PREFIX)varray.c
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
-+ $(BUILD_PREFIX)varray.c $(OUTPUT_OPTION)
-+
-+$(BUILD_PREFIX_1)ggc-none.o: ggc-none.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) $(GGC_H)
-+ rm -f $(BUILD_PREFIX)ggc-none.c
-+ sed -e 's/config[.]h/bconfig.h/' $(srcdir)/ggc-none.c > $(BUILD_PREFIX)ggc-none.c
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) $(BUILD_PREFIX)ggc-none.c $(OUTPUT_OPTION)
-+
-+min-insn-modes.o: min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H) $(MACHMODE_H)
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) \
-+ min-insn-modes.c $(OUTPUT_OPTION)
-+
-+#
-+# Remake internationalization support.
-+intl.o: intl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h Makefile
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -DLOCALEDIR=\"$(localedir)\" \
-+ -c $(srcdir)/intl.c $(OUTPUT_OPTION)
-+
-+#
-+# Remake cpp and protoize.
-+
-+PREPROCESSOR_DEFINES = \
-+ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
-+ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-+ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
-+ -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
-+ -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
-+ -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
-+ -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
-+ @TARGET_SYSTEM_ROOT_DEFINE@
-+
-+LIBCPP_OBJS = cpplib.o cpplex.o cppmacro.o cppexp.o cppfiles.o cpptrad.o \
-+ cpphash.o cpperror.o cppinit.o cppcharset.o \
-+ hashtable.o line-map.o mkdeps.o cpppch.o
-+
-+LIBCPP_DEPS = $(CPPLIB_H) cpphash.h line-map.h hashtable.h intl.h \
-+ $(OBSTACK_H) $(CONFIG_H) $(SYSTEM_H)
-+
-+# Most of the other archives built/used by this makefile are for
-+# targets. This one is strictly for the host.
-+libcpp.a: $(LIBCPP_OBJS)
-+ -rm -rf libcpp.a
-+ $(AR) $(AR_FLAGS) libcpp.a $(LIBCPP_OBJS)
-+ -$(RANLIB) libcpp.a
-+
-+cppcharset.o: cppcharset.c $(LIBCPP_DEPS) cppucnid.h
-+cpperror.o: cpperror.c $(LIBCPP_DEPS)
-+cppexp.o: cppexp.c $(LIBCPP_DEPS)
-+cpplex.o: cpplex.c $(LIBCPP_DEPS)
-+cppmacro.o: cppmacro.c $(LIBCPP_DEPS)
-+cpplib.o: cpplib.c $(LIBCPP_DEPS)
-+cpphash.o: cpphash.c $(LIBCPP_DEPS)
-+cpptrad.o: cpptrad.c $(LIBCPP_DEPS)
-+cppfiles.o: cppfiles.c $(LIBCPP_DEPS) $(HASHTAB_H) mkdeps.h
-+cppinit.o: cppinit.c $(LIBCPP_DEPS) mkdeps.h
-+cpppch.o: cpppch.c $(LIBCPP_DEPS) mkdeps.h
-+
-+cppdefault.o: cppdefault.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
-+ cppdefault.h Makefile
-+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ $(PREPROCESSOR_DEFINES) \
-+ -c $(srcdir)/cppdefault.c $(OUTPUT_OPTION)
-+
-+mkdeps.o: mkdeps.c $(CONFIG_H) $(SYSTEM_H) mkdeps.h
-+hashtable.o: hashtable.c hashtable.h $(CONFIG_H) $(SYSTEM_H) $(OBSTACK_H)
-+line-map.o: line-map.c line-map.h intl.h $(CONFIG_H) $(SYSTEM_H)
-+
-+# Note for the stamp targets, we run the program `true' instead of
-+# having an empty command (nothing following the semicolon).
-+
-+proto: config.status protoize$(exeext) unprotoize$(exeext) SYSCALLS.c.X
-+
-+PROTO_OBJS = intl.o version.o cppdefault.o
-+
-+protoize$(exeext): protoize.o $(PROTO_OBJS) $(LIBDEPS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ protoize.o $(PROTO_OBJS) $(LIBS)
-+
-+unprotoize$(exeext): unprotoize.o $(PROTO_OBJS) $(LIBDEPS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ unprotoize.o $(PROTO_OBJS) $(LIBS)
-+
-+protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
-+ coretypes.h $(TM_H) Makefile version.h
-+ (SHLIB_LINK='$(SHLIB_LINK)' \
-+ SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
-+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ $(DRIVER_DEFINES) \
-+ $(srcdir)/protoize.c $(OUTPUT_OPTION))
-+
-+unprotoize.o: protoize.c $(srcdir)/../include/getopt.h \
-+ $(CONFIG_H) $(SYSTEM_H) Makefile version.h
-+ (SHLIB_LINK='$(SHLIB_LINK)' \
-+ SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
-+ $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ $(DRIVER_DEFINES) \
-+ $(srcdir)/protoize.c $(OUTPUT_OPTION))
-+
-+# This info describes the target machine, so compile with GCC just built.
-+SYSCALLS.c.X: $(srcdir)/sys-types.h $(srcdir)/sys-protos.h $(GCC_PASSES) \
-+ stmp-int-hdrs
-+ -rm -f SYSCALLS.c tmp-SYSCALLS.s
-+ sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
-+ $(srcdir)/sys-types.h $(srcdir)/sys-protos.h > SYSCALLS.c
-+ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-+ -aux-info $@ -S -o tmp-SYSCALLS.s SYSCALLS.c
-+ -rm -f SYSCALLS.c tmp-SYSCALLS.s
-+
-+
-+test-protoize-simple: ./protoize ./unprotoize $(GCC_PASSES)
-+ -rm -f tmp-proto.[cso]
-+ cp $(srcdir)/protoize.c tmp-proto.c
-+ chmod u+w tmp-proto.c
-+ ./protoize -N -B ./ -x getopt.h -c "-B./ -Wall -Wwrite-strings \
-+ $(GCC_CFLAGS) $(INCLUDES) \
-+ -DGCC_INCLUDE_DIR=0 \
-+ -DGPLUSPLUS_INCLUDE_DIR=0 \
-+ -DCROSS_INCLUDE_DIR=0 \
-+ -DTOOL_INCLUDE_DIR=0 \
-+ -DSTANDARD_EXEC_PREFIX=0 \
-+ -DDEFAULT_TARGET_MACHINE=0 \
-+ -DDEFAULT_TARGET_VERSION=0" tmp-proto.c
-+ @echo '**********' Expect 400 lines of differences.
-+ -diff $(srcdir)/protoize.c tmp-proto.c > tmp-proto.diff
-+ -wc -l tmp-proto.diff
-+ ./unprotoize -N -x getopt.h -c "-B./ -Wall -Wwrite-strings \
-+ $(GCC_CFLAGS) $(INCLUDES) \
-+ -DGCC_INCLUDE_DIR=0 \
-+ -DGPLUSPLUS_INCLUDE_DIR=0 \
-+ -DCROSS_INCLUDE_DIR=0 \
-+ -DTOOL_INCLUDE_DIR=0 \
-+ -DSTANDARD_EXEC_PREFIX=0 \
-+ -DDEFAULT_TARGET_MACHINE=0 \
-+ -DDEFAULT_TARGET_VERSION=0" tmp-proto.c
-+ @echo Expect zero differences.
-+ diff $(srcdir)/protoize.c tmp-proto.c | cat
-+ -rm -f tmp-proto.[cs] tmp-proto$(objext)
-+
-+# gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c
-+gcov-iov.o: gcov-iov.c version.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) coretypes.h $(TM_H)
-+ $(CC_FOR_BUILD) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(INCLUDES) $(srcdir)/gcov-iov.c $(OUTPUT_OPTION)
-+gcov-iov$(build_exeext): gcov-iov.o
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) gcov-iov.o -o $@
-+gcov-iov.h: s-iov
-+s-iov: gcov-iov$(build_exeext) $(srcdir)/move-if-change
-+ ./gcov-iov$(build_exeext) > tmp-gcov-iov.h
-+ $(SHELL) $(srcdir)/move-if-change tmp-gcov-iov.h gcov-iov.h
-+ $(STAMP) s-iov
-+
-+gcov.o: gcov.c gcov-io.h gcov-io.c gcov-iov.h intl.h $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H)
-+gcov-dump.o: gcov-dump.c gcov-io.h gcov-io.c gcov-iov.h $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H)
-+
-+# Only one of 'gcov' or 'gcov.exe' is actually built, depending
-+# upon whether $(exeext) is empty or not.
-+GCOV_OBJS = gcov.o intl.o version.o
-+gcov$(exeext): $(GCOV_OBJS) $(LIBDEPS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) $(GCOV_OBJS) $(LIBS) -o $@
-+GCOV_DUMP_OBJS = gcov-dump.o version.o
-+gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) $(GCOV_DUMP_OBJS) $(LIBS) -o $@
-+#
-+# Build the include directory. The stamp files are stmp-* rather than
-+# s-* so that mostlyclean does not force the include directory to
-+# be rebuilt.
-+
-+# Build the include directory
-+stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) xlimits.h
-+# Copy in the headers provided with gcc.
-+# The sed command gets just the last file name component;
-+# this is necessary because VPATH could add a dirname.
-+# Using basename would be simpler, but some systems don't have it.
-+# The touch command is here to workaround an AIX/Linux NFS bug.
-+ -if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
-+ for file in .. $(USER_H); do \
-+ if [ X$$file != X.. ]; then \
-+ realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
-+ $(STAMP) include/$$realfile; \
-+ rm -f include/$$realfile; \
-+ cp $$file include; \
-+ chmod a+r include/$$realfile; \
-+ fi; \
-+ done
-+ rm -f include/limits.h
-+ cp xlimits.h include/limits.h
-+ chmod a+r include/limits.h
-+# Install the README
-+ rm -f include/README
-+ cp $(srcdir)/README-fixinc include/README
-+ chmod a+r include/README
-+ $(STAMP) $@
-+
-+# fixinc.sh depends on this, not on specs directly.
-+# The idea is to make sure specs gets built, but not rerun fixinc.sh
-+# after each stage just because specs' mtime has changed.
-+specs.ready: specs
-+ -if [ -f specs.ready ] ; then \
-+ true; \
-+ else \
-+ $(STAMP) specs.ready; \
-+ fi
-+
-+# Until someone fixes this recursive make nightmare (please note where
-+# BUILD_CFLAGS and WARN_CFLAGS are first expanded below versus which
-+# later make invocation has the fine-grain -warn markings for fixinc):
-+fixinc.sh-warn = -Wno-error
-+
-+FIXINCSRCDIR=$(srcdir)/fixinc
-+fixinc.sh: $(FIXINCSRCDIR)/mkfixinc.sh $(FIXINCSRCDIR)/fixincl.c \
-+ $(FIXINCSRCDIR)/procopen.c $(FIXINCSRCDIR)/server.c \
-+ $(FIXINCSRCDIR)/server.h $(FIXINCSRCDIR)/inclhack.def specs.ready
-+ (MAKE="$(MAKE)"; srcdir=`cd $(srcdir)/fixinc && ${PWD_COMMAND}` ; \
-+ CC="$(CC_FOR_BUILD)"; CFLAGS="$(BUILD_CFLAGS)"; LDFLAGS="$(BUILD_LDFLAGS)"; \
-+ WARN_CFLAGS="$(WARN_CFLAGS)"; LIBERTY=`${PWD_COMMAND}`/"$(BUILD_LIBIBERTY)"; \
-+ export MAKE srcdir CC CFLAGS LDFLAGS WARN_CFLAGS LIBERTY; \
-+ cd ./fixinc && \
-+ $(SHELL) $${srcdir}/mkfixinc.sh $(build) $(target))
-+
-+.PHONY: install-gcc-tooldir
-+install-gcc-tooldir:
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(gcc_tooldir)
-+
-+# Build fixed copies of system files.
-+stmp-fixinc: fixinc.sh gsyslimits.h
-+ @if test ! -d ${SYSTEM_HEADER_DIR}; then \
-+ echo The directory that should contain system headers does not exist: >&2 ; \
-+ echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
-+ if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
-+ then sleep 1; else exit 1; fi; \
-+ fi
-+ rm -rf include; mkdir include
-+ -chmod a+rx include
-+ (TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
-+ SHELL='$(SHELL)' ;\
-+ export TARGET_MACHINE srcdir SHELL ; \
-+ $(SHELL) ./fixinc.sh `${PWD_COMMAND}`/include $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS); \
-+ rm -f include/syslimits.h; \
-+ if [ -f include/limits.h ]; then \
-+ mv include/limits.h include/syslimits.h; \
-+ else \
-+ cp $(srcdir)/gsyslimits.h include/syslimits.h; \
-+ fi; \
-+ chmod a+r include/syslimits.h)
-+ $(STAMP) stmp-fixinc
-+
-+# Files related to the fixproto script.
-+# gen-protos and fix-header are compiled with CC_FOR_BUILD, but they are only
-+# used in native and host-x-target builds, so it's safe to link them with
-+# libiberty.a.
-+
-+deduced.h: $(GCC_PASSES) $(srcdir)/scan-types.sh stmp-int-hdrs
-+ if [ -d "$(SYSTEM_HEADER_DIR)" ]; \
-+ then \
-+ CC="$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -I. -I$(srcdir) -isystem include -isystem ${SYSTEM_HEADER_DIR}"; \
-+ export CC; \
-+ $(SHELL) $(srcdir)/scan-types.sh "$(srcdir)" >tmp-deduced.h; \
-+ mv tmp-deduced.h deduced.h; \
-+ else \
-+ $(STAMP) deduced.h; \
-+ fi
-+
-+GEN_PROTOS_OBJS = gen-protos.o scan.o
-+gen-protos$(build_exeext): $(GEN_PROTOS_OBJS)
-+ ${CC_FOR_BUILD} $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-+ $(GEN_PROTOS_OBJS) $(BUILD_LIBS)
-+
-+gen-protos.o: gen-protos.c scan.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
-+
-+scan.o: scan.c scan.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
-+
-+xsys-protos.h: $(GCC_PASSES) $(srcdir)/sys-protos.h deduced.h gen-protos$(build_exeext) Makefile
-+ sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
-+ deduced.h $(srcdir)/sys-protos.h > tmp-fixtmp.c
-+ mv tmp-fixtmp.c fixtmp.c
-+ $(GCC_FOR_TARGET) fixtmp.c -w -U__SIZE_TYPE__ -U__PTRDIFF_TYPE__ -U__WCHAR_TYPE__ -E \
-+ | sed -e 's/ / /g' -e 's/ *(/ (/g' -e 's/ [ ]*/ /g' -e 's/( )/()/' \
-+ | $(RUN_GEN) ./gen-protos >xsys-protos.hT
-+ mv xsys-protos.hT xsys-protos.h
-+ rm -rf fixtmp.c
-+
-+# This is nominally a 'build' program, but it's run only when host==build,
-+# so we can (indeed, must) use $(LIBDEPS) and $(LIBS).
-+fix-header$(build_exeext): fix-header.o scan-decls.o scan.o xsys-protos.h \
-+ c-incpath.o cppdefault.o prefix.o $(LIBDEPS) libcpp.a
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ fix-header.o \
-+ c-incpath.o cppdefault.o scan-decls.o prefix.o scan.o libcpp.a $(LIBS)
-+
-+fix-header.o: fix-header.c $(OBSTACK_H) scan.h \
-+ xsys-protos.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(CPPLIB_H)
-+
-+scan-decls.o: scan-decls.c scan.h $(CPPLIB_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
-+
-+# stmp-fixproto depends on this, not on fix-header directly.
-+# The idea is to make sure fix-header gets built,
-+# but not rerun fixproto after each stage
-+# just because fix-header's mtime has changed.
-+fixhdr.ready: fix-header$(build_exeext)
-+ -if [ -f fixhdr.ready ] ; then \
-+ true; \
-+ else \
-+ $(STAMP) fixhdr.ready; \
-+ fi
-+
-+# stmp-int-headers is to make sure fixincludes has already finished.
-+# The if statement is so that we don't run fixproto a second time
-+# if it has already been run on the files in `include'.
-+stmp-fixproto: fixhdr.ready fixproto stmp-int-hdrs
-+ if [ -f include/fixed ] ; then true; \
-+ else \
-+ : This line works around a 'make' bug in BSDI 1.1.; \
-+ FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"; export FIXPROTO_DEFINES; \
-+ mkinstalldirs="$(SHELL) $(srcdir)/mkinstalldirs"; \
-+ export mkinstalldirs; \
-+ if [ -d "$(SYSTEM_HEADER_DIR)" ]; then \
-+ $(SHELL) ${srcdir}/fixproto include include $(SYSTEM_HEADER_DIR); \
-+ if [ $$? -eq 0 ] ; then true ; else exit 1 ; fi ; \
-+ else true; fi; \
-+ $(STAMP) include/fixed; \
-+ fi
-+ $(STAMP) stmp-fixproto
-+#
-+# Remake the info files.
-+
-+doc: $(BUILD_INFO) $(GENERATED_MANPAGES) gccbug
-+
-+INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \
-+ doc/gccinstall.info doc/cppinternals.info
-+
-+info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
-+
-+srcinfo: $(INFOFILES)
-+ -cp -p $^ $(srcdir)/doc
-+
-+TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi
-+
-+TEXI_GCC_FILES = gcc.texi gcc-common.texi frontends.texi standards.texi \
-+ invoke.texi extend.texi md.texi objc.texi gcov.texi trouble.texi \
-+ bugreport.texi service.texi contribute.texi compat.texi funding.texi \
-+ gnu.texi gpl.texi fdl.texi contrib.texi cppenv.texi cppopts.texi
-+
-+TEXI_GCCINT_FILES = gccint.texi gcc-common.texi contribute.texi makefile.texi \
-+ configterms.texi portability.texi interface.texi passes.texi \
-+ c-tree.texi rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \
-+ configfiles.texi collect2.texi headerdirs.texi funding.texi gnu.texi \
-+ gpl.texi fdl.texi contrib.texi languages.texi sourcebuild.texi \
-+ gty.texi libgcc.texi
-+
-+TEXI_GCCINSTALL_FILES = install.texi install-old.texi fdl.texi
-+
-+TEXI_CPPINT_FILES = cppinternals.texi
-+
-+# The *.1, *.7, *.info, and *.dvi files are being generated from implicit
-+# patterns. To use them, put each of the specific target with with their
-+# specific dependencies but no build commands.
-+
-+doc/cpp.info: $(TEXI_CPP_FILES)
-+doc/gcc.info: $(TEXI_GCC_FILES)
-+doc/gccint.info: $(TEXI_GCCINT_FILES)
-+doc/cppinternals.info: $(TEXI_CPPINT_FILES)
-+
-+doc/%.info: %.texi
-+ if [ x$(BUILD_INFO) = xinfo ]; then \
-+ $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) \
-+ -I $(docdir)/include -o $@ $<; \
-+ fi
-+
-+# Duplicate entry to handle renaming of gccinstall.info
-+doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
-+ if [ x$(BUILD_INFO) = xinfo ]; then \
-+ $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) \
-+ -I $(docdir)/include -o $@ $<; \
-+ fi
-+
-+doc/cpp.dvi: $(TEXI_CPP_FILES)
-+doc/gcc.dvi: $(TEXI_GCC_FILES)
-+doc/gccint.dvi: $(TEXI_GCCINT_FILES)
-+doc/cppinternals.dvi: $(TEXI_CPPINT_FILES)
-+
-+dvi:: doc/gcc.dvi doc/gccint.dvi doc/gccinstall.dvi doc/cpp.dvi \
-+ doc/cppinternals.dvi
-+
-+doc/%.dvi: %.texi
-+ $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
-+
-+# Duplicate entry to handle renaming of gccinstall.dvi
-+doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
-+ $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
-+
-+MANFILES = doc/gcov.1 doc/cpp.1 doc/gcc.1 doc/gfdl.7 doc/gpl.7 doc/fsf-funding.7
-+
-+generated-manpages: man
-+
-+man: $(MANFILES) lang.man @GENINSRC@ srcman lang.srcman
-+
-+srcman: $(MANFILES)
-+ -cp -p $^ $(srcdir)/doc
-+
-+doc/%.1: %.pod
-+ $(STAMP) $@
-+ -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
-+ mv -f $(@).T$$$$ $@) || \
-+ (rm -f $(@).T$$$$ && exit 1)
-+
-+doc/%.7: %.pod
-+ $(STAMP) $@
-+ -($(POD2MAN) --section=7 $< > $(@).T$$$$ && \
-+ mv -f $(@).T$$$$ $@) || \
-+ (rm -f $(@).T$$$$ && exit 1)
-+
-+%.pod: %.texi
-+ $(STAMP) $@
-+ -$(TEXI2POD) $< > $@
-+
-+.INTERMEDIATE: cpp.pod gcc.pod gfdl.pod fsf-funding.pod
-+cpp.pod: cpp.texi cppenv.texi cppopts.texi
-+
-+# These next rules exist because the output name is not the same as
-+# the input name, so our implict %.pod rule will not work.
-+
-+gcc.pod: invoke.texi cppenv.texi cppopts.texi
-+ $(STAMP) $@
-+ -$(TEXI2POD) $< > $@
-+gfdl.pod: fdl.texi
-+ $(STAMP) $@
-+ -$(TEXI2POD) $< > $@
-+fsf-funding.pod: funding.texi
-+ $(STAMP) $@
-+ -$(TEXI2POD) $< > $@
-+
-+#
-+# Deletion of files made during compilation.
-+# There are four levels of this:
-+# `mostlyclean', `clean', `distclean' and `maintainer-clean'.
-+# `mostlyclean' is useful while working on a particular type of machine.
-+# It deletes most, but not all, of the files made by compilation.
-+# It does not delete libgcc.a or its parts, so it won't have to be recompiled.
-+# `clean' deletes everything made by running `make all'.
-+# `distclean' also deletes the files made by config.
-+# `maintainer-clean' also deletes everything that could be regenerated
-+# automatically, except for `configure'.
-+# We remove as much from the language subdirectories as we can
-+# (less duplicated code).
-+
-+mostlyclean: lang.mostlyclean
-+ -rm -f $(STAGESTUFF)
-+ -rm -f *$(coverageexts)
-+ -rm -rf libgcc
-+# Delete the temporary source copies for cross compilation.
-+ -rm -f $(BUILD_PREFIX_1)rtl.c $(BUILD_PREFIX_1)print-rtl.c
-+ -rm -f $(BUILD_PREFIX_1)bitmap.c $(BUILD_PREFIX_1)errors.c
-+ -rm -f $(BUILD_PREFIX_1)ggc-none.c print-rtl1.c
-+# Delete the temp files made in the course of building libgcc.a.
-+ -rm -f xlimits.h
-+# Delete other built files.
-+ -rm -f xsys-protos.hT
-+ -rm -f specs.h gencheck.h options.c options.h
-+# Delete the stamp and temporary files.
-+ -rm -f s-* tmp-* stamp-* stmp-*
-+ -rm -f */stamp-* */tmp-*
-+# Delete debugging dump files.
-+ -rm -f *.[0-9][0-9].* */*.[0-9][0-9].*
-+# Delete some files made during installation.
-+ -rm -f specs $(SPECS) SYSCALLS.c.X SYSCALLS.c
-+ -rm -f collect collect2 mips-tfile mips-tdump
-+# Delete files generated for fixproto
-+ -rm -rf fix-header$(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
-+ gen-protos$(build_exeext) fixproto.list fixtmp.* fixhdr.ready
-+# Delete files generated for fixincl
-+ -rm -rf fixincl fixinc.sh specs.ready
-+ (cd fixinc && $(MAKE) clean)
-+# Delete unwanted output files from TeX.
-+ -rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg
-+ -rm -f */*.toc */*.log */*.vr */*.fn */*.cp */*.tp */*.ky */*.pg
-+# Delete sorted indices we don't actually use.
-+ -rm -f gcc.vrs gcc.kys gcc.tps gcc.pgs gcc.fns
-+# Delete core dumps.
-+ -rm -f core */core
-+# Delete file generated for gengtype.c
-+ -rm -f gtyp-gen.h
-+# Delete files generated by gengtype.c
-+ -rm -f gtype-*
-+ -rm -f gt-*
-+
-+# Delete all files made by compilation
-+# that don't exist in the distribution.
-+clean: mostlyclean lang.clean
-+ -rm -f libgcc.a libgcc_eh.a libgcov.a
-+ -rm -f libgcc_s*
-+ -rm -f libunwind*
-+ -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h
-+ -rm -f cs-*
-+ -rm -rf libgcc
-+ -rm -f doc/*.dvi
-+# Delete the include directory.
-+ -rm -rf include
-+# Delete files used by the "multilib" facility (including libgcc subdirs).
-+ -rm -f multilib.h tmpmultilib*
-+ -if [ "x$(MULTILIB_DIRNAMES)" != x ] ; then \
-+ rm -rf $(MULTILIB_DIRNAMES); \
-+ else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \
-+ rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \
-+ fi ; fi
-+ -rm -fr stage1 stage2 stage3 stage4 stageprofile stagefeedback
-+# Delete stamps of bootstrap stages
-+ -rm -f stage?_*
-+ -rm -f clean?_*
-+ -rm -f stage_last
-+
-+# Delete all files that users would normally create
-+# while building and installing GCC.
-+distclean: clean lang.distclean
-+ -rm -f auto-host.h auto-build.h
-+ -rm -f cstamp-h
-+ -rm -f config.status config.run config.cache config.bak
-+ -rm -f Make-lang Make-hooks Make-host Make-target
-+ -rm -f Makefile *.oaux
-+ -rm -f gthr-default.h
-+ -rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
-+ -rm -f c-parse.y c-parse.c c-parse.output TAGS */TAGS
-+ -rm -f *.asm
-+ -rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
-+ -rm -f testsuite/*.log testsuite/*.sum
-+ -cd testsuite && rm -f x *.x *.x? *.exe *.rpo *.o *.s *.S *.c
-+ -cd testsuite && rm -f *.out *.gcov *$(coverageexts)
-+ -rm -rf ${QMTEST_DIR} stamp-qmtest
-+ -rm -f cxxmain.c
-+ -rm -f mklibgcc mkheaders gccbug .gdbinit configargs.h
-+ -rm -f gcov.pod
-+ -rm -f fixinc/Makefile
-+# Delete po/*.gmo only if we are not building in the source directory.
-+ -if [ ! -f po/exgettext ]; then rm -f po/*.gmo; fi
-+ -rmdir ada cp f java objc fixinc intl po testsuite 2>/dev/null
-+
-+# Get rid of every file that's generated from some other file, except for `configure'.
-+# Most of these files ARE PRESENT in the GCC distribution.
-+maintainer-clean:
-+ @echo 'This command is intended for maintainers to use; it'
-+ @echo 'deletes files that may need special tools to rebuild.'
-+ $(MAKE) lang.maintainer-clean distclean
-+ -rm -f $(srcdir)/c-parse.y $(srcdir)/c-parse.c
-+ -rm -f cpp.??s cpp.*aux
-+ -rm -f gcc.??s gcc.*aux
-+ -rm -f $(docdir)/*.info $(docdir)/*.1 $(docdir)/*.7 $(docdir)/*.dvi
-+#
-+# Entry points `install' and `uninstall'.
-+# Also use `install-collect2' to install collect2 when the config files don't.
-+
-+# Copy the compiler files into directories where they will be run.
-+# Install the driver last so that the window when things are
-+# broken is small.
-+install: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
-+ install-cpp install-man install-info install-@POSUB@ \
-+ lang.install-normal install-driver
-+
-+# Handle cpp installation.
-+install-cpp: cpp$(exeext)
-+ -rm -f $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
-+ -$(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
-+ -if [ x$(cpp_install_dir) != x ]; then \
-+ rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
-+ else true; fi
-+
-+# Create the installation directories.
-+# $(libdir)/gcc/include isn't currently searched by cpp.
-+installdirs:
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(libsubdir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(libexecsubdir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(bindir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(includedir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(infodir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(slibdir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man1dir)
-+ $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(man7dir)
-+
-+# Install the compiler executables built during cross compilation.
-+install-common: native $(EXTRA_PARTS) lang.install-common installdirs
-+ for file in $(COMPILERS); do \
-+ if [ -f $$file ] ; then \
-+ rm -f $(DESTDIR)$(libexecsubdir)/$$file; \
-+ $(INSTALL_PROGRAM) $$file $(DESTDIR)$(libexecsubdir)/$$file; \
-+ else true; \
-+ fi; \
-+ done
-+ for file in $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2) ..; do \
-+ if [ x"$$file" != x.. ]; then \
-+ rm -f $(DESTDIR)$(libexecsubdir)/$$file; \
-+ $(INSTALL_PROGRAM) $$file $(DESTDIR)$(libexecsubdir)/$$file; \
-+ else true; fi; \
-+ done
-+ for file in $(EXTRA_PARTS) ..; do \
-+ if [ x"$$file" != x.. ]; then \
-+ rm -f $(DESTDIR)$(libsubdir)/$$file; \
-+ $(INSTALL_DATA) $$file $(DESTDIR)$(libsubdir)/$$file; \
-+ chmod a-x $(DESTDIR)$(libsubdir)/$$file; \
-+ else true; fi; \
-+ done
-+# Don't mess with specs if it doesn't exist yet.
-+ -if [ -f specs ] ; then \
-+ rm -f $(DESTDIR)$(libsubdir)/specs; \
-+ $(INSTALL_DATA) $(SPECS) $(DESTDIR)$(libsubdir)/specs; \
-+ chmod a-x $(DESTDIR)$(libsubdir)/specs; \
-+ fi
-+# Install protoize if it was compiled.
-+ -if [ -f protoize$(exeext) ]; then \
-+ rm -f $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) protoize$(exeext) $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
-+ rm -f $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) unprotoize$(exeext) $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
-+ rm -f $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
-+ $(INSTALL_DATA) SYSCALLS.c.X $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
-+ chmod a-x $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
-+ fi
-+# Install gcov if it was compiled.
-+ -if [ -f gcov$(exeext) ]; \
-+ then \
-+ rm -f $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) gcov$(exeext) $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext); \
-+ fi
-+ $(INSTALL_SCRIPT) gccbug $(DESTDIR)$(bindir)/$(GCCBUG_INSTALL_NAME)
-+
-+# Install the driver program as $(target_noncanonical)-gcc,
-+# $(target_noncanonical)-gcc-$(version)
-+# and also as either gcc (if native) or $(gcc_tooldir)/bin/gcc.
-+install-driver: installdirs xgcc$(exeext)
-+ -rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
-+ -$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
-+ -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)
-+ -( cd $(DESTDIR)$(bindir) && \
-+ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version) )
-+ -if [ -f gcc-cross$(exeext) ] ; then \
-+ if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
-+ rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
-+ $(INSTALL_PROGRAM) gcc-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \
-+ else true; fi; \
-+ else \
-+ rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \
-+ ( cd $(DESTDIR)$(bindir) && \
-+ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-tmp$(exeext) && \
-+ mv -f $(target_noncanonical)-gcc-tmp$(exeext) $(GCC_TARGET_INSTALL_NAME)$(exeext) ); \
-+ fi
-+
-+# Install the info files.
-+# $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
-+# to do the install.
-+install-info:: doc installdirs \
-+ $(DESTDIR)$(infodir)/cpp.info \
-+ $(DESTDIR)$(infodir)/gcc.info \
-+ $(DESTDIR)$(infodir)/cppinternals.info \
-+ $(DESTDIR)$(infodir)/gccinstall.info \
-+ $(DESTDIR)$(infodir)/gccint.info
-+
-+$(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
-+ rm -f $@
-+ if [ -f $< ]; then \
-+ for f in $(<)*; do \
-+ realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
-+ $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
-+ chmod a-x $(DESTDIR)$(infodir)/$$realfile; \
-+ done; \
-+ else true; fi
-+ -if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
-+ if [ -f $@ ]; then \
-+ install-info --dir-file=$(DESTDIR)$(infodir)/dir $@; \
-+ else true; fi; \
-+ else true; fi;
-+
-+# Install the man pages.
-+install-man: installdirs lang.install-man \
-+ $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext) \
-+ $(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext) \
-+ $(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext) \
-+ $(DESTDIR)$(man7dir)/fsf-funding$(man7ext) \
-+ $(DESTDIR)$(man7dir)/gfdl$(man7ext) \
-+ $(DESTDIR)$(man7dir)/gpl$(man7ext)
-+
-+$(DESTDIR)$(man7dir)/%$(man7ext): doc/%.7
-+ -rm -f $@
-+ -$(INSTALL_DATA) $< $@
-+ -chmod a-x $@
-+
-+$(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext): doc/gcc.1
-+ -rm -f $@
-+ -$(INSTALL_DATA) $< $@
-+ -chmod a-x $@
-+
-+$(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext): doc/cpp.1
-+ -rm -f $@
-+ -$(INSTALL_DATA) $< $@
-+ -chmod a-x $@
-+
-+$(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext): doc/gcov.1
-+ -rm -f $@
-+ -$(INSTALL_DATA) $< $@
-+ -chmod a-x $@
-+
-+# Install the library.
-+install-libgcc: libgcc.mk libgcc.a libgcov.a installdirs
-+ $(MAKE) \
-+ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
-+ CONFIG_H="$(TCONFIG_H)" \
-+ MAKEOVERRIDES= \
-+ -f libgcc.mk install
-+
-+# Install multiple versions of libgcc.a, libgcov.a.
-+install-multilib: stmp-multilib installdirs
-+ $(MAKE) \
-+ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
-+ CONFIG_H="$(CONFIG_H)" \
-+ MAKEOVERRIDES= \
-+ -f libgcc.mk install
-+
-+# Install all the header files built in the include subdirectory.
-+install-headers: $(INSTALL_HEADERS_DIR)
-+# Fix symlinks to absolute paths in the installed include directory to
-+# point to the installed directory, not the build directory.
-+# Don't need to use LN_S here since we really do need ln -s and no substitutes.
-+ -files=`cd $(DESTDIR)$(libsubdir)/include; find . -type l -print 2>/dev/null`; \
-+ if [ $$? -eq 0 ]; then \
-+ dir=`cd include; ${PWD_COMMAND}`; \
-+ for i in $$files; do \
-+ dest=`ls -ld $(DESTDIR)$(libsubdir)/include/$$i | sed -n 's/.*-> //p'`; \
-+ if expr "$$dest" : "$$dir.*" > /dev/null; then \
-+ rm -f $(DESTDIR)$(libsubdir)/include/$$i; \
-+ ln -s `echo $$i | sed "s|/[^/]*|/..|g" | sed 's|/..$$||'``echo "$$dest" | sed "s|$$dir||"` $(DESTDIR)$(libsubdir)/include/$$i; \
-+ fi; \
-+ done; \
-+ fi
-+
-+# Create or recreate the gcc private include file directory.
-+install-include-dir: installdirs
-+ -rm -rf $(DESTDIR)$(libsubdir)/include
-+ mkdir $(DESTDIR)$(libsubdir)/include
-+ -chmod a+rx $(DESTDIR)$(libsubdir)/include
-+
-+# Install the include directory using tar.
-+install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
-+# We use `pwd`/include instead of just include to problems with CDPATH
-+# Unless a full pathname is provided, some shells would print the new CWD,
-+# found in CDPATH, corrupting the output. We could just redirect the
-+# output of `cd', but some shells lose on redirection within `()'s
-+ (cd `${PWD_COMMAND}`/include ; \
-+ tar -cf - .; exit 0) | (cd $(DESTDIR)$(libsubdir)/include; tar xpf - )
-+# /bin/sh on some systems returns the status of the first tar,
-+# and that can lose with GNU tar which always writes a full block.
-+# So use `exit 0' to ignore its exit status.
-+
-+# Install the include directory using cpio.
-+install-headers-cpio: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
-+# See discussion about the use of `pwd` above
-+ cd `${PWD_COMMAND}`/include ; \
-+ find . -print | cpio -pdum $(DESTDIR)$(libsubdir)/include
-+
-+# Install the include directory using cp.
-+install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
-+ cp -p -r include $(DESTDIR)$(libsubdir)
-+
-+itoolsdir = $(libexecsubdir)/install-tools
-+itoolsdatadir = $(libsubdir)/install-tools
-+# Don't install the headers. Instead, install appropriate scripts
-+# and supporting files for fixincludes to be run later.
-+install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
-+ mkheaders xlimits.h
-+ -rm -rf $(DESTDIR)$(itoolsdir) $(DESTDIR)$(itoolsdatadir)
-+ $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(itoolsdatadir)/include
-+ $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(itoolsdir)
-+ for file in $(USER_H); do \
-+ realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
-+ $(INSTALL_DATA) $$file \
-+ $(DESTDIR)$(itoolsdatadir)/include/$$realfile ; \
-+ done
-+ $(INSTALL_DATA) xlimits.h $(DESTDIR)$(itoolsdatadir)/include/limits.h
-+ if [ x$(STMP_FIXINC) != x ] ; then \
-+ $(INSTALL_DATA) $(srcdir)/README-fixinc \
-+ $(DESTDIR)$(itoolsdatadir)/include/README ; \
-+ $(INSTALL_SCRIPT) fixinc.sh $(DESTDIR)$(itoolsdir)/fixinc.sh ; \
-+ $(INSTALL_PROGRAM) fixinc/fixincl $(DESTDIR)$(itoolsdir)/fixincl ; \
-+ $(INSTALL_DATA) $(srcdir)/gsyslimits.h \
-+ $(DESTDIR)$(itoolsdatadir)/gsyslimits.h ; \
-+ else :; fi
-+ if [ x$(STMP_FIXPROTO) != x ] ; then \
-+ $(INSTALL_SCRIPT) $(srcdir)/mkinstalldirs \
-+ $(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
-+ $(INSTALL_SCRIPT) $(srcdir)/fixproto $(DESTDIR)$(itoolsdir)/fixproto ; \
-+ $(INSTALL_PROGRAM) fix-header$(build_exeext) \
-+ $(DESTDIR)$(itoolsdir)/fix-header$(build_exeext) ; \
-+ else :; fi
-+ $(INSTALL_SCRIPT) mkheaders $(DESTDIR)$(itoolsdir)/mkheaders
-+ echo 'SYSTEM_HEADER_DIR="'"$(SYSTEM_HEADER_DIR)"'"' \
-+ > $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
-+ echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
-+ >> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
-+ echo 'FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"' \
-+ >> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
-+ echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' \
-+ >> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
-+ echo 'STMP_FIXINC="$(STMP_FIXINC)"' \
-+ >> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
-+
-+# Use this target to install the program `collect2' under the name `collect2'.
-+install-collect2: collect2 installdirs
-+ $(INSTALL_PROGRAM) collect2$(exeext) $(DESTDIR)$(libexecsubdir)/collect2$(exeext)
-+# Install the driver program as $(libsubdir)/gcc for collect2.
-+ $(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(libexecsubdir)/gcc$(exeext)
-+
-+# Cancel installation by deleting the installed files.
-+uninstall: lang.uninstall
-+ -rm -rf $(DESTDIR)$(libsubdir)
-+ -rm -rf $(DESTDIR)$(libexecsubdir)
-+ -rm -rf $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
-+ -rm -f $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
-+ -if [ x$(cpp_install_dir) != x ]; then \
-+ rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
-+ else true; fi
-+ -rm -rf $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext)
-+ -rm -rf $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext)
-+ -rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
-+ -rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
-+ -rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
-+ -rm -rf $(DESTDIR)$(man1dir)/protoize$(man1ext)
-+ -rm -rf $(DESTDIR)$(man1dir)/unprotoize$(man1ext)
-+ -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
-+ -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
-+#
-+# These targets are for the dejagnu testsuites. The file site.exp
-+# contains global variables that all the testsuites will use.
-+
-+target_subdir = @target_subdir@
-+
-+site.exp: ./config.status Makefile
-+ @echo "Making a new config file..."
-+ -@rm -f ./tmp?
-+ @$(STAMP) site.exp
-+ -@mv site.exp site.bak
-+ @echo "## these variables are automatically generated by make ##" > ./tmp0
-+ @echo "# Do not edit here. If you wish to override these values" >> ./tmp0
-+ @echo "# add them to the last section" >> ./tmp0
-+ @echo "set rootme \"`${PWD_COMMAND}`\"" >> ./tmp0
-+ @echo "set srcdir \"`cd ${srcdir}; ${PWD_COMMAND}`\"" >> ./tmp0
-+ @echo "set host_triplet $(host)" >> ./tmp0
-+ @echo "set build_triplet $(build)" >> ./tmp0
-+ @echo "set target_triplet $(target)" >> ./tmp0
-+ @echo "set target_alias $(target_noncanonical)" >> ./tmp0
-+# CFLAGS is set even though it's empty to show we reserve the right to set it.
-+ @echo "set CFLAGS \"\"" >> ./tmp0
-+ @echo "set CXXFLAGS \"\"" >> ./tmp0
-+ @echo "set TESTING_IN_BUILD_TREE 1" >> ./tmp0
-+ @echo "set HAVE_LIBSTDCXX_V3 1" >> ./tmp0
-+# If newlib has been configured, we need to pass -B to gcc so it can find
-+# newlib's crt0.o if it exists. This will cause a "path prefix not used"
-+# message if it doesn't, but the testsuite is supposed to ignore the message -
-+# it's too difficult to tell when to and when not to pass -B (not all targets
-+# have crt0's). We could only add the -B if ../newlib/crt0.o exists, but that
-+# seems like too selective a test.
-+# ??? Another way to solve this might be to rely on linker scripts. Then
-+# theoretically the -B won't be needed.
-+# We also need to pass -L ../ld so that the linker can find ldscripts.
-+ @if [ -d $(objdir)/../$(target_subdir)/newlib ] \
-+ && [ "${host}" != "${target}" ]; then \
-+ echo "set newlib_cflags \"-I$(objdir)/../$(target_subdir)/newlib/targ-include -I\$$srcdir/../newlib/libc/include\"" >> ./tmp0; \
-+ echo "set newlib_ldflags \"-B$(objdir)/../$(target_subdir)/newlib/\"" >> ./tmp0; \
-+ echo "append CFLAGS \" \$$newlib_cflags\"" >> ./tmp0; \
-+ echo "append CXXFLAGS \" \$$newlib_cflags\"" >> ./tmp0; \
-+ echo "append LDFLAGS \" \$$newlib_ldflags\"" >> ./tmp0; \
-+ else true; \
-+ fi
-+ @if [ -d $(objdir)/../ld ] ; then \
-+ echo "append LDFLAGS \" -L$(objdir)/../ld\"" >> ./tmp0; \
-+ else true; \
-+ fi
-+ echo "set tmpdir $(objdir)/testsuite" >> ./tmp0
-+ @echo "set srcdir \"\$${srcdir}/testsuite\"" >> ./tmp0
-+ @if [ "X$(ALT_CC_UNDER_TEST)" != "X" ] ; then \
-+ echo "set ALT_CC_UNDER_TEST \"$(ALT_CC_UNDER_TEST)\"" >> ./tmp0; \
-+ else true; \
-+ fi
-+ @if [ "X$(ALT_CXX_UNDER_TEST)" != "X" ] ; then \
-+ echo "set ALT_CXX_UNDER_TEST \"$(ALT_CXX_UNDER_TEST)\"" >> ./tmp0; \
-+ else true; \
-+ fi
-+ @if [ "X$(COMPAT_OPTIONS)" != "X" ] ; then \
-+ echo "set COMPAT_OPTIONS \"$(COMPAT_OPTIONS)\"" >> ./tmp0; \
-+ else true; \
-+ fi
-+ @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
-+ @cat ./tmp0 > site.exp
-+ @cat site.bak | sed \
-+ -e '1,/^## All variables above are.*##/ d' >> site.exp
-+ -@rm -f ./tmp?
-+
-+CHECK_TARGETS = check-gcc @check_languages@
-+
-+check: $(CHECK_TARGETS)
-+
-+# The idea is to parallelize testing of multilibs, for example:
-+# make -j3 check-gcc//sh-hms-sim/{-m1,-m2,-m3,-m3e,-m4}/{,-nofpu}
-+# will run 3 concurrent sessions of check-gcc, eventually testing
-+# all 10 combinations. GNU make is required, as is a shell that expands
-+# alternations within braces.
-+lang_checks_parallel = $(lang_checks:=//%)
-+$(lang_checks_parallel): site.exp
-+ target=`echo "$@" | sed 's,//.*,,'`; \
-+ variant=`echo "$@" | sed 's,^[^/]*//,,'`; \
-+ vardots=`echo "$$variant" | sed 's,/,.,g'`; \
-+ $(MAKE) TESTSUITEDIR="testsuite.$$vardots" \
-+ RUNTESTFLAGS="--target_board=$$variant $(RUNTESTFLAGS)" \
-+ "$$target"
-+
-+TESTSUITEDIR = testsuite
-+
-+$(TESTSUITEDIR)/site.exp: site.exp
-+ test -d $(TESTSUITEDIR) || mkdir $(TESTSUITEDIR)
-+ -rm -f $@
-+ sed '/set tmpdir/ s|testsuite|$(TESTSUITEDIR)|' < site.exp > $@
-+
-+$(lang_checks): check-% : $(TESTSUITEDIR)/site.exp
-+ -(rootme=`${PWD_COMMAND}`; export rootme; \
-+ srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
-+ cd $(TESTSUITEDIR); \
-+ EXPECT=${EXPECT} ; export EXPECT ; \
-+ if [ -f $${rootme}/../expect/expect ] ; then \
-+ TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
-+ export TCL_LIBRARY ; fi ; \
-+ $(RUNTEST) --tool $* $(RUNTESTFLAGS))
-+
-+check-consistency: testsuite/site.exp
-+ -rootme=`${PWD_COMMAND}`; export rootme; \
-+ srcdir=`cd ${srcdir}; ${PWD_COMMAND}` ; export srcdir ; \
-+ cd testsuite; \
-+ EXPECT=${EXPECT} ; export EXPECT ; \
-+ if [ -f $${rootme}/../expect/expect ] ; then \
-+ TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWD_COMMAND}` ; \
-+ export TCL_LIBRARY ; fi ; \
-+ $(RUNTEST) --tool consistency $(RUNTESTFLAGS)
-+
-+# QMTest targets
-+
-+# The path to qmtest.
-+QMTEST_PATH=qmtest
-+
-+# The flags to pass to qmtest.
-+QMTESTFLAGS=
-+
-+# The flags to pass to "qmtest run".
-+QMTESTRUNFLAGS=-f none --result-stream dejagnu_stream.DejaGNUStream
-+
-+# The command to use to invoke qmtest.
-+QMTEST=${QMTEST_PATH} ${QMTESTFLAGS}
-+
-+# The tests (or suites) to run.
-+QMTEST_GPP_TESTS=g++
-+
-+# The subdirectory of the OBJDIR that will be used to store the QMTest
-+# test database configuration and that will be used for temporary
-+# scratch space during QMTest's execution.
-+QMTEST_DIR=qmtestsuite
-+
-+# Create the QMTest database configuration.
-+${QMTEST_DIR} stamp-qmtest:
-+ ${QMTEST} -D ${QMTEST_DIR} create-tdb \
-+ -c gcc_database.GCCDatabase \
-+ -a srcdir=`cd ${srcdir}/testsuite && ${PWD_COMMAND}` && \
-+ $(STAMP) stamp-qmtest
-+
-+# Create the QMTest context file.
-+${QMTEST_DIR}/context: stamp-qmtest
-+ rm -f $@
-+ echo "CompilerTable.languages=c cplusplus" >> $@
-+ echo "CompilerTable.c_kind=GCC" >> $@
-+ echo "CompilerTable.c_path=${objdir}/xgcc" >> $@
-+ echo "CompilerTable.c_options=-B${objdir}/" >> $@
-+ echo "CompilerTable.cplusplus_kind=GCC" >> $@
-+ echo "CompilerTable.cplusplus_path=${objdir}/g++" >> $@
-+ echo "CompilerTable.cplusplus_options=-B${objdir}/" >> $@
-+ echo "DejaGNUTest.target=${target_noncanonical}" >> $@
-+
-+# Run the G++ testsuite using QMTest.
-+qmtest-g++: ${QMTEST_DIR}/context
-+ cd ${QMTEST_DIR} && ${QMTEST} run ${QMTESTRUNFLAGS} -C context \
-+ -o g++.qmr ${QMTEST_GPP_TESTS}
-+
-+# Use the QMTest GUI.
-+qmtest-gui: ${QMTEST_DIR}/context
-+ cd ${QMTEST_DIR} && ${QMTEST} gui -C context
-+
-+.PHONY: qmtest-g++
-+
-+# Run Paranoia on real.c.
-+
-+paranoia.o: $(srcdir)/../contrib/paranoia.cc $(CONFIG_H) $(SYSTEM_H) \
-+ real.h $(TREE_H)
-+ g++ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-+
-+paranoia: paranoia.o real.o $(LIBIBERTY)
-+ g++ -o $@ paranoia.o real.o $(LIBIBERTY)
-+
-+# These exist for maintenance purposes.
-+
-+# Update the tags table.
-+TAGS: lang.tags
-+ (cd $(srcdir); \
-+ incs= ; \
-+ list='$(SUBDIRS)'; for dir in $$list; do \
-+ if test -f $$dir/TAGS; then \
-+ incs="$$incs --include $$dir/TAGS.sub"; \
-+ fi; \
-+ done; \
-+ mkdir tmp-tags; \
-+ mv -f c-parse.[ch] tmp-tags; \
-+ etags -o TAGS.sub *.y *.h *.c; \
-+ mv tmp-tags/* .; \
-+ rmdir tmp-tags; \
-+ etags --include TAGS.sub $$incs)
-+
-+# ------------------------------------------------------
-+# Bootstrap-related targets (not used during 'make all')
-+# ------------------------------------------------------
-+
-+# A list of files to be destroyed during "lean" builds.
-+VOL_FILES=`echo $(BACKEND) $(OBJS) $(C_OBJS) $(LIBCPP_OBJS) *.c *.h gen*`
-+
-+# Flags to pass to stage2 and later recursive makes. Note that the
-+# WARN_CFLAGS setting can't be to the expansion of GCC_WARN_CFLAGS in
-+# the context of the stage_x rule.
-+
-+POSTSTAGE1_FLAGS_TO_PASS = \
-+ ADAFLAGS="$(BOOT_ADAFLAGS)" \
-+ CFLAGS="$(BOOT_CFLAGS)" \
-+ LDFLAGS="$(BOOT_LDFLAGS)" \
-+ WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
-+ STRICT_WARN="$(STRICT2_WARN)" \
-+ libdir=$(libdir) \
-+ LANGUAGES="$(LANGUAGES)" \
-+ MAKEINFO="$(MAKEINFO)" \
-+ MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
-+ MAKEOVERRIDES= \
-+ OUTPUT_OPTION="-o \$$@"
-+
-+STAGE2_FLAGS_TO_PASS = \
-+ CFLAGS="$(BOOT_CFLAGS)" \
-+ WERROR="@WERROR@" \
-+
-+STAGEPROFILE_FLAGS_TO_PASS = \
-+ CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"
-+
-+# Files never linked into the final executable produces warnings about missing
-+# profile.
-+STAGEFEEDBACK_FLAGS_TO_PASS = \
-+ CFLAGS="$(BOOT_CFLAGS) -fprofile-use"
-+
-+# Only build the C compiler for stage1, because that is the only one that
-+# we can guarantee will build with the native compiler, and also it is the
-+# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
-+# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
-+# overrideable (for a bootstrap build stage1 also builds gcc.info).
-+stage1_build:
-+ $(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \
-+ CFLAGS="$(STAGE1_CFLAGS)" MAKEINFO="$(MAKEINFO)" \
-+ MAKEINFOFLAGS="$(MAKEINFOFLAGS)" COVERAGE_FLAGS= \
-+ OBJS-onestep="$(OBJS)"
-+ $(STAMP) stage1_build
-+ echo stage1_build > stage_last
-+
-+stage1_copy: stage1_build
-+ $(MAKE) stage1
-+ $(STAMP) stage1_copy
-+ echo stage2_build > stage_last
-+
-+stage2_build: stage1_copy
-+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
-+ STAGE_PREFIX=stage1/ \
-+ $(POSTSTAGE1_FLAGS_TO_PASS) \
-+ $(STAGE2_FLAGS_TO_PASS)
-+ $(STAMP) stage2_build
-+ echo stage2_build > stage_last
-+
-+stage2_copy: stage2_build
-+ $(MAKE) stage2
-+ $(STAMP) stage2_copy
-+ echo stage3_build > stage_last
-+
-+stageprofile_build: stage1_copy
-+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
-+ STAGE_PREFIX=stage1/ \
-+ $(POSTSTAGE1_FLAGS_TO_PASS) \
-+ $(STAGEPROFILE_FLAGS_TO_PASS)
-+ $(STAMP) stageprofile_build
-+ echo stageprofile_build > stage_last
-+
-+stageprofile_copy: stageprofile_build
-+ $(MAKE) stageprofile
-+ $(STAMP) stageprofile_copy
-+ echo stagefeedback_build > stage_last
-+
-+stage3_build: stage2_copy
-+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" \
-+ STAGE_PREFIX=stage2/ \
-+ $(POSTSTAGE1_FLAGS_TO_PASS) \
-+ $(STAGE2_FLAGS_TO_PASS)
-+ $(STAMP) stage3_build
-+ echo stage3_build > stage_last
-+
-+stagefeedback_build: stageprofile_copy stage1_copy
-+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
-+ STAGE_PREFIX=stage1/ \
-+ $(POSTSTAGE1_FLAGS_TO_PASS) \
-+ $(STAGEFEEDBACK_FLAGS_TO_PASS)
-+ $(STAMP) stagefeedback_build
-+ echo stagefeedback_build > stage_last
-+
-+stagefeedback_copy: stagefeedback_build
-+ $(MAKE) stagefeedback
-+ $(STAMP) stagefeedback_copy
-+ echo stagefeedback2_build > stage_last
-+
-+# For bootstrap4:
-+stage3_copy: stage3_build
-+ $(MAKE) stage3
-+ $(STAMP) stage3_copy
-+ echo stage4_build > stage_last
-+
-+stage4_build: stage3_copy
-+ $(MAKE) CC="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" \
-+ STAGE_PREFIX=stage3/ \
-+ $(POSTSTAGE1_FLAGS_TO_PASS) \
-+ $(STAGE2_FLAGS_TO_PASS)
-+ $(STAMP) stage4_build
-+ echo stage4_build > stage_last
-+
-+# Additional steps for *-lean targets:
-+clean_s1: stage1_copy
-+ -(cd stage1 && rm -f $(VOL_FILES))
-+ $(STAMP) clean_s1
-+
-+clean_s2: stage2_copy
-+ -rm -rf stage1
-+ $(STAMP) clean_s2
-+
-+# The various entry points for bootstrapping.
-+
-+bootstrap: stage3_build
-+ @echo
-+ @echo Bootstrap complete - make \"quickstrap\" to redo last build,
-+ @echo \"restage1\" through \"restage3\" to rebuild specific stages,
-+ @echo \"restrap\" to redo the bootstrap from stage1, or
-+ @echo \"cleanstrap\" to redo the bootstrap from scratch.
-+
-+bootstrap-lean : clean_s1 clean_s2 stage3_build
-+ @echo
-+ @echo Bootstrap complete - make \"quickstrap\" to redo last build,
-+ @echo or \"cleanstrap\" to redo the bootstrap from scratch.
-+
-+bootstrap2: bootstrap
-+
-+bootstrap2-lean : bootstrap-lean
-+
-+bootstrap3 bootstrap3-lean: bootstrap
-+
-+bootstrap4 bootstrap4-lean: stage4_build
-+
-+unstage1 unstage2 unstage3 unstage4 unstageprofile unstagefeedback:
-+ -set -vx; stage=`echo $@ | sed -e 's/un//'`; \
-+ rm -f $$stage/as$(exeext); \
-+ rm -f $$stage/ld$(exeext); \
-+ rm -f $$stage/collect-ld$(exeext); \
-+ if test -d $$stage; then \
-+ mv $$stage/specs $(SPECS) 2>/dev/null || :; \
-+ mv $$stage/* . 2>/dev/null; \
-+ for i in `cd $$stage; echo *` ; do \
-+ if test -d $$stage/$$i; then \
-+ mv $$stage/$$i/* $$i/. 2>/dev/null; \
-+ else \
-+ mv $$stage/$$i .; \
-+ fi; \
-+ done \
-+ fi ; \
-+ rm -f $${stage}_build $${stage}_copy ;\
-+ echo $${stage}_build > stage_last
-+
-+restage1: unstage1
-+ $(MAKE) $(REMAKEFLAGS) stage1_build
-+
-+restage2: unstage2
-+ $(MAKE) $(REMAKEFLAGS) stage2_build
-+
-+restage3: unstage3
-+ $(MAKE) $(REMAKEFLAGS) stage3_build
-+
-+restage4: unstage4
-+ $(MAKE) $(REMAKEFLAGS) stage4_build
-+
-+restageprofile: unstageprofile
-+ $(MAKE) $(REMAKEFLAGS) stageprofile_build
-+
-+restagefeedback: unstagefeedback
-+ $(MAKE) $(REMAKEFLAGS) stagefeedback_build
-+
-+# Bubble up a bugfix through all the stages. Primarily useful for fixing
-+# bugs that cause the compiler to crash while building stage 2.
-+bubblestrap:
-+ if test -f stage_last; then \
-+ LAST=`sed -e 's/_build//' < stage_last`; \
-+ if test "$$LAST" != "stage1"; then \
-+ $(MAKE) $(REMAKEFLAGS) $$LAST; \
-+ $(STAMP) $${LAST}_copy; \
-+ fi; \
-+ fi
-+ if test -f stage1_copy; then $(MAKE) unstage1; fi
-+ $(MAKE) $(REMAKEFLAGS) stage1_copy
-+ if test -f stage2_copy; then $(MAKE) unstage2; fi
-+ $(MAKE) $(REMAKEFLAGS) stage2_copy
-+ if test -f stage3_copy; then $(MAKE) unstage3; fi
-+ $(MAKE) $(REMAKEFLAGS) stage3_build
-+ if test -f stage4_copy; then \
-+ $(MAKE) $(REMAKEFLAGS) stage3_copy; $(MAKE) unstage4; \
-+ $(MAKE) $(REMAKEFLAGS) stage4_build || exit 1; \
-+ fi
-+
-+quickstrap:
-+ if test -f stage_last ; then \
-+ LAST=`cat stage_last`; rm $$LAST; $(MAKE) $(REMAKEFLAGS) $$LAST; \
-+ else \
-+ $(MAKE) $(REMAKEFLAGS) stage1_build; \
-+ fi
-+
-+cleanstrap:
-+ -$(MAKE) clean
-+ $(MAKE) $(REMAKEFLAGS) bootstrap
-+
-+unstrap:
-+ -rm -rf stage[234]*
-+ $(MAKE) unstage1
-+ -rm -f stage_last
-+
-+# Differs from cleanstrap in that it starts from the earlier stage1 build,
-+# not from scratch.
-+restrap:
-+ $(MAKE) unstrap
-+ $(MAKE) $(REMAKEFLAGS) bootstrap
-+
-+# These targets compare the object files in the current directory with
-+# those in a stage directory. We need to skip the first N bytes of
-+# each object file. The "slow" mechanism assumes nothing special
-+# about cmp and uses the tail command to skip. ./ avoids a bug in
-+# some versions of tail. The "gnu" targets use gnu cmp (diffutils
-+# v2.4 or later), to avoid running tail and the overhead of twice
-+# copying each object file. Likewise, the "fast" targets use the skip
-+# parameter of cmp available on some systems to accomplish the same
-+# thing. An exit status of 1 is precisely the result we're looking
-+# for (other values mean other problems).
-+slowcompare slowcompare3 slowcompare4 slowcompare-lean slowcompare3-lean slowcompare4-lean \
-+fastcompare fastcompare3 fastcompare4 fastcompare-lean fastcompare3-lean fastcompare4-lean \
-+ gnucompare gnucompare3 gnucompare4 gnucompare-lean gnucompare3-lean gnucompare4-lean: force
-+ -rm -f .bad_compare
-+ case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
-+ for dir in . $(SUBDIRS); do \
-+ if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
-+ for file in $$dir/*$(objext); do \
-+ case "$@" in \
-+ slowcompare* ) \
-+ tail +16c ./$$file > tmp-foo1; \
-+ tail +16c stage$$stage/$$file > tmp-foo2 \
-+ && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
-+ ;; \
-+ fastcompare* ) \
-+ cmp $$file stage$$stage/$$file 16 16 > /dev/null 2>&1; \
-+ test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
-+ ;; \
-+ gnucompare* ) \
-+ cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1; \
-+ test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
-+ ;; \
-+ esac ; \
-+ done; \
-+ else true; fi; \
-+ done
-+ -rm -f tmp-foo*
-+ case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
-+ if [ -f .bad_compare ]; then \
-+ echo "Bootstrap comparison failure!"; \
-+ cat .bad_compare; \
-+ exit 1; \
-+ else \
-+ case "$@" in \
-+ *-lean ) rm -rf stage$$stage ;; \
-+ *) ;; \
-+ esac; true; \
-+ fi
-+
-+# Forwarding wrappers to the most appropriate version.
-+compare: @make_compare_target@
-+compare3: @make_compare_target@3
-+compare4: @make_compare_target@4
-+compare-lean: @make_compare_target@-lean
-+compare3-lean: @make_compare_target@3-lean
-+compare4-lean: @make_compare_target@4-lean
-+
-+# Copy the object files from a particular stage into a subdirectory.
-+stage1-start:
-+ -if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
-+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stage1
-+ -subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
-+ do \
-+ if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi ; \
-+ done
-+# If SPECS is overridden, make sure it is `installed' as specs.
-+ -mv $(SPECS) stage1/specs
-+ -mv $(STAGESTUFF) stage1
-+# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
-+# dir will work properly.
-+ -if [ -f as$(exeext) ] ; then (cd stage1 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-+ -if [ -f ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-+ -if [ -f collect-ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-+ -rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a
-+ -rm -f stage1/libgcc_s*$(SHLIB_EXT)
-+ -rm -f stage1/libunwind.a stage1/libunwind*$(SHLIB_EXT)
-+ -cp libgcc.a stage1
-+ -$(RANLIB_FOR_TARGET) stage1/libgcc.a
-+ -cp libgcov.a stage1
-+ -$(RANLIB_FOR_TARGET) stage1/libgcov.a
-+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage1; \
-+ $(RANLIB_FOR_TARGET) stage1/libgcc_eh.a; \
-+ fi
-+ -cp libgcc_s*$(SHLIB_EXT) stage1
-+ -cp libunwind.a libunwind*$(SHLIB_EXT) stage1
-+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
-+ cp stage1/$${f} . ; \
-+ else true; \
-+ fi; done
-+stage1: force stage1-start lang.stage1
-+ -for dir in . $(SUBDIRS) ; \
-+ do \
-+ rm -f $$dir/*$(coverageexts) ; \
-+ done
-+
-+stage2-start:
-+ -if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
-+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stage2
-+ -subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
-+ do \
-+ if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi ; \
-+ done
-+# If SPECS is overridden, make sure it is `installed' as specs.
-+ -mv $(SPECS) stage2/specs
-+ -mv $(STAGESTUFF) stage2
-+# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
-+# dir will work properly.
-+ -if [ -f as$(exeext) ] ; then (cd stage2 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-+ -if [ -f ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-+ -if [ -f collect-ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-+ -rm -f stage2/libgcc.a stage2/libgcov.a stage2/libgcc_eh.a
-+ -rm -f stage2/libgcc_s*$(SHLIB_EXT)
-+ -rm -f stage2/libunwind.a stage2/libunwind*$(SHLIB_EXT)
-+ -cp libgcc.a stage2
-+ -$(RANLIB_FOR_TARGET) stage2/libgcc.a
-+ -cp libgcov.a stage2
-+ -$(RANLIB_FOR_TARGET) stage2/libgcov.a
-+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage2; \
-+ $(RANLIB_FOR_TARGET) stage2/libgcc_eh.a; \
-+ fi
-+ -cp libgcc_s*$(SHLIB_EXT) stage2
-+ -cp libunwind.a libunwind*$(SHLIB_EXT) stage2
-+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
-+ cp stage2/$${f} . ; \
-+ else true; \
-+ fi; done
-+stage2: force stage2-start lang.stage2
-+
-+stage3-start:
-+ -if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
-+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stage3
-+ -subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
-+ do \
-+ if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi ; \
-+ done
-+# If SPECS is overridden, make sure it is `installed' as specs.
-+ -mv $(SPECS) stage3/specs
-+ -mv $(STAGESTUFF) stage3
-+# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
-+# dir will work properly.
-+ -if [ -f as$(exeext) ] ; then (cd stage3 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-+ -if [ -f ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-+ -if [ -f collect-ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-+ -rm -f stage3/libgcc.a stage3/libgcov.a stage3/libgcc_eh.a
-+ -rm -f stage3/libgcc_s*$(SHLIB_EXT)
-+ -rm -f stage3/libunwind.a stage3/libunwind*$(SHLIB_EXT)
-+ -cp libgcc.a stage3
-+ -$(RANLIB_FOR_TARGET) stage3/libgcc.a
-+ -cp libgcov.a stage3
-+ -$(RANLIB_FOR_TARGET) stage3/libgcov.a
-+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage3; \
-+ $(RANLIB_FOR_TARGET) stage3/libgcc_eh.a; \
-+ fi
-+ -cp libgcc_s*$(SHLIB_EXT) stage3
-+ -cp libunwind.a libunwind*$(SHLIB_EXT) stage3
-+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
-+ cp stage3/$${f} . ; \
-+ else true; \
-+ fi; done
-+stage3: force stage3-start lang.stage3
-+
-+stage4-start:
-+ -if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
-+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stage4
-+ -subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
-+ do \
-+ if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi ; \
-+ done
-+# If SPECS is overridden, make sure it is `installed' as specs.
-+ -mv $(SPECS) stage4/specs
-+ -mv $(STAGESTUFF) stage4
-+# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
-+# dir will work properly.
-+ -if [ -f as$(exeext) ] ; then (cd stage4 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-+ -if [ -f ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-+ -if [ -f collect-ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-+ -rm -f stage4/libgcc.a stage4/libgcov.a stage4/libgcc_eh.a
-+ -rm -f stage4/libgcc_s*$(SHLIB_EXT)
-+ -rm -f stage4/libunwind.a stage4/libunwind*$(SHLIB_EXT)
-+ -cp libgcc.a stage4
-+ -$(RANLIB_FOR_TARGET) stage4/libgcc.a
-+ -cp libgcov.a stage4
-+ -$(RANLIB_FOR_TARGET) stage4/libgcov.a
-+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage4; \
-+ $(RANLIB_FOR_TARGET) stage4/libgcc_eh.a; \
-+ fi
-+ -cp libgcc_s*$(SHLIB_EXT) stage4
-+ -cp libunwind.a libunwind*$(SHLIB_EXT) stage4
-+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
-+ cp stage4/$${f} . ; \
-+ else true; \
-+ fi; done
-+stage4: force stage4-start lang.stage4
-+
-+stageprofile-start:
-+ -if [ -d stageprofile ] ; then true ; else mkdir stageprofile ; fi
-+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stageprofile
-+ -subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
-+ do \
-+ if [ -d stageprofile/$$dir ] ; then true ; else mkdir stageprofile/$$dir ; fi ; \
-+ done
-+ -mv $(STAGESTUFF) stageprofile
-+# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
-+# dir will work properly.
-+ -if [ -f as$(exeext) ] ; then (cd stageprofile && $(LN_S) ../as$(exeext) .) ; else true ; fi
-+ -if [ -f ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-+ -if [ -f collect-ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-+ -rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a
-+ -rm -f stageprofile/libgcc_s*$(SHLIB_EXT)
-+ -rm -f stageprofile/libunwind.a stageprofile/libunwind*$(SHLIB_EXT)
-+ -cp libgcc.a stageprofile
-+ -$(RANLIB_FOR_TARGET) stageprofile/libgcc.a
-+ -cp libgcov.a stageprofile
-+ -$(RANLIB_FOR_TARGET) stageprofile/libgcov.a
-+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stageprofile; \
-+ $(RANLIB_FOR_TARGET) stageprofile/libgcc_eh.a; \
-+ fi
-+ -cp libgcc_s*$(SHLIB_EXT) stageprofile
-+ -cp libunwind.a libunwind*$(SHLIB_EXT) stageprofile
-+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
-+ cp stageprofile/$${f} . ; \
-+ else true; \
-+ fi; done
-+stageprofile: force stageprofile-start lang.stageprofile
-+
-+stagefeedback-start:
-+ -if [ -d stagefeedback ] ; then true ; else mkdir stagefeedback ; fi
-+ $(MAKE) -f libgcc.mk libgcc-stage-start stage=stagefeedback
-+ -subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
-+ do \
-+ if [ -d stagefeedback/$$dir ] ; then true ; else mkdir stagefeedback/$$dir ; fi ; \
-+ done
-+ -mv $(STAGESTUFF) stagefeedback
-+# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
-+# dir will work properly.
-+ -if [ -f as$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../as$(exeext) .) ; else true ; fi
-+ -if [ -f ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-+ -if [ -f collect-ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-+ -rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a
-+ -rm -f stagefeedback/libgcc_s*$(SHLIB_EXT)
-+ -rm -f stagefeedback/libunwind.a stagefeedback/libunwind*$(SHLIB_EXT)
-+ -rm -f *.da
-+ -for dir in fixinc po testsuite $(SUBDIRS); \
-+ do \
-+ rm -f $$dir/*.da ; \
-+ done
-+ -cp libgcc.a stagefeedback
-+ -$(RANLIB_FOR_TARGET) stagefeedback/libgcc.a
-+ -cp libgcov.a stagefeedback
-+ -$(RANLIB_FOR_TARGET) stagefeedback/libgcov.a
-+ -if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stagefeedback; \
-+ $(RANLIB_FOR_TARGET) stagefeedback/libgcc_eh.a; \
-+ fi
-+ -cp libgcc_s*$(SHLIB_EXT) stagefeedback
-+ -cp libunwind.a libunwind*$(SHLIB_EXT) stagefeedback
-+ -for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
-+ cp stagefeedback/$${f} . ; \
-+ else true; \
-+ fi; done
-+stagefeedback: force stagefeedback-start lang.stagefeedback
-+
-+# Copy just the executable files from a particular stage into a subdirectory,
-+# and delete the object files. Use this if you're just verifying a version
-+# that is pretty sure to work, and you are short of disk space.
-+risky-stage1: stage1
-+ -$(MAKE) clean
-+
-+risky-stage2: stage2
-+ -$(MAKE) clean
-+
-+risky-stage3: stage3
-+ -$(MAKE) clean
-+
-+risky-stage4: stage4
-+ -$(MAKE) clean
-+
-+#In GNU Make, ignore whether `stage*' exists.
-+.PHONY: stage1 stage2 stage3 stage4 clean maintainer-clean TAGS bootstrap
-+.PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
-+.PHONY: stagefeedback stageprofile
-+
-+# -----------------------------------------------------
-+# Rules for generating translated message descriptions.
-+# Disabled by autoconf if the tools are not available.
-+# -----------------------------------------------------
-+
-+XGETTEXT = @XGETTEXT@
-+GMSGFMT = @GMSGFMT@
-+MSGMERGE = msgmerge
-+
-+PACKAGE = @PACKAGE@
-+CATALOGS = @CATALOGS@
-+
-+.PHONY: build- install- build-po install-po update-po
-+
-+# Dummy rules to deal with dependencies produced by use of
-+# "build-@POSUB@" and "install-@POSUB@" above, when NLS is disabled.
-+build-: ; @true
-+install-: ; @true
-+
-+build-po: $(CATALOGS)
-+
-+# This notation should be acceptable to all Make implementations used
-+# by people who are interested in updating .po files.
-+update-po: $(CATALOGS:.gmo=.pox)
-+
-+# N.B. We do not attempt to copy these into $(srcdir). The snapshot
-+# script does that.
-+.po.gmo:
-+ -test -d po || mkdir po
-+ $(GMSGFMT) --statistics -o $@ $<
-+
-+# The new .po has to be gone over by hand, so we deposit it into
-+# build/po with a different extension.
-+# If build/po/$(PACKAGE).pot exists, use it (it was just created),
-+# else use the one in srcdir.
-+.po.pox:
-+ -test -d po || mkdir po
-+ $(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \
-+ then echo po/$(PACKAGE).pot; \
-+ else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@
-+
-+# This rule has to look for .gmo modules in both srcdir and
-+# the cwd, and has to check that we actually have a catalog
-+# for each language, in case they weren't built or included
-+# with the distribution.
-+install-po:
-+ $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$(datadir)
-+ cats="$(CATALOGS)"; for cat in $$cats; do \
-+ lang=`basename $$cat | sed 's/\.gmo$$//'`; \
-+ if [ -f $$cat ]; then :; \
-+ elif [ -f $(srcdir)/$$cat ]; then cat=$(srcdir)/$$cat; \
-+ else continue; \
-+ fi; \
-+ dir=$(localedir)/$$lang/LC_MESSAGES; \
-+ echo $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$$dir; \
-+ $(SHELL) $(srcdir)/mkinstalldirs $(DESTDIR)$$dir || exit 1; \
-+ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
-+ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
-+ done
-+
-+# Rule for regenerating the message template (gcc.pot).
-+# Instead of forcing everyone to edit POTFILES.in, which proved impractical,
-+# this rule has no dependencies and always regenerates gcc.pot. This is
-+# relatively harmless since the .po files do not directly depend on it.
-+# Note that exgettext has an awk script embedded in it which requires a
-+# fairly modern (POSIX-compliant) awk.
-+# The .pot file is left in the build directory.
-+$(PACKAGE).pot: po/$(PACKAGE).pot
-+po/$(PACKAGE).pot: force options.c
-+ -test -d po || mkdir po
-+ $(MAKE) srcextra
-+ AWK=$(AWK) $(SHELL) $(srcdir)/po/exgettext \
-+ $(XGETTEXT) $(PACKAGE) $(srcdir)