On Fri, 10 Jun 2016 10:08:11 +0200 Emilio Pozuelo Monfort <po...@debian.org> wrote: > Package: libgnatprj6 > Version: 6.1.1-6 > Severity: serious > > A few days ago, libgnatprj6 was working just fine. However it looks like > one of the recent uploads has broken it, causing undefined references: > > https://buildd.debian.org/status/logs.php?pkg=asis&ver=2015-1%2Bb1 > https://buildd.debian.org/status/logs.php?pkg=libgnatcoll&ver=1.7gpl2015-1%2Bb3 > https://buildd.debian.org/status/logs.php?pkg=libgtkada&ver=3.8.3-1%2Bb2
With the attached patch, gprbuild can executable correctly, and the above package can be built. To build prefix.c for target, I have to get a config.h file and define some macro. > > Cheers, > Emilio > >
diff --git a/debian/patches/ada-libgnatprj.diff b/debian/patches/ada-libgnatprj.diff index 70043fa..3ce8b46 100644 --- a/debian/patches/ada-libgnatprj.diff +++ b/debian/patches/ada-libgnatprj.diff @@ -95,7 +95,7 @@ Index: b/src/libgnatprj/Makefile.in + +# Add some object files compiled from C sources. prefix.o requires +# some objects from libiberty and from gcc. -+# OBJECTS += common-targhooks.o errors.o hooks.o link.o prefix.o targetm.o ++OBJECTS += link.o prefix.o + +# These object files have already been built, both PIC and non-PIC. +# prefix.o depends on them. @@ -124,12 +124,12 @@ Index: b/src/libgnatprj/Makefile.in + +obj-shared/%.o: %.c + $(GPP) -c -fPIC $(CFLAGS) -DHAVE_CONFIG_H -pedantic \ -+ -I@srcdir@/../gcc -I@srcdir@/../include -I@srcdir@/../libcpp/include -I../../gcc -DUSED_FOR_TARGET \ ++ -I. -I@srcdir@/../gcc -I@srcdir@/../include -I@srcdir@/../libcpp/include -I../../gcc -DUSED_FOR_TARGET \ + $< -o $@ + +obj-shared/prefix.o: @srcdir@/../gcc/prefix.c + $(GPP) -c -fPIC $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \ -+ -I@srcdir@/../gcc -I@srcdir@/../include -I../../gcc -I@srcdir@/../libcpp/include -DUSED_FOR_TARGET \ ++ -I. -I@srcdir@/../gcc -I@srcdir@/../include -I../../gcc -I@srcdir@/../libcpp/include -DUSED_FOR_TARGET \ + $< -o $@ + +obj-shared: @@ -150,12 +150,12 @@ Index: b/src/libgnatprj/Makefile.in + +obj-static/%.o: %.c + $(GPP) -c $(CFLAGS) -DHAVE_CONFIG_H -pedantic \ -+ -I@srcdir@/../gcc -I@srcdir@/../include -I@srcdir@/../libcpp/include -I../../gcc -DUSED_FOR_TARGET \ ++ -I. -I@srcdir@/../gcc -I@srcdir@/../include -I@srcdir@/../libcpp/include -I../../gcc -DUSED_FOR_TARGET \ + $< -o $@ + +obj-static/prefix.o: @srcdir@/../gcc/prefix.c + $(GPP) -c $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \ -+ -I@srcdir@/../gcc -I@srcdir@/../include -I../../gcc -I@srcdir@/../libcpp/include -DUSED_FOR_TARGET \ ++ -I. -I@srcdir@/../gcc -I@srcdir@/../include -I../../gcc -I@srcdir@/../libcpp/include -DUSED_FOR_TARGET \ + $< -o $@ + +obj-static: @@ -277,7 +277,7 @@ Index: b/src/libgnatprj/configure.ac =================================================================== --- /dev/null +++ b/src/libgnatprj/configure.ac -@@ -0,0 +1,146 @@ +@@ -0,0 +1,557 @@ +# Configure script for libada. +# Copyright 2003, 2004 Free Software Foundation, Inc. +# @@ -308,12 +308,423 @@ Index: b/src/libgnatprj/configure.ac +AC_CANONICAL_HOST +AC_CANONICAL_TARGET + ++GCC_NO_EXECUTABLES ++AC_PROG_CC ++AC_GNU_SOURCE ++AC_PROG_CPP_WERROR ++ ++AC_PROG_CC_C_O ++# autoconf is lame and doesn't give us any substitution variable for this. ++if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then ++ NO_MINUS_C_MINUS_O=yes ++else ++ OUTPUT_OPTION='-o $@' ++fi ++AC_SUBST(NO_MINUS_C_MINUS_O) ++AC_SUBST(OUTPUT_OPTION) ++ ++AC_C_CONST ++AC_C_INLINE ++AC_C_BIGENDIAN ++ ++dnl When we start using libtool: ++dnl AM_PROG_LIBTOOL ++ ++dnl When we start using automake: ++dnl AM_CONFIG_HEADER(config.h:config.in) ++AC_CONFIG_HEADER(config.h:config.in) ++ +sinclude(../config/acx.m4) +ACX_NONCANONICAL_TARGET + +# Need to pass this down for now :-P +AC_PROG_LN_S + ++# It's OK to check for header files. Although the compiler may not be ++# able to link anything, it had better be able to at least compile ++# something. ++AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h stdio_ext.h process.h sys/prctl.h) ++AC_HEADER_SYS_WAIT ++AC_HEADER_TIME ++ ++# Determine sizes of some types. ++AC_CHECK_SIZEOF([int]) ++AC_CHECK_SIZEOF([long]) ++AC_CHECK_SIZEOF([size_t]) ++ ++AC_TYPE_INTPTR_T ++AC_TYPE_UINTPTR_T ++AC_TYPE_SSIZE_T ++ ++# Given the above check, we always have uintptr_t or a fallback ++# definition. So define HAVE_UINTPTR_T in case any imported code ++# relies on it. ++AC_DEFINE(HAVE_UINTPTR_T, 1, [Define if you have the \`uintptr_t' type.]) ++ ++AC_TYPE_PID_T ++ ++# This is the list of functions which libiberty will provide if they ++# are not available on the host. ++ ++funcs="asprintf" ++funcs="$funcs atexit" ++funcs="$funcs basename" ++funcs="$funcs bcmp" ++funcs="$funcs bcopy" ++funcs="$funcs bsearch" ++funcs="$funcs bzero" ++funcs="$funcs calloc" ++funcs="$funcs clock" ++funcs="$funcs ffs" ++funcs="$funcs getcwd" ++funcs="$funcs getpagesize" ++funcs="$funcs gettimeofday" ++funcs="$funcs index" ++funcs="$funcs insque" ++funcs="$funcs memchr" ++funcs="$funcs memcmp" ++funcs="$funcs memcpy" ++funcs="$funcs memmem" ++funcs="$funcs memmove" ++funcs="$funcs mempcpy" ++funcs="$funcs memset" ++funcs="$funcs mkstemps" ++funcs="$funcs putenv" ++funcs="$funcs random" ++funcs="$funcs rename" ++funcs="$funcs rindex" ++funcs="$funcs setenv" ++funcs="$funcs snprintf" ++funcs="$funcs sigsetmask" ++funcs="$funcs stpcpy" ++funcs="$funcs stpncpy" ++funcs="$funcs strcasecmp" ++funcs="$funcs strchr" ++funcs="$funcs strdup" ++funcs="$funcs strncasecmp" ++funcs="$funcs strndup" ++funcs="$funcs strnlen" ++funcs="$funcs strrchr" ++funcs="$funcs strstr" ++funcs="$funcs strtod" ++funcs="$funcs strtol" ++funcs="$funcs strtoul" ++funcs="$funcs strtoll" ++funcs="$funcs strtoull" ++funcs="$funcs strverscmp" ++funcs="$funcs tmpnam" ++funcs="$funcs vasprintf" ++funcs="$funcs vfprintf" ++funcs="$funcs vprintf" ++funcs="$funcs vsnprintf" ++funcs="$funcs vsprintf" ++funcs="$funcs waitpid" ++funcs="$funcs setproctitle" ++ ++# Also in the old function.def file: alloca, vfork, getopt. ++ ++vars="sys_errlist sys_nerr sys_siglist" ++ ++checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \ ++ getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \ ++ realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \ ++ sysmp table times wait3 wait4" ++ ++# These are neither executed nor required, but they help keep ++# autoheader happy without adding a bunch of text to acconfig.h. ++if test "x" = "y"; then ++ AC_CHECK_FUNCS(asprintf atexit \ ++ basename bcmp bcopy bsearch bzero \ ++ calloc canonicalize_file_name clock \ ++ dup3 \ ++ ffs __fsetlocking \ ++ getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \ ++ index insque \ ++ memchr memcmp memcpy memmem memmove memset mkstemps \ ++ on_exit \ ++ psignal pstat_getdynamic pstat_getstatic putenv \ ++ random realpath rename rindex \ ++ sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \ ++ stpcpy stpncpy strcasecmp strchr strdup \ ++ strerror strncasecmp strndup strnlen strrchr strsignal strstr strtod \ ++ strtol strtoul strtoll strtoull strverscmp sysconf sysctl sysmp \ ++ table times tmpnam \ ++ vasprintf vfprintf vprintf vsprintf \ ++ wait3 wait4 waitpid) ++ AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf, strtol, strtoul, strtoll, strtoull]) ++ AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.]) ++ AC_DEFINE(HAVE_SYS_NERR, 1, [Define if you have the sys_nerr variable.]) ++ AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.]) ++fi ++ ++# For each of these functions, if the host does not provide the ++# function we want to put FN.o in LIBOBJS, and if the host does ++# provide the function, we want to define HAVE_FN in config.h. ++ ++setobjs= ++CHECK= ++if test -n "${with_target_subdir}"; then ++ ++ # We are being configured as a target library. AC_REPLACE_FUNCS ++ # may not work correctly, because the compiler may not be able to ++ # link executables. Note that we may still be being configured ++ # native. ++ ++ # If we are being configured for newlib, we know which functions ++ # newlib provide and which ones we will be expected to provide. ++ ++ if test "x${with_newlib}" = "xyes"; then ++ AC_LIBOBJ([asprintf]) ++ AC_LIBOBJ([basename]) ++ AC_LIBOBJ([insque]) ++ AC_LIBOBJ([random]) ++ AC_LIBOBJ([strdup]) ++ AC_LIBOBJ([vasprintf]) ++ ++ for f in $funcs; do ++ case "$f" in ++ asprintf | basename | insque | random | strdup | vasprintf) ++ ;; ++ *) ++ n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ++ AC_DEFINE_UNQUOTED($n) ++ ;; ++ esac ++ done ++ ++ # newlib doesnt provide any of the variables in $vars, so we ++ # dont have to check them here. ++ ++ # Of the functions in $checkfuncs, newlib only has strerror. ++ AC_DEFINE(HAVE_STRERROR) ++ ++ setobjs=yes ++ ++ fi ++ ++ # If we are being configured for Mingw, we know which functions ++ # Mingw provides and which ones we will be expected to provide. ++ ++ case "${host}" in ++ *-*-mingw*) ++ AC_LIBOBJ([asprintf]) ++ AC_LIBOBJ([basename]) ++ AC_LIBOBJ([bcmp]) ++ AC_LIBOBJ([bcopy]) ++ AC_LIBOBJ([bzero]) ++ AC_LIBOBJ([clock]) ++ AC_LIBOBJ([ffs]) ++ AC_LIBOBJ([getpagesize]) ++ AC_LIBOBJ([index]) ++ AC_LIBOBJ([insque]) ++ AC_LIBOBJ([mempcpy]) ++ AC_LIBOBJ([mkstemps]) ++ AC_LIBOBJ([random]) ++ AC_LIBOBJ([rindex]) ++ AC_LIBOBJ([sigsetmask]) ++ AC_LIBOBJ([stpcpy]) ++ AC_LIBOBJ([stpncpy]) ++ AC_LIBOBJ([strndup]) ++ AC_LIBOBJ([strnlen]) ++ AC_LIBOBJ([strverscmp]) ++ AC_LIBOBJ([vasprintf]) ++ AC_LIBOBJ([waitpid]) ++ ++ for f in $funcs; do ++ case "$f" in ++ asprintf | basename | bcmp | bcopy | bzero | clock | ffs | getpagesize | index | insque | mempcpy | mkstemps | random | rindex | sigsetmask | stpcpy | stpncpy | strdup | strndup | strnlen | strverscmp | vasprintf | waitpid) ++ ;; ++ *) ++ n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ++ AC_DEFINE_UNQUOTED($n) ++ ;; ++ esac ++ done ++ ++ # Mingw doesnt provide any of the variables in $vars, so we ++ # dont have to check them here. ++ ++ # Of the functions in $checkfuncs, Mingw only has strerror. ++ AC_DEFINE(HAVE_STRERROR) ++ ++ setobjs=yes ++ ;; ++ ++ *-*-msdosdjgpp) ++ AC_LIBOBJ([vasprintf]) ++ AC_LIBOBJ([vsnprintf]) ++ AC_LIBOBJ([snprintf]) ++ AC_LIBOBJ([asprintf]) ++ ++ for f in atexit basename bcmp bcopy bsearch bzero calloc clock ffs \ ++ getcwd getpagesize getrusage gettimeofday \ ++ index insque memchr memcmp memcpy memmove memset psignal \ ++ putenv random rename rindex sbrk setenv stpcpy strcasecmp \ ++ strchr strdup strerror strncasecmp strrchr strstr strtod \ ++ strtol strtoul sysconf times tmpnam vfprintf vprintf \ ++ vsprintf waitpid ++ do ++ n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ++ AC_DEFINE_UNQUOTED($n) ++ done ++ ++ ++ setobjs=yes ++ ;; ++ ++ esac ++ ++else ++ ++ # Not a target library, so we set things up to run the test suite. ++ CHECK=really-check ++ ++fi ++ ++AC_SUBST(CHECK) ++AC_SUBST(target_header_dir) ++ ++case "${host}" in ++ *-*-cygwin* | *-*-mingw*) ++ AC_DEFINE(HAVE_SYS_ERRLIST) ++ AC_DEFINE(HAVE_SYS_NERR) ++ ;; ++esac ++ ++if test -z "${setobjs}"; then ++ case "${host}" in ++ ++ *-*-vxworks*) ++ # Handle VxWorks configuration specially, since on VxWorks the ++ # libraries are actually on the target board, not in the file ++ # system. ++ AC_LIBOBJ([basename]) ++ AC_LIBOBJ([getpagesize]) ++ AC_LIBOBJ([insque]) ++ AC_LIBOBJ([random]) ++ AC_LIBOBJ([strcasecmp]) ++ AC_LIBOBJ([strncasecmp]) ++ AC_LIBOBJ([strdup]) ++ AC_LIBOBJ([vfork]) ++ AC_LIBOBJ([waitpid]) ++ AC_LIBOBJ([vasprintf]) ++ for f in $funcs; do ++ case "$f" in ++ basename | getpagesize | insque | random | strcasecmp) ++ ;; ++ strncasecmp | strdup | vfork | waitpid | vasprintf) ++ ;; ++ *) ++ n=HAVE_`echo $f | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ++ AC_DEFINE_UNQUOTED($n) ++ ;; ++ esac ++ done ++ ++ # VxWorks doesn't provide any of the variables in $vars, so we ++ # don't have to check them here. ++ ++ # Of the functions in $checkfuncs, VxWorks only has strerror. ++ AC_DEFINE(HAVE_STRERROR) ++ ++ setobjs=yes ++ ;; ++ ++ esac ++fi ++ ++if test -z "${setobjs}"; then ++ ++ case "${host}" in ++ ++ *-*-android*) ++ # On android, getpagesize is defined in unistd.h as a static inline ++ # function, which AC_CHECK_FUNCS does not handle properly. ++ ac_cv_func_getpagesize=yes ++ ;; ++ ++ *-*-mingw32*) ++ # Under mingw32, sys_nerr and sys_errlist exist, but they are ++ # macros, so the test below won't find them. ++ libgnatprj_cv_var_sys_nerr=yes ++ libgnatprj_cv_var_sys_errlist=yes ++ ;; ++ ++ *-*-msdosdjgpp*) ++ # vfork and fork are stubs. ++ ac_cv_func_vfork_works=no ++ ;; ++ ++ *-*-uwin*) ++ # Under some versions of uwin, vfork is notoriously buggy and the test ++ # can hang configure; on other versions, vfork exists just as a stub. ++ # FIXME: This should be removed once vfork in uwin's runtime is fixed. ++ ac_cv_func_vfork_works=no ++ # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are ++ # macros (actually, these are imported from a DLL, but the end effect ++ # is the same), so the test below won't find them. ++ libgnatprj_cv_var_sys_nerr=yes ++ libgnatprj_cv_var_sys_errlist=yes ++ ;; ++ ++ *-*-*vms*) ++ # Under VMS, vfork works very different than on Unix. The standard test ++ # won't work, and it isn't easily adaptable. It makes more sense to ++ # just force it. ++ ac_cv_func_vfork_works=yes ++ ;; ++ ++ esac ++ ++ # We haven't set the list of objects yet. Use the standard autoconf ++ # tests. This will only work if the compiler works. ++ AC_ISC_POSIX ++ AC_REPLACE_FUNCS($funcs) ++ AC_FUNC_FORK ++ if test $ac_cv_func_vfork_works = no; then ++ AC_LIBOBJ([vfork]) ++ fi ++ # We only need _doprnt if we might use it to implement v*printf. ++ if test $ac_cv_func_vprintf != yes \ ++ || test $ac_cv_func_vfprintf != yes \ ++ || test $ac_cv_func_vsprintf != yes; then ++ AC_REPLACE_FUNCS(_doprnt) ++ else ++ AC_CHECK_FUNCS(_doprnt) ++ fi ++ ++ for v in $vars; do ++ AC_MSG_CHECKING([for $v]) ++ AC_CACHE_VAL(libgnatprj_cv_var_$v, ++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])], ++ [eval "libgnatprj_cv_var_$v=yes"], ++ [eval "libgnatprj_cv_var_$v=no"])]) ++ if eval "test \"`echo '$libgnatprj_cv_var_'$v`\" = yes"; then ++ AC_MSG_RESULT(yes) ++ n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ++ AC_DEFINE_UNQUOTED($n) ++ else ++ AC_MSG_RESULT(no) ++ fi ++ done ++ ++ # 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_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/systemcfg.h>]], ++ [[double x = _system_configuration.physmem;]])], ++ [AC_MSG_RESULT([yes]) ++ AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1, ++ [Define if you have the _system_configuration variable.])], ++ [AC_MSG_RESULT([no])]) ++ ++ AC_CHECK_FUNCS($checkfuncs) ++ AC_CHECK_DECLS([basename, ffs, asprintf, vasprintf, snprintf, vsnprintf]) ++ AC_CHECK_DECLS([calloc, getenv, getopt, malloc, realloc, sbrk]) ++ AC_CHECK_DECLS([strtol, strtoul, strtoll, strtoull]) ++ AC_CHECK_DECLS([strverscmp]) ++fi ++ +# Determine x_ada_cflags +case $host in + hppa*) x_ada_cflags=-mdisable-indexing ;; @@ -981,3 +1392,600 @@ Index: b/src/Makefile.in configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss configure-target-libitm: maybe-all-target-newlib maybe-all-target-libgloss +Index: b/src/libgnatprj/config.in +=================================================================== +--- /dev/null ++++ b/src/libgnatprj/config.in +@@ -0,0 +1,565 @@ ++/* config.in. Generated from configure.ac by autoheader. */ ++ ++/* Define if building universal (internal helper macro) */ ++#undef AC_APPLE_UNIVERSAL_BUILD ++ ++/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. ++ This function is required for alloca.c support on those systems. */ ++#undef CRAY_STACKSEG_END ++ ++/* Define to 1 if you have the <alloca.h> header file. */ ++#undef HAVE_ALLOCA_H ++ ++/* Define to 1 if you have the `asprintf' function. */ ++#undef HAVE_ASPRINTF ++ ++/* Define to 1 if you have the `atexit' function. */ ++#undef HAVE_ATEXIT ++ ++/* Define to 1 if you have the `basename' function. */ ++#undef HAVE_BASENAME ++ ++/* Define to 1 if you have the `bcmp' function. */ ++#undef HAVE_BCMP ++ ++/* Define to 1 if you have the `bcopy' function. */ ++#undef HAVE_BCOPY ++ ++/* Define to 1 if you have the `bsearch' function. */ ++#undef HAVE_BSEARCH ++ ++/* Define to 1 if you have the `bzero' function. */ ++#undef HAVE_BZERO ++ ++/* Define to 1 if you have the `calloc' function. */ ++#undef HAVE_CALLOC ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++#undef HAVE_CANONICALIZE_FILE_NAME ++ ++/* Define to 1 if you have the `clock' function. */ ++#undef HAVE_CLOCK ++ ++/* Define to 1 if you have the declaration of `asprintf', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_ASPRINTF ++ ++/* Define to 1 if you have the declaration of `basename(char *)', and to 0 if ++ you don't. */ ++#undef HAVE_DECL_BASENAME ++ ++/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. ++ */ ++#undef HAVE_DECL_CALLOC ++ ++/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ ++#undef HAVE_DECL_FFS ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#undef HAVE_DECL_GETENV ++ ++/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. ++ */ ++#undef HAVE_DECL_GETOPT ++ ++/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. ++ */ ++#undef HAVE_DECL_MALLOC ++ ++/* Define to 1 if you have the declaration of `realloc', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_REALLOC ++ ++/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. ++ */ ++#undef HAVE_DECL_SBRK ++ ++/* Define to 1 if you have the declaration of `snprintf', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_SNPRINTF ++ ++/* Define to 1 if you have the declaration of `strtol', and to 0 if you don't. ++ */ ++#undef HAVE_DECL_STRTOL ++ ++/* Define to 1 if you have the declaration of `strtoll', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_STRTOLL ++ ++/* Define to 1 if you have the declaration of `strtoul', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_STRTOUL ++ ++/* Define to 1 if you have the declaration of `strtoull', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_STRTOULL ++ ++/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_STRVERSCMP ++ ++/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_VASPRINTF ++ ++/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you ++ don't. */ ++#undef HAVE_DECL_VSNPRINTF ++ ++/* Define to 1 if you have the `dup3' function. */ ++#undef HAVE_DUP3 ++ ++/* Define to 1 if you have the <fcntl.h> header file. */ ++#undef HAVE_FCNTL_H ++ ++/* Define to 1 if you have the `ffs' function. */ ++#undef HAVE_FFS ++ ++/* Define to 1 if you have the `fork' function. */ ++#undef HAVE_FORK ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#undef HAVE_GETCWD ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#undef HAVE_GETPAGESIZE ++ ++/* Define to 1 if you have the `getrlimit' function. */ ++#undef HAVE_GETRLIMIT ++ ++/* Define to 1 if you have the `getrusage' function. */ ++#undef HAVE_GETRUSAGE ++ ++/* Define to 1 if you have the `getsysinfo' function. */ ++#undef HAVE_GETSYSINFO ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#undef HAVE_GETTIMEOFDAY ++ ++/* Define to 1 if you have the `index' function. */ ++#undef HAVE_INDEX ++ ++/* Define to 1 if you have the `insque' function. */ ++#undef HAVE_INSQUE ++ ++/* Define to 1 if the system has the type `intptr_t'. */ ++#undef HAVE_INTPTR_T ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define to 1 if you have the <limits.h> header file. */ ++#undef HAVE_LIMITS_H ++ ++/* Define if you have the `long long' type. */ ++#undef HAVE_LONG_LONG ++ ++/* Define to 1 if you have the <machine/hal_sysinfo.h> header file. */ ++#undef HAVE_MACHINE_HAL_SYSINFO_H ++ ++/* Define to 1 if you have the <malloc.h> header file. */ ++#undef HAVE_MALLOC_H ++ ++/* Define to 1 if you have the `memchr' function. */ ++#undef HAVE_MEMCHR ++ ++/* Define to 1 if you have the `memcmp' function. */ ++#undef HAVE_MEMCMP ++ ++/* Define to 1 if you have the `memcpy' function. */ ++#undef HAVE_MEMCPY ++ ++/* Define to 1 if you have the `memmem' function. */ ++#undef HAVE_MEMMEM ++ ++/* Define to 1 if you have the `memmove' function. */ ++#undef HAVE_MEMMOVE ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#undef HAVE_MEMORY_H ++ ++/* Define to 1 if you have the `memset' function. */ ++#undef HAVE_MEMSET ++ ++/* Define to 1 if you have the `mkstemps' function. */ ++#undef HAVE_MKSTEMPS ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++#undef HAVE_MMAP ++ ++/* Define to 1 if you have the `on_exit' function. */ ++#undef HAVE_ON_EXIT ++ ++/* Define to 1 if you have the <process.h> header file. */ ++#undef HAVE_PROCESS_H ++ ++/* Define to 1 if you have the `psignal' function. */ ++#undef HAVE_PSIGNAL ++ ++/* Define to 1 if you have the `pstat_getdynamic' function. */ ++#undef HAVE_PSTAT_GETDYNAMIC ++ ++/* Define to 1 if you have the `pstat_getstatic' function. */ ++#undef HAVE_PSTAT_GETSTATIC ++ ++/* Define to 1 if you have the `putenv' function. */ ++#undef HAVE_PUTENV ++ ++/* Define to 1 if you have the `random' function. */ ++#undef HAVE_RANDOM ++ ++/* Define to 1 if you have the `realpath' function. */ ++#undef HAVE_REALPATH ++ ++/* Define to 1 if you have the `rename' function. */ ++#undef HAVE_RENAME ++ ++/* Define to 1 if you have the `rindex' function. */ ++#undef HAVE_RINDEX ++ ++/* Define to 1 if you have the `sbrk' function. */ ++#undef HAVE_SBRK ++ ++/* Define to 1 if you have the `setenv' function. */ ++#undef HAVE_SETENV ++ ++/* Define to 1 if you have the `setproctitle' function. */ ++#undef HAVE_SETPROCTITLE ++ ++/* Define to 1 if you have the `setrlimit' function. */ ++#undef HAVE_SETRLIMIT ++ ++/* Define to 1 if you have the `sigsetmask' function. */ ++#undef HAVE_SIGSETMASK ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#undef HAVE_SNPRINTF ++ ++/* Define to 1 if you have the `spawnve' function. */ ++#undef HAVE_SPAWNVE ++ ++/* Define to 1 if you have the `spawnvpe' function. */ ++#undef HAVE_SPAWNVPE ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define to 1 if you have the <stdio_ext.h> header file. */ ++#undef HAVE_STDIO_EXT_H ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#undef HAVE_STDLIB_H ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++#undef HAVE_STPCPY ++ ++/* Define to 1 if you have the `stpncpy' function. */ ++#undef HAVE_STPNCPY ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++#undef HAVE_STRCASECMP ++ ++/* Define to 1 if you have the `strchr' function. */ ++#undef HAVE_STRCHR ++ ++/* Define to 1 if you have the `strdup' function. */ ++#undef HAVE_STRDUP ++ ++/* Define to 1 if you have the `strerror' function. */ ++#undef HAVE_STRERROR ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#undef HAVE_STRINGS_H ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#undef HAVE_STRING_H ++ ++/* Define to 1 if you have the `strncasecmp' function. */ ++#undef HAVE_STRNCASECMP ++ ++/* Define to 1 if you have the `strndup' function. */ ++#undef HAVE_STRNDUP ++ ++/* Define to 1 if you have the `strnlen' function. */ ++#undef HAVE_STRNLEN ++ ++/* Define to 1 if you have the `strrchr' function. */ ++#undef HAVE_STRRCHR ++ ++/* Define to 1 if you have the `strsignal' function. */ ++#undef HAVE_STRSIGNAL ++ ++/* Define to 1 if you have the `strstr' function. */ ++#undef HAVE_STRSTR ++ ++/* Define to 1 if you have the `strtod' function. */ ++#undef HAVE_STRTOD ++ ++/* Define to 1 if you have the `strtol' function. */ ++#undef HAVE_STRTOL ++ ++/* Define to 1 if you have the `strtoll' function. */ ++#undef HAVE_STRTOLL ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#undef HAVE_STRTOUL ++ ++/* Define to 1 if you have the `strtoull' function. */ ++#undef HAVE_STRTOULL ++ ++/* Define to 1 if you have the `strverscmp' function. */ ++#undef HAVE_STRVERSCMP ++ ++/* Define to 1 if you have the `sysconf' function. */ ++#undef HAVE_SYSCONF ++ ++/* Define to 1 if you have the `sysctl' function. */ ++#undef HAVE_SYSCTL ++ ++/* Define to 1 if you have the `sysmp' function. */ ++#undef HAVE_SYSMP ++ ++/* Define if you have the sys_errlist variable. */ ++#undef HAVE_SYS_ERRLIST ++ ++/* Define to 1 if you have the <sys/file.h> header file. */ ++#undef HAVE_SYS_FILE_H ++ ++/* Define to 1 if you have the <sys/mman.h> header file. */ ++#undef HAVE_SYS_MMAN_H ++ ++/* Define if you have the sys_nerr variable. */ ++#undef HAVE_SYS_NERR ++ ++/* Define to 1 if you have the <sys/param.h> header file. */ ++#undef HAVE_SYS_PARAM_H ++ ++/* Define to 1 if you have the <sys/prctl.h> header file. */ ++#undef HAVE_SYS_PRCTL_H ++ ++/* Define to 1 if you have the <sys/pstat.h> header file. */ ++#undef HAVE_SYS_PSTAT_H ++ ++/* Define to 1 if you have the <sys/resource.h> header file. */ ++#undef HAVE_SYS_RESOURCE_H ++ ++/* Define if you have the sys_siglist variable. */ ++#undef HAVE_SYS_SIGLIST ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define to 1 if you have the <sys/sysctl.h> header file. */ ++#undef HAVE_SYS_SYSCTL_H ++ ++/* Define to 1 if you have the <sys/sysinfo.h> header file. */ ++#undef HAVE_SYS_SYSINFO_H ++ ++/* Define to 1 if you have the <sys/sysmp.h> header file. */ ++#undef HAVE_SYS_SYSMP_H ++ ++/* Define to 1 if you have the <sys/systemcfg.h> header file. */ ++#undef HAVE_SYS_SYSTEMCFG_H ++ ++/* Define to 1 if you have the <sys/table.h> header file. */ ++#undef HAVE_SYS_TABLE_H ++ ++/* Define to 1 if you have the <sys/time.h> header file. */ ++#undef HAVE_SYS_TIME_H ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#undef HAVE_SYS_TYPES_H ++ ++/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */ ++#undef HAVE_SYS_WAIT_H ++ ++/* Define to 1 if you have the `table' function. */ ++#undef HAVE_TABLE ++ ++/* Define to 1 if you have the `times' function. */ ++#undef HAVE_TIMES ++ ++/* Define to 1 if you have the <time.h> header file. */ ++#undef HAVE_TIME_H ++ ++/* Define to 1 if you have the `tmpnam' function. */ ++#undef HAVE_TMPNAM ++ ++/* Define if you have the \`uintptr_t' type. */ ++#undef HAVE_UINTPTR_T ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#undef HAVE_UNISTD_H ++ ++/* Define to 1 if you have the `vasprintf' function. */ ++#undef HAVE_VASPRINTF ++ ++/* Define to 1 if you have the `vfork' function. */ ++#undef HAVE_VFORK ++ ++/* Define to 1 if you have the <vfork.h> header file. */ ++#undef HAVE_VFORK_H ++ ++/* Define to 1 if you have the `vfprintf' function. */ ++#undef HAVE_VFPRINTF ++ ++/* Define to 1 if you have the `vprintf' function. */ ++#undef HAVE_VPRINTF ++ ++/* Define to 1 if you have the `vsprintf' function. */ ++#undef HAVE_VSPRINTF ++ ++/* Define to 1 if you have the `wait3' function. */ ++#undef HAVE_WAIT3 ++ ++/* Define to 1 if you have the `wait4' function. */ ++#undef HAVE_WAIT4 ++ ++/* Define to 1 if you have the `waitpid' function. */ ++#undef HAVE_WAITPID ++ ++/* Define to 1 if `fork' works. */ ++#undef HAVE_WORKING_FORK ++ ++/* Define to 1 if `vfork' works. */ ++#undef HAVE_WORKING_VFORK ++ ++/* Define to 1 if you have the `_doprnt' function. */ ++#undef HAVE__DOPRNT ++ ++/* Define if you have the _system_configuration variable. */ ++#undef HAVE__SYSTEM_CONFIGURATION ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++#undef HAVE___FSETLOCKING ++ ++/* Define if canonicalize_file_name is not declared in system header files. */ ++#undef NEED_DECLARATION_CANONICALIZE_FILE_NAME ++ ++/* Define if errno must be declared even when <errno.h> is included. */ ++#undef NEED_DECLARATION_ERRNO ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#undef NO_MINUS_C_MINUS_O ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#undef PACKAGE_BUGREPORT ++ ++/* Define to the full name of this package. */ ++#undef PACKAGE_NAME ++ ++/* Define to the full name and version of this package. */ ++#undef PACKAGE_STRING ++ ++/* Define to the one symbol short name of this package. */ ++#undef PACKAGE_TARNAME ++ ++/* Define to the home page for this package. */ ++#undef PACKAGE_URL ++ ++/* Define to the version of this package. */ ++#undef PACKAGE_VERSION ++ ++/* The size of `int', as computed by sizeof. */ ++#undef SIZEOF_INT ++ ++/* The size of `long', as computed by sizeof. */ ++#undef SIZEOF_LONG ++ ++/* The size of `long long', as computed by sizeof. */ ++#undef SIZEOF_LONG_LONG ++ ++/* The size of `size_t', as computed by sizeof. */ ++#undef SIZEOF_SIZE_T ++ ++/* Define if you know the direction of stack growth for your system; otherwise ++ it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows ++ toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++#undef STACK_DIRECTION ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#undef STDC_HEADERS ++ ++/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ ++#undef TIME_WITH_SYS_TIME ++ ++/* Define to an unsigned 64-bit type available in the compiler. */ ++#undef UNSIGNED_64BIT_TYPE ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# undef _ALL_SOURCE ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# undef _GNU_SOURCE ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# undef _POSIX_PTHREAD_SEMANTICS ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# undef _TANDEM_SOURCE ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# undef __EXTENSIONS__ ++#endif ++ ++ ++/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most ++ significant byte first (like Motorola and SPARC, unlike Intel). */ ++#if defined AC_APPLE_UNIVERSAL_BUILD ++# if defined __BIG_ENDIAN__ ++# define WORDS_BIGENDIAN 1 ++# endif ++#else ++# ifndef WORDS_BIGENDIAN ++# undef WORDS_BIGENDIAN ++# endif ++#endif ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++#undef _FILE_OFFSET_BITS ++ ++/* Define for large files, on AIX-style hosts. */ ++#undef _LARGE_FILES ++ ++/* Define to 1 if on MINIX. */ ++#undef _MINIX ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++#undef _POSIX_1_SOURCE ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++#undef _POSIX_SOURCE ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++#undef const ++ ++/* 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 the type of a signed integer type wide enough to hold a pointer, ++ if such a type exists, and if the system does not define it. */ ++#undef intptr_t ++ ++/* Define to `int' if <sys/types.h> does not define. */ ++#undef pid_t ++ ++/* Define to `int' if <sys/types.h> does not define. */ ++#undef ssize_t ++ ++/* Define to the type of an unsigned integer type wide enough to hold a ++ pointer, if such a type exists, and if the system does not define it. */ ++#undef uintptr_t ++ ++/* Define as `fork' if `vfork' does not work. */ ++#undef vfork +Index: b/src/gcc/prefix.c +=================================================================== +--- a/src/gcc/prefix.c ++++ b/src/gcc/prefix.c +@@ -70,7 +70,10 @@ License along with GCC; see the file COP + #include <windows.h> + #endif + #include "prefix.h" ++ ++#ifndef USED_FOR_TARGET + #include "common/common-target.h" ++#endif + + static const char *std_prefix = PREFIX; + +@@ -284,7 +287,11 @@ update_path (const char *path, const cha + && (p != result && IS_DIR_SEPARATOR (p[-1]))) + { + *p = 0; ++#ifndef USED_FOR_TARGET + if (!targetm_common.always_strip_dotdot ++#else ++ if (true ++#endif + && access (result, X_OK) == 0) + { + *p = '.';