diff -Nbaur gcc-3.4.4/config.sub gcc-3.4.4-new/config.sub --- gcc-3.4.4/config.sub Sun Feb 22 14:44:23 2004 +++ gcc-3.4.4-new/config.sub Wed Jul 6 01:52:28 2005 @@ -219,6 +219,10 @@ basic_machine=m68k-atari os=-mint ;; + -gekko) + basic_machine=powerpc-eabi + os=-elf + ;; esac # Decode aliases for certain CPU-COMPANY combinations. @@ -253,6 +257,7 @@ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ + | mipsallegrex | mipsallegrexel \ | mn10200 | mn10300 \ | msp430 \ | ns16k | ns32k \ @@ -326,6 +331,7 @@ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ + | mipsallegrex-* | mipsallegrexel-* \ | msp430-* \ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ @@ -648,6 +654,10 @@ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint + ;; + psp) + basic_machine=mipsallegrexel-psp + os=-elf ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` diff -Nbaur gcc-3.4.4/gcc/Makefile.in gcc-3.4.4-new/gcc/Makefile.in --- gcc-3.4.4/gcc/Makefile.in Thu Feb 24 09:26:57 2005 +++ gcc-3.4.4-new/gcc/Makefile.in Wed Jul 6 01:50:35 2005 @@ -138,7 +138,7 @@ # TCFLAGS is used for compilations with the GCC just built. XCFLAGS = TCFLAGS = -CFLAGS = -g +CFLAGS = -g0 STAGE1_CFLAGS = -g @stage1_cflags@ BOOT_CFLAGS = -g -O2 @@ -441,6 +441,7 @@ gcc_gxx_include_dir = @gcc_gxx_include_dir@ # Directory to search for site-specific includes. local_includedir = $(local_prefix)/include +# local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include includedir = $(prefix)/include # where the info files go infodir = @infodir@ diff -Nbaur gcc-3.4.4/gcc/c-format.c gcc-3.4.4-new/gcc/c-format.c --- gcc-3.4.4/gcc/c-format.c Sun May 1 11:38:56 2005 +++ gcc-3.4.4-new/gcc/c-format.c Wed Jul 6 01:50:35 2005 @@ -31,6 +31,7 @@ #include "diagnostic.h" #include "langhooks.h" + /* Set format warning options according to a -Wformat=n option. */ void @@ -509,6 +510,9 @@ { "h", FMT_LEN_h, STD_C89, "hh", FMT_LEN_hh, STD_C99 }, { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C9L }, { "q", FMT_LEN_ll, STD_EXT, NULL, 0, 0 }, +#ifdef __MINGW32__ + { "I64", FMT_LEN_ll, STD_EXT, NULL, 0, 0 }, +#endif { "L", FMT_LEN_L, STD_C89, NULL, 0, 0 }, { "z", FMT_LEN_z, STD_C99, NULL, 0, 0 }, { "Z", FMT_LEN_z, STD_EXT, NULL, 0, 0 }, @@ -543,6 +547,9 @@ { "h", FMT_LEN_h, STD_C89, "hh", FMT_LEN_hh, STD_C99 }, { "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C9L }, { "q", FMT_LEN_ll, STD_EXT, NULL, 0, 0 }, +#ifdef __MINGW32__ + { "I64", FMT_LEN_ll, STD_EXT, NULL, 0, 0 }, +#endif { "L", FMT_LEN_L, STD_C89, NULL, 0, 0 }, { "z", FMT_LEN_z, STD_C99, NULL, 0, 0 }, { "t", FMT_LEN_t, STD_C99, NULL, 0, 0 }, @@ -568,7 +575,9 @@ { '0', 0, 0, N_("`0' flag"), N_("the `0' printf flag"), STD_C89 }, { '-', 0, 0, N_("`-' flag"), N_("the `-' printf flag"), STD_C89 }, { '\'', 0, 0, N_("`'' flag"), N_("the `'' printf flag"), STD_EXT }, +#ifndef __MINGW32__ { 'I', 0, 0, N_("`I' flag"), N_("the `I' printf flag"), STD_EXT }, +#endif { 'w', 0, 0, N_("field width"), N_("field width in printf format"), STD_C89 }, { 'p', 0, 0, N_("precision"), N_("precision in printf format"), STD_C89 }, { 'L', 0, 0, N_("length modifier"), N_("length modifier in printf format"), STD_C89 }, @@ -638,7 +647,9 @@ { 'w', 0, 0, N_("field width"), N_("field width in scanf format"), STD_C89 }, { 'L', 0, 0, N_("length modifier"), N_("length modifier in scanf format"), STD_C89 }, { '\'', 0, 0, N_("`'' flag"), N_("the `'' scanf flag"), STD_EXT }, +#ifndef __MINGW32__ { 'I', 0, 0, N_("`I' flag"), N_("the `I' scanf flag"), STD_EXT }, +#endif { 0, 0, 0, NULL, NULL, 0 } }; @@ -917,11 +928,18 @@ { NULL, 0, 0, NOLENGTHS, NULL, NULL } }; +#ifdef __MINGW32__ +#define PRINTF_FLAG_CHARS " +#0-'" +#define SCANF_FLAG_CHARS "*'" +#else +#define PRINTF_FLAG_CHARS " +#0-'I" +#define SCANF_FLAG_CHARS "*'I" +#endif /* This must be in the same order as enum format_type. */ static const format_kind_info format_types_orig[] = { - { "printf", printf_length_specs, print_char_table, " +#0-'I", NULL, + { "printf", printf_length_specs, print_char_table, PRINTF_FLAG_CHARS, NULL, printf_flag_specs, printf_flag_pairs, FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK, 'w', 0, 'p', 0, 'L', @@ -951,7 +969,7 @@ 0, 0, 'p', 0, 'L', NULL, &integer_type_node }, - { "scanf", scanf_length_specs, scan_char_table, "*'I", NULL, + { "scanf", scanf_length_specs, scan_char_table, SCANF_FLAG_CHARS, NULL, scanf_flag_specs, scanf_flag_pairs, FMT_FLAG_ARG_CONVERT|FMT_FLAG_SCANF_A_KLUDGE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_ZERO_WIDTH_BAD|FMT_FLAG_DOLLAR_GAP_POINTER_OK, 'w', 0, 0, '*', 'L', @@ -1929,7 +1947,13 @@ { while (fli->name != 0 && fli->name[0] != *format_chars) fli++; - if (fli->name != 0) + if (fli->name != 0 +#ifdef __MINGW32__ + /* Only accept "I64", not 'I' by itself. */ + && (format_chars[0] != 'I' + || (format_chars[1] == '6' && format_chars[2] == '4')) +#endif + ) { format_chars++; if (fli->double_name != 0 && fli->name[0] == *format_chars) @@ -1941,6 +1965,10 @@ } else { +#ifdef __MINGW32__ + if (fli->name[0] == 'I') + format_chars += 2; +#endif length_chars = fli->name; length_chars_val = fli->index; length_chars_std = fli->std; diff -Nbaur gcc-3.4.4/gcc/collect2.c gcc-3.4.4-new/gcc/collect2.c --- gcc-3.4.4/gcc/collect2.c Mon Jan 10 15:25:23 2005 +++ gcc-3.4.4-new/gcc/collect2.c Wed Jul 6 01:50:36 2005 @@ -30,24 +30,13 @@ #include "system.h" #include "coretypes.h" #include "tm.h" +#include "pex-read.h" + #include #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 -#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 @@ -67,7 +56,6 @@ 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 @@ -140,7 +128,7 @@ fprintf ((STREAM), "void _GLOBAL__DD() {\n\t%s();\n}\n", (FUNC)) #endif -#if defined (LDD_SUFFIX) || SUNOS4_SHARED_LIBRARIES +#ifdef LDD_SUFFIX #define SCAN_LIBRARIES #endif @@ -255,7 +243,9 @@ 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 int collect_status (const char *, int status); static void do_wait (const char *); +static void do_read_wait (const char *, FILE *); static void fork_execute (const char *, char **); static void maybe_unlink (const char *); static void add_to_list (struct head *, const char *); @@ -424,7 +414,11 @@ #endif signal (signo, SIG_DFL); +#if HAVE_KILL kill (getpid (), signo); +#else + raise (signo); +#endif } @@ -1458,14 +1452,11 @@ } -/* Wait for a process to finish, and exit if a nonzero status is found. */ +/* Handle error status returned by a finished process. */ -int -collect_wait (const char *prog) +static int +collect_status (const char *prog, int status) { - int status; - - pwait (pid, &status, 0); if (status) { if (WIFSIGNALED (status)) @@ -1483,6 +1474,17 @@ 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); + return collect_status (prog, status); +} + static void do_wait (const char *prog) { @@ -1494,6 +1496,19 @@ } } +static void +do_read_wait (const char *prog, FILE *inf) +{ + int status; + + pex_read_close (pid, inf, &status, 0); + status = collect_status (prog, status); + if (status != 0) + { + error ("%s returned %d exit status", prog, status); + collect_exit (status); + } +} /* Execute a program, and wait for the reply. */ @@ -1534,7 +1549,7 @@ if (redir) { /* Open response file. */ - redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT); + redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IWUSR); /* Duplicate the stdout and stderr file handles so they can be restored later. */ @@ -1997,9 +2012,10 @@ 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; + char *errmsg_fmt; + char *errmsg_arg; if (which_pass == PASS_SECOND) return; @@ -2015,13 +2031,6 @@ 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) { @@ -2037,36 +2046,16 @@ 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); - } + inf = pex_read (nm_file_name, real_nm_argv, nm_file_name, NULL, + &errmsg_fmt, &errmsg_arg, 0, &pid); + if (inf == (FILE *) 0) + fatal_perror (errmsg_fmt, errmsg_arg); - /* 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"); @@ -2139,10 +2128,7 @@ if (debug) fprintf (stderr, "\n"); - if (fclose (inf) != 0) - fatal_perror ("fclose"); - - do_wait (nm_file_name); + do_read_wait (nm_file_name, inf); signal (SIGINT, int_handler); #ifdef SIGQUIT @@ -2150,269 +2136,6 @@ #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 -#include -#include -#include -#include -#include -#include - -/* 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 @@ -2429,9 +2152,10 @@ 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; + char *errmsg_fmt; + char *errmsg_arg; /* If we do not have an `ldd', complain. */ if (ldd_file_name == 0) @@ -2466,26 +2190,10 @@ 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); - } + inf = pex_read (ldd_file_name, real_ldd_argv, ldd_file_name, NULL, + &errmsg_fmt, &errmsg_arg, 0, &pid); + if (inf == (FILE *) 0) + fatal_perror (errmsg_fmt, errmsg_arg); /* Parent context from here on. */ int_handler = (void (*) (int)) signal (SIGINT, SIG_IGN); @@ -2493,9 +2201,6 @@ 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"); @@ -2532,10 +2237,7 @@ if (debug) fprintf (stderr, "\n"); - if (fclose (inf) != 0) - fatal_perror ("fclose"); - - do_wait (ldd_file_name); + do_read_wait (ldd_file_name, inf); signal (SIGINT, int_handler); #ifdef SIGQUIT @@ -2549,7 +2251,6 @@ } #endif /* LDD_SUFFIX */ -#endif /* SUNOS4_SHARED_LIBRARIES */ #endif /* OBJECT_FORMAT_NONE */ diff -Nbaur gcc-3.4.4/gcc/config/arm/arm.md gcc-3.4.4-new/gcc/config/arm/arm.md --- gcc-3.4.4/gcc/config/arm/arm.md Tue Jan 25 12:50:34 2005 +++ gcc-3.4.4-new/gcc/config/arm/arm.md Wed Jul 6 01:50:36 2005 @@ -7205,6 +7205,12 @@ { if (TARGET_CALLER_INTERWORKING) return \"bl\\t%__interwork_call_via_%0\"; + else if (arm_arch5) + return \"blx\\t%0\"; + else if (TARGET_LONG_CALLS) + /* For long calls the __call_via functions might not be near + this branch, so we have to synthesise their actions. */ + return \"bl\\t0f\\n\\tb\\t1f\\n0:\\tbx\\t%0\\n1:\"; else return \"bl\\t%__call_via_%0\"; }" @@ -7222,6 +7228,12 @@ { if (TARGET_CALLER_INTERWORKING) return \"bl\\t%__interwork_call_via_%1\"; + else if (arm_arch5) + return \"blx\\t%1\"; + else if (TARGET_LONG_CALLS) + /* For long calls the __call_via functions might not be near + this branch, so we have to synthesise their actions. */ + return \"bl\\t0f\\n\\tb\\t1f\\n0:\\tbx\\t%1\\n1:\"; else return \"bl\\t%__call_via_%1\"; }" diff -Nbaur gcc-3.4.4/gcc/config/arm/t-arm-elf gcc-3.4.4-new/gcc/config/arm/t-arm-elf --- gcc-3.4.4/gcc/config/arm/t-arm-elf Tue Sep 30 11:21:41 2003 +++ gcc-3.4.4-new/gcc/config/arm/t-arm-elf Wed Jul 6 02:17:23 2005 @@ -26,16 +26,16 @@ # MULTILIB_DIRNAMES += 32bit 26bit # MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26* # -# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork -# MULTILIB_DIRNAMES += normal interwork -# MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork* +MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork +MULTILIB_DIRNAMES += normal interwork +MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork* # # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore # MULTILIB_DIRNAMES += elf under # -# MULTILIB_OPTIONS += mcpu=arm7 -# MULTILIB_DIRNAMES += nofmult -# MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7* +#MULTILIB_OPTIONS += mcpu=arm7 +#MULTILIB_DIRNAMES += nofmult +#MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7* # # Note: the multilib_exceptions matches both -mthumb and # # -mthumb-interwork # # @@ -44,21 +44,21 @@ # # -mcpu=arm7. Note that in the following the ? is interpreted as # # an = for the purposes of matching command line options. # # FIXME: There ought to be a better way to do this. -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610 -# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7d +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7di +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm70 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm700i +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm710c +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7100 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm7500fe +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm6 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm60 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610 +MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o diff -Nbaur gcc-3.4.4/gcc/config/i386/cygming.h gcc-3.4.4-new/gcc/config/i386/cygming.h --- gcc-3.4.4/gcc/config/i386/cygming.h Tue Jun 8 07:30:13 2004 +++ gcc-3.4.4-new/gcc/config/i386/cygming.h Wed Jul 6 01:50:36 2005 @@ -251,7 +251,7 @@ unit may not be bound to undefined symbols in another translation unit without user intervention. For instance, under Microsoft Windows symbols must be explicitly imported from shared libraries (DLLs). */ -#define MULTIPLE_SYMBOL_SPACES +#define MULTIPLE_SYMBOL_SPACES 1 extern void i386_pe_unique_section (TREE, int); #define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section @@ -308,7 +308,7 @@ /* DWARF2 Unwinding doesn't work with exception handling yet. To make it work, we need to build a libgcc_s.dll, and dcrt0.o should be changed to call __register_frame_info/__deregister_frame_info. */ -#define DWARF2_UNWIND_INFO 0 +#define DWARF2_UNWIND_INFO 1 /* Don't assume anything about the header files. */ #define NO_IMPLICIT_EXTERN_C diff -Nbaur gcc-3.4.4/gcc/config/i386/i386.c gcc-3.4.4-new/gcc/config/i386/i386.c --- gcc-3.4.4/gcc/config/i386/i386.c Wed Mar 16 15:23:40 2005 +++ gcc-3.4.4-new/gcc/config/i386/i386.c Wed Jul 6 01:50:36 2005 @@ -5284,7 +5284,7 @@ GEN_INT (-allocate), -1); else { - /* Only valid for Win32. */ + /* Only valid for Win32 */ rtx eax = gen_rtx_REG (SImode, 0); bool eax_live = ix86_eax_live_at_start_p (); diff -Nbaur gcc-3.4.4/gcc/config/i386/mingw32-1.c gcc-3.4.4-new/gcc/config/i386/mingw32-1.c --- gcc-3.4.4/gcc/config/i386/mingw32-1.c Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/gcc/config/i386/mingw32-1.c Wed Jul 6 01:50:36 2005 @@ -0,0 +1,41 @@ +/* This replaces the use of stat and struct stat.st_ino to determine if + files are different in gcc.c (do_spec_1) handling of --save-temps + switch. + Contributed by Danny Smith (dannysmith@users.sourceforge.net) + Copyright 2003 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. */ + +#include "config/i386/xm-mingw32.h" +#define WIN32_LEAN_AND_MEAN +#include + +/* Return non-zero if src and dst filenames do not refer to same files. */ + +int +w32_file_id_cmp (const char * src, const char * dst) +{ + char fullpath_src[MAX_PATH]; + char fullpath_dst[MAX_PATH]; + char* pfilename; + + /* Just compare full pathnames, without regard to case. */ + GetFullPathName (src, MAX_PATH, fullpath_src, &pfilename); + GetFullPathName (dst, MAX_PATH, fullpath_dst, &pfilename); + return (lstrcmpi (fullpath_src, fullpath_dst)); +} diff -Nbaur gcc-3.4.4/gcc/config/i386/mingw32.h gcc-3.4.4-new/gcc/config/i386/mingw32.h --- gcc-3.4.4/gcc/config/i386/mingw32.h Fri Sep 26 04:46:06 2003 +++ gcc-3.4.4-new/gcc/config/i386/mingw32.h Wed Jul 6 01:50:36 2005 @@ -67,7 +67,11 @@ #undef STARTFILE_SPEC #define STARTFILE_SPEC "%{shared|mdll:dllcrt2%O%s} \ - %{!shared:%{!mdll:crt2%O%s}} %{pg:gcrt2%O%s}" + %{!shared:%{!mdll:crt2%O%s}} %{pg:gcrt2%O%s} \ + %{!fno-exceptions:crtbegin%O%s}" + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC "%{!fno-exceptions:crtend%O%s}" /* An additional prefix to try after the standard prefixes. */ #undef MD_STARTFILE_PREFIX diff -Nbaur gcc-3.4.4/gcc/config/i386/t-cygming gcc-3.4.4-new/gcc/config/i386/t-cygming --- gcc-3.4.4/gcc/config/i386/t-cygming Tue Sep 23 19:55:59 2003 +++ gcc-3.4.4-new/gcc/config/i386/t-cygming Wed Jul 6 01:50:36 2005 @@ -10,6 +10,8 @@ # first. LIBGCC2_INCLUDES = -I$(srcdir)/../winsup/w32api/include +LIB2FUNCS_EXTRA = $(srcdir)/config/i386/w32-shared-ptr.c + winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \ $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H) diff -Nbaur gcc-3.4.4/gcc/config/i386/t-mingw32 gcc-3.4.4-new/gcc/config/i386/t-mingw32 --- gcc-3.4.4/gcc/config/i386/t-mingw32 Tue Jun 11 06:25:44 2002 +++ gcc-3.4.4-new/gcc/config/i386/t-mingw32 Wed Jul 6 01:50:36 2005 @@ -1,7 +1,8 @@ # # collect2 doesn't work for i386-mingw32* yet. # -USE_COLLECT2= +#USE_COLLECT2= # We hide calls to w32api needed for w32 thread support here: -LIB2FUNCS_EXTRA = $(srcdir)/config/i386/gthr-win32.c +LIB2FUNCS_EXTRA += $(srcdir)/config/i386/gthr-win32.c + diff -Nbaur gcc-3.4.4/gcc/config/i386/w32-shared-ptr.c gcc-3.4.4-new/gcc/config/i386/w32-shared-ptr.c --- gcc-3.4.4/gcc/config/i386/w32-shared-ptr.c Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/gcc/config/i386/w32-shared-ptr.c Wed Jul 6 01:50:36 2005 @@ -0,0 +1,244 @@ +/* + * w32-shared-ptr.c + * + * Share informations between EXE/DLLs without using an + * additional DLL. + * + * Contributors: + * Created by Adriano dos Santos Fernandes + * Enhanced by Thomas Pfaff + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAMED. This includes but is not limited to warrenties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifdef __MINGW32__ +#undef _CRTIMP +#define _CRTIMP +#endif + +#include +#include +#ifdef __CYGWIN__ +#include +#endif +#ifdef DEBUG +#include +#endif + +#include "tconfig.h" +#include "tsystem.h" +#include "gthr.h" + +#include "w32-shared-ptr.h" + +#if defined (__CYGWIN__) /* FIXME: This shouldn't be necessary. */ +typedef unsigned short ATOM; +ATOM __attribute__ ((stdcall)) AddAtomA(const char*); +ATOM __attribute__ ((stdcall)) FindAtomA(const char*); +unsigned int __attribute__ ((stdcall)) GetAtomNameA(ATOM,char*,int); +#else +#define WIN32_LEAN_AND_MEAN +#include +#endif + +W32_EH_SHARED * __w32_sharedptr; + +void ** __w32_sharedptr_terminate; +void ** __w32_sharedptr_unexpected; + + +#define W32_ATOM_SUFFIX "-LIBGCCW32-EH" + +#ifdef __USING_SJLJ_EXCEPTIONS__ +#define SJLJ_SUFFIX "-SJLJ" +#else +#define SJLJ_SUFFIX +#endif + +#if __GTHREADS +#define GTHR_SUFFIX "-GTHR" +#else +#define GTHR_SUFFIX +#endif + +#ifdef __CYGWIN__ +#define SYS_SUFFIX "-CYGWIN" +#else +#define SYS_SUFFIX "-MINGW32" +#endif + +static const char w32_atom_suffix[] = W32_ATOM_SUFFIX SJLJ_SUFFIX GTHR_SUFFIX SYS_SUFFIX; + +#define SHAREDPTR_BIT1 'A' +#define SHAREDPTR_BIT0 'a' + +#define SHAREDPTR_BITS (sizeof(W32_EH_SHARED*)*8) +#define SHARED_ATOM_NAME_LEN (SHAREDPTR_BITS + sizeof(w32_atom_suffix)) + +static ATOM __w32_sharedptr_set (W32_EH_SHARED *w32_sharedptr); +static W32_EH_SHARED * __w32_sharedptr_get (ATOM atom); +static void __w32_sharedptr_default_unexpected(void); + +#ifdef __CYGWIN__ +static void __w32_sharedptr_fixup_after_fork (void); +#endif + +static void __w32_sharedptr_default_unexpected(void) +{ + ((void(*)(void))__w32_sharedptr->terminate)(); +} + +static void __w32_eh_shared_initialize (W32_EH_SHARED *w32_sharedptr) +{ +#ifdef __GTHREAD_MUTEX_INIT + static __gthread_mutex_t dw2_object_mutex = __GTHREAD_MUTEX_INIT; +#else + static __gthread_mutex_t dw2_object_mutex; +#endif +#ifdef __GTHREAD_MUTEX_INIT_FUNCTION + static __gthread_once_t dw2_once = __GTHREAD_ONCE_INIT; +#endif + +#ifdef __USING_SJLJ_EXCEPTIONS__ +#if __GTHREADS + static __gthread_key_t sjl_fc_key; + static __gthread_once_t sjl_once = __GTHREAD_ONCE_INIT; +#endif +#endif + + memset (w32_sharedptr, 0, sizeof(W32_EH_SHARED)); + + w32_sharedptr->size = sizeof(W32_EH_SHARED); + + w32_sharedptr->terminate = (void*)abort; + w32_sharedptr->unexpected = (void*)__w32_sharedptr_default_unexpected; + + w32_sharedptr->dw2_object_mutex = dw2_object_mutex; +#ifdef __GTHREAD_MUTEX_INIT_FUNCTION + w32_sharedptr->dw2_once = dw2_once; +#endif + +#ifdef __USING_SJLJ_EXCEPTIONS__ + w32_sharedptr->sjlj_fc_static = NULL; +#if __GTHREADS + w32_sharedptr->sjlj_fc_key = sjl_fc_key; + w32_sharedptr->sjlj_use_fc_key = -1; + w32_sharedptr->sjlj_once = sjl_once; +#endif +#endif +} + +void __w32_sharedptr_initialize (void) +{ + W32_EH_SHARED *w32_sharedptr; + char s[SHARED_ATOM_NAME_LEN]; + ATOM atom; + + if (__w32_sharedptr) + return; + + memset (s, SHAREDPTR_BIT1, SHAREDPTR_BITS); + memcpy (&(s[SHAREDPTR_BITS]), w32_atom_suffix, sizeof(w32_atom_suffix)); + + atom = FindAtomA (s); + if (atom) + w32_sharedptr = __w32_sharedptr_get (atom); + else + { + w32_sharedptr = (W32_EH_SHARED *) malloc (sizeof(W32_EH_SHARED)); + if (!w32_sharedptr) + abort (); + + __w32_eh_shared_initialize (w32_sharedptr); + + if (__w32_sharedptr_set (w32_sharedptr)) + { +#ifdef __CYGWIN__ + /* recreate atom after fork */ + pthread_atfork (NULL,NULL,__w32_sharedptr_fixup_after_fork); +#endif + } + else + { + free (w32_sharedptr); + w32_sharedptr = __w32_sharedptr_get (FindAtomA (s)); + } + } + + __w32_sharedptr_terminate = &w32_sharedptr->terminate; + __w32_sharedptr_unexpected = &w32_sharedptr->unexpected; + + /* THIS MUST BE THE LAST STEP */ + __w32_sharedptr = w32_sharedptr; +} + +static ATOM __w32_sharedptr_set (W32_EH_SHARED *w32_sharedptr) +{ + int i; + int bit; + char s[SHARED_ATOM_NAME_LEN]; + ATOM atom; + + /* This should optimize out entirely by O2 */ + if (sizeof(bit) != sizeof(w32_sharedptr)) + abort (); + + for (i = SHAREDPTR_BITS - 1, bit = 1; i >= 0; --i, bit <<= 1) + s[i] = ((int)w32_sharedptr) & bit ? SHAREDPTR_BIT1 : + SHAREDPTR_BIT0; + + memcpy (&(s[SHAREDPTR_BITS]), w32_atom_suffix, sizeof(w32_atom_suffix)); + + atom = AddAtomA (s); + /* Sanity check to avoid race by concurrent initialization */ + if (!atom || __w32_sharedptr_get (atom) != w32_sharedptr) + return 0; + +#ifdef DEBUG + printf ("%s: set sharedptr: (%p):%s\n", + __FUNCTION__,w32_sharedptr, s); +#endif + + return atom; +} + +static W32_EH_SHARED *__w32_sharedptr_get (ATOM atom) +{ + W32_EH_SHARED *w32_sharedptr = NULL; + int i; + int bit; + char s[SHARED_ATOM_NAME_LEN]; + + /* If this fails something went wrong */ + if (!GetAtomNameA (atom, s, sizeof(s))) + abort (); + + for (i = SHAREDPTR_BITS - 1, bit = 1; i >= 0; --i, bit <<= 1) + (int)w32_sharedptr |= s[i] == SHAREDPTR_BIT1 ? bit : 0; + + if (w32_sharedptr->size != sizeof(W32_EH_SHARED)) + abort (); + +#ifdef DEBUG + printf ("%s: got sharedptr (%p): %s\n", + __FUNCTION__, w32_sharedptr, s); +#endif + return w32_sharedptr; +} + +#ifdef __CYGWIN__ +static void __w32_sharedptr_fixup_after_fork (void) +{ + if (!__w32_sharedptr_set (__w32_sharedptr)) + abort (); +} +#endif diff -Nbaur gcc-3.4.4/gcc/config/i386/w32-shared-ptr.h gcc-3.4.4-new/gcc/config/i386/w32-shared-ptr.h --- gcc-3.4.4/gcc/config/i386/w32-shared-ptr.h Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/gcc/config/i386/w32-shared-ptr.h Wed Jul 6 01:50:36 2005 @@ -0,0 +1,65 @@ +/* + * w32-shared-ptr.h + * + * Contributors: + * Created by Thomas Pfaff + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAMED. This includes but is not limited to warrenties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef GCC_W32_SHARED_PTR_H +#define GCC_W32_SHARED_PTR_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct +{ + int size; + + void *terminate; + void *unexpected; + + void *dw2_unseen_objects; + void *dw2_seen_objects; + __gthread_mutex_t dw2_object_mutex; +#ifdef __GTHREAD_MUTEX_INIT_FUNCTION + __gthread_once_t dw2_once; +#endif + const void *dw2_marker; + +#ifdef __USING_SJLJ_EXCEPTIONS__ + void* sjlj_fc_static; +#if __GTHREADS + __gthread_key_t sjlj_fc_key; + int sjlj_use_fc_key; + __gthread_once_t sjlj_once; +#endif +#endif + +} W32_EH_SHARED; + +extern W32_EH_SHARED *__w32_sharedptr; + +extern void ** __w32_sharedptr_terminate; +extern void ** __w32_sharedptr_unexpected; + +extern void __w32_sharedptr_initialize (void); + +#define W32_SHAREDPTR_INITIALIZE() if (!__w32_sharedptr) __w32_sharedptr_initialize () + +#ifdef __cplusplus +} +#endif + +#endif diff -Nbaur gcc-3.4.4/gcc/config/i386/winnt.c gcc-3.4.4-new/gcc/config/i386/winnt.c --- gcc-3.4.4/gcc/config/i386/winnt.c Tue Mar 23 23:18:31 2004 +++ gcc-3.4.4-new/gcc/config/i386/winnt.c Wed Jul 6 01:50:37 2005 @@ -262,7 +262,8 @@ } /* Don't allow definitions of static data members in dllimport class, - Just ignore attribute for vtable data. */ + If vtable data is marked as DECL_EXTERNAL, import it; otherwise just + ignore the attribute. */ else if (TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl) && TREE_PUBLIC (decl) && !DECL_EXTERNAL (decl) && context_imp) @@ -347,6 +348,13 @@ XEXP (DECL_RTL (decl), 0) = gen_rtx (SYMBOL_REF, Pmode, IDENTIFIER_POINTER (idp)); + +#if 0 + /* If we are keeping inline functions, make sure we export + the function definition even if not used. */ + if (flag_keep_inline_functions && TREE_CODE (decl) == FUNCTION_DECL) + mark_referenced (DECL_ASSEMBLER_NAME (decl)); +#endif } /* Mark a DECL as being dllimport'd. */ @@ -559,7 +567,7 @@ return str; } -/* Also strip the stdcall suffix. */ +/* Also strip the fastcall prefix and stdcall suffix. */ const char * i386_pe_strip_name_encoding_full (const char *str) @@ -567,6 +575,11 @@ const char *p; const char *name = i386_pe_strip_name_encoding (str); + /* Strip leading '@' on fastcall symbols. */ + if (*name == '@') + name++; + + /* Strip trailing '@n'. */ p = strchr (name, '@'); if (p) return ggc_alloc_string (name, p - name); @@ -598,9 +611,9 @@ } } else if ((name[0] == FASTCALL_PREFIX) - || (strncmp (name, DLL_EXPORT_PREFIX, strlen (DLL_EXPORT_PREFIX) + || (strncmp (name, DLL_EXPORT_PREFIX, strlen (DLL_EXPORT_PREFIX)) == 0 - && name[strlen (DLL_EXPORT_PREFIX)] == FASTCALL_PREFIX))) + && name[strlen (DLL_EXPORT_PREFIX)] == FASTCALL_PREFIX)) /* A fastcall symbol. */ { fprintf (stream, "%s", @@ -828,7 +841,7 @@ struct extern_list *p; ix86_file_end (); - + if (write_symbols != SDB_DEBUG) for (p = extern_head; p != NULL; p = p->next) { tree decl; diff -Nbaur gcc-3.4.4/gcc/config/i386/x-mingw32 gcc-3.4.4-new/gcc/config/i386/x-mingw32 --- gcc-3.4.4/gcc/config/i386/x-mingw32 Wed May 28 22:06:23 2003 +++ gcc-3.4.4-new/gcc/config/i386/x-mingw32 Wed Jul 6 01:50:37 2005 @@ -2,3 +2,26 @@ # Make local_includedir relative to EXEC_PREFIX # local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include +STMP_FIXINC= +# +# host runtime lib's printf uses 'I64' format specifier prefix instead +# of 'll' for HOST_WIDEST_INT_PRINT_*. See hwint.h. +# Avoid warnings while bootstrapping. +# +bt-load.o-warn = -Wno-format +cfg.o-warn = -Wno-format +gcov-dump.o-warn = -Wno-format +gcov.o-warn = -Wno-format +loop-unroll.o-warn = -Wno-format +predict.o-warn = -Wno-format +profile.o-warn = -Wno-format + +# +# For HOST_FILE_ID_CMP for mingw32. +# +EXTRA_GCC_OBJS = mingw32-1.o + +mingw32-1.o: $(srcdir)/config/i386/mingw32-1.c \ + $(srcdir)/config/i386/xm-mingw32.h + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/i386/mingw32-1.c diff -Nbaur gcc-3.4.4/gcc/config/i386/xm-mingw32.h gcc-3.4.4-new/gcc/config/i386/xm-mingw32.h --- gcc-3.4.4/gcc/config/i386/xm-mingw32.h Sat Jan 31 06:18:23 2004 +++ gcc-3.4.4-new/gcc/config/i386/xm-mingw32.h Wed Jul 6 01:50:37 2005 @@ -27,3 +27,18 @@ /* This is the name of the null device on windows. */ #define HOST_BIT_BUCKET "nul" + +/* Windows way to build quoted strings for COLLECT_GCC_OPTIONS + environment variable. */ +#define HOST_QUOTE_STR "\"" +#define HOST_QUOTE_CHAR '"' +#define HOST_QUOTED_QUOTE_STR "\"\\\"\"" + +/* Override the default of "ll" in hwint.t. */ +#define HOST_LL_PREFIX "I64" + +/* This replaces the use of stat to determine if files are different + in gcc.c (do_spec_1) handling of --save-temps switch. */ +extern int +w32_file_id_cmp (const char *, const char *); +#define HOST_FILE_ID_CMP(SRC,DST) w32_file_id_cmp (SRC, DST) diff -Nbaur gcc-3.4.4/gcc/config/mips/mips.c gcc-3.4.4-new/gcc/config/mips/mips.c --- gcc-3.4.4/gcc/config/mips/mips.c Sun May 8 13:06:23 2005 +++ gcc-3.4.4-new/gcc/config/mips/mips.c Wed Jul 6 01:50:54 2005 @@ -693,6 +693,7 @@ /* MIPS II */ { "r6000", PROCESSOR_R6000, 2 }, + { "allegrex", PROCESSOR_ALLEGREX, 2 }, /* MIPS III */ { "r4000", PROCESSOR_R4000, 3 }, diff -Nbaur gcc-3.4.4/gcc/config/mips/mips.h gcc-3.4.4-new/gcc/config/mips/mips.h --- gcc-3.4.4/gcc/config/mips/mips.h Thu Jul 15 01:42:47 2004 +++ gcc-3.4.4-new/gcc/config/mips/mips.h Wed Jul 6 01:53:59 2005 @@ -67,7 +67,8 @@ PROCESSOR_R8000, PROCESSOR_R9000, PROCESSOR_SB1, - PROCESSOR_SR71000 + PROCESSOR_SR71000, + PROCESSOR_ALLEGREX }; /* Which ABI to use. ABI_32 (original 32, or o32), ABI_N32 (n32), @@ -333,6 +334,7 @@ #define TARGET_MIPS9000 (mips_arch == PROCESSOR_R9000) #define TARGET_SB1 (mips_arch == PROCESSOR_SB1) #define TARGET_SR71K (mips_arch == PROCESSOR_SR71000) +#define TARGET_ALLEGREX (mips_arch == PROCESSOR_ALLEGREX) /* Scheduling target defines. */ #define TUNE_MIPS3000 (mips_tune == PROCESSOR_R3000) @@ -345,6 +347,7 @@ #define TUNE_MIPS7000 (mips_tune == PROCESSOR_R7000) #define TUNE_MIPS9000 (mips_tune == PROCESSOR_R9000) #define TUNE_SB1 (mips_tune == PROCESSOR_SB1) +#define TUNE_ALLEGREX (mips_tune == PROCESSOR_ALLEGREX) #define TUNE_SR71K (mips_tune == PROCESSOR_SR71000) #define TARGET_NEWABI (mips_abi == ABI_N32 || mips_abi == ABI_64) @@ -847,7 +850,8 @@ /* ISA has conditional trap instructions. */ #define ISA_HAS_COND_TRAP (!ISA_MIPS1 \ - && !TARGET_MIPS16) + && !TARGET_MIPS16 \ + && !TARGET_ALLEGREX) /* ISA has integer multiply-accumulate instructions, madd and msub. */ #define ISA_HAS_MADD_MSUB ((ISA_MIPS32 \ @@ -865,6 +869,7 @@ #define ISA_HAS_CLZ_CLO ((ISA_MIPS32 \ || ISA_MIPS32R2 \ || ISA_MIPS64 \ + || TARGET_ALLEGREX \ ) && !TARGET_MIPS16) /* ISA has double-word count leading zeroes/ones instruction (not @@ -906,6 +911,7 @@ || TARGET_MIPS5400 \ || TARGET_MIPS5500 \ || TARGET_SR71K \ + || TARGET_ALLEGREX \ )) /* ISA has 64-bit rotate right instruction. */ @@ -939,6 +945,7 @@ /* ISA includes the MIPS32r2 seb and seh instructions. */ #define ISA_HAS_SEB_SEH (!TARGET_MIPS16 \ && (ISA_MIPS32R2 \ + || TARGET_ALLEGREX \ )) /* True if the result of a load is not available to the next instruction. diff -Nbaur gcc-3.4.4/gcc/config/mips/psp.h gcc-3.4.4-new/gcc/config/mips/psp.h --- gcc-3.4.4/gcc/config/mips/psp.h Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/gcc/config/mips/psp.h Wed Jul 6 01:50:54 2005 @@ -0,0 +1,24 @@ +/* Support for Sony's Playstation Portable (PSP). + Copyright (C) 2005 Free Software Foundation, Inc. + Contributed by Marcus R. Brown + +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. */ + +/* Override the startfile spec to include crt0.o. */ +#undef STARTFILE_SPEC +#define STARTFILE_SPEC "crt0%O%s crti%O%s crtbegin%O%s" diff -Nbaur gcc-3.4.4/gcc/config/mips/t-allegrex gcc-3.4.4-new/gcc/config/mips/t-allegrex --- gcc-3.4.4/gcc/config/mips/t-allegrex Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/gcc/config/mips/t-allegrex Wed Jul 6 01:50:54 2005 @@ -0,0 +1,29 @@ +# Suppress building libgcc1.a, since the MIPS compiler port is complete +# and does not need anything from libgcc1.a. +LIBGCC1 = +CROSS_LIBGCC1 = + +EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o +# Don't let CTOR_LIST end up in sdata section. +CRTSTUFF_T_CFLAGS = -G 0 + +# Assemble startup files. +$(T)crti.o: $(srcdir)/config/mips/crti.asm $(GCC_PASSES) + $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ + -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/mips/crti.asm + +$(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES) + $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \ + -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/mips/crtn.asm + +# We must build libgcc2.a with -G 0, in case the user wants to link +# without the $gp register. +TARGET_LIBGCC2_CFLAGS = -G 0 + +# Build the libraries for both hard and soft floating point + +MULTILIB_OPTIONS = +MULTILIB_DIRNAMES = + +LIBGCC = stmp-multilib +INSTALL_LIBGCC = install-multilib diff -Nbaur gcc-3.4.4/gcc/config/rs6000/sysv4.h gcc-3.4.4-new/gcc/config/rs6000/sysv4.h --- gcc-3.4.4/gcc/config/rs6000/sysv4.h Fri Feb 11 21:06:45 2005 +++ gcc-3.4.4-new/gcc/config/rs6000/sysv4.h Wed Jul 6 01:50:37 2005 @@ -444,7 +444,7 @@ (TARGET_RELOCATABLE || (flag_pic && DEFAULT_ABI != ABI_AIX) \ ? "\t.section\t\".got2\",\"aw\"" : "\t.section\t\".got1\",\"aw\"") -#define SDATA_SECTION_ASM_OP "\t.section\t\".sdata\",\"aw\"" +#define SDATA_SECTION_ASM_OP "\t.section\t\".sdata\",\"a\"" #define SDATA2_SECTION_ASM_OP "\t.section\t\".sdata2\",\"a\"" #define SBSS_SECTION_ASM_OP "\t.section\t\".sbss\",\"aw\",@nobits" diff -Nbaur gcc-3.4.4/gcc/config.gcc gcc-3.4.4-new/gcc/config.gcc --- gcc-3.4.4/gcc/config.gcc Mon Apr 25 05:47:59 2005 +++ gcc-3.4.4-new/gcc/config.gcc Wed Jul 6 01:55:49 2005 @@ -1173,6 +1173,8 @@ xm_file=i386/xm-mingw32.h tmake_file="i386/t-cygming i386/t-mingw32" extra_objs=winnt.o + extra_parts="crtbegin.o crtend.o" + target_cpu_default=TARGET_CPU_DEFAULT_pentiumpro if test x$enable_threads = xyes; then thread_file='win32' fi @@ -1659,8 +1661,29 @@ tmake_file=mips/t-r3900 use_fixproto=yes ;; +mipsallegrex-*-elf* | mipsallegrexel-*-elf*) + tm_file="elfos.h ${tm_file} mips/elf.h" + tmake_file=mips/t-allegrex + target_cpu_default="MASK_SINGLE_FLOAT" + tm_defines="MIPS_ISA_DEFAULT=2 MIPS_CPU_STRING_DEFAULT=\\\"allegrex\\\" MIPS_ABI_DEFAULT=ABI_EABI" + case ${target} in + mipsallegrex*-psp-elf*) + tm_file="${tm_file} mips/psp.h" + ;; + esac + use_fixproto=yes + ;; mmix-knuth-mmixware) need_64bit_hwint=yes + ;; +mn10200-*-*) + tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" + if test x$stabs = xyes + then + tm_file="${tm_file} dbx.h" + fi + use_collect2=no + use_fixproto=yes ;; mn10300-*-*) tm_file="dbxelf.h elfos.h svr4.h ${tm_file}" diff -Nbaur gcc-3.4.4/gcc/config.host gcc-3.4.4-new/gcc/config.host --- gcc-3.4.4/gcc/config.host Tue Oct 14 04:41:41 2003 +++ gcc-3.4.4-new/gcc/config.host Wed Jul 6 01:50:37 2005 @@ -135,6 +135,8 @@ host_xm_file=i386/xm-mingw32.h host_xmake_file=i386/x-mingw32 host_exeext=.exe + host_extra_gcc_objs=mingw32-1.o + # host_extra_objs=w32_mmap_anon.o ;; i[34567]86-*-uwin*) echo "*** UWIN may not be used as a host platform because" diff -Nbaur gcc-3.4.4/gcc/cp/decl2.c gcc-3.4.4-new/gcc/cp/decl2.c --- gcc-3.4.4/gcc/cp/decl2.c Mon Oct 11 15:42:36 2004 +++ gcc-3.4.4-new/gcc/cp/decl2.c Wed Jul 6 01:50:37 2005 @@ -1476,6 +1476,11 @@ { TREE_PUBLIC (decl) = 1; DECL_EXTERNAL (decl) = 1; + /* If found and the class has dllimport attribute, commit to + marking the vtable as dllimport, We don't want to change + linkage when maybe_emit_vtable calls this with final true. */ + if (lookup_attribute ("dllimport", TYPE_ATTRIBUTES (type))) + DECL_INTERFACE_KNOWN (decl) = 1; } } } diff -Nbaur gcc-3.4.4/gcc/cp/parser.c gcc-3.4.4-new/gcc/cp/parser.c --- gcc-3.4.4/gcc/cp/parser.c Tue Apr 5 00:43:47 2005 +++ gcc-3.4.4-new/gcc/cp/parser.c Wed Jul 6 01:50:37 2005 @@ -9320,7 +9320,7 @@ declaration context. */ /* Warn about attributes. They are ignored. */ - if (attributes) + if (attributes && extra_warnings) warning ("type attributes are honored only at type definition"); type = xref_tag (tag_type, identifier, diff -Nbaur gcc-3.4.4/gcc/cp/repo.c gcc-3.4.4-new/gcc/cp/repo.c --- gcc-3.4.4/gcc/cp/repo.c Fri Dec 19 23:28:09 2003 +++ gcc-3.4.4-new/gcc/cp/repo.c Wed Jul 6 01:50:37 2005 @@ -1,5 +1,5 @@ /* Code to maintain a C++ template repository. - Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003 + Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Contributed by Jason Merrill (jason@cygnus.com) @@ -53,8 +53,8 @@ static struct obstack temporary_obstack; -#define IDENTIFIER_REPO_USED(NODE) (TREE_LANG_FLAG_3 (NODE)) -#define IDENTIFIER_REPO_CHOSEN(NODE) (TREE_LANG_FLAG_4 (NODE)) +#define IDENTIFIER_REPO_USED(NODE) (TREE_LANG_FLAG_5 (NODE)) +#define IDENTIFIER_REPO_CHOSEN(NODE) (TREE_LANG_FLAG_6 (NODE)) #if 0 /* Record the flags used to compile this translation unit. */ @@ -223,7 +223,7 @@ break; else if (! inside && c == '\\') backquote = 1; - else if (c == '\'') + else if (c == HOST_QUOTE_CHAR) inside = !inside; else obstack_1grow (&temporary_obstack, c); diff -Nbaur gcc-3.4.4/gcc/crtstuff.c gcc-3.4.4-new/gcc/crtstuff.c --- gcc-3.4.4/gcc/crtstuff.c Thu Oct 14 00:29:04 2004 +++ gcc-3.4.4-new/gcc/crtstuff.c Wed Jul 6 01:50:37 2005 @@ -134,6 +134,8 @@ /* Likewise for _Jv_RegisterClasses. */ extern void _Jv_RegisterClasses (void *) TARGET_ATTRIBUTE_WEAK; +#if !(defined (__MINGW32__) || defined (__CYGWIN__)) + #ifdef OBJECT_FORMAT_ELF /* Declare a pointer to void function type. */ @@ -542,3 +544,108 @@ #else /* ! CRT_BEGIN && ! CRT_END */ #error "One of CRT_BEGIN or CRT_END must be defined." #endif + +#else /*__MINGW32__ || __CYGWIN__ */ + +/* Use __main to run ctors and dtors. This code generates a +label for beginning of .eh_frame section in crtbegin.o and terminates +the section in crtend.o. Registration and deregistration is done by +installing ctor and dtor functions to do the job. */ + + +#ifdef CRT_BEGIN + +extern void __w32_sharedptr_initialize(void); + +/* Stick a label at the beginning of the frame unwind info so we can + register/deregister it with the exception handling library code. */ +#if defined (USE_EH_FRAME_REGISTRY) \ + && !__USING_SJLJ_EXCEPTIONS__ +char __EH_FRAME_BEGIN__[] + __attribute__((section(EH_FRAME_SECTION_NAME), aligned(4))) + = { }; + +static struct object obj; + +/* These will pull in references from libgcc.a(unwind-dw2-fde.o) */ + +void __do_frame_init (void); +void __do_frame_fini (void); + +void +__do_frame_init (void) +{ + __w32_sharedptr_initialize(); + __register_frame_info (__EH_FRAME_BEGIN__, &obj); +} + +void +__do_frame_fini (void) +{ + __deregister_frame_info (__EH_FRAME_BEGIN__); +} +#else /* USE_EH_FRAME_REGISTRY && !__USING_SJLJ__EXCEPTIONS__ */ +void __do_sjlj_init (void); + +void +__do_sjlj_init (void) +{ + __w32_sharedptr_initialize(); +} +#endif + + +#elif defined CRT_END + +/* Terminate the frame unwind info section with a 0 as a sentinel; + this would be the 'length' field in a real FDE. */ +#if defined (USE_EH_FRAME_REGISTRY) \ + && !__USING_SJLJ_EXCEPTIONS__ +static int __EH_FRAME_END__[] + __attribute__ ((unused, mode(SI), section(EH_FRAME_SECTION_NAME), + aligned(4))) + = { 0 }; +static void __reg_frame_ctor (void) __attribute__ ((constructor)); +static void __dereg_frame_dtor (void) __attribute__ ((destructor)); +extern void __do_frame_init (void); +extern void __do_frame_fini (void); + + +/* Register the eh_frame. This has to be the first ctor to + be invoked so we put it in last. Since we're last, we can't + reference __register_frame_info in libgcc.a directly (if eh_frame + code has been referenced than it will have been pulled in but + we can't count on it) so we call a thunk in crtbegin.o. */ + +static void +__reg_frame_ctor (void) +{ + __do_frame_init (); +} + +/* Deregister the eh_frame. This has to be the last dtor. The + call to __register_frame_info in crtbegin.o will have pulled in + libgcc.a(unwind-dw2-fde.o) if libgcc.a is static lib but not if + dll, so we use a thunk again to be sure. */ + +static void +__dereg_frame_dtor (void) +{ + __do_frame_fini (); +} +#else +static void __sjlj_init_ctor (void) __attribute__ ((constructor)); +void __do_sjlj_init (void); +static void +__sjlj_init_ctor (void) +{ + __do_sjlj_init (); +} + +#endif /* USE_EH_FRAME_REGISTRY && !__USING_SJLJ__EXCEPTIONS__ */ + +#else /* ! CRT_BEGIN && ! CRT_END */ +#error "One of CRT_BEGIN or CRT_END must be defined." +#endif + +#endif /* __MINGW32__ || __CYGWIN__ */ diff -Nbaur gcc-3.4.4/gcc/doc/extend.texi gcc-3.4.4-new/gcc/doc/extend.texi --- gcc-3.4.4/gcc/doc/extend.texi Sat Feb 26 22:17:26 2005 +++ gcc-3.4.4-new/gcc/doc/extend.texi Wed Jul 6 01:50:37 2005 @@ -3385,7 +3385,7 @@ @item dllimport The @code{dllimport} attribute is described in @xref{Function Attributes}. -@item dlexport +@item dllexport The @code{dllexport} attribute is described in @xref{Function Attributes}. @end table diff -Nbaur gcc-3.4.4/gcc/doc/hostconfig.texi gcc-3.4.4-new/gcc/doc/hostconfig.texi --- gcc-3.4.4/gcc/doc/hostconfig.texi Wed Jul 30 00:36:47 2003 +++ gcc-3.4.4-new/gcc/doc/hostconfig.texi Wed Jul 6 01:50:37 2005 @@ -196,7 +196,15 @@ Define this macro if the host system has a small limit on the total size of an argument vector. This causes the driver to take more care not to pass unnecessary arguments to subprocesses. + +@item HOST_LL_PREFIX +Define this macro to be a C string representing the printf format prefix +to specify output of long long types on your host machine. Hosts using +the MS C runtime libs use the non-standard @samp{I64} prefix. If you do +not define this macro, GCC will use the standard @samp{ll} prefix to +format the printing of long long types. @end ftable + In addition, if @command{configure} generates an incorrect definition of any of the macros in @file{auto-host.h}, you can override that diff -Nbaur gcc-3.4.4/gcc/doc/invoke.texi gcc-3.4.4-new/gcc/doc/invoke.texi --- gcc-3.4.4/gcc/doc/invoke.texi Fri Apr 22 07:49:59 2005 +++ gcc-3.4.4-new/gcc/doc/invoke.texi Wed Jul 6 01:50:37 2005 @@ -497,7 +497,7 @@ -m96bit-long-double -mregparm=@var{num} -momit-leaf-frame-pointer @gol -mno-red-zone -mno-tls-direct-seg-refs @gol -mcmodel=@var{code-model} @gol --m32 -m64} +-m32 -m64 -mstack-arg-probe} @emph{HPPA Options} @gccoptlist{-march=@var{architecture-type} @gol @@ -5994,9 +5994,10 @@ saves one instruction in the caller since there is no need to pop the arguments there. -This calling convention is incompatible with the one normally -used on Unix, so you cannot use it if you need to call libraries -compiled with the Unix compiler. +@strong{Warning:} this calling convention is incompatible with the +one normally used on Unix or with GCC, so you cannot use it if you +need to call libraries compiled with the Unix compiler or with GCC +without the switch. Also, you must provide function prototypes for all functions that take variable numbers of arguments (including @code{printf}); @@ -8560,6 +8561,16 @@ Generate code for the large model: This model makes no assumptions about addresses and sizes of sections. Currently GCC does not implement this model. + +@item -mstack-arg-probe +@opindex mstack-arg-probe +Emit code in function prologue to probe the stack when allocating more +than CHECK_STACK_LIMIT bytes in one go. + +Currently, this is the default on windows systems (cygwin and mingw32), +which define CHECK_STACK_LIMIT as 4000. On these systems, touching the +stack at 4K increments is necessary to ensure that the guard pages used +by the OS virtual memory manger are allocated in correct sequence. @end table @node HPPA Options diff -Nbaur gcc-3.4.4/gcc/gcc.c gcc-3.4.4-new/gcc/gcc.c --- gcc-3.4.4/gcc/gcc.c Sun May 1 11:33:14 2005 +++ gcc-3.4.4-new/gcc/gcc.c Wed Jul 6 01:50:37 2005 @@ -88,7 +88,7 @@ #ifdef HAVE_SYS_RESOURCE_H #include #endif -#if defined (HAVE_DECL_GETRUSAGE) && !HAVE_DECL_GETRUSAGE +#if defined (HAVE_GETRUSAGE) && defined (HAVE_DECL_GETRUSAGE) && !HAVE_DECL_GETRUSAGE extern int getrusage (int, struct rusage *); #endif @@ -3174,7 +3174,7 @@ (argc + 1) * sizeof (argv[0])); new_argv[0] = new_argv0; - execvp (new_argv0, new_argv); + execvp (new_argv0, (const char *const *)new_argv); fatal ("couldn't run `%s': %s", new_argv0, xstrerror (errno)); } @@ -4110,29 +4110,31 @@ if (switches[i].live_cond == SWITCH_IGNORE) continue; - obstack_grow (&collect_obstack, "'-", 2); + obstack_grow (&collect_obstack, HOST_QUOTE_STR "-", 2); q = switches[i].part1; - while ((p = strchr (q, '\''))) + while ((p = strchr (q, HOST_QUOTE_CHAR))) { obstack_grow (&collect_obstack, q, p - q); - obstack_grow (&collect_obstack, "'\\''", 4); + obstack_grow (&collect_obstack, HOST_QUOTED_QUOTE_STR, + strlen (HOST_QUOTED_QUOTE_STR)); q = ++p; } obstack_grow (&collect_obstack, q, strlen (q)); - obstack_grow (&collect_obstack, "'", 1); + obstack_grow (&collect_obstack, HOST_QUOTE_STR, 1); for (args = switches[i].args; args && *args; args++) { - obstack_grow (&collect_obstack, " '", 2); + obstack_grow (&collect_obstack, " " HOST_QUOTE_STR, 2); q = *args; - while ((p = strchr (q, '\''))) + while ((p = strchr (q, HOST_QUOTE_CHAR))) { obstack_grow (&collect_obstack, q, p - q); - obstack_grow (&collect_obstack, "'\\''", 4); + obstack_grow (&collect_obstack, HOST_QUOTED_QUOTE_STR, + strlen (HOST_QUOTED_QUOTE_STR)); q = ++p; } obstack_grow (&collect_obstack, q, strlen (q)); - obstack_grow (&collect_obstack, "'", 1); + obstack_grow (&collect_obstack, HOST_QUOTE_STR, 1); } } obstack_grow (&collect_obstack, "\0", 1); @@ -4155,7 +4157,9 @@ static int suffixed_basename_length; static const char *input_basename; static const char *input_suffix; +#ifndef HOST_FILE_ID_CMP static struct stat input_stat; +#endif static int input_stat_set; /* The compiler used to process the current input file. */ @@ -4706,6 +4710,9 @@ *((char *) temp_filename + temp_filename_length) = '\0'; if (strcmp (temp_filename, input_filename) != 0) { +#if defined HOST_FILE_ID_CMP + if (HOST_FILE_ID_CMP(input_filename, temp_filename) != 0) +#else struct stat st_temp; /* Note, set_input() resets input_stat_set to 0. */ @@ -4725,6 +4732,7 @@ || stat (temp_filename, &st_temp) < 0 || input_stat.st_dev != st_temp.st_dev || input_stat.st_ino != st_temp.st_ino) +#endif { temp_filename = save_string (temp_filename, temp_filename_length + 1); diff -Nbaur gcc-3.4.4/gcc/ggc.h gcc-3.4.4-new/gcc/ggc.h --- gcc-3.4.4/gcc/ggc.h Sun Dec 21 14:08:33 2003 +++ gcc-3.4.4-new/gcc/ggc.h Wed Jul 6 01:50:37 2005 @@ -287,4 +287,8 @@ extern int ggc_min_heapsize_heuristic (void); extern void init_ggc_heuristics (void); +#if defined(_WIN32) && ! defined(__CYGWIN__) && ! defined (_UWIN) +#define getpagesize() 4096 +#endif + #endif diff -Nbaur gcc-3.4.4/gcc/ginclude/stdarg.h gcc-3.4.4-new/gcc/ginclude/stdarg.h --- gcc-3.4.4/gcc/ginclude/stdarg.h Thu Mar 13 02:58:40 2003 +++ gcc-3.4.4-new/gcc/ginclude/stdarg.h Wed Jul 6 01:50:37 2005 @@ -30,6 +30,7 @@ #ifndef _STDARG_H #ifndef _ANSI_STDARG_H_ +#ifndef RC_INVOKED #ifndef __need___va_list #define _STDARG_H #define _ANSI_STDARG_H_ @@ -129,5 +130,6 @@ #endif /* _STDARG_H */ +#endif /* not RC_INVOKED */ #endif /* not _ANSI_STDARG_H_ */ #endif /* not _STDARG_H */ diff -Nbaur gcc-3.4.4/gcc/hwint.h gcc-3.4.4-new/gcc/hwint.h --- gcc-3.4.4/gcc/hwint.h Wed Jun 25 20:33:08 2003 +++ gcc-3.4.4-new/gcc/hwint.h Wed Jul 6 01:50:38 2005 @@ -15,6 +15,12 @@ #define HOST_BITS_PER_INT (CHAR_BIT * SIZEOF_INT) #define HOST_BITS_PER_LONG (CHAR_BIT * SIZEOF_LONG) +/* On some hosts, runtime printf does not use standard long long prefix. + This default can be overriden in host config file. */ +#ifndef HOST_LL_PREFIX +# define HOST_LL_PREFIX "ll" +#endif + /* If HAVE_LONG_LONG and SIZEOF_LONG_LONG aren't defined, but GCC_VERSION >= 3000, assume this is the second or later stage of a bootstrap, we do have long long, and it's 64 bits. (This is @@ -74,10 +80,10 @@ # define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx" # endif #else -# define HOST_WIDE_INT_PRINT "ll" +# define HOST_WIDE_INT_PRINT HOST_LL_PREFIX # define HOST_WIDE_INT_PRINT_C "LL" /* We can assume that 'long long' is at least 64 bits. */ -# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx" +# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%" HOST_LL_PREFIX "x%016" HOST_LL_PREFIX "x" #endif /* HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG */ #define HOST_WIDE_INT_PRINT_DEC "%" HOST_WIDE_INT_PRINT "d" @@ -109,11 +115,11 @@ #error "This line should be impossible to reach" # endif # endif -# define HOST_WIDEST_INT_PRINT_DEC "%lld" -# define HOST_WIDEST_INT_PRINT_DEC_C "%lldLL" -# define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu" -# define HOST_WIDEST_INT_PRINT_HEX "0x%llx" -# define HOST_WIDEST_INT_PRINT_DOUBLE_HEX "0x%llx%016llx" +# define HOST_WIDEST_INT_PRINT_DEC "%" HOST_LL_PREFIX "d" +# define HOST_WIDEST_INT_PRINT_DEC_C "%" HOST_LL_PREFIX "dLL" +# define HOST_WIDEST_INT_PRINT_UNSIGNED "%" HOST_LL_PREFIX "u" +# define HOST_WIDEST_INT_PRINT_HEX "0x%" HOST_LL_PREFIX "x" +# define HOST_WIDEST_INT_PRINT_DOUBLE_HEX "0x%" HOST_LL_PREFIX "x%016" HOST_LL_PREFIX "x" #endif #endif /* ! GCC_HWINT_H */ diff -Nbaur gcc-3.4.4/gcc/libgcc2.c gcc-3.4.4-new/gcc/libgcc2.c --- gcc-3.4.4/gcc/libgcc2.c Wed Dec 15 12:34:24 2004 +++ gcc-3.4.4-new/gcc/libgcc2.c Wed Jul 6 01:50:38 2005 @@ -1573,7 +1573,7 @@ /* Jump to a trampoline, loading the static chain address. */ -#if defined(WINNT) && ! defined(__CYGWIN__) && ! defined (_UWIN) +#if defined(_WIN32) && ! defined(__CYGWIN__) && ! defined (_UWIN) long getpagesize (void) diff -Nbaur gcc-3.4.4/gcc/mklibgcc.in gcc-3.4.4-new/gcc/mklibgcc.in --- gcc-3.4.4/gcc/mklibgcc.in Thu Feb 24 09:26:57 2005 +++ gcc-3.4.4-new/gcc/mklibgcc.in Wed Jul 6 01:50:38 2005 @@ -46,6 +46,7 @@ echo 'srcdir = @srcdir@' echo 'VPATH = @srcdir@' echo 'EQ = =' +echo 'INCLUDES += -I@srcdir@' echo echo 'force:' echo diff -Nbaur gcc-3.4.4/gcc/mklibgcc.in.patch gcc-3.4.4-new/gcc/mklibgcc.in.patch --- gcc-3.4.4/gcc/mklibgcc.in.patch Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/gcc/mklibgcc.in.patch Wed Jul 6 01:50:38 2005 @@ -0,0 +1,10 @@ +--- mklibgcc.in.orig Sat May 15 18:33:35 2004 ++++ mklibgcc.in Tue May 11 12:54:15 2004 +@@ -39,6 +39,7 @@ + echo 'srcdir = @srcdir@' + echo 'VPATH = @srcdir@' + echo 'EQ = =' ++echo 'INCLUDES += -I@srcdir@' + echo + echo 'force:' + echo diff -Nbaur gcc-3.4.4/gcc/stor-layout.c gcc-3.4.4-new/gcc/stor-layout.c --- gcc-3.4.4/gcc/stor-layout.c Sat May 29 00:16:00 2004 +++ gcc-3.4.4-new/gcc/stor-layout.c Wed Jul 6 01:50:38 2005 @@ -1,6 +1,6 @@ /* C-compiler utilities for types and variables storage layout Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1996, 1998, - 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003. 2004 Free Software Foundation, Inc. This file is part of GCC. diff -Nbaur gcc-3.4.4/gcc/system.h gcc-3.4.4-new/gcc/system.h --- gcc-3.4.4/gcc/system.h Mon Mar 15 23:22:47 2004 +++ gcc-3.4.4-new/gcc/system.h Wed Jul 6 01:50:38 2005 @@ -486,6 +486,19 @@ #define HOST_BIT_BUCKET "/dev/null" #endif +/* Defaults for building quoted strings for COLLECT_GCC_OPTIONS + environment variable. These work for POSIX-like hosts. */ + +#ifndef HOST_QUOTE_STR +#define HOST_QUOTE_STR "\'" +#endif +#ifndef HOST_QUOTE_CHAR +#define HOST_QUOTE_CHAR '\'' +#endif +#ifndef HOST_QUOTED_QUOTE_STR +#define HOST_QUOTED_QUOTE_STR "'\\''" +#endif + /* Be conservative and only use enum bitfields with GCC. FIXME: provide a complete autoconf test for buggy enum bitfields. */ diff -Nbaur gcc-3.4.4/gcc/tlink.c gcc-3.4.4-new/gcc/tlink.c --- gcc-3.4.4/gcc/tlink.c Sat Jul 19 15:47:14 2003 +++ gcc-3.4.4-new/gcc/tlink.c Wed Jul 6 01:50:38 2005 @@ -463,11 +463,20 @@ } fclose (stream); fclose (output); - rename (outname, f->key); + /* On Windows "rename" returns -1 and sets ERRNO to EACCESS if + the new file name already exists. Therefore, we explicitly + remove the old file first. */ + if (remove (f->key) == -1) + fatal_perror ("removing .rpo file"); + if (rename (outname, f->key) == -1) + fatal_perror ("renaming .rpo file"); obstack_grow (&temporary_obstack, "cd ", 3); obstack_grow (&temporary_obstack, f->dir, strlen (f->dir)); - obstack_grow (&temporary_obstack, "; ", 2); + /* Using ";" as a separator between commands does not work with + the Windows command shell. Therefore, we use "&&" which + should work everywhere. */ + obstack_grow (&temporary_obstack, " && ", 4); obstack_grow (&temporary_obstack, c_file_name, strlen (c_file_name)); obstack_1grow (&temporary_obstack, ' '); obstack_grow (&temporary_obstack, f->args, strlen (f->args)); diff -Nbaur gcc-3.4.4/gcc/unwind-dw2-fde.c gcc-3.4.4-new/gcc/unwind-dw2-fde.c --- gcc-3.4.4/gcc/unwind-dw2-fde.c Fri Oct 31 20:46:26 2003 +++ gcc-3.4.4-new/gcc/unwind-dw2-fde.c Wed Jul 6 01:50:38 2005 @@ -41,18 +41,32 @@ #include "gthr.h" #endif +#if defined (__MINGW32__ ) || defined (__CYGWIN__) +#include "config/i386/w32-shared-ptr.h" +#endif + /* The unseen_objects list contains objects that have been registered but not yet categorized in any way. The seen_objects list has had it's pc_begin and count fields initialized at minimum, and is sorted by decreasing value of pc_begin. */ + +#if ! (defined (__MINGW32__ ) || defined (__CYGWIN__)) static struct object *unseen_objects; static struct object *seen_objects; +#else +#define unseen_objects (*(struct object**)(&__w32_sharedptr->dw2_unseen_objects)) +#define seen_objects (*(struct object**)(&__w32_sharedptr->dw2_seen_objects)) +#endif +#if !(defined (__MINGW32__ ) || defined (__CYGWIN__)) #ifdef __GTHREAD_MUTEX_INIT static __gthread_mutex_t object_mutex = __GTHREAD_MUTEX_INIT; #else static __gthread_mutex_t object_mutex; #endif +#else +#define object_mutex (__w32_sharedptr->dw2_object_mutex) +#endif #ifdef __GTHREAD_MUTEX_INIT_FUNCTION static void @@ -64,8 +78,15 @@ static void init_object_mutex_once (void) { +#if !(defined (__MINGW32__ ) || defined (__CYGWIN__)) static __gthread_once_t once = __GTHREAD_ONCE_INIT; +#else +#define once (__w32_sharedptr->dw2_once) +#endif __gthread_once (&once, init_object_mutex); +#if (defined (__MINGW32__ ) || defined (__CYGWIN__)) +#undef once +#endif } #else #define init_object_mutex_once() @@ -429,9 +450,13 @@ fde_split (struct object *ob, fde_compare_t fde_compare, struct fde_vector *linear, struct fde_vector *erratic) { - static const fde *marker; - size_t count = linear->count; +#if !(defined (__MINGW32__ ) || defined (__CYGWIN__)) + static fde *marker; +#else +#define marker (*(const fde **)&__w32_sharedptr->dw2_marker) +#endif const fde **chain_end = ▮ + size_t count = linear->count; size_t i, j, k; /* This should optimize out, but it is wise to make sure this assumption @@ -465,6 +490,9 @@ erratic->array[k++] = linear->array[i]; linear->count = j; erratic->count = k; +#if (defined (__MINGW32__ ) || defined (__CYGWIN__)) +#undef marker +#endif } #define SWAP(x,y) do { const fde * tmp = x; x = y; y = tmp; } while (0) diff -Nbaur gcc-3.4.4/gcc/unwind-sjlj.c gcc-3.4.4-new/gcc/unwind-sjlj.c --- gcc-3.4.4/gcc/unwind-sjlj.c Sun Nov 2 00:00:08 2003 +++ gcc-3.4.4-new/gcc/unwind-sjlj.c Wed Jul 6 01:50:38 2005 @@ -35,6 +35,10 @@ #include "unwind.h" #include "gthr.h" +#if defined (__MINGW32__ ) || defined (__CYGWIN__) +#include "config/i386/w32-shared-ptr.h" +#endif + #ifdef __USING_SJLJ_EXCEPTIONS__ #ifdef DONT_USE_BUILTIN_SETJMP @@ -95,12 +99,21 @@ /* Manage the chain of registered function contexts. */ +#if !(defined (__MINGW32__ ) || defined (__CYGWIN__)) /* Single threaded fallback chain. */ static struct SjLj_Function_Context *fc_static; +#else +#define fc_static (*(struct SjLj_Function_Context**)&__w32_sharedptr->sjlj_fc_static) +#endif #if __GTHREADS +#if !(defined (__MINGW32__ ) || defined (__CYGWIN__)) static __gthread_key_t fc_key; static int use_fc_key = -1; +#else +#define fc_key (__w32_sharedptr->sjlj_fc_key) +#define use_fc_key (__w32_sharedptr->sjlj_use_fc_key) +#endif static void fc_key_init (void) @@ -111,15 +124,26 @@ static void fc_key_init_once (void) { +#if !(defined (__MINGW32__ ) || defined (__CYGWIN__)) static __gthread_once_t once = __GTHREAD_ONCE_INIT; +#else +#define once (__w32_sharedptr->sjlj_once) +#endif if (__gthread_once (&once, fc_key_init) != 0 || use_fc_key < 0) use_fc_key = 0; +#if defined (__MINGW32__ ) || defined (__CYGWIN__) +#undef once +#endif } #endif void _Unwind_SjLj_Register (struct SjLj_Function_Context *fc) { +#if defined (__MINGW32__ ) || defined (__CYGWIN__) + W32_SHAREDPTR_INITIALIZE (); +#endif + #if __GTHREADS if (use_fc_key < 0) fc_key_init_once (); @@ -140,6 +164,10 @@ static inline struct SjLj_Function_Context * _Unwind_SjLj_GetContext (void) { +#if defined (__MINGW32__ ) || defined (__CYGWIN__) + W32_SHAREDPTR_INITIALIZE (); +#endif + #if __GTHREADS if (use_fc_key < 0) fc_key_init_once (); @@ -153,6 +181,10 @@ static inline void _Unwind_SjLj_SetContext (struct SjLj_Function_Context *fc) { +#if defined (__MINGW32__ ) || defined (__CYGWIN__) + W32_SHAREDPTR_INITIALIZE (); +#endif + #if __GTHREADS if (use_fc_key < 0) fc_key_init_once (); diff -Nbaur gcc-3.4.4/gcc/varasm.c gcc-3.4.4-new/gcc/varasm.c --- gcc-3.4.4/gcc/varasm.c Wed Mar 2 20:57:48 2005 +++ gcc-3.4.4-new/gcc/varasm.c Wed Jul 6 01:50:38 2005 @@ -4975,6 +4975,7 @@ default_elf_select_section_1 (tree decl, int reloc, unsigned HOST_WIDE_INT align, int shlib) { + const char *sname; switch (categorize_decl_for_section (decl, reloc, shlib)) { case SECCAT_TEXT: @@ -4982,56 +4983,61 @@ abort (); case SECCAT_RODATA: readonly_data_section (); - break; + return; case SECCAT_RODATA_MERGE_STR: mergeable_string_section (decl, align, 0); - break; + return; case SECCAT_RODATA_MERGE_STR_INIT: mergeable_string_section (DECL_INITIAL (decl), align, 0); - break; + return; case SECCAT_RODATA_MERGE_CONST: mergeable_constant_section (DECL_MODE (decl), align, 0); - break; + return; case SECCAT_SRODATA: - named_section (NULL_TREE, ".sdata2", reloc); + sname = ".sdata2"; break; case SECCAT_DATA: data_section (); - break; + return; case SECCAT_DATA_REL: - named_section (NULL_TREE, ".data.rel", reloc); + sname = ".data.rel"; break; case SECCAT_DATA_REL_LOCAL: - named_section (NULL_TREE, ".data.rel.local", reloc); + sname = ".data.rel.local"; break; case SECCAT_DATA_REL_RO: - named_section (NULL_TREE, ".data.rel.ro", reloc); + sname = ".data.rel.ro"; break; case SECCAT_DATA_REL_RO_LOCAL: - named_section (NULL_TREE, ".data.rel.ro.local", reloc); + sname = ".data.rel.ro.local"; break; case SECCAT_SDATA: - named_section (NULL_TREE, ".sdata", reloc); + sname = ".sdata"; break; case SECCAT_TDATA: - named_section (NULL_TREE, ".tdata", reloc); + sname = ".tdata"; break; case SECCAT_BSS: #ifdef BSS_SECTION_ASM_OP bss_section (); + return; #else - named_section (NULL_TREE, ".bss", reloc); -#endif + sname = ".bss"; break; +#endif case SECCAT_SBSS: - named_section (NULL_TREE, ".sbss", reloc); + sname = ".sbss"; break; case SECCAT_TBSS: - named_section (NULL_TREE, ".tbss", reloc); + sname = ".tbss"; break; default: abort (); } + + if (!DECL_P (decl)) + decl = NULL_TREE; + named_section (decl, sname, reloc); } /* Construct a unique section name based on the decl name and the diff -Nbaur gcc-3.4.4/gcc/version.c gcc-3.4.4-new/gcc/version.c --- gcc-3.4.4/gcc/version.c Thu May 19 08:51:53 2005 +++ gcc-3.4.4-new/gcc/version.c Wed Jul 6 01:50:38 2005 @@ -14,4 +14,4 @@ forward us bugs reported to you, if you determine that they are not bugs in your modifications.) */ -const char bug_report_url[] = ""; +const char bug_report_url[] = ""; diff -Nbaur gcc-3.4.4/include/libiberty.h gcc-3.4.4-new/include/libiberty.h --- gcc-3.4.4/include/libiberty.h Thu May 15 20:02:12 2003 +++ gcc-3.4.4-new/include/libiberty.h Wed Jul 6 01:50:38 2005 @@ -1,6 +1,6 @@ /* Function declarations for libiberty. - Copyright 2001, 2002 Free Software Foundation, Inc. + Copyright 2001, 2002, 2004 Free Software Foundation, Inc. Note - certain prototypes declared in this header file are for functions whoes implementation copyright does not belong to the @@ -41,6 +41,8 @@ #include "ansidecl.h" +#include + #ifdef ANSI_PROTOTYPES /* Get a definition for size_t. */ #include @@ -74,7 +76,7 @@ to find the declaration so provide a fully prototyped one. If it is 1, we found it so don't provide any declaration at all. */ #if !HAVE_DECL_BASENAME -#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (HAVE_DECL_BASENAME) +#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__sun__) || defined (HAVE_DECL_BASENAME) extern char *basename PARAMS ((const char *)); #else extern char *basename (); @@ -274,7 +276,7 @@ extern int pexecute PARAMS ((const char *, char * const *, const char *, const char *, char **, char **, int)); -/* Wait for pexecute to finish. */ +/* Wait for a process created by pexecute. */ extern int pwait PARAMS ((int, int *, int)); diff -Nbaur gcc-3.4.4/include/pex-read.h gcc-3.4.4-new/include/pex-read.h --- gcc-3.4.4/include/pex-read.h Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/include/pex-read.h Wed Jul 6 01:50:38 2005 @@ -0,0 +1,41 @@ +/* Declarations of the pex-read functions for libiberty. + Copyright 2004 Free Software Foundation, Inc. + + This program 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. + + This program 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef PEX_READ_H +#define PEX_READ_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* Execute a program and read its standard output. */ + +extern FILE *pex_read (const char *, char * const *, const char *, + const char *, char **, char **, int, int *); + +/* Wait for pex_read to finish. */ + +extern int pex_read_close (int, FILE *, int *, int); + +#ifdef __cplusplus +} +#endif + +#endif /* PEX_READ_H */ diff -Nbaur gcc-3.4.4/libiberty/ChangeLog gcc-3.4.4-new/libiberty/ChangeLog --- gcc-3.4.4/libiberty/ChangeLog Thu May 19 08:50:22 2005 +++ gcc-3.4.4-new/libiberty/ChangeLog Wed Jul 6 01:50:38 2005 @@ -23,11 +23,33 @@ * GCC 3.4.0 released. -2004-02-25 Ian Lance Taylor +2004-03-17 Ian Lance Taylor - Taken from mainline: + * pex-unix.c (pexecute): Use vfork instead of fork, with + appropriate changes to make this safe. + * pex-common.h (STDERR_FILE_NO): Define. - 2004-02-24 Ian Lance Taylor + * Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES for + an 80 column screen. Run maint-deps. + +2004-03-09 Kelley Cook + + * configure.ac: Bump version to 2.59. Apply suggested autoupdates. + * acconfig.h: Delete redundant file. + * config.in: Regenerate. + * configure: Regenerate. + +2004-03-09 Hans-Peter Nilsson + + * configure: Regenerate for config/accross.m4 correction. + +2004-03-07 Andreas Jaeger + + * testsuite/test-demangle.c: Include and for + prototypes. + (main): Initialize style. + +2004-02-24 Ian Lance Taylor * cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED, D_PRINT_UNSIGNED_LONG, D_PRINT_LONG_LONG, @@ -60,7 +82,7 @@ past ones which have been printed already. * testsuite/demangle-expected: Add three test cases. - 2004-02-23 Ian Lance Taylor +2004-02-23 Ian Lance Taylor * cp-demangle.c (__cxa_demangle): Adjust last patch to handle empty string correctly. @@ -70,6 +92,29 @@ built-in type name. (main): If IN_GLIBCPP_V3 is defined, test __cxa_demangle rather than cplus_demangle_v3. + + * dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and + the associated #define of RETURN_ON_ALLOCATION_FAILURE. + +2004-02-16 Matt Kraai + + * regex.c: Include . + (regcomp): Cast i to int. + (regerror): Add ATTRIBUTE_UNUSED to parameter preg. + +2004-01-25 Ian Lance Taylor + + * configure.ac: Add m4_pattern_allow(LIBOBJS). + * configure: Regenerate. + +2004-01-22 DJ Delorie + + * Makefile.in: Convert to ./ throughout. Rebuild dependencies + with explicit build rules. + (VPATH): Remove. + (.c.o): Poison. + * configure.ac (pexecute, LIBOBJS): Add ./ . + * maint-tool: Build dependencies with explicit rules. 2004-01-15 Kazu Hirata diff -Nbaur gcc-3.4.4/libiberty/Makefile.in gcc-3.4.4-new/libiberty/Makefile.in --- gcc-3.4.4/libiberty/Makefile.in Wed Jan 14 21:27:28 2004 +++ gcc-3.4.4-new/libiberty/Makefile.in Wed Jul 6 01:50:38 2005 @@ -28,7 +28,6 @@ libiberty_topdir = @libiberty_topdir@ srcdir = @srcdir@ -VPATH = @srcdir@ prefix = @prefix@ @@ -70,8 +69,8 @@ MAKEOVERRIDES = -TARGETLIB = libiberty.a -TESTLIB = testlib.a +TARGETLIB = ./libiberty.a +TESTLIB = ./testlib.a LIBOBJS = @LIBOBJS@ @@ -118,15 +117,15 @@ INCDIR=$(srcdir)/$(MULTISRCTOP)../include COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@ + +# Just to make sure we don't use a built-in rule with VPATH .c.o: - if [ x"$(PICFLAG)" != x ]; then \ - $(COMPILE.c) $(PICFLAG) $< -o pic/$@; \ - else true; fi - $(COMPILE.c) $< $(OUTPUT_OPTION) + false # NOTE: If you add new files to the library, add them to this list # (alphabetical), and add them to REQUIRED_OFILES, or -# CONFIGURED_OFILES and funcs in configure.ac. +# CONFIGURED_OFILES and funcs in configure.ac. Also run "make maint-deps" +# to build the new rules. CFILES = alloca.c argv.c asprintf.c atexit.c \ basename.c bcmp.c bcopy.c bsearch.c bzero.c \ calloc.c choose-temp.c clock.c concat.c cp-demangle.c \ @@ -145,6 +144,7 @@ partition.c \ pex-djgpp.c pex-mpw.c pex-msdos.c pex-os2.c \ pex-unix.c pex-win32.c \ + pexrd-unix.c pexrd-generic.c \ physmem.c putenv.c \ random.c regex.c rename.c rindex.c \ safe-ctype.c setenv.c sigsetmask.c snprintf.c sort.c spaces.c \ @@ -158,45 +158,48 @@ # These are always included in the library. The first four are listed # first and by compile time to optimize parallel builds. -REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o cp-demint.o md5.o \ - alloca.o argv.o \ - choose-temp.o concat.o \ - dyn-string.o \ - fdmatch.o fibheap.o floatformat.o fnmatch.o \ - getopt.o getopt1.o getpwd.o getruntime.o \ - hashtab.o hex.o \ - lbasename.o \ - lrealpath.o \ - make-relative-prefix.o \ - make-temp-file.o \ - objalloc.o obstack.o \ - partition.o physmem.o @pexecute@ \ - safe-ctype.o sort.o spaces.o splay-tree.o strerror.o \ - strsignal.o \ - ternary.o \ - xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o +REQUIRED_OFILES = ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o \ + ./alloca.o ./argv.o \ + ./choose-temp.o ./concat.o ./cp-demint.o \ + ./dyn-string.o \ + ./fdmatch.o ./fibheap.o ./floatformat.o ./fnmatch.o \ + ./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o \ + ./hashtab.o ./hex.o \ + ./lbasename.o ./lrealpath.o \ + ./make-relative-prefix.o ./make-temp-file.o \ + ./objalloc.o ./obstack.o \ + ./partition.o ./physmem.o @pexecute@ \ + ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o \ + ./strsignal.o \ + ./ternary.o \ + ./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o \ + ./xstrerror.o # These are all the objects that configure may add to the library via # $funcs or EXTRA_OFILES. This list exists here only for "make # maint-missing" and "make check". -CONFIGURED_OFILES = asprintf.o atexit.o \ - basename.o bcmp.o bcopy.o bsearch.o bzero.o \ - calloc.o clock.o copysign.o \ - _doprnt.o \ - ffs.o \ - getcwd.o getpagesize.o \ - index.o insque.o \ - memchr.o memcmp.o memcpy.o memmove.o mempcpy.o memset.o mkstemps.o \ - pex-djgpp.o pex-mpw.o pex-msdos.o pex-os2.o \ - pex-unix.o pex-win32.o \ - putenv.o \ - random.o rename.o rindex.o \ - setenv.o sigsetmask.o snprintf.o stpcpy.o stpncpy.o strcasecmp.o \ - strchr.o strdup.o strncasecmp.o strncmp.o strrchr.o strstr.o \ - strtod.o strtol.o strtoul.o \ - tmpnam.o \ - vasprintf.o vfork.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o \ - waitpid.o +CONFIGURED_OFILES = ./asprintf.o ./atexit.o \ + ./basename.o ./bcmp.o ./bcopy.o ./bsearch.o ./bzero.o \ + ./calloc.o ./clock.o ./copysign.o \ + ./_doprnt.o \ + ./ffs.o \ + ./getcwd.o ./getpagesize.o \ + ./index.o ./insque.o \ + ./memchr.o ./memcmp.o ./memcpy.o ./memmove.o ./mempcpy.o \ + ./memset.o ./mkstemps.o \ + ./pex-djgpp.o ./pex-mpw.o ./pex-msdos.o ./pex-os2.o \ + ./pex-unix.o ./pex-win32.o \ + ./pexrd-unix.o ./pexrd-generic.o \ + ./putenv.o \ + ./random.o ./rename.o ./rindex.o \ + ./setenv.o ./sigsetmask.o ./snprintf.o ./stpcpy.o ./stpncpy.o \ + ./strcasecmp.o ./strchr.o ./strdup.o ./strncasecmp.o \ + ./strncmp.o ./strrchr.o ./strstr.o \ + ./strtod.o ./strtol.o ./strtoul.o \ + ./tmpnam.o \ + ./vasprintf.o ./vfork.o ./vfprintf.o ./vprintf.o ./vsnprintf.o \ + ./vsprintf.o \ + ./waitpid.o # These files are installed if the library has been configured to do so. INSTALLED_HEADERS = \ @@ -390,8 +393,8 @@ # Depending on Makefile makes sure that config.status has been re-run # if needed. This prevents problems with parallel builds. config.h: stamp-h ; @true -stamp-h: config.in config.status Makefile - CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status +stamp-h: $(srcdir)/config.in config.status Makefile + CONFIG_FILES= CONFIG_HEADERS=config.h:$(srcdir)/config.in $(SHELL) ./config.status config.status: $(srcdir)/configure $(srcdir)/config.table $(SHELL) ./config.status --recheck @@ -415,113 +418,658 @@ # The dependencies in the remainder of this file are automatically # generated by "make maint-deps". Manual edits will be lost. -_doprnt.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h -alloca.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -argv.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -asprintf.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -atexit.o: config.h -basename.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ +./_doprnt.o: $(srcdir)/_doprnt.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/safe-ctype.h -bsearch.o: config.h $(INCDIR)/ansidecl.h -calloc.o: $(INCDIR)/ansidecl.h -choose-temp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -clock.o: config.h -concat.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -copysign.o: $(INCDIR)/ansidecl.h -cp-demangle.o: config.h $(INCDIR)/ansidecl.h $(srcdir)/cp-demangle.h \ - $(INCDIR)/demangle.h $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h \ - $(INCDIR)/libiberty.h -cp-demint.o: config.h $(INCDIR)/ansidecl.h $(srcdir)/cp-demangle.h \ - $(INCDIR)/demangle.h $(INCDIR)/libiberty.h -cplus-dem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \ - $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h -dyn-string.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/dyn-string.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/_doprnt.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/_doprnt.c $(OUTPUT_OPTION) + +./alloca.o: $(srcdir)/alloca.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/libiberty.h -fdmatch.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -fibheap.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/fibheap.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/alloca.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/alloca.c $(OUTPUT_OPTION) + +./argv.o: $(srcdir)/argv.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/argv.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/argv.c $(OUTPUT_OPTION) + +./asprintf.o: $(srcdir)/asprintf.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/asprintf.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/asprintf.c $(OUTPUT_OPTION) + +./atexit.o: $(srcdir)/atexit.c config.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/atexit.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/atexit.c $(OUTPUT_OPTION) + +./basename.o: $(srcdir)/basename.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/basename.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/basename.c $(OUTPUT_OPTION) + +./bcmp.o: $(srcdir)/bcmp.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/bcmp.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/bcmp.c $(OUTPUT_OPTION) + +./bcopy.o: $(srcdir)/bcopy.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/bcopy.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/bcopy.c $(OUTPUT_OPTION) + +./bsearch.o: $(srcdir)/bsearch.c config.h $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/bsearch.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/bsearch.c $(OUTPUT_OPTION) + +./bzero.o: $(srcdir)/bzero.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/bzero.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/bzero.c $(OUTPUT_OPTION) + +./calloc.o: $(srcdir)/calloc.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/calloc.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/calloc.c $(OUTPUT_OPTION) + +./choose-temp.o: $(srcdir)/choose-temp.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/libiberty.h -floatformat.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/floatformat.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/choose-temp.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/choose-temp.c $(OUTPUT_OPTION) + +./clock.o: $(srcdir)/clock.c config.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/clock.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/clock.c $(OUTPUT_OPTION) + +./concat.o: $(srcdir)/concat.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/libiberty.h -fnmatch.o: config.h $(INCDIR)/fnmatch.h $(INCDIR)/safe-ctype.h -getcwd.o: config.h -getopt.o: config.h $(INCDIR)/getopt.h -getopt1.o: config.h $(INCDIR)/getopt.h -getpagesize.o: config.h -getpwd.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -getruntime.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -hashtab.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/concat.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/concat.c $(OUTPUT_OPTION) + +./copysign.o: $(srcdir)/copysign.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/copysign.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/copysign.c $(OUTPUT_OPTION) + +./cp-demangle.o: $(srcdir)/cp-demangle.c config.h $(INCDIR)/ansidecl.h \ + $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \ + $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/cp-demangle.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/cp-demangle.c $(OUTPUT_OPTION) + +./cp-demint.o: $(srcdir)/cp-demint.c config.h $(INCDIR)/ansidecl.h \ + $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \ $(INCDIR)/libiberty.h -hex.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/cp-demint.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/cp-demint.c $(OUTPUT_OPTION) + +./cplus-dem.o: $(srcdir)/cplus-dem.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \ $(INCDIR)/safe-ctype.h -lbasename.o: $(INCDIR)/ansidecl.h $(INCDIR)/filenames.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/cplus-dem.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION) + +./dyn-string.o: $(srcdir)/dyn-string.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/dyn-string.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/dyn-string.c $(OUTPUT_OPTION) + +./fdmatch.o: $(srcdir)/fdmatch.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/fdmatch.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/fdmatch.c $(OUTPUT_OPTION) + +./ffs.o: $(srcdir)/ffs.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/ffs.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/ffs.c $(OUTPUT_OPTION) + +./fibheap.o: $(srcdir)/fibheap.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/fibheap.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/fibheap.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/fibheap.c $(OUTPUT_OPTION) + +./floatformat.o: $(srcdir)/floatformat.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/floatformat.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/floatformat.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/floatformat.c $(OUTPUT_OPTION) + +./fnmatch.o: $(srcdir)/fnmatch.c config.h $(INCDIR)/fnmatch.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/fnmatch.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/fnmatch.c $(OUTPUT_OPTION) + +./getcwd.o: $(srcdir)/getcwd.c config.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/getcwd.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/getcwd.c $(OUTPUT_OPTION) + +./getopt.o: $(srcdir)/getopt.c config.h $(INCDIR)/getopt.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/getopt.c $(OUTPUT_OPTION) + +./getopt1.o: $(srcdir)/getopt1.c config.h $(INCDIR)/getopt.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt1.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/getopt1.c $(OUTPUT_OPTION) + +./getpagesize.o: $(srcdir)/getpagesize.c config.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/getpagesize.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/getpagesize.c $(OUTPUT_OPTION) + +./getpwd.o: $(srcdir)/getpwd.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/getpwd.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/getpwd.c $(OUTPUT_OPTION) + +./getruntime.o: $(srcdir)/getruntime.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/getruntime.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/getruntime.c $(OUTPUT_OPTION) + +./hashtab.o: $(srcdir)/hashtab.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/hashtab.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/hashtab.c $(OUTPUT_OPTION) + +./hex.o: $(srcdir)/hex.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/hex.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/hex.c $(OUTPUT_OPTION) + +./index.o: $(srcdir)/index.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/index.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/index.c $(OUTPUT_OPTION) + +./insque.o: $(srcdir)/insque.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/insque.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/insque.c $(OUTPUT_OPTION) + +./lbasename.o: $(srcdir)/lbasename.c $(INCDIR)/ansidecl.h $(INCDIR)/filenames.h \ $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h -lrealpath.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -make-relative-prefix.o: config.h $(INCDIR)/ansidecl.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/lbasename.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/lbasename.c $(OUTPUT_OPTION) + +./lrealpath.o: $(srcdir)/lrealpath.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/lrealpath.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION) + +./make-relative-prefix.o: $(srcdir)/make-relative-prefix.c config.h \ + $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/make-relative-prefix.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION) + +./make-temp-file.o: $(srcdir)/make-temp-file.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/make-temp-file.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/make-temp-file.c $(OUTPUT_OPTION) + +./md5.o: $(srcdir)/md5.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/md5.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/md5.c $(OUTPUT_OPTION) + +./memchr.o: $(srcdir)/memchr.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/memchr.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/memchr.c $(OUTPUT_OPTION) + +./memcmp.o: $(srcdir)/memcmp.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/memcmp.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/memcmp.c $(OUTPUT_OPTION) + +./memcpy.o: $(srcdir)/memcpy.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/memcpy.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/memcpy.c $(OUTPUT_OPTION) + +./memmove.o: $(srcdir)/memmove.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/memmove.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/memmove.c $(OUTPUT_OPTION) + +./mempcpy.o: $(srcdir)/mempcpy.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/mempcpy.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/mempcpy.c $(OUTPUT_OPTION) + +./memset.o: $(srcdir)/memset.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/memset.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/memset.c $(OUTPUT_OPTION) + +./mkstemps.o: $(srcdir)/mkstemps.c config.h $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/mkstemps.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/mkstemps.c $(OUTPUT_OPTION) + +./mpw.o: $(srcdir)/mpw.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/mpw.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/mpw.c $(OUTPUT_OPTION) + +./msdos.o: $(srcdir)/msdos.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/msdos.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/msdos.c $(OUTPUT_OPTION) + +./objalloc.o: $(srcdir)/objalloc.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/objalloc.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/objalloc.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/objalloc.c $(OUTPUT_OPTION) + +./obstack.o: $(srcdir)/obstack.c config.h $(INCDIR)/obstack.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/obstack.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/obstack.c $(OUTPUT_OPTION) + +./partition.o: $(srcdir)/partition.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(INCDIR)/partition.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/partition.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/partition.c $(OUTPUT_OPTION) + +./pex-djgpp.o: $(srcdir)/pex-djgpp.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-djgpp.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pex-djgpp.c $(OUTPUT_OPTION) + +./pex-mpw.o: $(srcdir)/pex-mpw.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-mpw.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pex-mpw.c $(OUTPUT_OPTION) + +./pex-msdos.o: $(srcdir)/pex-msdos.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-msdos.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pex-msdos.c $(OUTPUT_OPTION) + +./pex-os2.o: $(srcdir)/pex-os2.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-os2.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pex-os2.c $(OUTPUT_OPTION) + +./pex-unix.o: $(srcdir)/pex-unix.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-unix.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pex-unix.c $(OUTPUT_OPTION) + +./pex-win32.o: $(srcdir)/pex-win32.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-win32.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pex-win32.c $(OUTPUT_OPTION) + +./pexrd-generic.o: $(srcdir)/pexrd-generic.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pexrd-generic.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pexrd-generic.c $(OUTPUT_OPTION) + +./pexrd-unix.o: $(srcdir)/pexrd-unix.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(srcdir)/pex-common.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/pexrd-unix.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/pexrd-unix.c $(OUTPUT_OPTION) + +./physmem.o: $(srcdir)/physmem.c config.h $(INCDIR)/ansidecl.h \ $(INCDIR)/libiberty.h -make-temp-file.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -md5.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h -memchr.o: $(INCDIR)/ansidecl.h -memcmp.o: $(INCDIR)/ansidecl.h -memcpy.o: $(INCDIR)/ansidecl.h -memmove.o: $(INCDIR)/ansidecl.h -mempcpy.o: $(INCDIR)/ansidecl.h -memset.o: $(INCDIR)/ansidecl.h -mkstemps.o: config.h $(INCDIR)/ansidecl.h -objalloc.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/objalloc.h -obstack.o: config.h $(INCDIR)/obstack.h -partition.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(INCDIR)/partition.h -pex-djgpp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(srcdir)/pex-common.h -pex-mpw.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(srcdir)/pex-common.h -pex-msdos.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(srcdir)/pex-common.h $(INCDIR)/safe-ctype.h -pex-os2.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(srcdir)/pex-common.h -pex-unix.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(srcdir)/pex-common.h -pex-win32.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(srcdir)/pex-common.h -physmem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -putenv.o: config.h $(INCDIR)/ansidecl.h -random.o: $(INCDIR)/ansidecl.h -regex.o: config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h -rename.o: config.h $(INCDIR)/ansidecl.h -safe-ctype.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h -setenv.o: config.h $(INCDIR)/ansidecl.h -sigsetmask.o: $(INCDIR)/ansidecl.h -snprintf.o: $(INCDIR)/ansidecl.h -sort.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/physmem.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/physmem.c $(OUTPUT_OPTION) + +./putenv.o: $(srcdir)/putenv.c config.h $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/putenv.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/putenv.c $(OUTPUT_OPTION) + +./random.o: $(srcdir)/random.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/random.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/random.c $(OUTPUT_OPTION) + +./regex.o: $(srcdir)/regex.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/xregex.h \ + $(INCDIR)/xregex2.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/regex.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/regex.c $(OUTPUT_OPTION) + +./rename.o: $(srcdir)/rename.c config.h $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/rename.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/rename.c $(OUTPUT_OPTION) + +./rindex.o: $(srcdir)/rindex.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/rindex.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/rindex.c $(OUTPUT_OPTION) + +./safe-ctype.o: $(srcdir)/safe-ctype.c $(INCDIR)/ansidecl.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/safe-ctype.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/safe-ctype.c $(OUTPUT_OPTION) + +./setenv.o: $(srcdir)/setenv.c config.h $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/setenv.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/setenv.c $(OUTPUT_OPTION) + +./sigsetmask.o: $(srcdir)/sigsetmask.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/sigsetmask.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/sigsetmask.c $(OUTPUT_OPTION) + +./snprintf.o: $(srcdir)/snprintf.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/snprintf.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/snprintf.c $(OUTPUT_OPTION) + +./sort.o: $(srcdir)/sort.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ $(INCDIR)/sort.h -spaces.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -splay-tree.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(INCDIR)/splay-tree.h -stpcpy.o: $(INCDIR)/ansidecl.h -stpncpy.o: $(INCDIR)/ansidecl.h -strcasecmp.o: $(INCDIR)/ansidecl.h -strchr.o: $(INCDIR)/ansidecl.h -strdup.o: $(INCDIR)/ansidecl.h -strerror.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -strncasecmp.o: $(INCDIR)/ansidecl.h -strncmp.o: $(INCDIR)/ansidecl.h -strrchr.o: $(INCDIR)/ansidecl.h -strsignal.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -strtod.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h -strtol.o: config.h $(INCDIR)/safe-ctype.h -strtoul.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h -ternary.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ - $(INCDIR)/ternary.h -vasprintf.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -vfork.o: $(INCDIR)/ansidecl.h -vfprintf.o: $(INCDIR)/ansidecl.h -vprintf.o: $(INCDIR)/ansidecl.h -vsnprintf.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -vsprintf.o: $(INCDIR)/ansidecl.h -waitpid.o: config.h -xatexit.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -xexit.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -xmalloc.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -xmemdup.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -xstrdup.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h -xstrerror.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/sort.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/sort.c $(OUTPUT_OPTION) + +./spaces.o: $(srcdir)/spaces.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/spaces.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/spaces.c $(OUTPUT_OPTION) + +./splay-tree.o: $(srcdir)/splay-tree.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/splay-tree.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION) + +./stpcpy.o: $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/stpcpy.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/stpcpy.c $(OUTPUT_OPTION) + +./stpncpy.o: $(srcdir)/stpncpy.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/stpncpy.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/stpncpy.c $(OUTPUT_OPTION) + +./strcasecmp.o: $(srcdir)/strcasecmp.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strcasecmp.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strcasecmp.c $(OUTPUT_OPTION) + +./strchr.o: $(srcdir)/strchr.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strchr.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strchr.c $(OUTPUT_OPTION) + +./strdup.o: $(srcdir)/strdup.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strdup.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strdup.c $(OUTPUT_OPTION) + +./strerror.o: $(srcdir)/strerror.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strerror.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strerror.c $(OUTPUT_OPTION) + +./strncasecmp.o: $(srcdir)/strncasecmp.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strncasecmp.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strncasecmp.c $(OUTPUT_OPTION) + +./strncmp.o: $(srcdir)/strncmp.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strncmp.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strncmp.c $(OUTPUT_OPTION) + +./strrchr.o: $(srcdir)/strrchr.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strrchr.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strrchr.c $(OUTPUT_OPTION) + +./strsignal.o: $(srcdir)/strsignal.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strsignal.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strsignal.c $(OUTPUT_OPTION) + +./strstr.o: $(srcdir)/strstr.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strstr.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strstr.c $(OUTPUT_OPTION) + +./strtod.o: $(srcdir)/strtod.c $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strtod.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strtod.c $(OUTPUT_OPTION) + +./strtol.o: $(srcdir)/strtol.c config.h $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strtol.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION) + +./strtoul.o: $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/safe-ctype.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoul.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/strtoul.c $(OUTPUT_OPTION) + +./ternary.o: $(srcdir)/ternary.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h $(INCDIR)/ternary.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/ternary.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/ternary.c $(OUTPUT_OPTION) + +./tmpnam.o: $(srcdir)/tmpnam.c + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/tmpnam.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/tmpnam.c $(OUTPUT_OPTION) + +./vasprintf.o: $(srcdir)/vasprintf.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/vasprintf.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/vasprintf.c $(OUTPUT_OPTION) + +./vfork.o: $(srcdir)/vfork.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/vfork.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/vfork.c $(OUTPUT_OPTION) + +./vfprintf.o: $(srcdir)/vfprintf.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/vfprintf.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/vfprintf.c $(OUTPUT_OPTION) + +./vprintf.o: $(srcdir)/vprintf.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/vprintf.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/vprintf.c $(OUTPUT_OPTION) + +./vsnprintf.o: $(srcdir)/vsnprintf.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/vsnprintf.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/vsnprintf.c $(OUTPUT_OPTION) + +./vsprintf.o: $(srcdir)/vsprintf.c $(INCDIR)/ansidecl.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/vsprintf.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/vsprintf.c $(OUTPUT_OPTION) + +./waitpid.o: $(srcdir)/waitpid.c config.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/waitpid.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/waitpid.c $(OUTPUT_OPTION) + +./xatexit.o: $(srcdir)/xatexit.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/xatexit.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/xatexit.c $(OUTPUT_OPTION) + +./xexit.o: $(srcdir)/xexit.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/xexit.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/xexit.c $(OUTPUT_OPTION) + +./xmalloc.o: $(srcdir)/xmalloc.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/xmalloc.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/xmalloc.c $(OUTPUT_OPTION) + +./xmemdup.o: $(srcdir)/xmemdup.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/xmemdup.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/xmemdup.c $(OUTPUT_OPTION) + +./xstrdup.o: $(srcdir)/xstrdup.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrdup.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/xstrdup.c $(OUTPUT_OPTION) + +./xstrerror.o: $(srcdir)/xstrerror.c config.h $(INCDIR)/ansidecl.h \ + $(INCDIR)/libiberty.h + if [ x"$(PICFLAG)" != x ]; then \ + $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrerror.c -o pic/$@; \ + else true; fi + $(COMPILE.c) $(srcdir)/xstrerror.c $(OUTPUT_OPTION) + diff -Nbaur gcc-3.4.4/libiberty/config.in gcc-3.4.4-new/libiberty/config.in --- gcc-3.4.4/libiberty/config.in Sat Jan 10 02:17:41 2004 +++ gcc-3.4.4-new/libiberty/config.in Wed Jul 6 01:50:38 2005 @@ -1,7 +1,4 @@ /* config.in. Generated from configure.ac by autoheader. */ -/* Define to `unsigned long' if doesn't define. */ -#undef uintptr_t - /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */ #undef BYTEORDER @@ -362,9 +359,11 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const -/* Define as `__inline' if that's what the C compiler calls it, or to nothing - if it is not supported. */ +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus #undef inline +#endif /* Define to `int' if does not define. */ #undef pid_t diff -Nbaur gcc-3.4.4/libiberty/configure gcc-3.4.4-new/libiberty/configure --- gcc-3.4.4/libiberty/configure Wed Oct 1 18:11:29 2003 +++ gcc-3.4.4-new/libiberty/configure Wed Jul 6 01:50:39 2005 @@ -1,9 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.57. +# Generated by GNU Autoconf 2.59. # -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## @@ -20,9 +19,10 @@ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -41,7 +41,7 @@ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -218,16 +218,17 @@ if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -901,12 +902,45 @@ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. @@ -931,8 +965,7 @@ if $ac_init_version; then cat <<\_ACEOF -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -944,7 +977,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.57. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1120,7 +1153,7 @@ echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 - rm -f core core.* *.core && + rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 @@ -2030,7 +2063,6 @@ (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2064,7 +2096,6 @@ EXEEXT= else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2084,8 +2115,8 @@ # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 @@ -2222,7 +2253,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2273,7 +2303,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2293,10 +2322,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -2310,7 +2349,7 @@ ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi @@ -2326,7 +2365,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2343,10 +2381,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -2360,7 +2408,7 @@ ac_cv_prog_cc_g=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 @@ -2387,7 +2435,6 @@ ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2415,6 +2462,16 @@ va_end (v); return s; } + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -2441,10 +2498,20 @@ CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -2458,7 +2525,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext +rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC @@ -2486,10 +2553,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -2497,8 +2574,7 @@ echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ - ''\ - '#include ' \ + '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -2506,14 +2582,13 @@ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include $ac_declaration +#include int main () { @@ -2524,10 +2599,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -2541,9 +2626,8 @@ continue fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2560,10 +2644,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -2576,7 +2670,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -2590,7 +2684,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2625,7 +2719,6 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2648,6 +2741,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -2668,7 +2762,6 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2686,6 +2779,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -2732,7 +2826,6 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2755,6 +2848,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -2775,7 +2869,6 @@ # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2793,6 +2886,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -2852,7 +2946,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2946,7 +3039,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3009,10 +3101,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3026,7 +3128,7 @@ ac_cv_c_const=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 @@ -3046,7 +3148,6 @@ ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3061,10 +3162,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3077,21 +3188,25 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done fi echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 + + case $ac_cv_c_inline in inline | yes) ;; - no) -cat >>confdefs.h <<\_ACEOF -#define inline -_ACEOF - ;; - *) cat >>confdefs.h <<_ACEOF -#define inline $ac_cv_c_inline + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif _ACEOF ;; esac @@ -3104,7 +3219,6 @@ ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3125,10 +3239,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3137,7 +3261,6 @@ (exit $ac_status); }; }; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3158,10 +3281,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3175,19 +3308,18 @@ ac_cv_c_bigendian=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then if test "$cross_compiling" = yes; then echo $ac_n "cross-compiling... " 2>&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3224,7 +3356,7 @@ ( exit $ac_status ) ac_cv_c_bigendian=yes fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi @@ -3244,7 +3376,7 @@ int main() { _ascii (); _ebcdic (); return 0; } EOF if test -f conftest.c ; then - if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then + if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then if test `grep -l BIGenDianSyS conftest.o` ; then echo $ac_n ' big endian probe OK, ' 1>&6 ac_cv_c_bigendian=yes @@ -3284,9 +3416,9 @@ _ACEOF if test $ac_cv_c_bigendian = unknown; then - { { echo "$as_me:$LINENO: error: unknown endianess - sorry" >&5 -echo "$as_me: error: unknown endianess - sorry" >&2;} - { (exit please pre-set ac_cv_c_bigendian); exit please pre-set ac_cv_c_bigendian; }; } + { { echo "$as_me:$LINENO: error: unknown endianess - sorry, please pre-set ac_cv_c_bigendian" >&5 +echo "$as_me: error: unknown endianess - sorry, please pre-set ac_cv_c_bigendian" >&2;} + { (exit 1); exit 1; }; } fi @@ -3307,6 +3439,7 @@ # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 @@ -3323,6 +3456,7 @@ case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -3413,7 +3547,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3431,6 +3564,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -3463,7 +3597,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3490,10 +3623,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3507,7 +3650,7 @@ ac_cv_header_sys_wait_h=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 @@ -3525,7 +3668,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3546,10 +3688,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3563,7 +3715,7 @@ ac_cv_header_time=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 @@ -3582,7 +3734,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3599,10 +3750,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3616,7 +3777,7 @@ libiberty_cv_declare_errno=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $libiberty_cv_declare_errno" >&5 echo "${ECHO_T}$libiberty_cv_declare_errno" >&6 @@ -3650,7 +3811,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3671,10 +3831,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3688,12 +3858,11 @@ ac_cv_header_stdc=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3715,7 +3884,6 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3740,7 +3908,6 @@ : else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3790,7 +3957,7 @@ ( exit $ac_status ) ac_cv_header_stdc=no fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi @@ -3824,7 +3991,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3842,6 +4008,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -3875,7 +4042,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3895,10 +4061,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3912,7 +4088,7 @@ ac_cv_type_uintptr_t=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5 echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6 @@ -3941,7 +4117,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3961,10 +4136,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -3978,7 +4163,7 @@ ac_cv_type_pid_t=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 @@ -4139,7 +4324,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4186,10 +4370,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -4203,7 +4397,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -4250,12 +4445,54 @@ # newlib provide and which ones we will be expected to provide. if test "x${with_newlib}" = "xyes"; then - LIBOBJS="$LIBOBJS asprintf.$ac_objext" - LIBOBJS="$LIBOBJS basename.$ac_objext" - LIBOBJS="$LIBOBJS insque.$ac_objext" - LIBOBJS="$LIBOBJS random.$ac_objext" - LIBOBJS="$LIBOBJS strdup.$ac_objext" - LIBOBJS="$LIBOBJS vasprintf.$ac_objext" + case $LIBOBJS in + "asprintf.$ac_objext" | \ + *" asprintf.$ac_objext" | \ + "asprintf.$ac_objext "* | \ + *" asprintf.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS asprintf.$ac_objext" ;; +esac + + case $LIBOBJS in + "basename.$ac_objext" | \ + *" basename.$ac_objext" | \ + "basename.$ac_objext "* | \ + *" basename.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS basename.$ac_objext" ;; +esac + + case $LIBOBJS in + "insque.$ac_objext" | \ + *" insque.$ac_objext" | \ + "insque.$ac_objext "* | \ + *" insque.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS insque.$ac_objext" ;; +esac + + case $LIBOBJS in + "random.$ac_objext" | \ + *" random.$ac_objext" | \ + "random.$ac_objext "* | \ + *" random.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS random.$ac_objext" ;; +esac + + case $LIBOBJS in + "strdup.$ac_objext" | \ + *" strdup.$ac_objext" | \ + "strdup.$ac_objext "* | \ + *" strdup.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strdup.$ac_objext" ;; +esac + + case $LIBOBJS in + "vasprintf.$ac_objext" | \ + *" vasprintf.$ac_objext" | \ + "vasprintf.$ac_objext "* | \ + *" vasprintf.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS vasprintf.$ac_objext" ;; +esac + for f in $funcs; do case "$f" in @@ -4337,16 +4574,86 @@ # Handle VxWorks configuration specially, since on VxWorks the # libraries are actually on the target board, not in the file # system. - LIBOBJS="$LIBOBJS basename.$ac_objext" - LIBOBJS="$LIBOBJS getpagesize.$ac_objext" - LIBOBJS="$LIBOBJS insque.$ac_objext" - LIBOBJS="$LIBOBJS random.$ac_objext" - LIBOBJS="$LIBOBJS strcasecmp.$ac_objext" - LIBOBJS="$LIBOBJS strncasecmp.$ac_objext" - LIBOBJS="$LIBOBJS strdup.$ac_objext" - LIBOBJS="$LIBOBJS vfork.$ac_objext" - LIBOBJS="$LIBOBJS waitpid.$ac_objext" - LIBOBJS="$LIBOBJS vasprintf.$ac_objext" + case $LIBOBJS in + "basename.$ac_objext" | \ + *" basename.$ac_objext" | \ + "basename.$ac_objext "* | \ + *" basename.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS basename.$ac_objext" ;; +esac + + case $LIBOBJS in + "getpagesize.$ac_objext" | \ + *" getpagesize.$ac_objext" | \ + "getpagesize.$ac_objext "* | \ + *" getpagesize.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS getpagesize.$ac_objext" ;; +esac + + case $LIBOBJS in + "insque.$ac_objext" | \ + *" insque.$ac_objext" | \ + "insque.$ac_objext "* | \ + *" insque.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS insque.$ac_objext" ;; +esac + + case $LIBOBJS in + "random.$ac_objext" | \ + *" random.$ac_objext" | \ + "random.$ac_objext "* | \ + *" random.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS random.$ac_objext" ;; +esac + + case $LIBOBJS in + "strcasecmp.$ac_objext" | \ + *" strcasecmp.$ac_objext" | \ + "strcasecmp.$ac_objext "* | \ + *" strcasecmp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strcasecmp.$ac_objext" ;; +esac + + case $LIBOBJS in + "strncasecmp.$ac_objext" | \ + *" strncasecmp.$ac_objext" | \ + "strncasecmp.$ac_objext "* | \ + *" strncasecmp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strncasecmp.$ac_objext" ;; +esac + + case $LIBOBJS in + "strdup.$ac_objext" | \ + *" strdup.$ac_objext" | \ + "strdup.$ac_objext "* | \ + *" strdup.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strdup.$ac_objext" ;; +esac + + case $LIBOBJS in + "vfork.$ac_objext" | \ + *" vfork.$ac_objext" | \ + "vfork.$ac_objext "* | \ + *" vfork.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS vfork.$ac_objext" ;; +esac + + case $LIBOBJS in + "waitpid.$ac_objext" | \ + *" waitpid.$ac_objext" | \ + "waitpid.$ac_objext "* | \ + *" waitpid.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS waitpid.$ac_objext" ;; +esac + + case $LIBOBJS in + "vasprintf.$ac_objext" | \ + *" vasprintf.$ac_objext" | \ + "vasprintf.$ac_objext "* | \ + *" vasprintf.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS vasprintf.$ac_objext" ;; +esac + for f in $funcs; do case "$f" in basename | getpagesize | insque | random | strcasecmp) @@ -4399,7 +4706,14 @@ if test -n "${with_target_subdir}" then funcs="`echo $funcs | sed -e 's/random//'`" - LIBOBJS="$LIBOBJS random.$ac_objext" + case $LIBOBJS in + "random.$ac_objext" | \ + *" random.$ac_objext" | \ + "random.$ac_objext "* | \ + *" random.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS random.$ac_objext" ;; +esac + vars="`echo $vars | sed -e 's/sys_siglist//'`" checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`" fi @@ -4448,7 +4762,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4472,10 +4785,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -4488,7 +4811,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$ac_cv_search_strerror" = no; then for ac_lib in cposix; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" @@ -4498,7 +4822,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4522,10 +4845,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -4539,7 +4872,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext done fi LIBS=$ac_func_search_save_LIBS @@ -4566,7 +4900,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4613,10 +4946,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -4630,7 +4973,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -4640,7 +4984,14 @@ _ACEOF else - LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + case $LIBOBJS in + "$ac_func.$ac_objext" | \ + *" $ac_func.$ac_objext" | \ + "$ac_func.$ac_objext "* | \ + *" $ac_func.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; +esac + fi done @@ -4651,7 +5002,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4689,7 +5039,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4736,10 +5085,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -4753,7 +5112,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -4777,7 +5137,6 @@ ac_cv_c_stack_direction=0 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4820,7 +5179,7 @@ ( exit $ac_status ) ac_cv_c_stack_direction=-1 fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 @@ -4842,7 +5201,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4860,6 +5218,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -4902,7 +5261,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -4949,10 +5307,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -4966,7 +5334,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5021,7 +5390,7 @@ ( exit $ac_status ) ac_cv_func_fork_works=no fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5 @@ -5054,7 +5423,6 @@ ac_cv_func_vfork_works=cross else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5176,7 +5544,7 @@ ( exit $ac_status ) ac_cv_func_vfork_works=no fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5 @@ -5184,7 +5552,7 @@ fi; if test "x$ac_cv_func_fork_works" = xcross; then - ac_cv_func_vfork_works=ac_cv_func_vfork + ac_cv_func_vfork_works=$ac_cv_func_vfork { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi @@ -5211,7 +5579,14 @@ fi if test $ac_cv_func_vfork_works = no; then - LIBOBJS="$LIBOBJS vfork.$ac_objext" + case $LIBOBJS in + "vfork.$ac_objext" | \ + *" vfork.$ac_objext" | \ + "vfork.$ac_objext "* | \ + *" vfork.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS vfork.$ac_objext" ;; +esac + fi # We only need _doprnt if we might use it to implement v*printf. if test $ac_cv_func_vprintf != yes \ @@ -5232,7 +5607,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5279,10 +5653,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -5296,7 +5680,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5306,7 +5691,14 @@ _ACEOF else - LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + case $LIBOBJS in + "$ac_func.$ac_objext" | \ + *" $ac_func.$ac_objext" | \ + "$ac_func.$ac_objext "* | \ + *" $ac_func.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;; +esac + fi done @@ -5327,7 +5719,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5374,10 +5765,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -5391,7 +5792,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5417,7 +5819,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5434,10 +5835,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -5451,7 +5862,8 @@ eval "libiberty_cv_var_$v=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then @@ -5473,7 +5885,6 @@ echo "$as_me:$LINENO: checking for external symbol _system_configuration" >&5 echo $ECHO_N "checking for external symbol _system_configuration... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5490,10 +5901,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -5514,7 +5935,7 @@ echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext for ac_func in $checkfuncs @@ -5531,7 +5952,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5578,10 +5998,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -5595,7 +6025,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5613,7 +6044,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5645,10 +6075,20 @@ _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 + (eval $ac_compile) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -5662,7 +6102,7 @@ libiberty_cv_decl_needed_canonicalize_file_name=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $libiberty_cv_decl_needed_canonicalize_file_name" >&5 @@ -5679,11 +6119,11 @@ # Figure out which version of pexecute to use. case "${host}" in - *-*-mingw* | *-*-winnt*) pexecute=pex-win32.o ;; - *-*-msdosdjgpp*) pexecute=pex-djgpp.o ;; - *-*-msdos*) pexecute=pex-msdos.o ;; - *-*-os2-emx*) pexecute=pex-os2.o ;; - *) pexecute=pex-unix.o ;; + *-*-mingw* | *-*-winnt*) pexecute="./pex-win32.o ./pexrd-generic.o" ;; + *-*-msdosdjgpp*) pexecute="./pex-djgpp.o ./pexrd-generic.o" ;; + *-*-msdos*) pexecute="./pex-msdos.o ./pexrd-generic.o" ;; + *-*-os2-emx*) pexecute="./pex-os2.o ./pexrd-generic.o" ;; + *) pexecute="./pex-unix.o ./pexrd-unix.o" ;; esac @@ -5704,7 +6144,6 @@ echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5722,6 +6161,7 @@ (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi @@ -5763,7 +6203,6 @@ { (exit 1); exit 1; }; } fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5810,10 +6249,20 @@ _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 @@ -5827,7 +6276,8 @@ eval "$as_ac_var=no" fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -5848,7 +6298,6 @@ ac_cv_func_mmap_fixed_mapped=no else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5956,7 +6405,7 @@ data2 = (char *) malloc (2 * pagesize); if (!data2) exit (1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); + data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) exit (1); @@ -6001,7 +6450,7 @@ ( exit $ac_status ) ac_cv_func_mmap_fixed_mapped=no fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 @@ -6026,7 +6475,6 @@ ac_cv_func_strncmp_works=no else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -6114,14 +6562,21 @@ ( exit $ac_status ) ac_cv_func_strncmp_works=no fi -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f core core.* *.core fi echo "$as_me:$LINENO: result: $ac_cv_func_strncmp_works" >&5 echo "${ECHO_T}$ac_cv_func_strncmp_works" >&6 if test $ac_cv_func_strncmp_works = no ; then - LIBOBJS="$LIBOBJS strncmp.$ac_objext" + case $LIBOBJS in + "strncmp.$ac_objext" | \ + *" strncmp.$ac_objext" | \ + "strncmp.$ac_objext "* | \ + *" strncmp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strncmp.$ac_objext" ;; +esac + fi @@ -6134,6 +6589,16 @@ fi + +L="" +for l in x $LIBOBJS; do + case $l in + x) ;; + *) L="$L ./$l" ;; + esac +done +LIBOBJS="$L" + # We need multilib support, but only if configuring for the target. ac_config_files="$ac_config_files Makefile testsuite/Makefile" ac_config_commands="$ac_config_commands default" @@ -6262,9 +6727,10 @@ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi +DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -6283,7 +6749,7 @@ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -6462,16 +6928,17 @@ if mkdir -p . 2>/dev/null; then as_mkdir_p=: else + test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # IFS @@ -6498,7 +6965,7 @@ cat >&5 <<_CSEOF This file was extended by $as_me, which was -generated by GNU Autoconf 2.57. Invocation command line was +generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -6561,11 +7028,10 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.57, +configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir @@ -6932,12 +7398,45 @@ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac case $INSTALL in @@ -6972,14 +7471,14 @@ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + echo "$f";; *) # Relative if test -f "$f"; then # Build tree - echo $f + echo "$f" elif test -f "$srcdir/$f"; then # Source tree - echo $srcdir/$f + echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 @@ -7063,14 +7562,15 @@ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo $f;; + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; *) # Relative if test -f "$f"; then # Build tree - echo $f + echo "$f" elif test -f "$srcdir/$f"; then # Source tree - echo $srcdir/$f + echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 @@ -7259,6 +7759,31 @@ /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. if test "$ac_dir" != .; then @@ -7284,12 +7809,45 @@ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 diff -Nbaur gcc-3.4.4/libiberty/configure.ac gcc-3.4.4-new/libiberty/configure.ac --- gcc-3.4.4/libiberty/configure.ac Sat Jan 10 02:17:41 2004 +++ gcc-3.4.4-new/libiberty/configure.ac Wed Jul 6 01:50:39 2005 @@ -1,7 +1,8 @@ dnl Process this file with autoconf to produce a configure script -AC_PREREQ(2.57) -AC_INIT(xmalloc.c) +AC_PREREQ(2.59) +AC_INIT +AC_CONFIG_SRCDIR([xmalloc.c]) # This works around the fact that libtool configuration may change LD # for this particular configuration, but some shells, instead of @@ -433,7 +434,7 @@ AC_ISC_POSIX AC_REPLACE_FUNCS($funcs) libiberty_AC_FUNC_C_ALLOCA - AC_FUNC_VFORK + AC_FUNC_FORK if test $ac_cv_func_vfork_works = no; then AC_LIBOBJ([vfork]) fi @@ -449,7 +450,7 @@ for v in $vars; do AC_MSG_CHECKING([for $v]) AC_CACHE_VAL(libiberty_cv_var_$v, - [AC_TRY_LINK([int *p;], [extern int $v []; p = $v;], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])], [eval "libiberty_cv_var_$v=yes"], [eval "libiberty_cv_var_$v=no"])]) if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then @@ -464,8 +465,8 @@ # special check for _system_configuration because AIX <4.3.2 do not # contain the `physmem' member. AC_MSG_CHECKING([for external symbol _system_configuration]) - AC_TRY_COMPILE([#include ], - [double x = _system_configuration.physmem;], + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[double x = _system_configuration.physmem;]])], [AC_MSG_RESULT([yes]) AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1, [Define if you have the _system_configuration variable.])], @@ -477,11 +478,11 @@ # Figure out which version of pexecute to use. case "${host}" in - *-*-mingw* | *-*-winnt*) pexecute=pex-win32.o ;; - *-*-msdosdjgpp*) pexecute=pex-djgpp.o ;; - *-*-msdos*) pexecute=pex-msdos.o ;; - *-*-os2-emx*) pexecute=pex-os2.o ;; - *) pexecute=pex-unix.o ;; + *-*-mingw* | *-*-winnt*) pexecute="./pex-win32.o ./pexrd-generic.o" ;; + *-*-msdosdjgpp*) pexecute="./pex-djgpp.o ./pexrd-generic.o" ;; + *-*-msdos*) pexecute="./pex-msdos.o ./pexrd-generic.o" ;; + *-*-os2-emx*) pexecute="./pex-os2.o ./pexrd-generic.o" ;; + *) pexecute="./pex-unix.o ./pexrd-unix.o" ;; esac AC_SUBST(pexecute) @@ -496,9 +497,20 @@ fi AC_SUBST(INSTALL_DEST) +m4_pattern_allow(LIBOBJS) +L="" +for l in x $LIBOBJS; do + case $l in + x) ;; + *) L="$L ./$l" ;; + esac +done +LIBOBJS="$L" + # We need multilib support, but only if configuring for the target. -AC_OUTPUT(Makefile testsuite/Makefile, -[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h +AC_CONFIG_FILES([Makefile testsuite/Makefile]) +AC_CONFIG_COMMANDS([default], + [[test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h if test -n "$CONFIG_FILES"; then if test -n "${with_build_subdir}" || test -n "${with_target_subdir}"; then # FIXME: We shouldn't need to set ac_file @@ -506,8 +518,8 @@ LD="${ORIGINAL_LD_FOR_MULTILIBS}" . ${libiberty_topdir}/config-ml.in fi -fi], -srcdir=${srcdir} +fi]], +[[srcdir=${srcdir} host=${host} target=${target} with_target_subdir=${with_target_subdir} @@ -517,4 +529,5 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}" libiberty_topdir=${libiberty_topdir} -) +]]) +AC_OUTPUT diff -Nbaur gcc-3.4.4/libiberty/dyn-string.c gcc-3.4.4-new/libiberty/dyn-string.c --- gcc-3.4.4/libiberty/dyn-string.c Mon Apr 1 22:55:12 2002 +++ gcc-3.4.4-new/libiberty/dyn-string.c Wed Jul 6 01:50:39 2005 @@ -1,5 +1,5 @@ /* An abstract string datatype. - Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GNU CC. @@ -44,15 +44,6 @@ #include "libiberty.h" #include "dyn-string.h" - -/* If this file is being compiled for inclusion in the C++ runtime - library, as part of the demangler implementation, we don't want to - abort if an allocation fails. Instead, percolate an error code up - through the call chain. */ - -#if defined(IN_LIBGCC2) || defined(IN_GLIBCPP_V3) -#define RETURN_ON_ALLOCATION_FAILURE -#endif /* Performs in-place initialization of a dyn_string struct. This function can be used with a dyn_string struct on the stack or diff -Nbaur gcc-3.4.4/libiberty/getpwd.c gcc-3.4.4-new/libiberty/getpwd.c --- gcc-3.4.4/libiberty/getpwd.c Sun Oct 7 22:53:31 2001 +++ gcc-3.4.4-new/libiberty/getpwd.c Wed Jul 6 01:50:39 2005 @@ -35,6 +35,9 @@ #if HAVE_SYS_STAT_H #include #endif +#if HAVE_LIMITS_H +#include +#endif /* Prototype these in case the system headers don't provide them. */ extern char *getpwd (); diff -Nbaur gcc-3.4.4/libiberty/maint-tool gcc-3.4.4-new/libiberty/maint-tool --- gcc-3.4.4/libiberty/maint-tool Tue Apr 15 20:21:38 2003 +++ gcc-3.4.4-new/libiberty/maint-tool Wed Jul 6 01:50:39 2005 @@ -213,6 +213,12 @@ sub deps { + $crule = "\tif [ x\"\$(PICFLAG)\" != x ]; then \\\n"; + $crule .= "\t \$(COMPILE.c) \$(PICFLAG) \$< -o pic/\$@; \\\n"; + $crule .= "\telse true; fi\n"; + $crule .= "\t\$(COMPILE.c) \$< \$(OUTPUT_OPTION)\n"; + $crule .= "\n"; + $incdir = shift @ARGV; opendir(INC, $incdir); @@ -260,10 +266,10 @@ @deps = sort { &locals_first($a,$b) } keys %scanned; $obj = $f; $obj =~ s/\.c$/.o/; - $obj = "$obj:"; + $obj = "./$obj:"; if ($#deps >= 0) { - print OUT $obj; - $len = length($obj); + print OUT "$obj \$(srcdir)/$f"; + $len = length("$obj $f"); for $dt (@deps) { $d = $mine{$dt}; if ($len + length($d) > 70) { @@ -275,7 +281,12 @@ } } print OUT "\n"; + } else { + print OUT "$obj \$(srcdir)/$f\n"; } + $c = $crule; + $c =~ s@\$\<@\$\(srcdir\)\/$f@g; + print OUT $c; } } closedir(S); diff -Nbaur gcc-3.4.4/libiberty/pex-common.h gcc-3.4.4-new/libiberty/pex-common.h --- gcc-3.4.4/libiberty/pex-common.h Fri Jan 24 20:02:11 2003 +++ gcc-3.4.4-new/libiberty/pex-common.h Wed Jul 6 01:50:39 2005 @@ -1,6 +1,6 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. Shared logic. - Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. This file is part of the libiberty library. @@ -32,6 +32,9 @@ /* stdout file number. */ #define STDOUT_FILE_NO 1 + +/* stderr file number. */ +#define STDERR_FILE_NO 2 /* value of `pipe': port index for reading. */ #define READ_PORT 0 diff -Nbaur gcc-3.4.4/libiberty/pex-unix.c gcc-3.4.4-new/libiberty/pex-unix.c --- gcc-3.4.4/libiberty/pex-unix.c Fri Jan 24 20:02:11 2003 +++ gcc-3.4.4-new/libiberty/pex-unix.c Wed Jul 6 01:50:39 2005 @@ -1,7 +1,7 @@ /* Utilities to execute a program in a subprocess (possibly linked by pipes with other subprocesses), and wait for it. Generic Unix version (also used for UWIN and VMS). - Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 + Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. This file is part of the libiberty library. @@ -44,28 +44,66 @@ #define waitpid(pid, status, flags) wait(status) #endif -extern int execv (); -extern int execvp (); +#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 +#endif +#ifdef VMS +#define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \ + lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1) +#endif /* VMS */ + +/* Execute a program, possibly setting up pipes to programs executed + via other calls to this function. + + This version of the function uses vfork. In general vfork is + similar to setjmp/longmp, in that any variable which is modified by + the child process has an indeterminate value in the parent process. + We follow a safe approach here by not modifying any variables at + all in the child process (with the possible exception of variables + modified by xstrerror if exec fails, but this is unlikely to be + detectable). + + We work a little bit harder to avoid gcc warnings. gcc will warn + about any automatic variable which is live at the time of the + vfork, which is non-volatile, and which is either set more than + once or is an argument to the function. This warning isn't quite + right, since what we really care about is whether the variable is + live at the time of the vfork and set afterward by the child + process, but gcc only checks whether the variable is set more than + once. To avoid this warning, we ensure that any variable which is + live at the time of the vfork (i.e., used after the vfork) is set + exactly once and is not an argument, or is marked volatile. */ int -pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, flags) +pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, + flagsarg) const char *program; char * const *argv; const char *this_pname; const char *temp_base ATTRIBUTE_UNUSED; char **errmsg_fmt, **errmsg_arg; - int flags; + int flagsarg; { - int (*func)() = (flags & PEXECUTE_SEARCH ? execvp : execv); int pid; int pdes[2]; + int out; int input_desc, output_desc; - int retries, sleep_interval; + int flags; + /* We declare these to be volatile to avoid warnings from gcc about + them being clobbered by vfork. */ + volatile int retries, sleep_interval; /* Pipe waiting from last process, to be used as input for the next one. Value is STDIN_FILE_NO if no pipe is waiting (i.e. the next command is the first of a group). */ static int last_pipe_input; + flags = flagsarg; + /* If this is the first process, initialize. */ if (flags & PEXECUTE_FIRST) last_pipe_input = STDIN_FILE_NO; @@ -82,22 +120,24 @@ *errmsg_arg = NULL; return -1; } - output_desc = pdes[WRITE_PORT]; + out = pdes[WRITE_PORT]; last_pipe_input = pdes[READ_PORT]; } else { /* Last process. */ - output_desc = STDOUT_FILE_NO; + out = STDOUT_FILE_NO; last_pipe_input = STDIN_FILE_NO; } + output_desc = out; + /* Fork a subprocess; wait and retry if it fails. */ sleep_interval = 1; pid = -1; for (retries = 0; retries < 4; retries++) { - pid = fork (); + pid = vfork (); if (pid >= 0) break; sleep (sleep_interval); @@ -131,12 +171,21 @@ close (last_pipe_input); /* Exec the program. */ - (*func) (program, argv); + if (flags & PEXECUTE_SEARCH) + execvp (program, argv); + else + execv (program, argv); - fprintf (stderr, "%s: ", this_pname); - fprintf (stderr, install_error_msg, program); - fprintf (stderr, ": %s\n", xstrerror (errno)); - exit (-1); + /* We don't want to call fprintf after vfork. */ +#define writeerr(s) write (STDERR_FILE_NO, s, strlen (s)) + writeerr (this_pname); + writeerr (": "); + writeerr ("installation problem, cannot exec '"); + writeerr (program); + writeerr ("': "); + writeerr (xstrerror (errno)); + writeerr ("\n"); + _exit (-1); /* NOTREACHED */ return 0; diff -Nbaur gcc-3.4.4/libiberty/pexecute.txh gcc-3.4.4-new/libiberty/pexecute.txh --- gcc-3.4.4/libiberty/pexecute.txh Fri Jan 24 20:02:11 2003 +++ gcc-3.4.4-new/libiberty/pexecute.txh Wed Jul 6 01:50:39 2005 @@ -1,4 +1,4 @@ -@deftypefn Extension int pexecute (const char *@var{program}, char * const *@var{argv}, const char *@var{this_pname}, const char *@var{temp_base}, char **@var{errmsg_fmt}, char **@var{errmsg_arg}, int flags) +@deftypefn Extension int pexecute (const char *@var{program}, char * const *@var{argv}, const char *@var{this_pname}, const char *@var{temp_base}, char **@var{errmsg_fmt}, char **@var{errmsg_arg}, int @var{flags}) Executes a program. @@ -61,3 +61,39 @@ pfinish is necessary for systems like MPW where a script is generated that runs the requested programs. + +@end undocumented + +@deftypefn Extension FILE* pex_read (const char *@var{program}, char * const *@var{argv}, const char *@var{this_pname}, const char *@var{temp_base}, char **@var{errmsg_fmt}, char **@var{errmsg_arg}, int @var{flags}, int *@var{pidptr}) + +Executes a program and returns a stdio file for the program's standard +output. This is a safe version of the usual Unix function +@code{popen}. + +The first seven parameters are the same as for @code{pexecute}. The +last parameter returns a process identifier to be passed to +@code{pex_read_close}. + +The only flags used for the @var{flags} parameter is +@code{PEXECUTE_SEARCH}. + +Upon failure, @var{errmsg_fmt} and @var{errmsg_arg} are set to the +text of the error message with an optional argument (if not needed, +@var{errmsg_arg} is set to @code{NULL}), and @code{NULL} is returned. +@code{errno} is available to the caller to use. + +@end deftypefn + +@deftypefn Extension int pex_read_close (int @var{pid}, FILE *@var{file}, int *@var{status}, int @var{flags}) + +Close a file opened by @code{pex_read}, and wait for the subprocess to +complete. The @var{pid} and @var{file} arguments should have been +obtained from a call to @code{pex_read}. + +The result is the pid of the child reaped, or -1 for failure +(@code{errno} says why). + +On a successful return, *@var{status} is set to the exit status of the +subprocess. + +@end deftypefn diff -Nbaur gcc-3.4.4/libiberty/pexrd-generic.c gcc-3.4.4-new/libiberty/pexrd-generic.c --- gcc-3.4.4/libiberty/pexrd-generic.c Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/libiberty/pexrd-generic.c Wed Jul 6 01:50:39 2005 @@ -0,0 +1,72 @@ +/* Execute a program and read stdout. Generic version. + Copyright (C) 2004 Free Software Foundation, Inc. + +This file is part of the libiberty library. +Libiberty is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +Libiberty 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with libiberty; see the file COPYING.LIB. If not, +write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#include "pex-common.h" +#include "pex-read.h" + +#include +#ifdef NEED_DECLARATION_ERRNO +extern int errno; +#endif +#ifdef HAVE_STDLIB_H +#include +#endif + +FILE * +pex_read (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, flags, + pidptr) + const char *program; + char * const *argv; + const char *this_pname ATTRIBUTE_UNUSED; + const char *temp_base ATTRIBUTE_UNUSED; + char **errmsg_fmt; + char **errmsg_arg; + int flags ATTRIBUTE_UNUSED; + int *pidptr ATTRIBUTE_UNUSED; +{ + char *cmd; + int i; + FILE *ret; + + cmd = xstrdup (program); + for (i = 0; argv[i] != NULL; ++i) + cmd = reconcat (cmd, cmd, " ", argv[i], NULL); + + ret = popen (cmd, "r"); + if (ret == NULL) + { + *errmsg_fmt = "popen"; + *errmsg_arg = NULL; + } + + free (cmd); + + return ret; +} + +int +pex_read_close (pid, file, status, flags) + int pid ATTRIBUTE_UNUSED; + FILE *file; + int *status; + int flags ATTRIBUTE_UNUSED; +{ + *status = pclose (file); + return 0; +} diff -Nbaur gcc-3.4.4/libiberty/pexrd-unix.c gcc-3.4.4-new/libiberty/pexrd-unix.c --- gcc-3.4.4/libiberty/pexrd-unix.c Thu Jan 1 00:00:00 1970 +++ gcc-3.4.4-new/libiberty/pexrd-unix.c Wed Jul 6 01:50:39 2005 @@ -0,0 +1,164 @@ +/* Execute a program and read stdout. Generic Unix version. + Copyright (C) 2004 Free Software Foundation, Inc. + +This file is part of the libiberty library. +Libiberty is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +Libiberty 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with libiberty; see the file COPYING.LIB. If not, +write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +#include "pex-common.h" + +#include +#include +#ifdef NEED_DECLARATION_ERRNO +extern int errno; +#endif +#ifdef HAVE_STRING_H +#include +#endif +#ifdef HAVE_STDLIB_H +#include +#endif +#if HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_SYS_WAIT_H +#include +#endif + +#ifndef HAVE_WAITPID +#define waitpid(pid, status, flags) wait(status) +#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 +#endif +#ifdef VMS +#define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \ + lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1) +#endif /* VMS */ + +/* A safe version of popen. See pex-unix.c for notes on vfork. */ + +FILE * +pex_read (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, + flagsarg, pidptr) + const char *program; + char * const *argv; + const char *this_pname; + const char *temp_base ATTRIBUTE_UNUSED; + char **errmsg_fmt; + char **errmsg_arg; + int flagsarg; + int *pidptr; +{ + int flags; + int pid; + int pdes[2]; + int in; + int out; + FILE *ret; + /* We declare these to be volatile to avoid warnings from gcc about + them being clobbered by vfork. */ + volatile int retries; + volatile int sleep_interval; + + flags = flagsarg; + + if (pipe (pdes) < 0) + { + *errmsg_fmt = "pipe"; + *errmsg_arg = NULL; + return NULL; + } + + in = pdes[READ_PORT]; + out = pdes[WRITE_PORT]; + + sleep_interval = 1; + pid = -1; + for (retries = 0; retries < 4; retries++) + { + pid = vfork (); + if (pid >= 0) + break; + sleep (sleep_interval); + sleep_interval *= 2; + } + + switch (pid) + { + case -1: + *errmsg_fmt = "fork"; + *errmsg_arg = NULL; + return NULL; + + case 0: + if (out != STDOUT_FILE_NO) + { + close (STDOUT_FILE_NO); + dup (out); + close (out); + } + close (in); + + if (flags & PEXECUTE_SEARCH) + execvp (program, argv); + else + execv (program, argv); + + /* We don't want to call fprintf after vfork. */ +#define writeerr(s) write (STDERR_FILE_NO, s, strlen (s)) + writeerr (this_pname); + writeerr (": "); + writeerr ("installation problem, cannot exec '"); + writeerr (program); + writeerr ("': "); + writeerr (xstrerror (errno)); + writeerr ("\n"); + _exit (-1); + /* NOTREACHED */ + return NULL; + + default: + close (out); + ret = fdopen (in, "r"); + if (ret == NULL) + { + *errmsg_fmt = "fdopen"; + *errmsg_arg = NULL; + return NULL; + } + *pidptr = pid; + return ret; + } + /* NOTREACHED */ +} + +int +pex_read_close (pid, file, status, flags) + int pid; + FILE *file; + int *status; + int flags ATTRIBUTE_UNUSED; +{ + /* ??? Canonicalize STATUS value? */ + fclose (file); + return waitpid (pid, status, 0); +} diff -Nbaur gcc-3.4.4/libiberty/regex.c gcc-3.4.4-new/libiberty/regex.c --- gcc-3.4.4/libiberty/regex.c Tue Apr 15 15:24:26 2003 +++ gcc-3.4.4-new/libiberty/regex.c Wed Jul 6 01:50:39 2005 @@ -36,6 +36,8 @@ # include #endif +#include + #ifndef PARAMS # if defined __GNUC__ || (defined __STDC__ && __STDC__) # define PARAMS(args) args @@ -8040,7 +8042,7 @@ /* Map uppercase characters to corresponding lowercase ones. */ for (i = 0; i < CHAR_SET_SIZE; i++) - preg->translate[i] = ISUPPER (i) ? TOLOWER (i) : i; + preg->translate[i] = ISUPPER (i) ? TOLOWER (i) : (int) i; } else preg->translate = NULL; @@ -8175,7 +8177,7 @@ size_t regerror (errcode, preg, errbuf, errbuf_size) int errcode; - const regex_t *preg; + const regex_t *preg ATTRIBUTE_UNUSED; char *errbuf; size_t errbuf_size; { diff -Nbaur gcc-3.4.4/libiberty/strerror.c gcc-3.4.4-new/libiberty/strerror.c --- gcc-3.4.4/libiberty/strerror.c Thu Oct 2 20:06:29 2003 +++ gcc-3.4.4-new/libiberty/strerror.c Wed Jul 6 01:50:39 2005 @@ -2,9 +2,6 @@ Written by Fred Fish. fnf@cygnus.com This file is in the public domain. --Per Bothner. */ -#include "ansidecl.h" -#include "libiberty.h" - #include "config.h" #ifdef HAVE_SYS_ERRLIST @@ -17,6 +14,9 @@ #define sys_errlist sys_errlist__ #endif +#include "ansidecl.h" +#include "libiberty.h" + #include #include @@ -469,8 +469,10 @@ #else +#ifndef __MINGW32__ extern int sys_nerr; extern char *sys_errlist[]; +#endif #endif diff -Nbaur gcc-3.4.4/libiberty/testsuite/test-demangle.c gcc-3.4.4-new/libiberty/testsuite/test-demangle.c --- gcc-3.4.4/libiberty/testsuite/test-demangle.c Fri Jan 2 20:33:55 2004 +++ gcc-3.4.4-new/libiberty/testsuite/test-demangle.c Wed Jul 6 01:50:39 2005 @@ -26,6 +26,12 @@ #include #include "libiberty.h" #include "demangle.h" +#ifdef HAVE_STRING_H +#include +#endif +#if HAVE_STDLIB_H +# include +#endif struct line { @@ -119,7 +125,7 @@ int argc; char **argv; { - enum demangling_styles style; + enum demangling_styles style = auto_demangling; int no_params; int is_v3_ctor; int is_v3_dtor; diff -Nbaur gcc-3.4.4/libstdc++-v3/config/os/mingw32/os_defines.h gcc-3.4.4-new/libstdc++-v3/config/os/mingw32/os_defines.h --- gcc-3.4.4/libstdc++-v3/config/os/mingw32/os_defines.h Sat Jul 5 05:05:32 2003 +++ gcc-3.4.4-new/libstdc++-v3/config/os/mingw32/os_defines.h Wed Jul 6 01:50:39 2005 @@ -45,4 +45,11 @@ #undef NOMINMAX #define NOMINMAX 1 +// mingw32 local hack: Override _GLIBCXX_USE_WCHAR_T for wstring +#define _GLIBCXX_USE_WSTRING 1 + +// mingw32 local hack: Cast long double to doubles to workaround +// printf bug. +#define _GLIBCXX_NO_LONG_DOUBLE_IO 1 + #endif diff -Nbaur gcc-3.4.4/libstdc++-v3/configure.host gcc-3.4.4-new/libstdc++-v3/configure.host --- gcc-3.4.4/libstdc++-v3/configure.host Tue Oct 5 17:32:49 2004 +++ gcc-3.4.4-new/libstdc++-v3/configure.host Wed Jul 6 01:50:39 2005 @@ -180,6 +180,7 @@ ;; mingw32*) os_include_dir="os/mingw32" + atomicity_dir="cpu/i486" ;; netbsd*) os_include_dir="os/bsd/netbsd" diff -Nbaur gcc-3.4.4/libstdc++-v3/include/bits/char_traits.h gcc-3.4.4-new/libstdc++-v3/include/bits/char_traits.h --- gcc-3.4.4/libstdc++-v3/include/bits/char_traits.h Thu Mar 18 17:36:47 2004 +++ gcc-3.4.4-new/libstdc++-v3/include/bits/char_traits.h Wed Jul 6 01:50:39 2005 @@ -296,7 +296,7 @@ }; -#ifdef _GLIBCXX_USE_WCHAR_T +#if defined (_GLIBCXX_USE_WCHAR_T) || defined (_GLIBCXX_USE_WSTRING) /// 21.1.3.2 char_traits specializations template<> struct char_traits @@ -304,8 +304,10 @@ typedef wchar_t char_type; typedef wint_t int_type; typedef streamoff off_type; +#if defined (_GLIBCXX_USE_WCHAR_T) typedef wstreampos pos_type; typedef mbstate_t state_type; +#endif static void assign(char_type& __c1, const char_type& __c2) diff -Nbaur gcc-3.4.4/libstdc++-v3/include/bits/locale_facets.tcc gcc-3.4.4-new/libstdc++-v3/include/bits/locale_facets.tcc --- gcc-3.4.4/libstdc++-v3/include/bits/locale_facets.tcc Thu Nov 18 10:50:19 2004 +++ gcc-3.4.4-new/libstdc++-v3/include/bits/locale_facets.tcc Wed Jul 6 01:50:39 2005 @@ -765,7 +765,13 @@ string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); +#if defined (GLIBCXX_NO_LONG_DOUBLE_IO) && !defined(_GLIBCXX_USE_C99) + double __vd; + std::__convert_to_v(__xtrc.c_str(), __vd, __err, _S_get_c_locale()); + __v = static_cast(__vd); +#else std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); +#endif return __beg; } @@ -1220,7 +1226,14 @@ num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long double __v) const - { return _M_insert_float(__s, __io, __fill, 'L', __v); } + { +#ifdef _GLIBCXX_NO_LONG_DOUBLE_IO + return _M_insert_float(__s, __io, __fill, char_type(), + static_cast(__v)); +#else + return _M_insert_float(__s, __io, __fill, 'L', __v); +#endif + } template _OutIter @@ -1464,7 +1477,13 @@ __beg = _M_extract(__beg, __end, __io, __err, __str); else __beg = _M_extract(__beg, __end, __io, __err, __str); +#if defined _GLIBCXX_NO_LONG_DOUBLE_IO && !defined (_GLIBCXX_USE_C99) + double __dunits; + std::__convert_to_v(__str.c_str(), __dunits, __err, _S_get_c_locale()); + __units = static_cast(__dunits); +#else // _GLIBCXX_NO_LONG_DOUBLE_IO && !defined (_GLIBCXX_USE_C99) std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale()); +#endif // _GLIBCXX_NO_LONG_DOUBLE_IO return __beg; } @@ -1667,6 +1686,32 @@ { const locale __loc = __io.getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); +#ifdef _GLIBCXX_NO_LONG_DOUBLE_IO + double __dunits = static_cast(__units); +#ifdef _GLIBCXX_USE_C99 + // First try a buffer perhaps big enough. + int __cs_size = 64; + char* __cs = static_cast(__builtin_alloca(__cs_size)); + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 328. Bad sprintf format modifier in money_put<>::do_put() + int __len = std::__convert_from_v(__cs, __cs_size, "%.0f", __dunits, + _S_get_c_locale()); + // If the buffer was not large enough, try again with the correct size. + if (__len >= __cs_size) + { + __cs_size = __len + 1; + __cs = static_cast(__builtin_alloca(__cs_size)); + __len = std::__convert_from_v(__cs, __cs_size, "%.0f", __dunits, + _S_get_c_locale()); + } +#else + // max_exponent10 + 1 for the integer part, + 2 for sign and '\0'. + const int __cs_size = numeric_limits::max_exponent10 + 3; + char* __cs = static_cast(__builtin_alloca(__cs_size)); + int __len = std::__convert_from_v(__cs, 0, "%.0f", __dunits, + _S_get_c_locale()); +#endif +#else // _GLIBCXX_NO_LONG_DOUBLE_IO #ifdef _GLIBCXX_USE_C99 // First try a buffer perhaps big enough. int __cs_size = 64; @@ -1690,6 +1735,7 @@ int __len = std::__convert_from_v(__cs, 0, "%.*Lf", __units, _S_get_c_locale(), 0); #endif +#endif // _GLIBCXX_NO_LONG_DOUBLE_IO _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __cs_size)); __ctype.widen(__cs, __cs + __len, __ws); diff -Nbaur gcc-3.4.4/libstdc++-v3/include/bits/stringfwd.h gcc-3.4.4-new/libstdc++-v3/include/bits/stringfwd.h --- gcc-3.4.4/libstdc++-v3/include/bits/stringfwd.h Thu Mar 18 17:37:03 2004 +++ gcc-3.4.4-new/libstdc++-v3/include/bits/stringfwd.h Wed Jul 6 01:50:39 2005 @@ -59,7 +59,7 @@ typedef basic_string string; -#ifdef _GLIBCXX_USE_WCHAR_T +#if defined (_GLIBCXX_USE_WCHAR_T) || defined (_GLIBCXX_USE_WSTRING) template<> struct char_traits; typedef basic_string wstring; diff -Nbaur gcc-3.4.4/libstdc++-v3/libsupc++/Makefile.in gcc-3.4.4-new/libstdc++-v3/libsupc++/Makefile.in --- gcc-3.4.4/libstdc++-v3/libsupc++/Makefile.in Thu Mar 18 17:37:08 2004 +++ gcc-3.4.4-new/libstdc++-v3/libsupc++/Makefile.in Wed Jul 6 01:50:39 2005 @@ -210,7 +210,7 @@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. CONFIG_CXXFLAGS = \ - $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS) + $(EXTRA_CXX_FLAGS) WARN_CXXFLAGS = \ $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once diff -Nbaur gcc-3.4.4/libstdc++-v3/libsupc++/eh_globals.cc gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_globals.cc --- gcc-3.4.4/libstdc++-v3/libsupc++/eh_globals.cc Mon Nov 8 17:41:19 2004 +++ gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_globals.cc Wed Jul 6 01:50:40 2005 @@ -32,6 +32,9 @@ #include #include "unwind-cxx.h" #include "bits/c++config.h" +#ifdef __MINGW32__ +#undef __GTHREAD_HIDE_WIN32API +#endif #include "bits/gthr.h" using namespace __cxxabiv1; diff -Nbaur gcc-3.4.4/libstdc++-v3/libsupc++/eh_term_handler.cc gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_term_handler.cc --- gcc-3.4.4/libstdc++-v3/libsupc++/eh_term_handler.cc Tue Sep 2 19:46:54 2003 +++ gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_term_handler.cc Wed Jul 6 01:50:40 2005 @@ -41,6 +41,7 @@ # include #endif +#if !(defined (__MINGW32__) || defined (__CYGWIN__)) /* The current installed user handler. */ std::terminate_handler __cxxabiv1::__terminate_handler = #if _GLIBCXX_HOSTED @@ -49,3 +50,4 @@ std::abort; #endif +#endif diff -Nbaur gcc-3.4.4/libstdc++-v3/libsupc++/eh_terminate.cc gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_terminate.cc --- gcc-3.4.4/libstdc++-v3/libsupc++/eh_terminate.cc Sat May 24 17:22:03 2003 +++ gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_terminate.cc Wed Jul 6 01:50:40 2005 @@ -50,6 +50,11 @@ void std::terminate () { +#if 0 // (defined (__MINGW32__) || defined (__CYGWIN__)) + if (__terminate_handler == NULL ) + __terminate (__gnu_cxx::__verbose_terminate_handler); + else +#endif __terminate (__terminate_handler); } @@ -63,6 +68,11 @@ void std::unexpected () { +#if 0 // (defined (__MINGW32__) || defined (__CYGWIN__)) + if (__unexpected_handler == NULL) + std::terminate(); + else +#endif __unexpected (__unexpected_handler); } diff -Nbaur gcc-3.4.4/libstdc++-v3/libsupc++/eh_unex_handler.cc gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_unex_handler.cc --- gcc-3.4.4/libstdc++-v3/libsupc++/eh_unex_handler.cc Sat May 24 17:22:03 2003 +++ gcc-3.4.4-new/libstdc++-v3/libsupc++/eh_unex_handler.cc Wed Jul 6 01:50:40 2005 @@ -29,6 +29,7 @@ #include "unwind-cxx.h" +#if !(defined (__MINGW32__) || defined (__CYGWIN__)) /* The current installed user handler. */ std::unexpected_handler __cxxabiv1::__unexpected_handler = std::terminate; - +#endif diff -Nbaur gcc-3.4.4/libstdc++-v3/libsupc++/typeinfo gcc-3.4.4-new/libstdc++-v3/libsupc++/typeinfo --- gcc-3.4.4/libstdc++-v3/libsupc++/typeinfo Sat Jul 5 05:05:40 2003 +++ gcc-3.4.4-new/libstdc++-v3/libsupc++/typeinfo Wed Jul 6 01:50:40 2005 @@ -44,7 +44,7 @@ class __class_type_info; } // namespace __cxxabiv1 -#if !__GXX_WEAK__ +#if !__GXX_WEAK__ || defined (__MINGW32__) || defined (__CYGWIN__) // If weak symbols are not supported, typeinfo names are not merged. #define __GXX_MERGED_TYPEINFO_NAMES 0 #else diff -Nbaur gcc-3.4.4/libstdc++-v3/libsupc++/unwind-cxx.h gcc-3.4.4-new/libstdc++-v3/libsupc++/unwind-cxx.h --- gcc-3.4.4/libstdc++-v3/libsupc++/unwind-cxx.h Sat Jul 5 05:05:41 2003 +++ gcc-3.4.4-new/libstdc++-v3/libsupc++/unwind-cxx.h Wed Jul 6 01:50:40 2005 @@ -125,9 +125,16 @@ extern void __terminate(std::terminate_handler) __attribute__((noreturn)); extern void __unexpected(std::unexpected_handler) __attribute__((noreturn)); -// The current installed user handlers. + // The current installed user handlers. +#if defined (__MINGW32__) || defined (__CYGWIN__) +extern "C" void** __w32_sharedptr_terminate; +extern "C" void** __w32_sharedptr_unexpected; +#define __terminate_handler (*(std::terminate_handler*)(__w32_sharedptr_terminate)) +#define __unexpected_handler (*(std::unexpected_handler*)(__w32_sharedptr_unexpected)) +#else extern std::terminate_handler __terminate_handler; extern std::unexpected_handler __unexpected_handler; +#endif // These are explicitly GNU C++ specific. diff -Nbaur gcc-3.4.4/libstdc++-v3/src/Makefile.in gcc-3.4.4-new/libstdc++-v3/src/Makefile.in --- gcc-3.4.4/libstdc++-v3/src/Makefile.in Fri Apr 16 20:08:35 2004 +++ gcc-3.4.4-new/libstdc++-v3/src/Makefile.in Wed Jul 6 01:50:40 2005 @@ -211,7 +211,7 @@ # These bits are all figured out from configure. Look in acinclude.m4 # or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. CONFIG_CXXFLAGS = \ - $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS) + $(EXTRA_CXX_FLAGS) WARN_CXXFLAGS = \ $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once diff -Nbaur gcc-3.4.4/libstdc++-v3/src/globals_io.cc gcc-3.4.4-new/libstdc++-v3/src/globals_io.cc --- gcc-3.4.4/libstdc++-v3/src/globals_io.cc Thu Mar 18 17:37:13 2004 +++ gcc-3.4.4-new/libstdc++-v3/src/globals_io.cc Wed Jul 6 01:50:40 2005 @@ -26,6 +26,9 @@ // the GNU General Public License. #include "bits/c++config.h" +#ifdef __MINGW32__ +#undef __GTHREAD_HIDE_WIN32API +#endif #include "bits/gthr.h" #include #include diff -Nbaur gcc-3.4.4/ltcf-c.sh gcc-3.4.4-new/ltcf-c.sh --- gcc-3.4.4/ltcf-c.sh Wed Nov 19 05:29:32 2003 +++ gcc-3.4.4-new/ltcf-c.sh Wed Jul 6 01:50:40 2005 @@ -38,17 +38,17 @@ lt_simple_link_test_code='main(){return(0);}' ## Linker Characteristics -case $host_os in -cygwin* | mingw*) +#case $host_os in +#cygwin* | mingw*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. - if test "$with_gcc" != yes; then - with_gnu_ld=no - fi - ;; - -esac +# if test "$with_gcc" != yes; then +# with_gnu_ld=no +# fi +# ;; +# +#esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then