Merge basic-improvements-branch to trunk
From-SVN: r60174
This commit is contained in:
parent
b51dc04500
commit
4977bab6ed
626 changed files with 26084 additions and 14445 deletions
180
ChangeLog
180
ChangeLog
|
@ -1,3 +1,8 @@
|
|||
2002-12-13 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure.in, Makefile.tpl, Makefile.def: Remove tclX.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-12-13 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* Makefile.tpl (check-gcc-c++): Renamed from check-c++. Don't run
|
||||
|
@ -5,25 +10,160 @@
|
|||
(check-c++): Just depend on it and check-target-libstdc++-v3.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* Makefile.tpl (configure-target-rda): Depend on $(ALL_GCC_C).
|
||||
* Makefile.in: Rebuilt.
|
||||
|
||||
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* Makefile.in (configure-target-rda): Depend on ALL_GCC_C.
|
||||
|
||||
2002-12-10 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure: Fix bug put in by gremlins.
|
||||
|
||||
* Makefile.tpl: Substitute more autoconfily.
|
||||
* configure: Substitute more autoconfily.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-12-09 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||||
|
||||
* config.sub: Import from master repository
|
||||
* config.guess: Ditto
|
||||
* MAINTAINERS: Added Svein Seldal under write after approval
|
||||
|
||||
2002-12-08 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* Makefile.tpl (all-sim): Depend on maybe-configure-gdb.
|
||||
* Makefile.in (all-sim): Ditto.
|
||||
|
||||
2002-12-06 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* Makefile.tpl: Change configure dependencies to not have real
|
||||
targets depend on phony targets.
|
||||
|
||||
2002-12-05 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure.in: Revert unintentional change.
|
||||
|
||||
* Makefile.tpl: Change dependency for */multilib.out so that
|
||||
it works when gcc isn't in the tree.
|
||||
|
||||
* configure.in: Substitute more.
|
||||
* configure: Run subconfigures from the Makefile.
|
||||
* Makefile.tpl: Run subconfigures from the Makefile; add a few
|
||||
convenience targets. Make sure gcc isn't rebuilt after bootstrap.
|
||||
|
||||
2002-12-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
|
||||
* MAINTAINERS: Add Christian Ehrhardt under "GNATS only".
|
||||
|
||||
2002-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* Makefile.tpl: Add targets for configuring host subdirs in Makefile,
|
||||
and corresponding dependencies.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
* configure.in (host_tools): Order binutils, gas and ld for
|
||||
convenience in running the testsuites.
|
||||
|
||||
* Makefile.tpl: Introduce rules to serialize subconfigure runs.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure.in: Introduce rules to serialize subconfigure runs.
|
||||
|
||||
* configure.in: Introduce BASE_CC_FOR_TARGET.
|
||||
* Makefile.tpl: Reorganize and comment. Introduce HOST_CONFIGARGS.
|
||||
Realize configure-build-* targets. Realize configure-target-* targets.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-12-02 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure: Move gcc_version_trigger stuff from here...
|
||||
* configure.in: ...to here.
|
||||
|
||||
* configure.in: Separate subconfigure options added by this file from
|
||||
options given by the user. Add machinery to put args for host
|
||||
subconfigures into the Makefile.
|
||||
|
||||
* Makefile.tpl: Remove 'vault' targets.
|
||||
* Makefile.tpl: Reorder and comment dependencies.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-12-01 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
* configure.in: Fix my broken commit of previous patch. (sigh)
|
||||
|
||||
2002-11-28 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
* configure.in: Move host-specific darwin noconfigdirs into
|
||||
the host-specific section.
|
||||
|
||||
2002-11-28 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
* configure.in: Move host-specific darwin noconfigdirs into
|
||||
the host-specific section.
|
||||
|
||||
2002-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure: Remove skip-this-dir support.
|
||||
* Makefile.tpl: Remove skip-this-dir support.
|
||||
|
||||
* Makefile.tpl: Remove leftover support for non-autoconfiscated
|
||||
subdirectories.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
* Makefile.tpl: Strip out useless setting of 'dir'.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-22 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure.in: Fix deeply stupid bug.
|
||||
|
||||
* configure.in: Introduce RAW_CXX_FOR_TARGET and simplify embedded
|
||||
shell code in CXX_FOR_TARGET
|
||||
* Makefile.def: Introduce raw_cxx.
|
||||
* Makefile.tpl: Use raw_cxx to select between CXX_FOR_TARGET and
|
||||
RAW_CXX_FOR_TARGET.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-21 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* Makefile.tpl: Remove unnecessary ifs.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
* Makefile.tpl: Implement soft dependency machinery. Maybe-ize
|
||||
dependencies. Maybe-ize build-libiberty. Create dummy install
|
||||
targets for 'no_install' modules.
|
||||
* configure: Move GDB_TK substitution to configure.in. Move
|
||||
build_modules stuff to configure.in.
|
||||
* configure.in: Implement soft dependency machinery. Maybe-ize
|
||||
GDB_TK, rearrange slightly. Move build_modules stuff from configure.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* Makefile.tpl: Make all-target, install-target behave similarly
|
||||
to all, install (only hitting configured targets). Eliminate
|
||||
unused macro defintions.
|
||||
|
||||
* Makefile.tpl: Add all-gcc: all-build-libiberty dependency when
|
||||
build != host.
|
||||
|
||||
* Makefile.tpl: Add all-gcc: all-libiberty dependency.
|
||||
|
||||
* ltcf-c.sh, ltcf-gcj.sh, Makefile.tpl: Correct BUILD/HOST confusion.
|
||||
|
||||
* configure.in: Produce lists of subdir targets we're actually
|
||||
configuring. Remove references to "dosrel".
|
||||
* Makefile.tpl: Let configure set which subdir targets are hit.
|
||||
Remove install-cross; clean up install; remove ALL. Remove
|
||||
references to "dosrel". Remove "EXTRA_TARGET_HOST" hackery.
|
||||
Autogenerate host module targets. Remove empty dependency lines
|
||||
and redundant dependency; rearrange slightly.
|
||||
* Makefile.def: Add host-side libtermcap, utils.
|
||||
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* ltconfig (osf[345]): Append $major to soname_spec.
|
||||
|
@ -56,10 +196,50 @@
|
|||
|
||||
* MAINTAINERS: Add myself to write-after-approval list.
|
||||
|
||||
2002-11-12 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* Makefile.def: Add list of recursive targets to autogenerate.
|
||||
Add build_modules.
|
||||
* Makefile.tpl: Autogenerate do-* targets. Autogenerate *-target-*
|
||||
targets. Autogenerate *-build-* targets.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-12 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure: More autoconf-style substitutions.
|
||||
* Makefile.tpl: More autoconf-style substitutions.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-11 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure: Substitute more variables in a more autoconf-friendly
|
||||
way. Simplify slightly.
|
||||
* Makefile.tpl: Make more variables substitutable in an
|
||||
autoconf-friendly way.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-11 Jonathan Wakely <redi@gcc.gnu.org>
|
||||
|
||||
* MAINTAINERS (Write After Approval): Add myself.
|
||||
|
||||
2002-11-10 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure.in (v810*): Remove special setting of tools.
|
||||
|
||||
* configure: Add support for extra required flags for ar or nm.
|
||||
* configure.in (aix4.3+): Use above support for target-specific
|
||||
issues, rather than using config/mt-aix43.
|
||||
|
||||
2002-11-09 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
* configure: Remove 'removing', which doesn't work. Replace $subdir
|
||||
with . everywhere. Replace $subdirs with ''. Replace $makesrcdir
|
||||
with $srcdir. Reformat indentation. Substitute some variables
|
||||
formerly hard-coded in the Makefile for build=host.
|
||||
* Makefile.tpl: Autogenerate more; make more autoconf-friendly.
|
||||
* Makefile.def: Autogenerate more.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2002-11-04 Adam Nemet <anemet@lnxw.com>
|
||||
|
||||
* MAINTAINERS (Write After Approval): Add myself.
|
||||
|
|
25
Makefile.def
25
Makefile.def
|
@ -1,6 +1,8 @@
|
|||
#! /usr/bin/autogen
|
||||
AutoGen definitions Makefile.tpl;
|
||||
|
||||
build_modules= { module= libiberty; };
|
||||
|
||||
host_modules= { module= ash; };
|
||||
host_modules= { module= autoconf; };
|
||||
host_modules= { module= automake; };
|
||||
|
@ -61,8 +63,15 @@ host_modules= { module= uudecode; };
|
|||
host_modules= { module= wdiff; };
|
||||
host_modules= { module= zip; no_check_cross=true; };
|
||||
host_modules= { module= zlib; no_install=true; no_check=true; };
|
||||
host_modules= { module= gdb; with_x=true; };
|
||||
host_modules= { module= expect; with_x=true; };
|
||||
host_modules= { module= guile; with_x=true; };
|
||||
host_modules= { module= tk; with_x=true; };
|
||||
host_modules= { module= tix; with_x=true; };
|
||||
host_modules= { module= libtermcap; no_check=true; no_clean=true; };
|
||||
host_modules= { module= utils; no_check=true; };
|
||||
|
||||
target_modules = { module= libstdc++-v3; };
|
||||
target_modules = { module= libstdc++-v3; raw_cxx=true; };
|
||||
target_modules = { module= newlib; };
|
||||
target_modules = { module= libf2c; };
|
||||
target_modules = { module= libobjc; };
|
||||
|
@ -73,8 +82,20 @@ target_modules = { module= libiberty; };
|
|||
target_modules = { module= gperf; };
|
||||
target_modules = { module= examples; no_check=true; no_install=true; };
|
||||
target_modules = { module= libffi; no_install=true; };
|
||||
target_modules = { module= libjava; };
|
||||
target_modules = { module= libjava; raw_cxx=true; };
|
||||
target_modules = { module= zlib; };
|
||||
target_modules = { module= boehm-gc; };
|
||||
target_modules = { module= qthreads; };
|
||||
target_modules = { module= rda; };
|
||||
|
||||
// These are (some of) the targets to be done in each subdirectory.
|
||||
// Not all; these are the ones which don't have special options.
|
||||
recursive_targets = { target= clean; };
|
||||
recursive_targets = { target= distclean; };
|
||||
recursive_targets = { target= dvi; };
|
||||
recursive_targets = { target= info; };
|
||||
recursive_targets = { target= install-info; };
|
||||
recursive_targets = { target= installcheck; };
|
||||
recursive_targets = { target= mostlyclean; };
|
||||
recursive_targets = { target= maintainer-clean; };
|
||||
recursive_targets = { target= TAGS; };
|
||||
|
|
7594
Makefile.in
7594
Makefile.in
File diff suppressed because it is too large
Load diff
1165
Makefile.tpl
1165
Makefile.tpl
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,7 @@
|
|||
2002-11-23 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* accross.m4: New.
|
||||
|
||||
2002-11-10 Stan Shebs <shebs@apple.com>
|
||||
|
||||
Retire common MPW configury bits.
|
||||
|
|
98
config/accross.m4
Normal file
98
config/accross.m4
Normal file
|
@ -0,0 +1,98 @@
|
|||
AC_DEFUN([AC_COMPILE_CHECK_SIZEOF],
|
||||
[changequote(<<, >>)dnl
|
||||
dnl The name to #define.
|
||||
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
|
||||
dnl The cache variable name.
|
||||
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
|
||||
changequote([, ])dnl
|
||||
AC_MSG_CHECKING(size of $1)
|
||||
AC_CACHE_VAL(AC_CV_NAME,
|
||||
[for ac_size in 4 8 1 2 16 12 $2 ; do # List sizes in rough order of prevalence.
|
||||
AC_TRY_COMPILE([#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
$2
|
||||
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
|
||||
if test x$AC_CV_NAME != x ; then break; fi
|
||||
done
|
||||
])
|
||||
if test x$AC_CV_NAME = x ; then
|
||||
AC_MSG_ERROR([cannot determine a size for $1])
|
||||
fi
|
||||
AC_MSG_RESULT($AC_CV_NAME)
|
||||
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
|
||||
undefine([AC_TYPE_NAME])dnl
|
||||
undefine([AC_CV_NAME])dnl
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_C_BIGENDIAN_CROSS],
|
||||
[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
|
||||
[ac_cv_c_bigendian=unknown
|
||||
# See if sys/param.h defines the BYTE_ORDER macro.
|
||||
AC_TRY_COMPILE([#include <sys/types.h>
|
||||
#include <sys/param.h>], [
|
||||
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
|
||||
bogus endian macros
|
||||
#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
|
||||
AC_TRY_COMPILE([#include <sys/types.h>
|
||||
#include <sys/param.h>], [
|
||||
#if BYTE_ORDER != BIG_ENDIAN
|
||||
not big endian
|
||||
#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
AC_TRY_RUN([main () {
|
||||
/* Are we little or big endian? From Harbison&Steele. */
|
||||
union
|
||||
{
|
||||
long l;
|
||||
char c[sizeof (long)];
|
||||
} u;
|
||||
u.l = 1;
|
||||
exit (u.c[sizeof (long) - 1] == 1);
|
||||
}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes,
|
||||
[ echo $ac_n "cross-compiling... " 2>&AC_FD_MSG ])
|
||||
fi])
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
AC_MSG_CHECKING(to probe for byte ordering)
|
||||
[
|
||||
cat >conftest.c <<EOF
|
||||
short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
|
||||
short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
|
||||
void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
|
||||
short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
|
||||
short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
|
||||
void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
|
||||
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 test `grep -l BIGenDianSyS conftest.o` ; then
|
||||
echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG
|
||||
ac_cv_c_bigendian=yes
|
||||
fi
|
||||
if test `grep -l LiTTleEnDian conftest.o` ; then
|
||||
echo $ac_n ' little endian probe OK, ' 1>&AC_FD_MSG
|
||||
if test $ac_cv_c_bigendian = yes ; then
|
||||
ac_cv_c_bigendian=unknown;
|
||||
else
|
||||
ac_cv_c_bigendian=no
|
||||
fi
|
||||
fi
|
||||
echo $ac_n 'guessing bigendian ... ' >&AC_FD_MSG
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($ac_cv_c_bigendian)
|
||||
fi
|
||||
if test $ac_cv_c_bigendian = yes; then
|
||||
AC_DEFINE(WORDS_BIGENDIAN, 1, [whether byteorder is bigendian])
|
||||
AC_DEFINE(HOST_WORDS_BIG_ENDIAN, 1,
|
||||
[Define if the host machine stores words of multi-word integers in
|
||||
big-endian order.])
|
||||
BYTEORDER=4321
|
||||
else
|
||||
BYTEORDER=1234
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN])
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
AC_MSG_ERROR(unknown endianess - sorry, please pre-set ac_cv_c_bigendian)
|
||||
fi
|
||||
])
|
893
configure
vendored
893
configure
vendored
|
@ -79,17 +79,15 @@ program_suffixoption=
|
|||
program_transform_name=
|
||||
program_transform_nameoption=
|
||||
redirect=
|
||||
removing=
|
||||
site=
|
||||
site_makefile_frag=
|
||||
site_option=
|
||||
srcdir=
|
||||
srctrigger=
|
||||
subdirs=
|
||||
target_alias=NOTARGET
|
||||
target_makefile_frag=
|
||||
undefs=NOUNDEFS
|
||||
version="$Revision: 1.48 $"
|
||||
version="$Revision: 1.46.6.11 $"
|
||||
x11=default
|
||||
bindir='${exec_prefix}/bin'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
|
@ -317,9 +315,6 @@ do
|
|||
program_transform_name="${program_transform_name} -e `echo ${optarg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`"
|
||||
program_transform_nameoption="${program_transform_nameoption} --program-transform-name='$optarg'"
|
||||
;;
|
||||
--rm)
|
||||
removing=--rm
|
||||
;;
|
||||
--sb*)
|
||||
sbindir=$optarg
|
||||
diroptions="$diroptions --sbindir=$optarg"
|
||||
|
@ -590,28 +585,6 @@ case "${exec_prefixoption}" in
|
|||
*) ;;
|
||||
esac
|
||||
|
||||
# Define the trigger file to make sure configure will re-run whenever
|
||||
# the gcc version number changes.
|
||||
if [ "${with_gcc_version_trigger+set}" = set ]; then
|
||||
gcc_version_trigger="$with_gcc_version_trigger"
|
||||
gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
|
||||
else
|
||||
# If gcc's sources are available, define the trigger file.
|
||||
if [ -f ${topsrcdir}/gcc/version.c ] ; then
|
||||
gcc_version_trigger=${topsrcdir}/gcc/version.c
|
||||
gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
|
||||
case "$arguments" in
|
||||
*--with-gcc-version-trigger=$gcc_version_trigger* )
|
||||
;;
|
||||
* )
|
||||
# Make sure configure.in knows about this.
|
||||
arguments="--with-gcc-version-trigger=$gcc_version_trigger $arguments"
|
||||
;;
|
||||
esac
|
||||
withoptions="--with-gcc-version-trigger=$gcc_version_trigger $withoptions"
|
||||
fi
|
||||
fi
|
||||
|
||||
### break up ${srcdir}/configure.in.
|
||||
case "`grep '^# per\-host:' ${srcdir}/configure.in`" in
|
||||
"")
|
||||
|
@ -639,7 +612,7 @@ case "`grep '^# per\-host:' ${srcdir}/configure.in`" in
|
|||
${program_transform_nameoption} ${site_option} \
|
||||
${withoptions} ${withoutoptions} \
|
||||
${enableoptions} ${disableoptions} ${floating_pointoption} \
|
||||
${cache_file_option} ${removing} ${other_options} ${redirect}
|
||||
${cache_file_option} ${other_options} ${redirect}
|
||||
else
|
||||
echo '***' There is no configure script present though. 1>&2
|
||||
fi
|
||||
|
@ -687,24 +660,8 @@ fi
|
|||
|
||||
### do common part of configure.in
|
||||
|
||||
# If the language specific compiler does not exist, but the "gcc" directory does,
|
||||
# we will skip this directory; in this case the sub-directory's common part
|
||||
# of configure.in will create a small shell script "skip-this-dir" containing
|
||||
# commands to completely clean up any temporary or created files.
|
||||
|
||||
. ${tmpfile}.com
|
||||
|
||||
if test -f skip-this-dir; then
|
||||
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
|
||||
# and reset the trap handler.
|
||||
trap 0
|
||||
rm -rf Makefile* ${tmpdir}
|
||||
# Execute the final clean-up actions
|
||||
${config_shell} skip-this-dir
|
||||
# and stop configuring this directory.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# some sanity checks on configure.in
|
||||
case "${srctrigger}" in
|
||||
"")
|
||||
|
@ -911,10 +868,10 @@ do
|
|||
test -n "$DEFAULT_LEX" && break
|
||||
done
|
||||
|
||||
|
||||
if [ "${build}" != "${host}" ]; then
|
||||
# If we are doing a Canadian Cross, in which the host and build systems
|
||||
# are not the same, we set reasonable default values for the tools.
|
||||
|
||||
tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
|
||||
tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET GCJ_FOR_TARGET"
|
||||
tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX"
|
||||
|
@ -941,6 +898,7 @@ t loop
|
|||
|
||||
AR=${AR-${host_alias}-ar}
|
||||
AR_FOR_TARGET=${AR_FOR_TARGET-${target_alias}-ar}
|
||||
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
|
||||
AS=${AS-${host_alias}-as}
|
||||
AS_FOR_TARGET=${AS_FOR_TARGET-${target_alias}-as}
|
||||
BISON=${BISON-bison}
|
||||
|
@ -962,6 +920,7 @@ t loop
|
|||
MAKEINFO=${MAKEINFO-makeinfo}
|
||||
NM=${NM-${host_alias}-nm}
|
||||
NM_FOR_TARGET=${NM_FOR_TARGET-${target_alias}-nm}
|
||||
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
|
||||
RANLIB=${RANLIB-${host_alias}-ranlib}
|
||||
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET-${target_alias}-ranlib}
|
||||
WINDRES=${WINDRES-${host_alias}-windres}
|
||||
|
@ -1021,6 +980,44 @@ t loop
|
|||
export OBJCOPY
|
||||
export OBJDUMP
|
||||
else
|
||||
# Set reasonable default values for some tools even if not Canadian.
|
||||
# Of course, these are different reasonable default values, originally
|
||||
# specified directly in the Makefile.
|
||||
# We don't export, so that autoconf can do its job.
|
||||
# Note that all these settings are above the fragment inclusion point
|
||||
# in Makefile.in, so can still be overridden by fragments.
|
||||
# This is all going to change when we autoconfiscate...
|
||||
|
||||
tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
|
||||
tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX"
|
||||
tools="${tools} BUILD_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
|
||||
tools="${tools} NM_FOR_TARGET RANLIB_FOR_TARGET"
|
||||
tools="${tools} WINDRES WINDRES_FOR_TARGET YACC"
|
||||
|
||||
AR=ar
|
||||
AR_FOR_TARGET='\$(USUAL_AR_FOR_TARGET)'
|
||||
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
|
||||
AS=as
|
||||
AS_FOR_TARGET='\$(USUAL_AS_FOR_TARGET)'
|
||||
BISON='$(USUAL_BISON)'
|
||||
CC_FOR_BUILD='\$(CC)'
|
||||
DLLTOOL=dlltool
|
||||
DLLTOOL_FOR_TARGET='\$(USUAL_DLLTOOL_FOR_TARGET)'
|
||||
GCC_FOR_TARGET='\$(USUAL_GCC_FOR_TARGET)'
|
||||
BUILD_PREFIX=
|
||||
BUILD_PREFIX_1=loser-
|
||||
LD=ld
|
||||
LD_FOR_TARGET='\$(USUAL_LD_FOR_TARGET)'
|
||||
MAKEINFO='\$(USUAL_MAKEINFO)'
|
||||
NM=nm
|
||||
NM_FOR_TARGET='\$(USUAL_NM_FOR_TARGET)'
|
||||
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
|
||||
RANLIB_FOR_TARGET='\$(USUAL_RANLIB_FOR_TARGET)'
|
||||
WINDRES=windres
|
||||
WINDRES_FOR_TARGET='\$(USUAL_WINDRES_FOR_TARGET)'
|
||||
LEX='\$(USUAL_LEX)'
|
||||
YACC='\$(USUAL_YACC)'
|
||||
|
||||
# If CC is still not set, try to get gcc.
|
||||
if [ -z "${CC}" ]; then
|
||||
IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
|
||||
|
@ -1072,527 +1069,309 @@ export CXX
|
|||
export CFLAGS
|
||||
export CXXFLAGS
|
||||
|
||||
all_build_modules=
|
||||
if test x"${build_alias}" != x"${host_alias}"
|
||||
then
|
||||
all_build_modules='$(ALL_BUILD_MODULES_LIST)'
|
||||
# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
|
||||
# Set up the list of links to be made.
|
||||
# ${links} is the list of link names, and ${files} is the list of names to link to.
|
||||
|
||||
# Make the links.
|
||||
configlinks="${links}"
|
||||
if [ -r ./config.status ] ; then
|
||||
mv -f ./config.status ./config.back
|
||||
fi
|
||||
while [ -n "${files}" ] ; do
|
||||
# set file to car of files, files to cdr of files
|
||||
set ${files}; file=$1; shift; files=$*
|
||||
set ${links}; link=$1; shift; links=$*
|
||||
|
||||
for subdir in . ${subdirs} ; do
|
||||
|
||||
# ${subdir} is relative path from . to the directory we're currently
|
||||
# configuring.
|
||||
# ${invsubdir} is inverse of ${subdir), *with* trailing /, if needed.
|
||||
invsubdir=`echo ${subdir}/ | sed -e 's|\./||g' -e 's|[^/]*/|../|g'`
|
||||
|
||||
### figure out what to do with srcdir
|
||||
case "${srcdir}" in
|
||||
".") # no -srcdir option. We're building in place.
|
||||
makesrcdir=. ;;
|
||||
/* | [A-Za-z]:[\\/]* ) # absolute path
|
||||
makesrcdir=`echo ${srcdir}/${subdir} | sed -e 's|/\.$||'`
|
||||
;;
|
||||
*) # otherwise relative
|
||||
case "${subdir}" in
|
||||
.) makesrcdir=${srcdir} ;;
|
||||
*) makesrcdir=${invsubdir}${srcdir}/${subdir} ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "${subdir}/" != "./" ] ; then
|
||||
Makefile=${subdir}/Makefile
|
||||
if [ ! -r ${srcdir}/${file} ] ; then
|
||||
if [ ! -r ${file} ] ; then
|
||||
echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
|
||||
echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
|
||||
exit 1
|
||||
else
|
||||
srcfile=${file}
|
||||
fi
|
||||
else
|
||||
srcfile=${srcdir}/${file}
|
||||
fi
|
||||
|
||||
if [ ! -d ${subdir} ] ; then
|
||||
if mkdir ${subdir} ; then
|
||||
true
|
||||
else
|
||||
echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${subdir}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
${remove} -f ${link}
|
||||
# Make a symlink if possible, otherwise try a hard link
|
||||
if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
|
||||
true
|
||||
else
|
||||
# We need to re-remove the file because Lynx leaves a
|
||||
# very strange directory there when it fails an NFS symlink.
|
||||
${remove} -r -f ${link}
|
||||
${hard_link} ${srcfile} ${link}
|
||||
fi
|
||||
if [ ! -r ${link} ] ; then
|
||||
echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "${removing}" in
|
||||
"")
|
||||
case "${subdir}" in
|
||||
.) ;;
|
||||
*) eval echo Building in ${subdir} ${redirect} ;;
|
||||
esac
|
||||
|
||||
# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest)
|
||||
# Set up the list of links to be made.
|
||||
# ${links} is the list of link names, and ${files} is the list of names to link to.
|
||||
|
||||
# Make the links.
|
||||
configlinks="${links}"
|
||||
if [ -r ${subdir}/config.status ] ; then
|
||||
mv -f ${subdir}/config.status ${subdir}/config.back
|
||||
fi
|
||||
while [ -n "${files}" ] ; do
|
||||
# set file to car of files, files to cdr of files
|
||||
set ${files}; file=$1; shift; files=$*
|
||||
set ${links}; link=$1; shift; links=$*
|
||||
|
||||
if [ ! -r ${srcdir}/${file} ] ; then
|
||||
if [ ! -r ${file} ] ; then
|
||||
|
||||
echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
|
||||
echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2
|
||||
exit 1
|
||||
else
|
||||
srcfile=${file}
|
||||
fi
|
||||
else
|
||||
srcfile=${srcdir}/${file}
|
||||
fi
|
||||
|
||||
${remove} -f ${link}
|
||||
# Make a symlink if possible, otherwise try a hard link
|
||||
if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then
|
||||
true
|
||||
else
|
||||
# We need to re-remove the file because Lynx leaves a
|
||||
# very strange directory there when it fails an NFS symlink.
|
||||
${remove} -r -f ${link}
|
||||
${hard_link} ${srcfile} ${link}
|
||||
fi
|
||||
if [ ! -r ${link} ] ; then
|
||||
echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Linked \"${link}\" to \"${srcfile}\"."
|
||||
done
|
||||
|
||||
# Create a .gdbinit file which runs the one in srcdir
|
||||
# and tells GDB to look there for source files.
|
||||
|
||||
if [ -r ${srcdir}/${subdir}/.gdbinit ] ; then
|
||||
case ${srcdir} in
|
||||
.) ;;
|
||||
*) cat > ${subdir}/.gdbinit <<EOF
|
||||
# ${NO_EDIT}
|
||||
dir ${makesrcdir}
|
||||
dir .
|
||||
source ${makesrcdir}/.gdbinit
|
||||
EOF
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Install a makefile, and make it set VPATH
|
||||
# if necessary so that the sources are found.
|
||||
# Also change its value of srcdir.
|
||||
# NOTE: Makefile generation constitutes the majority of the time in configure. Hence, this section has
|
||||
# been somewhat optimized and is perhaps a bit twisty.
|
||||
|
||||
# code is order so as to try to sed the smallest input files we know.
|
||||
# so do these separately because I don't trust the order of sed -e expressions.
|
||||
|
||||
# the five makefile fragments MUST end up in the resulting Makefile in this order:
|
||||
# package macros, target, host, site, and package rules.
|
||||
|
||||
if [ -f ${srcdir}/${subdir}/${Makefile_in} ] ; then
|
||||
|
||||
# Conditionalize the makefile for this package from "Makefile.in" (or whatever it's called) into Makefile.tem.
|
||||
rm -f ${subdir}/${Makefile}.tem
|
||||
case "${package_makefile_rules_frag}" in
|
||||
"") cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem ;;
|
||||
*)
|
||||
if [ ! -f ${package_makefile_rules_frag} ] ; then
|
||||
package_makefile_rules_frag=${srcdir}/${package_makefile_rules_frag}
|
||||
fi
|
||||
if [ -f ${package_makefile_rules_frag} ] ; then
|
||||
sed -e "/^####/ r ${package_makefile_rules_frag}" ${srcdir}/${subdir}/${Makefile_in} > ${Makefile}.tem
|
||||
else
|
||||
echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2
|
||||
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
|
||||
cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem
|
||||
fi
|
||||
esac
|
||||
# working copy now in ${Makefile}.tem
|
||||
|
||||
# Conditionalize for this site.
|
||||
rm -f ${Makefile}
|
||||
case "${site}" in
|
||||
"") mv ${subdir}/Makefile.tem ${Makefile} ;;
|
||||
*)
|
||||
site_makefile_frag=${srcdir}/config/ms-${site}
|
||||
|
||||
if [ -f ${site_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${site_makefile_frag}" ${subdir}/Makefile.tem \
|
||||
> ${Makefile}
|
||||
else
|
||||
mv ${subdir}/Makefile.tem ${Makefile}
|
||||
site_makefile_frag=
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
# working copy now in ${Makefile}
|
||||
|
||||
# Conditionalize the makefile for this host.
|
||||
rm -f ${subdir}/Makefile.tem
|
||||
case "${host_makefile_frag}" in
|
||||
"") mv ${Makefile} ${subdir}/Makefile.tem ;;
|
||||
*)
|
||||
if [ ! -f ${host_makefile_frag} ] ; then
|
||||
host_makefile_frag=${srcdir}/${host_makefile_frag}
|
||||
fi
|
||||
if [ -f ${host_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${host_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem
|
||||
else
|
||||
echo '***' Expected host makefile fragment \"${host_makefile_frag}\" 1>&2
|
||||
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
|
||||
mv ${Makefile} ${subdir}/Makefile.tem
|
||||
fi
|
||||
esac
|
||||
# working copy now in ${subdir)/Makefile.tem
|
||||
|
||||
# Conditionalize the makefile for this target.
|
||||
rm -f ${Makefile}
|
||||
case "${target_makefile_frag}" in
|
||||
"") mv ${subdir}/Makefile.tem ${Makefile} ;;
|
||||
*)
|
||||
if [ ! -f ${target_makefile_frag} ] ; then
|
||||
target_makefile_frag=${srcdir}/${target_makefile_frag}
|
||||
fi
|
||||
if [ -f ${target_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${target_makefile_frag}" ${subdir}/Makefile.tem > ${Makefile}
|
||||
else
|
||||
mv ${subdir}/Makefile.tem ${Makefile}
|
||||
target_makefile_frag=
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
# working copy now in ${Makefile}
|
||||
|
||||
# Emit the default values of this package's macros.
|
||||
rm -f ${subdir}/Makefile.tem
|
||||
case "${package_makefile_frag}" in
|
||||
"") mv ${Makefile} ${subdir}/Makefile.tem ;;
|
||||
*)
|
||||
if [ ! -f ${package_makefile_frag} ] ; then
|
||||
package_makefile_frag=${srcdir}/${package_makefile_frag}
|
||||
fi
|
||||
if [ -f ${package_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem
|
||||
else
|
||||
echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2
|
||||
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
|
||||
mv ${Makefile} ${subdir}/Makefile.tem
|
||||
fi
|
||||
esac
|
||||
# real copy now in ${subdir}/Makefile.tem
|
||||
|
||||
# prepend warning about editing, and a bunch of variables.
|
||||
rm -f ${Makefile}
|
||||
cat > ${Makefile} <<EOF
|
||||
# ${NO_EDIT}
|
||||
VPATH = ${makesrcdir}
|
||||
links = ${configlinks}
|
||||
host_alias = ${host_alias}
|
||||
host_cpu = ${host_cpu}
|
||||
host_vendor = ${host_vendor}
|
||||
host_os = ${host_os}
|
||||
host_canonical = ${host_cpu}-${host_vendor}-${host_os}
|
||||
target_alias = ${target_alias}
|
||||
target_cpu = ${target_cpu}
|
||||
target_vendor = ${target_vendor}
|
||||
target_os = ${target_os}
|
||||
target_canonical = ${target_cpu}-${target_vendor}-${target_os}
|
||||
EOF
|
||||
case "${build}" in
|
||||
"") ;;
|
||||
*) cat >> ${Makefile} << EOF
|
||||
build_alias = ${build_alias}
|
||||
build_cpu = ${build_cpu}
|
||||
build_vendor = ${build_vendor}
|
||||
build_os = ${build_os}
|
||||
build_canonical = ${build_cpu}-${build_vendor}-${build_os}
|
||||
EOF
|
||||
esac
|
||||
|
||||
case "${package_makefile_frag}" in
|
||||
"") ;;
|
||||
/* | [A-Za-z]:[\\/]* ) echo package_makefile_frag = ${package_makefile_frag} >>${Makefile} ;;
|
||||
*) echo package_makefile_frag = ${invsubdir}${package_makefile_frag} >>${Makefile} ;;
|
||||
esac
|
||||
|
||||
case "${target_makefile_frag}" in
|
||||
"") ;;
|
||||
/* | [A-Za-z]:[\\/]* ) echo target_makefile_frag = ${target_makefile_frag} >>${Makefile} ;;
|
||||
*) echo target_makefile_frag = ${invsubdir}${target_makefile_frag} >>${Makefile} ;;
|
||||
esac
|
||||
|
||||
case "${host_makefile_frag}" in
|
||||
"") ;;
|
||||
/* | [A-Za-z]:[\\/]* ) echo host_makefile_frag = ${host_makefile_frag} >>${Makefile} ;;
|
||||
*) echo host_makefile_frag = ${invsubdir}${host_makefile_frag} >>${Makefile} ;;
|
||||
esac
|
||||
|
||||
if [ "${site_makefile_frag}" != "" ] ; then
|
||||
echo site_makefile_frag = ${invsubdir}${site_makefile_frag} >>${Makefile}
|
||||
fi
|
||||
|
||||
echo enable_shared = ${enable_shared} >> ${Makefile}
|
||||
echo enable_threads = ${enable_threads} >> ${Makefile}
|
||||
# record if we want to rumtime library stuff installed in libsubdir.
|
||||
if test -z "${enable_version_specific_runtime_libs}"; then
|
||||
echo enable_version_specific_runtime_libs = no >> ${Makefile}
|
||||
else
|
||||
echo enable_version_specific_runtime_libs = ${enable_version_specific_runtime_libs} >> ${Makefile}
|
||||
fi
|
||||
|
||||
# Emit a macro which describes the file containing gcc's
|
||||
# version number.
|
||||
echo gcc_version_trigger = ${gcc_version_trigger} >> ${Makefile}
|
||||
# And emit a macro defining gcc's version number.
|
||||
echo gcc_version = ${gcc_version} >> ${Makefile}
|
||||
|
||||
# reset prefix, exec_prefix, srcdir, SUBDIRS, NONSUBDIRS,
|
||||
# remove any form feeds.
|
||||
if [ -z "${subdirs}" ]; then
|
||||
rm -f ${subdir}/Makefile.tm2
|
||||
sedtemp=sed.$$
|
||||
cat >$sedtemp <<EOF
|
||||
s:@configdirs@:${configdirs}:
|
||||
EOF
|
||||
sed -f $sedtemp \
|
||||
${subdir}/Makefile.tem > ${subdir}/Makefile.tm2
|
||||
rm -f $sedtemp
|
||||
rm -f ${subdir}/Makefile.tem
|
||||
mv ${subdir}/Makefile.tm2 ${subdir}/Makefile.tem
|
||||
fi
|
||||
sed -e "s|@prefix@|${prefix}|" \
|
||||
-e "s|@exec_prefix@|${exec_prefix}|" \
|
||||
-e "s|@bindir@|${bindir}|" \
|
||||
-e "s|@sbindir@|${sbindir}|" \
|
||||
-e "s|@libexecdir@|${libexecdir}|" \
|
||||
-e "s|@datadir@|${datadir}|" \
|
||||
-e "s|@sysconfdir@|${sysconfdir}|" \
|
||||
-e "s|@sharedstatedir@|${sharedstatedir}|" \
|
||||
-e "s|@localstatedir@|${localstatedir}|" \
|
||||
-e "s|@libdir@|${libdir}|" \
|
||||
-e "s|@includedir@|${includedir}|" \
|
||||
-e "s|@oldincludedir@|${oldincludedir}|" \
|
||||
-e "s|@infodir@|${infodir}|" \
|
||||
-e "s|@mandir@|${mandir}|" \
|
||||
-e "s|@all_build_modules@|${all_build_modules}|" \
|
||||
-e "/^CC[ ]*=/{
|
||||
:loop1
|
||||
/\\\\$/ N
|
||||
s/\\\\\\n//g
|
||||
t loop1
|
||||
s%^CC[ ]*=.*$%CC = ${CC}%
|
||||
}" \
|
||||
-e "/^CXX[ ]*=/{
|
||||
:loop2
|
||||
/\\\\$/ N
|
||||
s/\\\\\\n//g
|
||||
t loop2
|
||||
s%^CXX[ ]*=.*$%CXX = ${CXX}%
|
||||
}" \
|
||||
-e "/^CFLAGS[ ]*=/{
|
||||
:loop3
|
||||
/\\\\$/ N
|
||||
s/\\\\\\n//g
|
||||
t loop3
|
||||
s%^CFLAGS[ ]*=.*$%CFLAGS = ${CFLAGS}%
|
||||
}" \
|
||||
-e "/^CXXFLAGS[ ]*=/{
|
||||
:loop4
|
||||
/\\\\$/ N
|
||||
s/\\\\\\n//g
|
||||
t loop4
|
||||
s%^CXXFLAGS[ ]*=.*$%CXXFLAGS = ${CXXFLAGS}%
|
||||
}" \
|
||||
-e "s|@config_shell@|${config_shell}|" \
|
||||
-e "s|@srcdir@|${makesrcdir}|" \
|
||||
-e "s///" \
|
||||
-e "s:@program_transform_name@:${program_transform_name}:" \
|
||||
-e "s|@tooldir@|${tooldir}|" \
|
||||
-e "s|@build_tooldir@|${tooldir}|" \
|
||||
-e "s:@DEFAULT_YACC@:${DEFAULT_YACC}:" \
|
||||
-e "s:@DEFAULT_LEX@:${DEFAULT_LEX}:" \
|
||||
-e "s:@DEFAULT_M4@:${DEFAULT_M4}:" \
|
||||
${subdir}/Makefile.tem >> ${Makefile}
|
||||
|
||||
sed -e "s:@GDB_TK@:${GDB_TK}:" ${Makefile} >${Makefile}.tem
|
||||
mv -f ${Makefile}.tem ${Makefile}
|
||||
|
||||
# If this is a Canadian Cross, preset the values of many more
|
||||
# tools.
|
||||
if [ "${build}" != "${host}" ]; then
|
||||
for var in ${tools}; do
|
||||
eval val=\$${var}
|
||||
sed -e "/^${var}[ ]*=/{
|
||||
:loop1
|
||||
/\\\\$/ N
|
||||
/\\\\$/ b loop1
|
||||
s/\\\\\\n//g
|
||||
s%^${var}[ ]*=.*$%${var} = ${val}%
|
||||
}" ${Makefile} > ${Makefile}.tem
|
||||
mv -f ${Makefile}.tem ${Makefile}
|
||||
done
|
||||
fi
|
||||
|
||||
# final copy now in ${Makefile}
|
||||
|
||||
else
|
||||
echo "No Makefile.in found in ${srcdir}/${subdir}, unable to configure" 1>&2
|
||||
fi
|
||||
|
||||
rm -f ${subdir}/Makefile.tem
|
||||
|
||||
case "${host_makefile_frag}" in
|
||||
"") using= ;;
|
||||
*) using="and \"${host_makefile_frag}\"" ;;
|
||||
esac
|
||||
|
||||
case "${target_makefile_frag}" in
|
||||
"") ;;
|
||||
*) using="${using} and \"${target_makefile_frag}\"" ;;
|
||||
esac
|
||||
|
||||
case "${site_makefile_frag}" in
|
||||
"") ;;
|
||||
*) using="${using} and \"${site_makefile_frag}\"" ;;
|
||||
esac
|
||||
|
||||
newusing=`echo "${using}" | sed 's/and/using/'`
|
||||
using=${newusing}
|
||||
echo "Created \"${Makefile}\" in" ${PWD=`${PWDCMD-pwd}`} ${using}
|
||||
|
||||
. ${tmpfile}.pos
|
||||
|
||||
# describe the chosen configuration in config.status.
|
||||
# Make that file a shellscript which will reestablish
|
||||
# the same configuration. Used in Makefiles to rebuild
|
||||
# Makefiles.
|
||||
|
||||
case "${norecursion}" in
|
||||
"") arguments="${arguments} --norecursion" ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
if [ ${subdir} = . ] ; then
|
||||
echo "#!/bin/sh
|
||||
# ${NO_EDIT}
|
||||
# This directory was configured as follows:
|
||||
${progname}" ${arguments} "
|
||||
# ${using}" > ${subdir}/config.new
|
||||
else
|
||||
echo "#!/bin/sh
|
||||
# ${NO_EDIT}
|
||||
# This directory was configured as follows:
|
||||
cd ${invsubdir}
|
||||
${progname}" ${arguments} "
|
||||
# ${using}" > ${subdir}/config.new
|
||||
fi
|
||||
chmod a+x ${subdir}/config.new
|
||||
if [ -r ${subdir}/config.back ] ; then
|
||||
mv -f ${subdir}/config.back ${subdir}/config.status
|
||||
fi
|
||||
${config_shell} ${moveifchange} ${subdir}/config.new ${subdir}/config.status
|
||||
;;
|
||||
|
||||
*) rm -f ${Makefile} ${subdir}/config.status ${links} ;;
|
||||
esac
|
||||
echo "Linked \"${link}\" to \"${srcfile}\"."
|
||||
done
|
||||
|
||||
# If there are subdirectories, then recur.
|
||||
if [ -z "${norecursion}" ] && [ -n "${configdirs}" ] ; then
|
||||
for configdir in ${configdirs} ${extraconfigdirs} ; do
|
||||
# Create a .gdbinit file which runs the one in srcdir
|
||||
# and tells GDB to look there for source files.
|
||||
|
||||
# If configdir contains ',' it is
|
||||
# srcdir,builddir,target_alias
|
||||
# These come from extraconfigdirs.
|
||||
case ${configdir} in
|
||||
*,*)
|
||||
eval `echo ${configdir} | sed -e 's/\([^,]*\),\([^,]*\),\(.*\)/cfg_dir=\1 bld_dir=\2 tgt_alias=\3/'`
|
||||
;;
|
||||
*)
|
||||
cfg_dir=${configdir}
|
||||
bld_dir=${configdir}
|
||||
tgt_alias=${target_alias}
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -d ${srcdir}/${cfg_dir} ] ; then
|
||||
eval echo Configuring ${configdir}... ${redirect}
|
||||
case "${srcdir}" in
|
||||
".") ;;
|
||||
*)
|
||||
if [ ! -d ./${bld_dir} ] ; then
|
||||
if mkdir ./${bld_dir} ; then
|
||||
true
|
||||
else
|
||||
echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${bld_dir}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
POPDIR=${PWD=`${PWDCMD-pwd}`}
|
||||
cd ${bld_dir}
|
||||
|
||||
### figure out what to do with srcdir
|
||||
case "${srcdir}" in
|
||||
".") newsrcdir=${srcdir} ;; # no -srcdir option. We're building in place.
|
||||
/* | [A-Za-z]:[\\/]* ) # absolute path
|
||||
newsrcdir=${srcdir}/${cfg_dir}
|
||||
srcdiroption="--srcdir=${newsrcdir}"
|
||||
;;
|
||||
*) # otherwise relative
|
||||
newsrcdir=../${srcdir}/${cfg_dir}
|
||||
srcdiroption="--srcdir=${newsrcdir}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Handle --cache-file=../XXX
|
||||
case "${cache_file}" in
|
||||
"") # empty
|
||||
;;
|
||||
/* | [A-Za-z]:[\\/]* ) # absolute path
|
||||
cache_file_option="--cache-file=${cache_file}"
|
||||
;;
|
||||
*) # relative path
|
||||
cache_file_option="--cache-file=../${cache_file}"
|
||||
;;
|
||||
esac
|
||||
|
||||
### check for guested configure, otherwise fix possibly relative progname
|
||||
if [ -f ${newsrcdir}/configure ] ; then
|
||||
recprog=${newsrcdir}/configure
|
||||
elif [ -f ${newsrcdir}/configure.in ] ; then
|
||||
case "${progname}" in
|
||||
/* | [A-Za-z]:[\\/]* ) recprog=${progname} ;;
|
||||
*) recprog=../${progname} ;;
|
||||
esac
|
||||
else
|
||||
eval echo No configuration information in ${cfg_dir} ${redirect}
|
||||
recprog=
|
||||
fi
|
||||
|
||||
### The recursion line is here.
|
||||
if [ ! -z "${recprog}" ] ; then
|
||||
if eval ${config_shell} ${recprog} ${verbose} ${buildopt} --host=${host_alias} --target=${tgt_alias} \
|
||||
${prefixoption} ${tmpdiroption} ${exec_prefixoption} \
|
||||
${srcdiroption} ${diroptions} ${program_prefixoption} ${program_suffixoption} ${program_transform_nameoption} ${site_option} ${withoptions} ${withoutoptions} ${enableoptions} ${disableoptions} ${floating_pointoption} ${cache_file_option} ${removing} ${other_options} ${redirect} ; then
|
||||
true
|
||||
else
|
||||
echo Configure in `${PWDCMD-pwd}` failed, exiting. 1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ${POPDIR}
|
||||
fi
|
||||
done
|
||||
if [ -r ${srcdir}/.gdbinit ] ; then
|
||||
case ${srcdir} in
|
||||
.) ;;
|
||||
*) cat > ./.gdbinit <<EOF
|
||||
# ${NO_EDIT}
|
||||
dir ${srcdir}
|
||||
dir .
|
||||
source ${srcdir}/.gdbinit
|
||||
EOF
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Install a makefile, and make it set VPATH
|
||||
# if necessary so that the sources are found.
|
||||
# Also change its value of srcdir.
|
||||
# NOTE: Makefile generation constitutes the majority of the time in configure. Hence, this section has
|
||||
# been somewhat optimized and is perhaps a bit twisty.
|
||||
|
||||
# code is order so as to try to sed the smallest input files we know.
|
||||
# so do these separately because I don't trust the order of sed -e expressions.
|
||||
|
||||
# the five makefile fragments MUST end up in the resulting Makefile in this order:
|
||||
# package macros, target, host, site, and package rules.
|
||||
|
||||
if [ -f ${srcdir}/${Makefile_in} ] ; then
|
||||
|
||||
# Conditionalize the makefile for this package from "Makefile.in" (or whatever it's called) into Makefile.tem.
|
||||
rm -f ./${Makefile}.tem
|
||||
case "${package_makefile_rules_frag}" in
|
||||
"") cp ${srcdir}/${Makefile_in} ./Makefile.tem ;;
|
||||
*)
|
||||
if [ ! -f ${package_makefile_rules_frag} ] ; then
|
||||
package_makefile_rules_frag=${srcdir}/${package_makefile_rules_frag}
|
||||
fi
|
||||
if [ -f ${package_makefile_rules_frag} ] ; then
|
||||
sed -e "/^####/ r ${package_makefile_rules_frag}" ${srcdir}/${Makefile_in} > ${Makefile}.tem
|
||||
else
|
||||
echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2
|
||||
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
|
||||
cp ${srcdir}/${Makefile_in} ./Makefile.tem
|
||||
fi
|
||||
esac
|
||||
# working copy now in ${Makefile}.tem
|
||||
|
||||
# Conditionalize for this site.
|
||||
rm -f ${Makefile}
|
||||
case "${site}" in
|
||||
"") mv ./Makefile.tem ${Makefile} ;;
|
||||
*)
|
||||
site_makefile_frag=${srcdir}/config/ms-${site}
|
||||
|
||||
if [ -f ${site_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${site_makefile_frag}" ./Makefile.tem > ${Makefile}
|
||||
else
|
||||
mv ./Makefile.tem ${Makefile}
|
||||
site_makefile_frag=
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
# working copy now in ${Makefile}
|
||||
|
||||
# Conditionalize the makefile for this host.
|
||||
rm -f ./Makefile.tem
|
||||
case "${host_makefile_frag}" in
|
||||
"") mv ${Makefile} ./Makefile.tem ;;
|
||||
*)
|
||||
if [ ! -f ${host_makefile_frag} ] ; then
|
||||
host_makefile_frag=${srcdir}/${host_makefile_frag}
|
||||
fi
|
||||
if [ -f ${host_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${host_makefile_frag}" ${Makefile} > ./Makefile.tem
|
||||
else
|
||||
echo '***' Expected host makefile fragment \"${host_makefile_frag}\" 1>&2
|
||||
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
|
||||
mv ${Makefile} ./Makefile.tem
|
||||
fi
|
||||
esac
|
||||
# working copy now in ./Makefile.tem
|
||||
|
||||
# Conditionalize the makefile for this target.
|
||||
rm -f ${Makefile}
|
||||
case "${target_makefile_frag}" in
|
||||
"") mv ./Makefile.tem ${Makefile} ;;
|
||||
*)
|
||||
if [ ! -f ${target_makefile_frag} ] ; then
|
||||
target_makefile_frag=${srcdir}/${target_makefile_frag}
|
||||
fi
|
||||
if [ -f ${target_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${target_makefile_frag}" ./Makefile.tem > ${Makefile}
|
||||
else
|
||||
mv ./Makefile.tem ${Makefile}
|
||||
target_makefile_frag=
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
# working copy now in ${Makefile}
|
||||
|
||||
# Emit the default values of this package's macros.
|
||||
rm -f ./Makefile.tem
|
||||
case "${package_makefile_frag}" in
|
||||
"") mv ${Makefile} ./Makefile.tem ;;
|
||||
*)
|
||||
if [ ! -f ${package_makefile_frag} ] ; then
|
||||
package_makefile_frag=${srcdir}/${package_makefile_frag}
|
||||
fi
|
||||
if [ -f ${package_makefile_frag} ] ; then
|
||||
sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ./Makefile.tem
|
||||
else
|
||||
echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2
|
||||
echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2
|
||||
mv ${Makefile} ./Makefile.tem
|
||||
fi
|
||||
esac
|
||||
# real copy now in ./Makefile.tem
|
||||
|
||||
# record if we want runtime library stuff installed in libsubdir.
|
||||
# Blank means no.
|
||||
if test -z "${enable_version_specific_runtime_libs}"; then
|
||||
enable_version_specific_runtime_libs=no
|
||||
fi
|
||||
|
||||
sed -e "s|@configlinks@|${configlinks}|" \
|
||||
-e "s|@build_alias@|${build_alias}|" \
|
||||
-e "s|@build_cpu@|${build_cpu}|" \
|
||||
-e "s|@build_vendor@|${build_vendor}|" \
|
||||
-e "s|@build_os@|${build_os}|" \
|
||||
-e "s|@host_alias@|${host_alias}|" \
|
||||
-e "s|@host_cpu@|${host_cpu}|" \
|
||||
-e "s|@host_vendor@|${host_vendor}|" \
|
||||
-e "s|@host_os@|${host_os}|" \
|
||||
-e "s|@target_alias@|${target_alias}|" \
|
||||
-e "s|@target_cpu@|${target_cpu}|" \
|
||||
-e "s|@target_vendor@|${target_vendor}|" \
|
||||
-e "s|@target_os@|${target_os}|" \
|
||||
-e "s|@target_makefile_frag@|${target_makefile_frag}|" \
|
||||
-e "s|@host_makefile_frag@|${host_makefile_frag}|" \
|
||||
-e "s|@enable_shared@|${enable_shared}|" \
|
||||
-e "s|@enable_threads@|${enable_threads}|" \
|
||||
-e "s|@enable_version_specific_runtime_libs@|${enable_version_specific_runtime_libs}|" \
|
||||
-e "s|@gcc_version_trigger@|${gcc_version_trigger}|" \
|
||||
-e "s|@gcc_version@|${gcc_version}|" \
|
||||
./Makefile.tem > ${Makefile}
|
||||
mv -f ${Makefile} ./Makefile.tem
|
||||
# Real copy now in Makefile.tem; no prologue.
|
||||
|
||||
# reset prefix, exec_prefix, srcdir, SUBDIRS, NONSUBDIRS,
|
||||
# remove any form feeds.
|
||||
sed -e "s|@configdirs@|${configdirs}|" \
|
||||
-e "s|@prefix@|${prefix}|" \
|
||||
-e "s|@exec_prefix@|${exec_prefix}|" \
|
||||
-e "s|@bindir@|${bindir}|" \
|
||||
-e "s|@sbindir@|${sbindir}|" \
|
||||
-e "s|@libexecdir@|${libexecdir}|" \
|
||||
-e "s|@datadir@|${datadir}|" \
|
||||
-e "s|@sysconfdir@|${sysconfdir}|" \
|
||||
-e "s|@sharedstatedir@|${sharedstatedir}|" \
|
||||
-e "s|@localstatedir@|${localstatedir}|" \
|
||||
-e "s|@libdir@|${libdir}|" \
|
||||
-e "s|@includedir@|${includedir}|" \
|
||||
-e "s|@oldincludedir@|${oldincludedir}|" \
|
||||
-e "s|@infodir@|${infodir}|" \
|
||||
-e "s|@mandir@|${mandir}|" \
|
||||
-e "s|@CC@|${CC}|" \
|
||||
-e "s|@CXX@|${CXX}|" \
|
||||
-e "s|@CFLAGS@|${CFLAGS}|" \
|
||||
-e "s|@CXXFLAGS@|${CXXFLAGS}|" \
|
||||
-e "s|@config_shell@|${config_shell}|" \
|
||||
-e "s|@srcdir@|${srcdir}|" \
|
||||
-e "s///" \
|
||||
-e "s:@program_transform_name@:${program_transform_name}:" \
|
||||
-e "s|@tooldir@|${tooldir}|" \
|
||||
-e "s|@build_tooldir@|${tooldir}|" \
|
||||
-e "s:@DEFAULT_YACC@:${DEFAULT_YACC}:" \
|
||||
-e "s:@DEFAULT_LEX@:${DEFAULT_LEX}:" \
|
||||
-e "s:@DEFAULT_M4@:${DEFAULT_M4}:" \
|
||||
./Makefile.tem > ${Makefile}
|
||||
|
||||
# If this is a Canadian Cross, preset the values of many more
|
||||
# tools.
|
||||
if [ "${build}" != "${host}" ]; then
|
||||
for var in ${tools}; do
|
||||
eval val=\$${var}
|
||||
sed -e "/^${var}[ ]*=/{
|
||||
:loop1
|
||||
/\\\\$/ N
|
||||
/\\\\$/ b loop1
|
||||
s/\\\\\\n//g
|
||||
s%^${var}[ ]*=.*$%${var} = ${val}%
|
||||
}" ${Makefile} > ${Makefile}.tem
|
||||
mv -f ${Makefile}.tem ${Makefile}
|
||||
done
|
||||
fi
|
||||
# If this is NOT a Canadian Cross, preset the values of some more
|
||||
# tools. The above line should get merged into this, but this
|
||||
# substitutes *once* where the above substitutes *globally*; that
|
||||
# needs to be worked out before the merger. The issue is in Makefile
|
||||
# fragment elements (ick, yuck, ugh).
|
||||
if [ "${build}" = "${host}" ]; then
|
||||
for var in ${tools}; do
|
||||
eval val=\$${var}
|
||||
sed -e "s%@${var}@%${val}%" ${Makefile} > ${Makefile}.tem
|
||||
mv -f ${Makefile}.tem ${Makefile}
|
||||
done
|
||||
fi
|
||||
|
||||
# final copy now in ${Makefile}
|
||||
|
||||
else
|
||||
echo "No Makefile.in found in ${srcdir}/., unable to configure" 1>&2
|
||||
fi
|
||||
|
||||
rm -f ./Makefile.tem
|
||||
|
||||
case "${host_makefile_frag}" in
|
||||
"") using= ;;
|
||||
*) using="and \"${host_makefile_frag}\"" ;;
|
||||
esac
|
||||
|
||||
case "${target_makefile_frag}" in
|
||||
"") ;;
|
||||
*) using="${using} and \"${target_makefile_frag}\"" ;;
|
||||
esac
|
||||
|
||||
case "${site_makefile_frag}" in
|
||||
"") ;;
|
||||
*) using="${using} and \"${site_makefile_frag}\"" ;;
|
||||
esac
|
||||
|
||||
newusing=`echo "${using}" | sed 's/and/using/'`
|
||||
using=${newusing}
|
||||
echo "Created \"${Makefile}\" in" ${PWD=`${PWDCMD-pwd}`} ${using}
|
||||
|
||||
. ${tmpfile}.pos
|
||||
|
||||
# describe the chosen configuration in config.status.
|
||||
# Make that file a shellscript which will reestablish
|
||||
# the same configuration. Used in Makefiles to rebuild
|
||||
# Makefiles.
|
||||
|
||||
case "${norecursion}" in
|
||||
"") arguments="${arguments} --norecursion" ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
echo "#!/bin/sh
|
||||
# ${NO_EDIT}
|
||||
# This directory was configured as follows:
|
||||
${progname}" ${arguments} "
|
||||
# ${using}" > ./config.new
|
||||
chmod a+x ./config.new
|
||||
if [ -r ./config.back ] ; then
|
||||
mv -f ./config.back ./config.status
|
||||
fi
|
||||
${config_shell} ${moveifchange} ./config.new ./config.status
|
||||
|
||||
# Perform the same cleanup as the trap handler, minus the "exit 1" of course,
|
||||
# and reset the trap handler.
|
||||
rm -rf ${tmpdir}
|
||||
|
|
243
configure.in
243
configure.in
|
@ -33,23 +33,56 @@
|
|||
|
||||
##############################################################################
|
||||
|
||||
extra_host_args=
|
||||
# Define the trigger file to make sure configure will re-run whenever
|
||||
# the gcc version number changes.
|
||||
if [ "${with_gcc_version_trigger+set}" = set ]; then
|
||||
gcc_version_trigger="$with_gcc_version_trigger"
|
||||
gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
|
||||
else
|
||||
# If gcc's sources are available, define the trigger file.
|
||||
if [ -f ${topsrcdir}/gcc/version.c ] ; then
|
||||
gcc_version_trigger=${topsrcdir}/gcc/version.c
|
||||
gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
|
||||
case "$arguments" in
|
||||
*--with-gcc-version-trigger=$gcc_version_trigger* )
|
||||
;;
|
||||
* )
|
||||
# Add to all subconfigure arguments: build, host, and target.
|
||||
arguments="--with-gcc-version-trigger=$gcc_version_trigger $arguments"
|
||||
;;
|
||||
esac
|
||||
# This will be redundant when we start all subconfigures from the Makefile.
|
||||
extra_host_args="--with-gcc-version-trigger=$gcc_version_trigger $extra_host_args"
|
||||
fi
|
||||
fi
|
||||
|
||||
### To add a new directory to the tree, first choose whether it is a target
|
||||
### or a host dependent tool. Then put it into the appropriate list
|
||||
### (library or tools, host or target), doing a dependency sort. For
|
||||
### example, gdb requires that byacc (or bison) be built first, so it is in
|
||||
### the ${host_tools} list after byacc and bison.
|
||||
### (library or tools, host or target), doing a dependency sort.
|
||||
|
||||
# Subdirs will be configured in the order listed in build_configdirs,
|
||||
# configdirs, or target_configdirs; see the serialization section below.
|
||||
|
||||
# Dependency sorting is only needed when *configuration* must be done in
|
||||
# a particular order. In all cases a dependency should be specified in
|
||||
# the Makefile, whether or not it's implicitly specified here.
|
||||
|
||||
# Double entries in build_configdirs, configdirs, or target_configdirs may
|
||||
# cause circular dependencies and break everything horribly.
|
||||
|
||||
# these libraries are used by various programs built for the host environment
|
||||
#
|
||||
host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk tclX itcl tix libgui zlib"
|
||||
host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk itcl tix libgui zlib"
|
||||
|
||||
libstdcxx_version="target-libstdc++-v3"
|
||||
|
||||
# these tools are built for the host environment
|
||||
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
|
||||
# know that we are building the simulator.
|
||||
host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
|
||||
# binutils, gas and ld appear in that order because it makes sense to run
|
||||
# "make check" in that particular order.
|
||||
host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator gettext zip fastjar"
|
||||
|
||||
# libgcj represents the runtime libraries only used by gcj.
|
||||
libgcj="target-libffi \
|
||||
|
@ -197,12 +230,8 @@ esac
|
|||
# Configure extra directories which are host specific
|
||||
|
||||
case "${host}" in
|
||||
i[3456]86-*-go32*)
|
||||
configdirs="$configdirs dosrel" ;;
|
||||
i[3456]86-*-mingw32*)
|
||||
configdirs="$configdirs dosrel" ;;
|
||||
*-cygwin*)
|
||||
configdirs="$configdirs libtermcap dosrel" ;;
|
||||
configdirs="$configdirs libtermcap" ;;
|
||||
esac
|
||||
|
||||
# Remove more programs from consideration, based on the host or
|
||||
|
@ -855,13 +884,6 @@ case "$host" in
|
|||
*msdosdjgpp*)
|
||||
enable_gdbtk=no ;;
|
||||
esac
|
||||
# Determine whether gdb needs tk/tcl or not.
|
||||
case "$enable_gdbtk" in
|
||||
no)
|
||||
GDB_TK="" ;;
|
||||
*)
|
||||
GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
|
||||
esac
|
||||
|
||||
copy_dirs=
|
||||
|
||||
|
@ -1121,10 +1143,9 @@ if test -n "${host_makefile_frag}" ; then
|
|||
host_makefile_frag=mh-frag
|
||||
fi
|
||||
|
||||
extra_arflags_for_target=
|
||||
extra_nmflags_for_target=
|
||||
case "${target}" in
|
||||
v810*)
|
||||
target_makefile_frag="config/mt-v810"
|
||||
;;
|
||||
i[3456]86-*-netware*)
|
||||
target_makefile_frag="config/mt-netware"
|
||||
;;
|
||||
|
@ -1135,7 +1156,11 @@ case "${target}" in
|
|||
target_makefile_frag="config/mt-linux"
|
||||
;;
|
||||
*-*-aix4.[3456789]* | *-*-aix[56789].*)
|
||||
target_makefile_frag="config/mt-aix43"
|
||||
# nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
|
||||
# commands to handle both 32-bit and 64-bit objects. These flags are
|
||||
# harmless if we're using GNU nm or ar.
|
||||
extra_arflags_for_target=" -X32_64"
|
||||
extra_nmflags_for_target=" -B -X32_64"
|
||||
;;
|
||||
mips*-*-pe | sh*-*-pe | *arm-wince-pe)
|
||||
target_makefile_frag="config/mt-wince"
|
||||
|
@ -1197,21 +1222,21 @@ fi
|
|||
if test x${use_gnu_as} = x &&
|
||||
echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
|
||||
with_gnu_as=yes
|
||||
withoptions="$withoptions --with-gnu-as"
|
||||
extra_host_args="$extra_host_args --with-gnu-as"
|
||||
fi
|
||||
|
||||
if test x${use_gnu_ld} = x &&
|
||||
echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
|
||||
with_gnu_ld=yes
|
||||
withoptions="$withoptions --with-gnu-ld"
|
||||
extra_host_args="$extra_host_args --with-gnu-ld"
|
||||
fi
|
||||
|
||||
# If using newlib, add --with-newlib to the withoptions so that gcc/configure
|
||||
# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
|
||||
# can detect this case.
|
||||
|
||||
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
|
||||
with_newlib=yes
|
||||
withoptions="$withoptions --with-newlib"
|
||||
extra_host_args="$extra_host_args --with-newlib"
|
||||
fi
|
||||
|
||||
# We default to --with-shared on platforms where -fpic is meaningless.
|
||||
|
@ -1238,13 +1263,13 @@ if test x${with_stabs} = x ; then
|
|||
case "${target}" in
|
||||
mips*-*-irix6*o32)
|
||||
with_stabs=yes;
|
||||
withoptions="${withoptions} --with-stabs"
|
||||
extra_host_args="${extra_host_args} --with-stabs"
|
||||
;;
|
||||
mips*-*-irix6*)
|
||||
;;
|
||||
mips*-*-* | alpha*-*-osf*)
|
||||
with_stabs=yes;
|
||||
withoptions="${withoptions} --with-stabs"
|
||||
extra_host_args="${extra_host_args} --with-stabs"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1253,10 +1278,13 @@ fi
|
|||
# them automatically.
|
||||
case "${host}" in
|
||||
hppa*64*-*-hpux11*)
|
||||
withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
|
||||
extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
|
||||
;;
|
||||
esac
|
||||
|
||||
# This will go away when we start subconfigures from the Makefile.
|
||||
withoptions="${withoptions} ${extra_host_args}"
|
||||
|
||||
# If we aren't going to be using gcc, see if we can extract a definition
|
||||
# of CC from the fragment.
|
||||
# Actually, use the 'pre-extracted' version above.
|
||||
|
@ -1348,6 +1376,107 @@ sed -e "s/@RPATH_ENVVAR@/${RPATH_ENVVAR}/" Makefile > Makefile.tem
|
|||
rm -f Makefile
|
||||
mv -f Makefile.tem Makefile
|
||||
|
||||
# Record target_configdirs and the configure arguments for target and
|
||||
# build configuration in Makefile.
|
||||
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
|
||||
|
||||
# This is the final value for target_configdirs. configdirs already
|
||||
# has its final value. It's time to create some lists of valid targets.
|
||||
|
||||
all_build_modules=
|
||||
configure_build_modules=
|
||||
# Only make build modules if build != host.
|
||||
# This should be done more generally, but at the moment it doesn't matter.
|
||||
if test ${host_alias} != ${build_alias} ; then
|
||||
all_build_modules=all-build-libiberty
|
||||
configure_build_modules=configure-build-libiberty
|
||||
fi
|
||||
|
||||
all_host_modules=
|
||||
check_host_modules=
|
||||
install_host_modules=
|
||||
configure_host_modules=
|
||||
for module in ${configdirs} ; do
|
||||
all_host_modules="${all_host_modules} all-${module}"
|
||||
check_host_modules="${check_host_modules} check-${module}"
|
||||
install_host_modules="${install_host_modules} install-${module}"
|
||||
configure_host_modules="${configure_host_modules} configure-${module}"
|
||||
done
|
||||
install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
|
||||
|
||||
all_target_modules=
|
||||
check_target_modules=
|
||||
install_target_modules=
|
||||
configure_target_modules=
|
||||
for module in ${target_configdirs} ; do
|
||||
all_target_modules="${all_target_modules} all-target-${module}"
|
||||
check_target_modules="${check_target_modules} check-target-${module}"
|
||||
install_target_modules="${install_target_modules} install-target-${module}"
|
||||
configure_target_modules="${configure_target_modules} configure-target-${module}"
|
||||
done
|
||||
|
||||
# Determine whether gdb needs tk/tcl or not.
|
||||
# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
|
||||
# and in that case we want gdb to be built without tk. Ugh!
|
||||
# In fact I believe gdb is the *only* package directly dependent on tk,
|
||||
# so we should be able to put the 'maybe's in unconditionally and
|
||||
# leave out the maybe dependencies when enable_gdbtk is false. I'm not
|
||||
# 100% sure that that's safe though.
|
||||
case "$enable_gdbtk" in
|
||||
no)
|
||||
GDB_TK="" ;;
|
||||
*)
|
||||
GDB_TK="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui" ;;
|
||||
esac
|
||||
|
||||
# Create the 'maybe dependencies'. This uses a temporary file.
|
||||
rm -f maybedep.tmp
|
||||
for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
|
||||
${install_host_modules} ${install_target_modules} \
|
||||
${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
|
||||
; do
|
||||
echo "maybe-${item}: ${item}" >> maybedep.tmp
|
||||
done
|
||||
sed -e '/@maybe_dependencies@/r maybedep.tmp' \
|
||||
-e 's/@maybe_dependencies@//' Makefile > Makefile.tem
|
||||
rm -f Makefile
|
||||
mv -f Makefile.tem Makefile
|
||||
rm -f maybedep.tmp
|
||||
|
||||
# Create the serialization dependencies. This uses a temporary file.
|
||||
|
||||
# These force 'configure's to be done one at a time, to avoid problems
|
||||
# with contention over a shared config.cache.
|
||||
rm -f serdep.tmp
|
||||
olditem=
|
||||
for item in ${build_configdirs} ; do
|
||||
case ${olditem} in
|
||||
"") ;;
|
||||
*) echo "\$(BUILD_SUBDIR)/${item}/Makefile: \$(BUILD_SUBDIR)/${olditem}/Makefile" >> serdep.tmp ;;
|
||||
esac
|
||||
olditem=${item}
|
||||
done
|
||||
olditem=
|
||||
for item in ${configdirs} ; do
|
||||
case ${olditem} in
|
||||
"") ;;
|
||||
*) echo "${item}/Makefile: ${olditem}/Makefile" >> serdep.tmp ;;
|
||||
esac
|
||||
olditem=${item}
|
||||
done
|
||||
olditem=
|
||||
for item in ${target_configdirs} ; do
|
||||
case ${olditem} in
|
||||
"") ;;
|
||||
*) echo "\$(TARGET_SUBDIR)/${item}/Makefile: \$(TARGET_SUBDIR)/${olditem}/Makefile" >> serdep.tmp ;;
|
||||
esac
|
||||
olditem=${item}
|
||||
done
|
||||
sed -e '/@serialization_dependencies@/r serdep.tmp' \
|
||||
-e 's/@serialization_dependencies@//' Makefile > Makefile.tem
|
||||
rm -f Makefile
|
||||
mv -f Makefile.tem Makefile
|
||||
rm -f serdep.tmp
|
||||
|
||||
# Base args. Strip norecursion, cache-file, srcdir, host, build, target.
|
||||
# These are the ones we might not want to pass down to subconfigures.
|
||||
|
@ -1364,9 +1493,18 @@ baseargs=`echo "${arguments}" | \
|
|||
# desired.
|
||||
buildargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
|
||||
|
||||
# Record target_configdirs and the configure arguments for target and
|
||||
# build configuration in Makefile.
|
||||
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
|
||||
# For host modules, accept cache file option, or specification as blank.
|
||||
case "${cache_file}" in
|
||||
"") # empty
|
||||
cache_file_option="" ;;
|
||||
/* | [A-Za-z]:[\\/]* ) # absolute path
|
||||
cache_file_option="--cache-file=${cache_file}" ;;
|
||||
*) # relative path
|
||||
cache_file_option="--cache-file=../${cache_file}" ;;
|
||||
esac
|
||||
|
||||
hostargs="${cache_file_option} ${buildopt} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
|
||||
|
||||
targargs=${baseargs}
|
||||
|
||||
# Passing a --with-cross-host argument lets the target libraries know
|
||||
|
@ -1518,7 +1656,8 @@ case $GCJ_FOR_TARGET in
|
|||
esac
|
||||
|
||||
# Don't use libstdc++-v3's flags to configure/build itself.
|
||||
libstdcxx_flags='`case $$dir in libstdc++-v3 | libjava) ;; *) test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes;; esac` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
|
||||
libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
|
||||
raw_libstdcxx_flags=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
|
||||
|
||||
if test "x${CXX_FOR_TARGET+set}" = xset; then
|
||||
:
|
||||
|
@ -1526,17 +1665,28 @@ elif test -d ${srcdir}/gcc; then
|
|||
# We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
|
||||
# of g++ for linking C++ or Java, because g++ has -shared-libgcc by
|
||||
# default whereas gcc does not.
|
||||
CXX_FOR_TARGET='$$r/gcc/`case $$dir in libstdc++-v3 | libjava) echo xgcc -shared-libgcc ;; *) echo g++ ;; esac` -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
|
||||
# RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
|
||||
# all other cases.
|
||||
CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
|
||||
RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
|
||||
elif test "$host" = "$target"; then
|
||||
CXX_FOR_TARGET='$(CXX)'
|
||||
RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
|
||||
else
|
||||
CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
|
||||
RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
|
||||
fi
|
||||
case $CXX_FOR_TARGET in
|
||||
*' $(FLAGS_FOR_TARGET)') ;;
|
||||
*) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
|
||||
esac
|
||||
case $RAW_CXX_FOR_TARGET in
|
||||
*' $(FLAGS_FOR_TARGET)') ;;
|
||||
*) RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
|
||||
esac
|
||||
|
||||
qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
|
||||
qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
|
||||
|
||||
# We want to defer the evaluation of `cmd`s and shell variables in
|
||||
# CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
|
||||
|
@ -1545,27 +1695,46 @@ qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
|
|||
# can be expanded by the nested make as shell variables, not as make
|
||||
# macros.
|
||||
qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
|
||||
qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
|
||||
|
||||
# BASE_CC_FOR_TARGET is the actual program file of CC_FOR_TARGET,
|
||||
# for use in dependencies. Replace $$r with a relative
|
||||
# path if it's present.
|
||||
set dummy $CC_FOR_TARGET; cc_for_target_first_word=$2
|
||||
BASE_CC_FOR_TARGET=`echo "$cc_for_target_first_word" | sed -e 's,[$][$]r,.,'`
|
||||
|
||||
sedtemp=sed.$$
|
||||
cat >$sedtemp <<EOF
|
||||
s%@GDB_TK@%${GDB_TK}%
|
||||
s%@configure_build_modules@%${configure_build_modules}%
|
||||
s%@all_build_modules@%${all_build_modules}%
|
||||
s%@configure_host_modules@%${configure_host_modules}%
|
||||
s%@all_host_modules@%${all_host_modules}%
|
||||
s%@check_host_modules@%${check_host_modules}%
|
||||
s%@install_host_modules@%${install_host_modules}%
|
||||
s%@install_host_modules_nogcc@%${install_host_modules_nogcc}%
|
||||
s%@configure_target_modules@%${configure_target_modules}%
|
||||
s%@all_target_modules@%${all_target_modules}%
|
||||
s%@check_target_modules@%${check_target_modules}%
|
||||
s%@install_target_modules@%${install_target_modules}%
|
||||
s:@target_configdirs@:${target_configdirs}:
|
||||
s%@target_configargs@%${targargs}%
|
||||
s%@FLAGS_FOR_TARGET@%${FLAGS_FOR_TARGET}%
|
||||
s%@CC_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}%
|
||||
s%@BASE_CC_FOR_TARGET@%${BASE_CC_FOR_TARGET}%
|
||||
s%@GCJ_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}%
|
||||
s%@CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}%
|
||||
s%@RAW_CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}%
|
||||
s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}%
|
||||
s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}%
|
||||
s%@target_subdir@%${target_subdir}%
|
||||
s%@build_subdir@%${build_subdir}%
|
||||
s%@build_configargs@%${buildargs}%
|
||||
s%@gxx_include_dir@%${gxx_include_dir}%
|
||||
s%@host_configargs@%${hostargs}%
|
||||
EOF
|
||||
sed -f $sedtemp Makefile > Makefile.tem
|
||||
rm -f Makefile $sedtemp
|
||||
mv -f Makefile.tem Makefile
|
||||
|
||||
#
|
||||
# Local Variables:
|
||||
# fill-column: 131
|
||||
# End:
|
||||
#
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2002-11-09 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
* gthr_supp_vxw_5x.c: New file.
|
||||
|
||||
2002-10-21 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* paranoia.cc (real_c_float::image): Accomodate size of
|
||||
|
@ -181,7 +185,7 @@ Mon Jul 23 15:47:19 CEST 2001 Jan Hubicka <jh@suse.cz>
|
|||
|
||||
2001-06-14 Albert Chin-A-Young <china@thewrittenword.com>
|
||||
|
||||
* contrib/gcc_update: Fix timestamp on gcc/f/intdoc.texi.
|
||||
* contrib/gcc_update: Fix timestamp on gcc/f/intdoc.texi.
|
||||
|
||||
2001-06-13 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
|
@ -513,7 +517,7 @@ Sun Nov 28 00:41:44 1999 William Bader (william@nscs.fast.net)
|
|||
* test_summary: Replace egcs with gcc. Update e-mail address.
|
||||
|
||||
1999-07-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
Jerry Quinn <jquinn@nortelnetworks.com>
|
||||
Jerry Quinn <jquinn@nortelnetworks.com>
|
||||
|
||||
* egcs_update (touch_files, apply_patch): New functions.
|
||||
Use them. New command-line option --patch. Split test of local
|
||||
|
@ -668,7 +672,7 @@ Wed Aug 12 19:59:36 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
|||
* egcs_update: Assigned copyright to FSF.
|
||||
|
||||
Tue Aug 11 17:55:53 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
||||
Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||
|
||||
* egcs_update: New switch --nostdflags and documentation
|
||||
enhancements.
|
||||
|
|
92
contrib/gthr_supp_vxw_5x.c
Normal file
92
contrib/gthr_supp_vxw_5x.c
Normal file
|
@ -0,0 +1,92 @@
|
|||
/* Kernel-side additional module for the VxWorks threading support
|
||||
logic for GCC. Written 2002 by Zack Weinberg.
|
||||
|
||||
This file is distributed with GCC, but it is not part of GCC.
|
||||
The contents of this file are in the public domain. */
|
||||
|
||||
/* If you are using the Tornado IDE, copy this file to
|
||||
$WIND_BASE/target/config/comps/src/gthread_supp.c. Then create a
|
||||
file named 10comp_gthread_supp.cdf in target/config/comps/vxWorks
|
||||
with the following contents:
|
||||
|
||||
Component INCLUDE_GCC_GTHREAD {
|
||||
NAME GCC 3.x gthread support (required by C++)
|
||||
CONFIGLETTES gthread_supp.c
|
||||
REQUIRES INCLUDE_CPLUS
|
||||
INCLUDE_WHEN INCLUDE_CPLUS
|
||||
_FOLDER FOLDER_CPLUS
|
||||
}
|
||||
|
||||
If you are using command line builds, instead copy this file to
|
||||
$WIND_BASE/target/src/config/gthread_supp.c, and add the following
|
||||
block to target/src/config/usrExtra.c:
|
||||
|
||||
#ifdef INCLUDE_CPLUS
|
||||
#include "../../src/config/gthread_supp.c"
|
||||
#endif
|
||||
|
||||
You should now be able to rebuild your application using GCC 3.x. */
|
||||
|
||||
#include <vxWorks.h>
|
||||
#include <taskLib.h>
|
||||
|
||||
/* This file provides these routines: */
|
||||
extern void *__gthread_get_tsd_data (WIND_TCB *tcb);
|
||||
extern void __gthread_set_tsd_data (WIND_TCB *tcb, void *data);
|
||||
|
||||
extern void __gthread_enter_tsd_dtor_context (WIND_TCB *tcb);
|
||||
extern void __gthread_leave_tsd_dtor_context (WIND_TCB *tcb);
|
||||
|
||||
/* Set and retrieve the TSD data block for the task TCB.
|
||||
|
||||
Possible choices for TSD_SLOT are:
|
||||
reserved1
|
||||
reserved2
|
||||
spare1
|
||||
spare2
|
||||
spare3
|
||||
spare4
|
||||
(these are all fields of the TCB structure; all have type 'int').
|
||||
|
||||
If you find that the slot chosen by default is already used for
|
||||
something else, simply change the #define below and recompile this
|
||||
file. No other file should reference TSD_SLOT directly. */
|
||||
|
||||
/* WARNING: This code is not 64-bit clean (it assumes that a pointer
|
||||
can be held in an 'int' without truncation). As much of the rest
|
||||
of VxWorks also makes this assumption, we can't really avoid it. */
|
||||
|
||||
#define TSD_SLOT reserved1
|
||||
|
||||
void *
|
||||
__gthread_get_tsd_data (WIND_TCB *tcb)
|
||||
{
|
||||
return (void *) (tcb->TSD_SLOT);
|
||||
}
|
||||
|
||||
void
|
||||
__gthread_set_tsd_data (WIND_TCB *tcb, void *data)
|
||||
{
|
||||
tcb->TSD_SLOT = (int) data;
|
||||
}
|
||||
|
||||
/* Enter and leave "TSD destructor context". This is defined as a
|
||||
state in which it is safe to call free() from a task delete hook
|
||||
on a memory block allocated by the task being deleted.
|
||||
For VxWorks 5.x, nothing needs to be done. */
|
||||
|
||||
#if __GNUC__ >= 2
|
||||
#define UNUSED __attribute__((unused))
|
||||
#else
|
||||
#define UNUSED
|
||||
#endif
|
||||
|
||||
void
|
||||
__gthread_enter_tsd_dtor_context (WIND_TCB *tcb UNUSED)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
__gthread_leave_tsd_dtor_context (WIND_TCB *tcb UNUSED)
|
||||
{
|
||||
}
|
|
@ -2,6 +2,18 @@
|
|||
|
||||
* fastjar.texi (jar @direntry, grepjar @direntry): Add (fastjar).
|
||||
|
||||
2002-11-23 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* acinclude.m4: Include ../config/accross.m4.
|
||||
(gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
|
||||
(gcc_AC_EXAMINE_OBJECT): Removed.
|
||||
(gcc_AC_C_COMPILE_ENDIAN): Removed.
|
||||
* aclocal.m4; Rebuild.
|
||||
|
||||
* configure.in: Replace AC_C_BIGENDIAN with AC_C_BIGENDIAN_CROSS.
|
||||
Replace AC_CHECK_SIZEOF with AC_COMPILE_CHECK_SIZEOF.
|
||||
* configure: Likewise.
|
||||
|
||||
2002-11-21 Ranjit Mathew <rmathew@hotmail.com>
|
||||
|
||||
* jartool.c (extract_jar): Use "open" with O_BINARY instead of
|
||||
|
@ -31,6 +43,11 @@
|
|||
|
||||
* jartool.c: Use mode 0666 when opening new file.
|
||||
|
||||
2002-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
|
||||
|
||||
* jargrep.c (chk_wrd): Remove unused variable(s).
|
||||
* jartool.c (main, create_central_header, list_jar): Likewise.
|
||||
|
||||
2002-10-15 Ranjit Mathew <rmathew@hotmail.com>
|
||||
|
||||
* configure, config.h.in: Rebuilt.
|
||||
|
@ -153,7 +170,7 @@
|
|||
* aclocal.m4: Regenerated.
|
||||
* stamp-h.in: Regenerated.
|
||||
* jargrep.c: Eliminate some signed/unsigned and default
|
||||
uninitialized warnings. Use HAVE_STDLIB_H instead of
|
||||
uninitialized warnings. Use HAVE_STDLIB_H instead of
|
||||
STDC_HEADERS macro.
|
||||
* jartool.c: Likewise.
|
||||
* compress.c: Likewise.
|
||||
|
@ -195,7 +212,7 @@
|
|||
|
||||
2001-05-15 Per Bothner <per@bothner.com>
|
||||
|
||||
* Makefile.am (bin_PROGRAMS): Renamed from "fastjar" to "jar".
|
||||
* Makefile.am (bin_PROGRAMS): Renamed from "fastjar" to "jar".
|
||||
|
||||
2001-05-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||||
|
||||
|
@ -213,7 +230,7 @@
|
|||
* jartool.c (MAXPATHLEN): Provide if not defined.
|
||||
|
||||
2000-12-15 Tom Tromey <tromey@redhat.com>
|
||||
Kelley Cook <kelleycook@home.com>
|
||||
Kelley Cook <kelleycook@home.com>
|
||||
|
||||
* jargrep.c: Include getopt.h if it exists.
|
||||
(optind): Declare.
|
||||
|
|
|
@ -1,114 +1,4 @@
|
|||
|
||||
dnl Host type sizes probe.
|
||||
dnl By Kaveh R. Ghazi. One typo fixed since.
|
||||
dnl
|
||||
AC_DEFUN([gcc_AC_COMPILE_CHECK_SIZEOF],
|
||||
[changequote(<<, >>)dnl
|
||||
dnl The name to #define.
|
||||
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
|
||||
dnl The cache variable name.
|
||||
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
|
||||
changequote([, ])dnl
|
||||
AC_MSG_CHECKING(size of $1)
|
||||
AC_CACHE_VAL(AC_CV_NAME,
|
||||
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
|
||||
AC_TRY_COMPILE([#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
$2
|
||||
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
|
||||
if test x$AC_CV_NAME != x ; then break; fi
|
||||
done
|
||||
])
|
||||
if test x$AC_CV_NAME = x ; then
|
||||
AC_MSG_ERROR([cannot determine a size for $1])
|
||||
fi
|
||||
AC_MSG_RESULT($AC_CV_NAME)
|
||||
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
|
||||
undefine([AC_TYPE_NAME])dnl
|
||||
undefine([AC_CV_NAME])dnl
|
||||
])
|
||||
|
||||
dnl Utility macro used by next two tests.
|
||||
dnl AC_EXAMINE_OBJECT(C source code,
|
||||
dnl commands examining object file,
|
||||
dnl [commands to run if compile failed]):
|
||||
dnl
|
||||
dnl Compile the source code to an object file; then convert it into a
|
||||
dnl printable representation. All unprintable characters and
|
||||
dnl asterisks (*) are replaced by dots (.). All white space is
|
||||
dnl deleted. Newlines (ASCII 0x10) in the input are preserved in the
|
||||
dnl output, but runs of newlines are compressed to a single newline.
|
||||
dnl Finally, line breaks are forcibly inserted so that no line is
|
||||
dnl longer than 80 columns and the file ends with a newline. The
|
||||
dnl result of all this processing is in the file conftest.dmp, which
|
||||
dnl may be examined by the commands in the second argument.
|
||||
dnl
|
||||
AC_DEFUN([gcc_AC_EXAMINE_OBJECT],
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
dnl Next bit cribbed from AC_TRY_COMPILE.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
[#line __oline__ "configure"
|
||||
#include "confdefs.h"
|
||||
$1
|
||||
]EOF
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
od -c conftest.o |
|
||||
sed ['s/^[0-7]*[ ]*/ /
|
||||
s/\*/./g
|
||||
s/ \\n/*/g
|
||||
s/ [0-9][0-9][0-9]/./g
|
||||
s/ \\[^ ]/./g'] |
|
||||
tr -d '
|
||||
' | tr -s '*' '
|
||||
' | fold | sed '$a\
|
||||
' > conftest.dmp
|
||||
$2
|
||||
ifelse($3, , , else
|
||||
$3
|
||||
)dnl
|
||||
fi
|
||||
rm -rf conftest*
|
||||
AC_LANG_RESTORE])
|
||||
|
||||
dnl Host endianness probe.
|
||||
dnl Differs from AC_C_BIGENDIAN in that it does not require
|
||||
dnl running a program on the host.
|
||||
dnl
|
||||
AC_DEFUN([fastjar_AC_COMPILE_C_BIGENDIAN],
|
||||
[AC_CACHE_CHECK(byte ordering, ac_cv_c_compile_endian,
|
||||
[ac_cv_c_compile_endian=unknown
|
||||
gcc_AC_EXAMINE_OBJECT([
|
||||
#ifdef HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#endif
|
||||
/* This structure must have no internal padding. */
|
||||
struct {
|
||||
char prefix[sizeof "\nendian:" - 1];
|
||||
short word;
|
||||
char postfix[2];
|
||||
} tester = {
|
||||
"\nendian:",
|
||||
#if SIZEOF_SHORT == 4
|
||||
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
|
||||
#endif
|
||||
('A' << CHAR_BIT) | 'B',
|
||||
'X', '\n'
|
||||
};],
|
||||
[if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=big-endian
|
||||
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=little-endian
|
||||
fi])
|
||||
])
|
||||
if test $ac_cv_c_compile_endian = unknown; then
|
||||
AC_MSG_ERROR([*** unable to determine endianness])
|
||||
elif test $ac_cv_c_compile_endian = big-endian; then
|
||||
AC_DEFINE(WORDS_BIG_ENDIAN, 1,
|
||||
[Define if the host machine stores words of multi-word integers in
|
||||
big-endian order.])
|
||||
fi
|
||||
])
|
||||
sinclude(../config/accross.m4)
|
||||
|
||||
dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
|
||||
dnl of the usual 2.
|
||||
|
|
128
fastjar/aclocal.m4
vendored
128
fastjar/aclocal.m4
vendored
|
@ -1,6 +1,6 @@
|
|||
dnl aclocal.m4 generated automatically by aclocal 1.4
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.4-p5
|
||||
|
||||
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
@ -10,117 +10,7 @@ dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
dnl Host type sizes probe.
|
||||
dnl By Kaveh R. Ghazi. One typo fixed since.
|
||||
dnl
|
||||
AC_DEFUN([gcc_AC_COMPILE_CHECK_SIZEOF],
|
||||
[changequote(<<, >>)dnl
|
||||
dnl The name to #define.
|
||||
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
|
||||
dnl The cache variable name.
|
||||
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
|
||||
changequote([, ])dnl
|
||||
AC_MSG_CHECKING(size of $1)
|
||||
AC_CACHE_VAL(AC_CV_NAME,
|
||||
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
|
||||
AC_TRY_COMPILE([#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
$2
|
||||
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
|
||||
if test x$AC_CV_NAME != x ; then break; fi
|
||||
done
|
||||
])
|
||||
if test x$AC_CV_NAME = x ; then
|
||||
AC_MSG_ERROR([cannot determine a size for $1])
|
||||
fi
|
||||
AC_MSG_RESULT($AC_CV_NAME)
|
||||
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
|
||||
undefine([AC_TYPE_NAME])dnl
|
||||
undefine([AC_CV_NAME])dnl
|
||||
])
|
||||
|
||||
dnl Utility macro used by next two tests.
|
||||
dnl AC_EXAMINE_OBJECT(C source code,
|
||||
dnl commands examining object file,
|
||||
dnl [commands to run if compile failed]):
|
||||
dnl
|
||||
dnl Compile the source code to an object file; then convert it into a
|
||||
dnl printable representation. All unprintable characters and
|
||||
dnl asterisks (*) are replaced by dots (.). All white space is
|
||||
dnl deleted. Newlines (ASCII 0x10) in the input are preserved in the
|
||||
dnl output, but runs of newlines are compressed to a single newline.
|
||||
dnl Finally, line breaks are forcibly inserted so that no line is
|
||||
dnl longer than 80 columns and the file ends with a newline. The
|
||||
dnl result of all this processing is in the file conftest.dmp, which
|
||||
dnl may be examined by the commands in the second argument.
|
||||
dnl
|
||||
AC_DEFUN([gcc_AC_EXAMINE_OBJECT],
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
dnl Next bit cribbed from AC_TRY_COMPILE.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
[#line __oline__ "configure"
|
||||
#include "confdefs.h"
|
||||
$1
|
||||
]EOF
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
od -c conftest.o |
|
||||
sed ['s/^[0-7]*[ ]*/ /
|
||||
s/\*/./g
|
||||
s/ \\n/*/g
|
||||
s/ [0-9][0-9][0-9]/./g
|
||||
s/ \\[^ ]/./g'] |
|
||||
tr -d '
|
||||
' | tr -s '*' '
|
||||
' | fold | sed '$a\
|
||||
' > conftest.dmp
|
||||
$2
|
||||
ifelse($3, , , else
|
||||
$3
|
||||
)dnl
|
||||
fi
|
||||
rm -rf conftest*
|
||||
AC_LANG_RESTORE])
|
||||
|
||||
dnl Host endianness probe.
|
||||
dnl Differs from AC_C_BIGENDIAN in that it does not require
|
||||
dnl running a program on the host.
|
||||
dnl
|
||||
AC_DEFUN([fastjar_AC_COMPILE_C_BIGENDIAN],
|
||||
[AC_CACHE_CHECK(byte ordering, ac_cv_c_compile_endian,
|
||||
[ac_cv_c_compile_endian=unknown
|
||||
gcc_AC_EXAMINE_OBJECT([
|
||||
#ifdef HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#endif
|
||||
/* This structure must have no internal padding. */
|
||||
struct {
|
||||
char prefix[sizeof "\nendian:" - 1];
|
||||
short word;
|
||||
char postfix[2];
|
||||
} tester = {
|
||||
"\nendian:",
|
||||
#if SIZEOF_SHORT == 4
|
||||
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
|
||||
#endif
|
||||
('A' << CHAR_BIT) | 'B',
|
||||
'X', '\n'
|
||||
};],
|
||||
[if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=big-endian
|
||||
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=little-endian
|
||||
fi])
|
||||
])
|
||||
if test $ac_cv_c_compile_endian = unknown; then
|
||||
AC_MSG_ERROR([*** unable to determine endianness])
|
||||
elif test $ac_cv_c_compile_endian = big-endian; then
|
||||
AC_DEFINE(WORDS_BIG_ENDIAN, 1,
|
||||
[Define if the host machine stores words of multi-word integers in
|
||||
big-endian order.])
|
||||
fi
|
||||
])
|
||||
sinclude(../config/accross.m4)
|
||||
|
||||
dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
|
||||
dnl of the usual 2.
|
||||
|
@ -153,7 +43,7 @@ fi
|
|||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
AC_DEFUN([AM_INIT_AUTOMAKE],
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
|
@ -181,7 +71,7 @@ AC_REQUIRE([AC_PROG_MAKE_SET])])
|
|||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
AC_DEFUN([AM_SANITY_CHECK],
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
|
@ -222,7 +112,7 @@ AC_MSG_RESULT(yes)])
|
|||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
AC_DEFUN([AM_MISSING_PROG],
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
|
@ -238,7 +128,7 @@ AC_SUBST($1)])
|
|||
|
||||
# Like AC_CONFIG_HEADER, but automatically create stamp file.
|
||||
|
||||
AC_DEFUN(AM_CONFIG_HEADER,
|
||||
AC_DEFUN([AM_CONFIG_HEADER],
|
||||
[AC_PREREQ([2.12])
|
||||
AC_CONFIG_HEADER([$1])
|
||||
dnl When config.status generates a header, we must update the stamp-h file.
|
||||
|
@ -264,7 +154,7 @@ changequote([,]))])
|
|||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_MAINTAINER_MODE,
|
||||
AC_DEFUN([AM_MAINTAINER_MODE],
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
|
@ -281,7 +171,7 @@ AC_DEFUN(AM_MAINTAINER_MODE,
|
|||
|
||||
# Define a conditional.
|
||||
|
||||
AC_DEFUN(AM_CONDITIONAL,
|
||||
AC_DEFUN([AM_CONDITIONAL],
|
||||
[AC_SUBST($1_TRUE)
|
||||
AC_SUBST($1_FALSE)
|
||||
if $2; then
|
||||
|
|
390
fastjar/configure
vendored
390
fastjar/configure
vendored
|
@ -33,7 +33,6 @@ program_suffix=NONE
|
|||
program_transform_name=s,x,x,
|
||||
silent=
|
||||
site=
|
||||
sitefile=
|
||||
srcdir=
|
||||
target=NONE
|
||||
verbose=
|
||||
|
@ -148,7 +147,6 @@ Configuration:
|
|||
--help print this message
|
||||
--no-create do not create output files
|
||||
--quiet, --silent do not print \`checking...' messages
|
||||
--site-file=FILE use FILE as the site file
|
||||
--version print the version of autoconf that created configure
|
||||
Directory and file names:
|
||||
--prefix=PREFIX install architecture-independent files in PREFIX
|
||||
|
@ -319,11 +317,6 @@ EOF
|
|||
-site=* | --site=* | --sit=*)
|
||||
site="$ac_optarg" ;;
|
||||
|
||||
-site-file | --site-file | --site-fil | --site-fi | --site-f)
|
||||
ac_prev=sitefile ;;
|
||||
-site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
|
||||
sitefile="$ac_optarg" ;;
|
||||
|
||||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
||||
ac_prev=srcdir ;;
|
||||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
||||
|
@ -489,16 +482,12 @@ fi
|
|||
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
|
||||
|
||||
# Prefer explicitly selected file to automatically selected ones.
|
||||
if test -z "$sitefile"; then
|
||||
if test -z "$CONFIG_SITE"; then
|
||||
if test "x$prefix" != xNONE; then
|
||||
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
|
||||
else
|
||||
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
|
||||
fi
|
||||
if test -z "$CONFIG_SITE"; then
|
||||
if test "x$prefix" != xNONE; then
|
||||
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
|
||||
else
|
||||
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
|
||||
fi
|
||||
else
|
||||
CONFIG_SITE="$sitefile"
|
||||
fi
|
||||
for ac_site_file in $CONFIG_SITE; do
|
||||
if test -r "$ac_site_file"; then
|
||||
|
@ -568,7 +557,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
|
|||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||
echo "configure:572: checking for a BSD compatible install" >&5
|
||||
echo "configure:561: checking for a BSD compatible install" >&5
|
||||
if test -z "$INSTALL"; then
|
||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -621,7 +610,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
|
|||
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
||||
|
||||
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
|
||||
echo "configure:625: checking whether build environment is sane" >&5
|
||||
echo "configure:614: checking whether build environment is sane" >&5
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
|
@ -678,7 +667,7 @@ test "$program_suffix" != NONE &&
|
|||
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
|
||||
|
||||
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
|
||||
echo "configure:682: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
||||
echo "configure:671: checking whether ${MAKE-make} sets \${MAKE}" >&5
|
||||
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -724,7 +713,7 @@ EOF
|
|||
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
|
||||
echo "configure:728: checking for working aclocal" >&5
|
||||
echo "configure:717: checking for working aclocal" >&5
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
|
@ -737,7 +726,7 @@ else
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
|
||||
echo "configure:741: checking for working autoconf" >&5
|
||||
echo "configure:730: checking for working autoconf" >&5
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
|
@ -750,7 +739,7 @@ else
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for working automake""... $ac_c" 1>&6
|
||||
echo "configure:754: checking for working automake" >&5
|
||||
echo "configure:743: checking for working automake" >&5
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
|
@ -763,7 +752,7 @@ else
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
|
||||
echo "configure:767: checking for working autoheader" >&5
|
||||
echo "configure:756: checking for working autoheader" >&5
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
|
@ -776,7 +765,7 @@ else
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
|
||||
echo "configure:780: checking for working makeinfo" >&5
|
||||
echo "configure:769: checking for working makeinfo" >&5
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
|
@ -796,7 +785,7 @@ fi
|
|||
# Extract the first word of "gcc", so it can be a program name with args.
|
||||
set dummy gcc; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:800: checking for $ac_word" >&5
|
||||
echo "configure:789: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -826,7 +815,7 @@ if test -z "$CC"; then
|
|||
# Extract the first word of "cc", so it can be a program name with args.
|
||||
set dummy cc; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:830: checking for $ac_word" >&5
|
||||
echo "configure:819: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -877,7 +866,7 @@ fi
|
|||
# Extract the first word of "cl", so it can be a program name with args.
|
||||
set dummy cl; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:881: checking for $ac_word" >&5
|
||||
echo "configure:870: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -909,7 +898,7 @@ fi
|
|||
fi
|
||||
|
||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
|
||||
echo "configure:913: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
||||
echo "configure:902: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
|
||||
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
|
@ -920,12 +909,12 @@ cross_compiling=$ac_cv_prog_cc_cross
|
|||
|
||||
cat > conftest.$ac_ext << EOF
|
||||
|
||||
#line 924 "configure"
|
||||
#line 913 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
main(){return(0);}
|
||||
EOF
|
||||
if { (eval echo configure:929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
ac_cv_prog_cc_works=yes
|
||||
# If we can't run a trivial program, we are probably using a cross compiler.
|
||||
if (./conftest; exit) 2>/dev/null; then
|
||||
|
@ -951,12 +940,12 @@ if test $ac_cv_prog_cc_works = no; then
|
|||
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
|
||||
fi
|
||||
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
|
||||
echo "configure:955: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||
echo "configure:944: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
|
||||
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
|
||||
echo "configure:960: checking whether we are using GNU C" >&5
|
||||
echo "configure:949: checking whether we are using GNU C" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -965,7 +954,7 @@ else
|
|||
yes;
|
||||
#endif
|
||||
EOF
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:958: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||
ac_cv_prog_gcc=yes
|
||||
else
|
||||
ac_cv_prog_gcc=no
|
||||
|
@ -984,7 +973,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
|
|||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=
|
||||
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
|
||||
echo "configure:988: checking whether ${CC-cc} accepts -g" >&5
|
||||
echo "configure:977: checking whether ${CC-cc} accepts -g" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -1027,7 +1016,7 @@ fi
|
|||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||
echo "configure:1031: checking for a BSD compatible install" >&5
|
||||
echo "configure:1020: checking for a BSD compatible install" >&5
|
||||
if test -z "$INSTALL"; then
|
||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -1082,7 +1071,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
|||
# Extract the first word of "rm", so it can be a program name with args.
|
||||
set dummy rm; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1086: checking for $ac_word" >&5
|
||||
echo "configure:1075: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -1118,7 +1107,7 @@ fi
|
|||
# Extract the first word of "cp", so it can be a program name with args.
|
||||
set dummy cp; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1122: checking for $ac_word" >&5
|
||||
echo "configure:1111: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_CP'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -1154,7 +1143,7 @@ fi
|
|||
# Extract the first word of "strip", so it can be a program name with args.
|
||||
set dummy strip; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1158: checking for $ac_word" >&5
|
||||
echo "configure:1147: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_STRIP'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -1190,7 +1179,7 @@ fi
|
|||
# Extract the first word of "chmod", so it can be a program name with args.
|
||||
set dummy chmod; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:1194: checking for $ac_word" >&5
|
||||
echo "configure:1183: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -1224,12 +1213,12 @@ else
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
|
||||
echo "configure:1228: checking for Cygwin environment" >&5
|
||||
echo "configure:1217: checking for Cygwin environment" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1233 "configure"
|
||||
#line 1222 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
|
@ -1240,7 +1229,7 @@ int main() {
|
|||
return __CYGWIN__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1233: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_cygwin=yes
|
||||
else
|
||||
|
@ -1257,19 +1246,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
|
|||
CYGWIN=
|
||||
test "$ac_cv_cygwin" = yes && CYGWIN=yes
|
||||
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
|
||||
echo "configure:1261: checking for mingw32 environment" >&5
|
||||
echo "configure:1250: checking for mingw32 environment" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1266 "configure"
|
||||
#line 1255 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return __MINGW32__;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1273: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1262: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_mingw32=yes
|
||||
else
|
||||
|
@ -1288,7 +1277,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
|
|||
|
||||
|
||||
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
|
||||
echo "configure:1292: checking for executable suffix" >&5
|
||||
echo "configure:1281: checking for executable suffix" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -1298,10 +1287,10 @@ else
|
|||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_exeext=
|
||||
if { (eval echo configure:1302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||
if { (eval echo configure:1291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||
for file in conftest.*; do
|
||||
case $file in
|
||||
*.c | *.o | *.obj | *.ilk | *.pdb) ;;
|
||||
*.c | *.o | *.obj) ;;
|
||||
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
|
||||
esac
|
||||
done
|
||||
|
@ -1320,7 +1309,7 @@ ac_exeext=$EXEEXT
|
|||
|
||||
|
||||
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
|
||||
echo "configure:1324: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
echo "configure:1313: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
|
||||
if test "${enable_maintainer_mode+set}" = set; then
|
||||
enableval="$enable_maintainer_mode"
|
||||
|
@ -1353,12 +1342,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
|
|||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
|
||||
echo "configure:1357: checking for $ac_hdr that defines DIR" >&5
|
||||
echo "configure:1346: checking for $ac_hdr that defines DIR" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1362 "configure"
|
||||
#line 1351 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <$ac_hdr>
|
||||
|
@ -1366,7 +1355,7 @@ int main() {
|
|||
DIR *dirp = 0;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_header_dirent_$ac_safe=yes"
|
||||
else
|
||||
|
@ -1391,7 +1380,7 @@ done
|
|||
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
|
||||
if test $ac_header_dirent = dirent.h; then
|
||||
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
|
||||
echo "configure:1395: checking for opendir in -ldir" >&5
|
||||
echo "configure:1384: checking for opendir in -ldir" >&5
|
||||
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -1399,7 +1388,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-ldir $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1403 "configure"
|
||||
#line 1392 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -1410,7 +1399,7 @@ int main() {
|
|||
opendir()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -1432,7 +1421,7 @@ fi
|
|||
|
||||
else
|
||||
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
|
||||
echo "configure:1436: checking for opendir in -lx" >&5
|
||||
echo "configure:1425: checking for opendir in -lx" >&5
|
||||
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -1440,7 +1429,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lx $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1444 "configure"
|
||||
#line 1433 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -1451,7 +1440,7 @@ int main() {
|
|||
opendir()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:1444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -1474,7 +1463,7 @@ fi
|
|||
fi
|
||||
|
||||
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
||||
echo "configure:1478: checking how to run the C preprocessor" >&5
|
||||
echo "configure:1467: checking how to run the C preprocessor" >&5
|
||||
# On Suns, sometimes $CPP names a directory.
|
||||
if test -n "$CPP" && test -d "$CPP"; then
|
||||
CPP=
|
||||
|
@ -1489,13 +1478,13 @@ else
|
|||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||
# not just through cpp.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1493 "configure"
|
||||
#line 1482 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1499: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1488: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
|
@ -1506,13 +1495,13 @@ else
|
|||
rm -rf conftest*
|
||||
CPP="${CC-cc} -E -traditional-cpp"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1510 "configure"
|
||||
#line 1499 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
|
@ -1523,13 +1512,13 @@ else
|
|||
rm -rf conftest*
|
||||
CPP="${CC-cc} -nologo -E"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1527 "configure"
|
||||
#line 1516 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <assert.h>
|
||||
Syntax Error
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
:
|
||||
|
@ -1554,12 +1543,12 @@ fi
|
|||
echo "$ac_t""$CPP" 1>&6
|
||||
|
||||
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
|
||||
echo "configure:1558: checking for ANSI C header files" >&5
|
||||
echo "configure:1547: checking for ANSI C header files" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1563 "configure"
|
||||
#line 1552 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
@ -1567,7 +1556,7 @@ else
|
|||
#include <float.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1571: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1560: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -1584,7 +1573,7 @@ rm -f conftest*
|
|||
if test $ac_cv_header_stdc = yes; then
|
||||
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1588 "configure"
|
||||
#line 1577 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <string.h>
|
||||
EOF
|
||||
|
@ -1602,7 +1591,7 @@ fi
|
|||
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 <<EOF
|
||||
#line 1606 "configure"
|
||||
#line 1595 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
EOF
|
||||
|
@ -1623,7 +1612,7 @@ if test "$cross_compiling" = yes; then
|
|||
:
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1627 "configure"
|
||||
#line 1616 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <ctype.h>
|
||||
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
|
@ -1634,7 +1623,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
|
|||
exit (0); }
|
||||
|
||||
EOF
|
||||
if { (eval echo configure:1638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:1627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
:
|
||||
else
|
||||
|
@ -1658,12 +1647,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
|
||||
echo "configure:1662: checking whether struct tm is in sys/time.h or time.h" >&5
|
||||
echo "configure:1651: checking whether struct tm is in sys/time.h or time.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1667 "configure"
|
||||
#line 1656 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
|
@ -1671,7 +1660,7 @@ int main() {
|
|||
struct tm *tp; tp->tm_sec;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_struct_tm=time.h
|
||||
else
|
||||
|
@ -1695,17 +1684,17 @@ for ac_hdr in fcntl.h unistd.h sys/param.h stdlib.h limits.h
|
|||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:1699: checking for $ac_hdr" >&5
|
||||
echo "configure:1688: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1704 "configure"
|
||||
#line 1693 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:1709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:1698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -1733,12 +1722,12 @@ done
|
|||
|
||||
|
||||
echo $ac_n "checking for off_t""... $ac_c" 1>&6
|
||||
echo "configure:1737: checking for off_t" >&5
|
||||
echo "configure:1726: checking for off_t" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1742 "configure"
|
||||
#line 1731 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
|
@ -1766,12 +1755,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
|
||||
echo "configure:1770: checking whether struct tm is in sys/time.h or time.h" >&5
|
||||
echo "configure:1759: checking whether struct tm is in sys/time.h or time.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1775 "configure"
|
||||
#line 1764 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
|
@ -1779,7 +1768,7 @@ int main() {
|
|||
struct tm *tp; tp->tm_sec;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_struct_tm=time.h
|
||||
else
|
||||
|
@ -1802,12 +1791,12 @@ fi
|
|||
|
||||
# mkdir takes a single argument on some systems.
|
||||
echo $ac_n "checking if mkdir takes one argument""... $ac_c" 1>&6
|
||||
echo "configure:1806: checking if mkdir takes one argument" >&5
|
||||
echo "configure:1795: checking if mkdir takes one argument" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_mkdir_takes_one_arg'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1811 "configure"
|
||||
#line 1800 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
|
@ -1824,7 +1813,7 @@ int main() {
|
|||
mkdir ("foo", 0);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1828: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
gcc_cv_mkdir_takes_one_arg=no
|
||||
else
|
||||
|
@ -1846,13 +1835,13 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking size of char""... $ac_c" 1>&6
|
||||
echo "configure:1850: checking size of char" >&5
|
||||
echo "configure:1839: checking size of char" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sizeof_char'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
|
||||
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1856 "configure"
|
||||
#line 1845 "configure"
|
||||
#include "confdefs.h"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
|
@ -1862,7 +1851,7 @@ int main() {
|
|||
switch (0) case 0: case (sizeof (char) == $ac_size):;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1866: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_sizeof_char=$ac_size
|
||||
else
|
||||
|
@ -1885,13 +1874,13 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking size of short""... $ac_c" 1>&6
|
||||
echo "configure:1889: checking size of short" >&5
|
||||
echo "configure:1878: checking size of short" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
|
||||
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1895 "configure"
|
||||
#line 1884 "configure"
|
||||
#include "confdefs.h"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
|
@ -1901,7 +1890,7 @@ int main() {
|
|||
switch (0) case 0: case (sizeof (short) == $ac_size):;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1905: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_sizeof_short=$ac_size
|
||||
else
|
||||
|
@ -1924,13 +1913,13 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking size of int""... $ac_c" 1>&6
|
||||
echo "configure:1928: checking size of int" >&5
|
||||
echo "configure:1917: checking size of int" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
|
||||
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1934 "configure"
|
||||
#line 1923 "configure"
|
||||
#include "confdefs.h"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
|
@ -1940,7 +1929,7 @@ int main() {
|
|||
switch (0) case 0: case (sizeof (int) == $ac_size):;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1933: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_sizeof_int=$ac_size
|
||||
else
|
||||
|
@ -1963,13 +1952,13 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking size of long""... $ac_c" 1>&6
|
||||
echo "configure:1967: checking size of long" >&5
|
||||
echo "configure:1956: checking size of long" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
|
||||
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 1973 "configure"
|
||||
#line 1962 "configure"
|
||||
#include "confdefs.h"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
|
@ -1979,7 +1968,7 @@ int main() {
|
|||
switch (0) case 0: case (sizeof (long) == $ac_size):;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:1983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:1972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_sizeof_long=$ac_size
|
||||
else
|
||||
|
@ -2002,13 +1991,13 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking size of long long""... $ac_c" 1>&6
|
||||
echo "configure:2006: checking size of long long" >&5
|
||||
echo "configure:1995: checking size of long long" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
|
||||
for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2012 "configure"
|
||||
#line 2001 "configure"
|
||||
#include "confdefs.h"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
|
@ -2018,7 +2007,7 @@ int main() {
|
|||
switch (0) case 0: case (sizeof (long long) == $ac_size):;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2022: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:2011: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_sizeof_long_long=$ac_size
|
||||
else
|
||||
|
@ -2041,77 +2030,140 @@ EOF
|
|||
|
||||
|
||||
|
||||
echo $ac_n "checking byte ordering""... $ac_c" 1>&6
|
||||
echo "configure:2046: checking byte ordering" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_compile_endian'+set}'`\" = set"; then
|
||||
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
|
||||
echo "configure:2035: checking whether byte ordering is bigendian" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_cv_c_compile_endian=unknown
|
||||
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
ac_cv_c_bigendian=unknown
|
||||
# See if sys/param.h defines the BYTE_ORDER macro.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2060 "configure"
|
||||
#line 2042 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
int main() {
|
||||
|
||||
#ifdef HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
|
||||
bogus endian macros
|
||||
#endif
|
||||
/* This structure must have no internal padding. */
|
||||
struct {
|
||||
char prefix[sizeof "\nendian:" - 1];
|
||||
short word;
|
||||
char postfix[2];
|
||||
} tester = {
|
||||
"\nendian:",
|
||||
#if SIZEOF_SHORT == 4
|
||||
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
|
||||
#endif
|
||||
('A' << CHAR_BIT) | 'B',
|
||||
'X', '\n'
|
||||
};
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
od -c conftest.o |
|
||||
sed 's/^[0-7]*[ ]*/ /
|
||||
s/\*/./g
|
||||
s/ \\n/*/g
|
||||
s/ [0-9][0-9][0-9]/./g
|
||||
s/ \\[^ ]/./g' |
|
||||
tr -d '
|
||||
' | tr -s '*' '
|
||||
' | fold | sed '$a\
|
||||
' > conftest.dmp
|
||||
if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=big-endian
|
||||
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=little-endian
|
||||
if { (eval echo configure:2053: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
# It does; now see whether it defined to BIG_ENDIAN or not.
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2057 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
int main() {
|
||||
|
||||
#if BYTE_ORDER != BIG_ENDIAN
|
||||
not big endian
|
||||
#endif
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_c_bigendian=yes
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -rf conftest*
|
||||
ac_cv_c_bigendian=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
fi
|
||||
rm -f conftest*
|
||||
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 <<EOF
|
||||
#line 2088 "configure"
|
||||
#include "confdefs.h"
|
||||
main () {
|
||||
/* Are we little or big endian? From Harbison&Steele. */
|
||||
union
|
||||
{
|
||||
long l;
|
||||
char c[sizeof (long)];
|
||||
} u;
|
||||
u.l = 1;
|
||||
exit (u.c[sizeof (long) - 1] == 1);
|
||||
}
|
||||
EOF
|
||||
if { (eval echo configure:2101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_c_bigendian=no
|
||||
else
|
||||
echo "configure: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
rm -fr conftest*
|
||||
ac_cv_c_bigendian=yes
|
||||
fi
|
||||
rm -fr conftest*
|
||||
fi
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$ac_t""$ac_cv_c_bigendian" 1>&6
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
echo $ac_n "checking to probe for byte ordering""... $ac_c" 1>&6
|
||||
echo "configure:2119: checking to probe for byte ordering" >&5
|
||||
|
||||
cat >conftest.c <<EOF
|
||||
short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
|
||||
short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
|
||||
void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
|
||||
short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
|
||||
short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
|
||||
void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
|
||||
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 test `grep -l BIGenDianSyS conftest.o` ; then
|
||||
echo $ac_n ' big endian probe OK, ' 1>&6
|
||||
ac_cv_c_bigendian=yes
|
||||
fi
|
||||
if test `grep -l LiTTleEnDian conftest.o` ; then
|
||||
echo $ac_n ' little endian probe OK, ' 1>&6
|
||||
if test $ac_cv_c_bigendian = yes ; then
|
||||
ac_cv_c_bigendian=unknown;
|
||||
else
|
||||
ac_cv_c_bigendian=no
|
||||
fi
|
||||
fi
|
||||
echo $ac_n 'guessing bigendian ... ' >&6
|
||||
fi
|
||||
fi
|
||||
echo "$ac_t""$ac_cv_c_bigendian" 1>&6
|
||||
fi
|
||||
rm -rf conftest*
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
cross_compiling=$ac_cv_prog_cc_cross
|
||||
|
||||
|
||||
fi
|
||||
|
||||
echo "$ac_t""$ac_cv_c_compile_endian" 1>&6
|
||||
if test $ac_cv_c_compile_endian = unknown; then
|
||||
{ echo "configure: error: *** unable to determine endianness" 1>&2; exit 1; }
|
||||
elif test $ac_cv_c_compile_endian = big-endian; then
|
||||
if test $ac_cv_c_bigendian = yes; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define WORDS_BIG_ENDIAN 1
|
||||
#define WORDS_BIGENDIAN 1
|
||||
EOF
|
||||
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HOST_WORDS_BIG_ENDIAN 1
|
||||
EOF
|
||||
|
||||
BYTEORDER=4321
|
||||
else
|
||||
BYTEORDER=1234
|
||||
fi
|
||||
cat >> confdefs.h <<EOF
|
||||
#define BYTEORDER $BYTEORDER
|
||||
EOF
|
||||
|
||||
if test $ac_cv_c_bigendian = unknown; then
|
||||
{ echo "configure: error: unknown endianess - sorry" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
|
||||
|
@ -2128,7 +2180,7 @@ ZINCS=
|
|||
use_zlib=maybe
|
||||
if test "$with_system_zlib" = yes; then
|
||||
echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6
|
||||
echo "configure:2132: checking for deflate in -lz" >&5
|
||||
echo "configure:2184: checking for deflate in -lz" >&5
|
||||
ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -2136,7 +2188,7 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lz $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2140 "configure"
|
||||
#line 2192 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -2147,7 +2199,7 @@ int main() {
|
|||
deflate()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:2203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -2359,7 +2411,7 @@ cat >> $CONFIG_STATUS <<\EOF
|
|||
|
||||
# Split the substitutions into bite-sized pieces for seds with
|
||||
# small command number limits, like on Digital OSF/1 and HP-UX.
|
||||
ac_max_sed_cmds=60 # Maximum number of lines to put in a sed script.
|
||||
ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
|
||||
ac_file=1 # Number of current file.
|
||||
ac_beg=1 # First line for current file.
|
||||
ac_end=$ac_max_sed_cmds # Line after last line for current file.
|
||||
|
|
|
@ -34,14 +34,14 @@ AC_STRUCT_TM
|
|||
gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
|
||||
|
||||
dnl Check for type-widths
|
||||
gcc_AC_COMPILE_CHECK_SIZEOF(char)
|
||||
gcc_AC_COMPILE_CHECK_SIZEOF(short)
|
||||
gcc_AC_COMPILE_CHECK_SIZEOF(int)
|
||||
gcc_AC_COMPILE_CHECK_SIZEOF(long)
|
||||
gcc_AC_COMPILE_CHECK_SIZEOF(long long)
|
||||
AC_COMPILE_CHECK_SIZEOF(char)
|
||||
AC_COMPILE_CHECK_SIZEOF(short)
|
||||
AC_COMPILE_CHECK_SIZEOF(int)
|
||||
AC_COMPILE_CHECK_SIZEOF(long)
|
||||
AC_COMPILE_CHECK_SIZEOF(long long)
|
||||
|
||||
dnl Check byte order
|
||||
fastjar_AC_COMPILE_C_BIGENDIAN
|
||||
AC_C_BIGENDIAN_CROSS
|
||||
|
||||
AC_ARG_WITH(system-zlib,
|
||||
[ --with-system-zlib use installed libz])
|
||||
|
|
|
@ -373,7 +373,6 @@ returns: TRUE if it is a word, FALSE of it is a substring.
|
|||
|
||||
static int chk_wrd(regex_t *exp, const char *str) {
|
||||
int wrd_fnd = FALSE;
|
||||
int regflag;
|
||||
int frnt_ok;
|
||||
int bck_ok;
|
||||
const char *str2;
|
||||
|
@ -381,7 +380,7 @@ static int chk_wrd(regex_t *exp, const char *str) {
|
|||
|
||||
str2 = str;
|
||||
frnt_ok = bck_ok = FALSE;
|
||||
while(!wrd_fnd && !(regflag = regexec(exp, str2, 1, &match, 0))) {
|
||||
while(!wrd_fnd && !regexec(exp, str2, 1, &match, 0)) {
|
||||
if(!match.rm_so && (str2 == str)) frnt_ok = TRUE;
|
||||
else if(!isalnum((unsigned char)str2[match.rm_so - 1])
|
||||
&& str2[match.rm_so - 1] != '_')
|
||||
|
|
|
@ -327,7 +327,6 @@ int main(int argc, char **argv){
|
|||
int manifest = TRUE;
|
||||
int opt;
|
||||
|
||||
int j;
|
||||
int jarfd = -1;
|
||||
|
||||
/* These are used to collect file names and `-C' options for the
|
||||
|
@ -345,8 +344,6 @@ int main(int argc, char **argv){
|
|||
if(argc < 2)
|
||||
usage(argv[0]);
|
||||
|
||||
j = strlen(argv[1]);
|
||||
|
||||
new_argc = 0;
|
||||
new_argv = (char **) malloc (argc * sizeof (char *));
|
||||
|
||||
|
@ -1121,13 +1118,10 @@ int create_central_header(int fd){
|
|||
ub1 end_header[22];
|
||||
int start_offset;
|
||||
int dir_size;
|
||||
int *iheader;
|
||||
int total_in = 0, total_out = 22;
|
||||
|
||||
zipentry *ze;
|
||||
|
||||
iheader = (int*)header;
|
||||
|
||||
/* magic number */
|
||||
header[0] = 'P';
|
||||
header[1] = 'K';
|
||||
|
@ -1551,7 +1545,6 @@ int extract_jar(int fd, char **files, int file_num){
|
|||
}
|
||||
|
||||
int list_jar(int fd, char **files, int file_num){
|
||||
int rdamt;
|
||||
ub4 signature;
|
||||
ub4 csize;
|
||||
ub4 usize;
|
||||
|
@ -1713,7 +1706,7 @@ int list_jar(int fd, char **files, int file_num){
|
|||
init_inflation();
|
||||
|
||||
for(;;){
|
||||
if((rdamt = pb_read(&pbf, scratch, 4)) != 4){
|
||||
if(pb_read(&pbf, scratch, 4) != 4){
|
||||
perror("read");
|
||||
break;
|
||||
}
|
||||
|
@ -1742,7 +1735,7 @@ int list_jar(int fd, char **files, int file_num){
|
|||
break;
|
||||
}
|
||||
|
||||
if((rdamt = pb_read(&pbf, (file_header + 4), 26)) != 26){
|
||||
if(pb_read(&pbf, (file_header + 4), 26) != 26){
|
||||
perror("read");
|
||||
break;
|
||||
}
|
||||
|
|
1596
gcc/ChangeLog
1596
gcc/ChangeLog
File diff suppressed because it is too large
Load diff
1054
gcc/Makefile.in
1054
gcc/Makefile.in
File diff suppressed because it is too large
Load diff
78
gcc/aclocal.m4
vendored
78
gcc/aclocal.m4
vendored
|
@ -1,3 +1,5 @@
|
|||
sinclude(../config/accross.m4)
|
||||
|
||||
dnl See if stdbool.h properly defines bool and true/false.
|
||||
AC_DEFUN(gcc_AC_HEADER_STDBOOL,
|
||||
[AC_CACHE_CHECK([for working stdbool.h],
|
||||
|
@ -799,35 +801,6 @@ if test $gcc_cv_enum_bf_unsigned = yes; then
|
|||
[Define if enumerated bitfields are treated as unsigned values.])
|
||||
fi])
|
||||
|
||||
dnl Host type sizes probe.
|
||||
dnl By Kaveh R. Ghazi. One typo fixed since.
|
||||
dnl
|
||||
AC_DEFUN([gcc_AC_COMPILE_CHECK_SIZEOF],
|
||||
[changequote(<<, >>)dnl
|
||||
dnl The name to #define.
|
||||
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
|
||||
dnl The cache variable name.
|
||||
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
|
||||
changequote([, ])dnl
|
||||
AC_MSG_CHECKING(size of $1)
|
||||
AC_CACHE_VAL(AC_CV_NAME,
|
||||
[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
|
||||
AC_TRY_COMPILE([#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
$2
|
||||
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
|
||||
if test x$AC_CV_NAME != x ; then break; fi
|
||||
done
|
||||
])
|
||||
if test x$AC_CV_NAME = x ; then
|
||||
AC_MSG_ERROR([cannot determine a size for $1])
|
||||
fi
|
||||
AC_MSG_RESULT($AC_CV_NAME)
|
||||
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
|
||||
undefine([AC_TYPE_NAME])dnl
|
||||
undefine([AC_CV_NAME])dnl
|
||||
])
|
||||
|
||||
dnl Probe number of bits in a byte.
|
||||
dnl Note C89 requires CHAR_BIT >= 8.
|
||||
dnl
|
||||
|
@ -958,49 +931,6 @@ fi
|
|||
rm -rf conftest*
|
||||
AC_LANG_RESTORE])
|
||||
|
||||
dnl Host endianness probe.
|
||||
dnl This tests byte-within-word endianness. GCC actually needs
|
||||
dnl to know word-within-larger-object endianness. They are the
|
||||
dnl same on all presently supported hosts.
|
||||
dnl Differs from AC_C_BIGENDIAN in that it does not require
|
||||
dnl running a program on the host, and it defines the macro we
|
||||
dnl want to see.
|
||||
dnl
|
||||
AC_DEFUN([gcc_AC_C_COMPILE_ENDIAN],
|
||||
[AC_CACHE_CHECK(byte ordering, ac_cv_c_compile_endian,
|
||||
[ac_cv_c_compile_endian=unknown
|
||||
gcc_AC_EXAMINE_OBJECT([
|
||||
#ifdef HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#endif
|
||||
/* This structure must have no internal padding. */
|
||||
struct {
|
||||
char prefix[sizeof "\nendian:" - 1];
|
||||
short word;
|
||||
char postfix[2];
|
||||
} tester = {
|
||||
"\nendian:",
|
||||
#if SIZEOF_SHORT == 4
|
||||
('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
|
||||
#endif
|
||||
('A' << CHAR_BIT) | 'B',
|
||||
'X', '\n'
|
||||
};],
|
||||
[if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=big-endian
|
||||
elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
|
||||
ac_cv_c_compile_endian=little-endian
|
||||
fi])
|
||||
])
|
||||
if test $ac_cv_c_compile_endian = unknown; then
|
||||
AC_MSG_ERROR([*** unable to determine endianness])
|
||||
elif test $ac_cv_c_compile_endian = big-endian; then
|
||||
AC_DEFINE(HOST_WORDS_BIG_ENDIAN, 1,
|
||||
[Define if the host machine stores words of multi-word integers in
|
||||
big-endian order.])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Floating point format probe.
|
||||
dnl The basic concept is the same as the above: grep the object
|
||||
dnl file for an interesting string. We have to watch out for
|
||||
|
@ -1063,12 +993,12 @@ format=
|
|||
fbigend=
|
||||
case $ac_cv_c_float_format in
|
||||
'IEEE (big-endian)' )
|
||||
if test $ac_cv_c_compile_endian = little-endian; then
|
||||
if test $ac_cv_c_bigendian = no; then
|
||||
fbigend=1
|
||||
fi
|
||||
;;
|
||||
'IEEE (little-endian)' )
|
||||
if test $ac_cv_c_compile_endian = big-endian; then
|
||||
if test $ac_cv_c_bigendian = yes; then
|
||||
fbigend=0
|
||||
fi
|
||||
;;
|
||||
|
|
|
@ -4,13 +4,20 @@
|
|||
|
||||
2002-12-14 Geert Bosch <bosch@gnat.com>
|
||||
|
||||
* sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
|
||||
case of a body created for a Renaming_As_Body, on which
|
||||
conformance checks are not performed. Fixes PR ada/5690.
|
||||
* sem_ch6.adb (Analyze_Subprogram_Body): Recognize additional
|
||||
case of a body created for a Renaming_As_Body, on which
|
||||
conformance checks are not performed. Fixes PR ada/5690.
|
||||
|
||||
2002-11-30 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
* cuintp.c, decl.c, deftarg.c, misc.c, targtyps.c, trans.c,
|
||||
utils.c, utils2.c: Include coretypes.h and tm.h, and system.h when
|
||||
not already included.
|
||||
* Make-lang.in: Update dependencies.
|
||||
|
||||
2002-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
* adaint.c (__gnat_tmp_name): Better, but good enough for now,
|
||||
solution to buffer overflow bug on GNU/Linux.
|
||||
solution to buffer overflow bug on GNU/Linux.
|
||||
|
||||
2002-11-14 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
Closes PR ada/5856 and PR ada/6919 !
|
||||
|
@ -32,7 +39,7 @@
|
|||
2002-11-05 Graham Stott <graham.stott@btinternet.com>
|
||||
PR ada/8358
|
||||
* trans.c (gnu_pending_elaboration_lists): New GC root.
|
||||
(build_unit_elab): Use..
|
||||
(build_unit_elab): Use..
|
||||
|
||||
2002-10-30 Geert Bosch <bosch@gnat.com>
|
||||
PR ada/6558
|
||||
|
@ -41,12 +48,12 @@
|
|||
* Make-lang.in (misc.o): Add dependency on optabs.h
|
||||
|
||||
2002-10-29 Geert Bosch <bosch@gnat.com>
|
||||
PR ada/6558
|
||||
PR ada/6558
|
||||
* Make-lang.in (gnatbind): Depend on CONFIG_H
|
||||
|
||||
2002-10-29 Geert bosch <bosch@gnat.com>
|
||||
PR ada/6558
|
||||
* misc.c: Unrevert misc.c (1.13)
|
||||
PR ada/6558
|
||||
* misc.c: Unrevert misc.c (1.13)
|
||||
|
||||
2002-10-28 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
|
||||
|
@ -55,265 +62,265 @@
|
|||
|
||||
2002-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
|
||||
PR ada/5904
|
||||
* 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
|
||||
5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
|
||||
5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
|
||||
7staprop.adb: Correct statements in comments about
|
||||
* 5ataprop.adb 5atpopsp.adb 5bosinte.adb 5ftaprop.adb
|
||||
5gtaprop.adb 5htaprop.adb 5rosinte.ads 5staprop.adb
|
||||
5stpopse.adb 5vtaspri.ads 5zintman.adb 5ztaprop.adb
|
||||
7staprop.adb: Correct statements in comments about
|
||||
maintainership of GNAT.
|
||||
|
||||
PR ada/5904
|
||||
* 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
|
||||
gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
|
||||
osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
|
||||
osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
|
||||
s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
|
||||
s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
|
||||
sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
|
||||
* 1ssecsta.adb 1ssecsta.ads adadecode.c adadecode.h aux-io.c
|
||||
gnatname.adb gnatname.ads mkdir.c osint-b.adb osint-b.ads
|
||||
osint-c.adb osint-c.ads osint-l.adb osint-l.ads osint-m.adb
|
||||
osint-m.ads prj-makr.adb prj-makr.ads prj-pp.adb prj-pp.ads
|
||||
s-atacco.ads s-traceb.adb s-traceb.ads s-traces.adb
|
||||
s-traces.ads s-tratas.adb s-tratas.ads sinput-d.adb
|
||||
sinput-d.ads switch-b.adb switch-b.ads switch-c.adb
|
||||
switch-c.ads switch-m.adb switch-m.ads: Correct statements in
|
||||
comments about maintainership of GNAT.
|
||||
|
||||
PR ada/6919 (forward port of patch for PR ada/5904)
|
||||
* 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
|
||||
4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
|
||||
4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
|
||||
4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
|
||||
4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
|
||||
4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
|
||||
4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
|
||||
52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
|
||||
5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
|
||||
5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
|
||||
5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
|
||||
5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
|
||||
5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
|
||||
5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
|
||||
5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
|
||||
5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
|
||||
5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
|
||||
5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
|
||||
5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
|
||||
5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
|
||||
5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
|
||||
5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
|
||||
5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
|
||||
5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
|
||||
5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
|
||||
5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
|
||||
5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
|
||||
5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
|
||||
7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
|
||||
a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
|
||||
a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
|
||||
a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
|
||||
a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
|
||||
a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
|
||||
a-except.adb a-except.ads a-excpol.adb a-exctra.adb
|
||||
a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
|
||||
a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
|
||||
a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
|
||||
a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
|
||||
a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
|
||||
a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
|
||||
a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
|
||||
a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
|
||||
a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
|
||||
a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
|
||||
a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
|
||||
a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
|
||||
a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
|
||||
a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
|
||||
a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
|
||||
a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
|
||||
a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
|
||||
a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
|
||||
a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
|
||||
a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
|
||||
a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
|
||||
a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
|
||||
a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
|
||||
a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
|
||||
a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
|
||||
a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
|
||||
a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
|
||||
a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
|
||||
a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
|
||||
a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
|
||||
a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
|
||||
a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
|
||||
a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
|
||||
adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
|
||||
alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
|
||||
back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
|
||||
binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
|
||||
bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
|
||||
ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
|
||||
csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
|
||||
cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
|
||||
debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
|
||||
einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
|
||||
errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
|
||||
exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
|
||||
exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
|
||||
exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
|
||||
exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
|
||||
exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
|
||||
exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
|
||||
exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
|
||||
exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
|
||||
exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
|
||||
exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
|
||||
exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
|
||||
exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
|
||||
exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
|
||||
final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
|
||||
fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
|
||||
freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
|
||||
g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
|
||||
g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
|
||||
gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
|
||||
gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
|
||||
gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
|
||||
gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
|
||||
gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
|
||||
gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
|
||||
i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
|
||||
i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
|
||||
i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
|
||||
i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
|
||||
impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
|
||||
itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
|
||||
lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
|
||||
lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
|
||||
lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
|
||||
lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
|
||||
makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
|
||||
namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
|
||||
nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
|
||||
osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
|
||||
par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
|
||||
par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
|
||||
par-endh.adb par-labl.adb par-load.adb par-prag.adb
|
||||
par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
|
||||
prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
|
||||
prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
|
||||
prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
|
||||
prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
|
||||
prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
|
||||
prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
|
||||
repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
|
||||
rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
|
||||
s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
|
||||
s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
|
||||
s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
|
||||
s-direio.adb s-direio.ads s-except.ads s-exctab.adb
|
||||
s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
|
||||
s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
|
||||
s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
|
||||
s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
|
||||
s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
|
||||
s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
|
||||
s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
|
||||
s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
|
||||
s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
|
||||
s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
|
||||
s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
|
||||
s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
|
||||
s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
|
||||
s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
|
||||
s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
|
||||
s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
|
||||
s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
|
||||
s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
|
||||
s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
|
||||
s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
|
||||
s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
|
||||
s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
|
||||
s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
|
||||
s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
|
||||
s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
|
||||
s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
|
||||
s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
|
||||
s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
|
||||
s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
|
||||
s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
|
||||
s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
|
||||
s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
|
||||
s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
|
||||
s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
|
||||
s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
|
||||
s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
|
||||
s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
|
||||
s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
|
||||
s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
|
||||
s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
|
||||
s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
|
||||
s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
|
||||
s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
|
||||
s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
|
||||
s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
|
||||
s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
|
||||
s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
|
||||
s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
|
||||
s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
|
||||
s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
|
||||
s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
|
||||
s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
|
||||
s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
|
||||
s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
|
||||
s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
|
||||
s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
|
||||
s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
|
||||
s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
|
||||
s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
|
||||
s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
|
||||
s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
|
||||
s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
|
||||
s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
|
||||
s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
|
||||
s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
|
||||
s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
|
||||
s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
|
||||
s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
|
||||
s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
|
||||
s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
|
||||
s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
|
||||
s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
|
||||
s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
|
||||
s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
|
||||
s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
|
||||
s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
|
||||
s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
|
||||
s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
|
||||
scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
|
||||
sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
|
||||
sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
|
||||
sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
|
||||
sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
|
||||
sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
|
||||
sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
|
||||
sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
|
||||
sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
|
||||
sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
|
||||
sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
|
||||
sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
|
||||
sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
|
||||
sem_type.adb sem_type.ads sem_util.adb sem_util.ads
|
||||
sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
|
||||
sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
|
||||
sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
|
||||
sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
|
||||
snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
|
||||
stringt.ads stringt.h style.adb style.ads stylesw.adb
|
||||
stylesw.ads switch.adb switch.ads sysdep.c system.ads
|
||||
table.adb table.ads targparm.adb targparm.ads targtyps.c
|
||||
tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
|
||||
tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
|
||||
treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
|
||||
types.adb types.ads types.h uintp.adb uintp.ads uintp.h
|
||||
uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
|
||||
usage.ads utils.c utils2.c validsw.adb validsw.ads
|
||||
widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
|
||||
xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
|
||||
* 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
|
||||
4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
|
||||
4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
|
||||
4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
|
||||
4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
|
||||
4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
|
||||
4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
|
||||
52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
|
||||
5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
|
||||
5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
|
||||
5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
|
||||
5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
|
||||
5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
|
||||
5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
|
||||
5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
|
||||
5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
|
||||
5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
|
||||
5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
|
||||
5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
|
||||
5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
|
||||
5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
|
||||
5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
|
||||
5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
|
||||
5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
|
||||
5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
|
||||
5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
|
||||
5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
|
||||
5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
|
||||
7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
|
||||
a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
|
||||
a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
|
||||
a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
|
||||
a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
|
||||
a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
|
||||
a-except.adb a-except.ads a-excpol.adb a-exctra.adb
|
||||
a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
|
||||
a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
|
||||
a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
|
||||
a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
|
||||
a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
|
||||
a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
|
||||
a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
|
||||
a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
|
||||
a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
|
||||
a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
|
||||
a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
|
||||
a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
|
||||
a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
|
||||
a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
|
||||
a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
|
||||
a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
|
||||
a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
|
||||
a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
|
||||
a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
|
||||
a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
|
||||
a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
|
||||
a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
|
||||
a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
|
||||
a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
|
||||
a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
|
||||
a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
|
||||
a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
|
||||
a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
|
||||
a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
|
||||
a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
|
||||
a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
|
||||
a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
|
||||
a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
|
||||
adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
|
||||
alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
|
||||
back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
|
||||
binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
|
||||
bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
|
||||
ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
|
||||
csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
|
||||
cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
|
||||
debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
|
||||
einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
|
||||
errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
|
||||
exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
|
||||
exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
|
||||
exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
|
||||
exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
|
||||
exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
|
||||
exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
|
||||
exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
|
||||
exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
|
||||
exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
|
||||
exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
|
||||
exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
|
||||
exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
|
||||
exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
|
||||
final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
|
||||
fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
|
||||
freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
|
||||
g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
|
||||
g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
|
||||
gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
|
||||
gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
|
||||
gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
|
||||
gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
|
||||
gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
|
||||
gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
|
||||
i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
|
||||
i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
|
||||
i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
|
||||
i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
|
||||
impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
|
||||
itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
|
||||
lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
|
||||
lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
|
||||
lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
|
||||
lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
|
||||
makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
|
||||
namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
|
||||
nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
|
||||
osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
|
||||
par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
|
||||
par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
|
||||
par-endh.adb par-labl.adb par-load.adb par-prag.adb
|
||||
par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
|
||||
prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
|
||||
prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
|
||||
prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
|
||||
prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
|
||||
prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
|
||||
prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
|
||||
repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
|
||||
rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
|
||||
s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
|
||||
s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
|
||||
s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
|
||||
s-direio.adb s-direio.ads s-except.ads s-exctab.adb
|
||||
s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
|
||||
s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
|
||||
s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
|
||||
s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
|
||||
s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
|
||||
s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
|
||||
s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
|
||||
s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
|
||||
s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
|
||||
s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
|
||||
s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
|
||||
s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
|
||||
s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
|
||||
s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
|
||||
s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
|
||||
s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
|
||||
s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
|
||||
s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
|
||||
s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
|
||||
s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
|
||||
s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
|
||||
s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
|
||||
s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
|
||||
s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
|
||||
s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
|
||||
s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
|
||||
s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
|
||||
s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
|
||||
s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
|
||||
s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
|
||||
s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
|
||||
s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
|
||||
s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
|
||||
s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
|
||||
s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
|
||||
s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
|
||||
s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
|
||||
s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
|
||||
s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
|
||||
s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
|
||||
s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
|
||||
s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
|
||||
s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
|
||||
s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
|
||||
s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
|
||||
s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
|
||||
s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
|
||||
s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
|
||||
s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
|
||||
s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
|
||||
s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
|
||||
s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
|
||||
s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
|
||||
s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
|
||||
s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
|
||||
s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
|
||||
s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
|
||||
s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
|
||||
s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
|
||||
s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
|
||||
s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
|
||||
s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
|
||||
s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
|
||||
s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
|
||||
s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
|
||||
s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
|
||||
s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
|
||||
s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
|
||||
s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
|
||||
s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
|
||||
s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
|
||||
s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
|
||||
s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
|
||||
s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
|
||||
s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
|
||||
s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
|
||||
s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
|
||||
s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
|
||||
scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
|
||||
sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
|
||||
sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
|
||||
sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
|
||||
sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
|
||||
sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
|
||||
sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
|
||||
sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
|
||||
sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
|
||||
sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
|
||||
sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
|
||||
sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
|
||||
sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
|
||||
sem_type.adb sem_type.ads sem_util.adb sem_util.ads
|
||||
sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
|
||||
sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
|
||||
sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
|
||||
sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
|
||||
snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
|
||||
stringt.ads stringt.h style.adb style.ads stylesw.adb
|
||||
stylesw.ads switch.adb switch.ads sysdep.c system.ads
|
||||
table.adb table.ads targparm.adb targparm.ads targtyps.c
|
||||
tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
|
||||
tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
|
||||
treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
|
||||
types.adb types.ads types.h uintp.adb uintp.ads uintp.h
|
||||
uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
|
||||
usage.ads utils.c utils2.c validsw.adb validsw.ads
|
||||
widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
|
||||
xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
|
||||
xtreeprs.adb: Correct statements in comments about maintainership
|
||||
of GNAT.
|
||||
|
||||
|
|
|
@ -972,14 +972,13 @@ ada/memtrack.o : ada/memtrack.adb ada/s-memory.ads
|
|||
$(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 \
|
||||
$(ADA_INCLUDES) $< $(OUTPUT_OPTION)
|
||||
|
||||
ada/adadecode.o : ada/adadecode.c ada/adadecode.h $(CONFIG_H) $(SYSTEM_H) \
|
||||
ada/adadecode.h
|
||||
ada/adaint.o : ada/adaint.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
ada/argv.o : ada/argv.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
ada/adadecode.o : ada/adadecode.c $(CONFIG_H) $(SYSTEM_H) ada/adadecode.h
|
||||
ada/adaint.o : ada/adaint.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
ada/argv.o : ada/argv.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
ada/cstreams.o : ada/cstreams.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
ada/exit.o : ada/exit.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
ada/final.o : ada/final.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
|
||||
ada/link.o : ada/link.c
|
||||
ada/exit.o : ada/exit.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
ada/final.o : ada/final.c $(CONFIG_H) $(SYSTEM_H) ada/raise.h
|
||||
ada/link.o : ada/link.c
|
||||
|
||||
ada/cio.o : ada/cio.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) $(RT_FLAGS) \
|
||||
|
@ -999,44 +998,41 @@ ada/tracebak.o : ada/tracebak.c $(CONFIG_H) $(SYSTEM_H)
|
|||
$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||
-fno-omit-frame-pointer $< $(OUTPUT_OPTION)
|
||||
|
||||
ada/cuintp.o : ada/cuintp.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) ada/ada.h \
|
||||
ada/types.h ada/uintp.h ada/atree.h ada/stringt.h ada/elists.h \
|
||||
ada/cuintp.o : ada/cuintp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
|
||||
ada/ada.h ada/types.h ada/uintp.h ada/atree.h ada/stringt.h ada/elists.h \
|
||||
ada/nlists.h ada/fe.h ada/gigi.h
|
||||
|
||||
ada/decl.o : ada/decl.c $(CONFIG_H) $(TREE_H) $(srcdir)/flags.h \
|
||||
$(srcdir)/toplev.h $(srcdir)/convert.h ada/ada.h ada/types.h ada/atree.h \
|
||||
ada/nlists.h ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/snames.h \
|
||||
ada/namet.h ada/stringt.h ada/repinfo.h ada/fe.h $(ADA_TREE_H) ada/gigi.h \
|
||||
gt-ada-decl.h
|
||||
ada/decl.o : ada/decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
|
||||
flags.h toplev.h convert.h ada/ada.h ada/types.h ada/atree.h ada/nlists.h \
|
||||
ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/snames.h ada/namet.h \
|
||||
ada/stringt.h ada/repinfo.h ada/fe.h $(ADA_TREE_H) ada/gigi.h gt-ada-decl.h
|
||||
|
||||
ada/misc.o : ada/misc.c $(CONFIG_H) $(TREE_H) $(RTL_H) $(srcdir)/expr.h \
|
||||
insn-codes.h insn-flags.h insn-config.h $(srcdir)/recog.h \
|
||||
$(srcdir)/flags.h $(srcdir)/diagnostic.h $(srcdir)/output.h \
|
||||
$(srcdir)/except.h tm_p.h $(srcdir)/langhooks.h $(srcdir)/debug.h \
|
||||
$(srcdir)/langhooks-def.h $(srcdir)/libfuncs.h $(srcdir)/optabs.h \
|
||||
ada/ada.h ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h \
|
||||
ada/einfo.h ada/namet.h ada/stringt.h ada/uintp.h ada/fe.h $(ADA_TREE_H) \
|
||||
ada/gigi.h ada/adadecode.h
|
||||
ada/misc.o : ada/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
|
||||
$(RTL_H) expr.h insn-codes.h insn-flags.h insn-config.h recog.h flags.h \
|
||||
diagnostic.h output.h except.h $(TM_P_H) langhooks.h debug.h $(LANGHOOKS_DEF_H) \
|
||||
libfuncs.h $(OPTABS_H) ada/ada.h ada/types.h ada/atree.h ada/nlists.h \
|
||||
ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h ada/stringt.h ada/uintp.h \
|
||||
ada/fe.h $(ADA_TREE_H) ada/gigi.h ada/adadecode.h
|
||||
|
||||
ada/targtyps.o : ada/targtyps.c $(CONFIG_H) ada/ada.h ada/types.h ada/atree.h \
|
||||
ada/nlists.h ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/namet.h \
|
||||
ada/snames.h ada/stringt.h ada/urealp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h
|
||||
ada/targtyps.o : ada/targtyps.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||
ada/ada.h ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/uintp.h \
|
||||
ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h ada/stringt.h ada/urealp.h \
|
||||
ada/fe.h $(ADA_TREE_H) ada/gigi.h
|
||||
|
||||
ada/trans.o : ada/trans.c $(CONFIG_H) $(TREE_H) $(RTL_H) $(srcdir)/flags.h \
|
||||
ada/ada.h $(srcdir)/except.h ada/types.h ada/atree.h ada/nlists.h \
|
||||
ada/trans.o : ada/trans.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
|
||||
$(RTL_H) flags.h ada/ada.h except.h ada/types.h ada/atree.h ada/nlists.h \
|
||||
ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h \
|
||||
ada/stringt.h ada/urealp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h gt-ada-trans.h
|
||||
|
||||
ada/utils.o : ada/utils.c $(CONFIG_H) $(TREE_H) $(srcdir)/flags.h \
|
||||
$(srcdir)/expr.h $(srcdir)/convert.h $(srcdir)/defaults.h ada/ada.h \
|
||||
ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h \
|
||||
ada/namet.h ada/stringt.h ada/uintp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h \
|
||||
gt-ada-utils.h gtype-ada.h
|
||||
ada/utils.o : ada/utils.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
|
||||
flags.h expr.h convert.h defaults.h ada/ada.h ada/types.h ada/atree.h \
|
||||
ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h ada/stringt.h \
|
||||
ada/uintp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h gt-ada-utils.h gtype-ada.h
|
||||
|
||||
ada/utils2.o : ada/utils2.c $(CONFIG_H) $(TREE_H) $(srcdir)/flags.h ada/ada.h \
|
||||
ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h \
|
||||
ada/namet.h ada/snames.h ada/stringt.h ada/uintp.h ada/fe.h $(ADA_TREE_H) \
|
||||
ada/gigi.h
|
||||
ada/utils2.o : ada/utils2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||
$(TREE_H) flags.h ada/ada.h ada/types.h ada/atree.h ada/nlists.h \
|
||||
ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h ada/stringt.h \
|
||||
ada/uintp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h
|
||||
|
||||
#
|
||||
# DO NOT PUT SPECIAL RULES BELOW, THIS SECTION IS UPDATED AUTOMATICALLY
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "ada.h"
|
||||
#include "types.h"
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "flags.h"
|
||||
#include "toplev.h"
|
||||
|
|
|
@ -34,6 +34,8 @@
|
|||
/* Include a default definition for TARGET_FLAGS for gnatpsta. */
|
||||
|
||||
#include "config.h"
|
||||
#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
|
||||
int target_flags = TARGET_DEFAULT;
|
||||
|
|
|
@ -31,12 +31,13 @@
|
|||
{".ads", "@ada", 0},
|
||||
{".adb", "@ada", 0},
|
||||
{"@ada",
|
||||
"gnat1 %{^I*} %{k8:-gnatk8} %{w:-gnatws} %1 %{!Q:-quiet} %{nostdinc*}\
|
||||
"\
|
||||
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
|
||||
%{!gnatc:%{!gnatz:%{!gnats:%{!S:%{!c:\
|
||||
%eone of -c, -S, -gnatc, -gnatz, or -gnats is required for Ada}}}}}\
|
||||
gnat1 %{I*} %{k8:-gnatk8} %{w:-gnatws} %1 %{!Q:-quiet} %{nostdinc*}\
|
||||
-dumpbase %{.adb:%b.adb}%{.ads:%b.ads}%{!.adb:%{!.ads:%b.ada}}\
|
||||
%{g*} %{O*} %{W*} %{w} %{p} %{pg:-p} %{m*} %{a} %{f*} %{d*}\
|
||||
%{!S:%{o*:%w%*-gnatO}} \
|
||||
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
|
||||
%i %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
|
||||
%{!S:%{!gnatc:%{!gnatz:%{!gnats:as %a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}\
|
||||
%{!c:%e-c or -S required for Ada}\
|
||||
%{!pipe:%g.s} %A\n}}}} ", 0},
|
||||
%i %{S:%W{o*}%{!o*:-o %b.s}} \
|
||||
%{!gnatc:%{!gnatz:%{!gnats:%(invoke_as)}}}", 0},
|
||||
|
|
|
@ -37,6 +37,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "errors.h"
|
||||
|
@ -207,8 +209,8 @@ gnat_parse_file (set_yydebug)
|
|||
|
||||
/* Decode all the language specific options that cannot be decoded by GCC.
|
||||
The option decoding phase of GCC calls this routine on the flags that
|
||||
it cannot decode. This routine returns 1 if it is successful, otherwise
|
||||
it returns 0. */
|
||||
it cannot decode. This routine returns the number of consecutive arguments
|
||||
from ARGV that it successfully decoded; 0 indicates failure. */
|
||||
|
||||
static int
|
||||
gnat_decode_option (argc, argv)
|
||||
|
@ -220,10 +222,28 @@ gnat_decode_option (argc, argv)
|
|||
|
||||
if (!strncmp (p, "-I", 2))
|
||||
{
|
||||
/* Pass the -I switches as-is. */
|
||||
gnat_argv[gnat_argc] = p;
|
||||
gnat_argc ++;
|
||||
return 1;
|
||||
/* We might get -I foo or -Ifoo. Canonicalize to the latter. */
|
||||
if (p[2] == '\0')
|
||||
{
|
||||
char *q;
|
||||
|
||||
if (argv[1] == 0)
|
||||
return 0;
|
||||
|
||||
q = xmalloc (sizeof("-I") + strlen (argv[1]));
|
||||
strcpy (q, "-I");
|
||||
strcat (q, argv[1]);
|
||||
|
||||
gnat_argv[gnat_argc] = q;
|
||||
gnat_argc ++;
|
||||
return 2; /* consumed argument */
|
||||
}
|
||||
else
|
||||
{
|
||||
gnat_argv[gnat_argc] = p;
|
||||
gnat_argc ++;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
else if (!strncmp (p, "-gant", 5))
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "real.h"
|
||||
#include "rtl.h"
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "real.h"
|
||||
#include "flags.h"
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "flags.h"
|
||||
#include "defaults.h"
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "flags.h"
|
||||
#include "ada.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
#include "tm_p.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "flags.h"
|
||||
#include "toplev.h"
|
||||
|
|
|
@ -112,7 +112,11 @@ do { \
|
|||
be done, other than zero the statistics on the first allocation. */
|
||||
#define MAX_REGNO_REG_SET(NUM_REGS, NEW_P, RENUMBER_P)
|
||||
|
||||
/* Type we use to hold basic block counters. Should be at least 64bit. */
|
||||
/* Type we use to hold basic block counters. Should be at least
|
||||
64bit. Although a counter cannot be negative, we use a signed
|
||||
type, because erroneous negative counts can be generated when the
|
||||
flow graph is manipulated by various optimizations. A signed type
|
||||
makes those easy to detect. */
|
||||
typedef HOST_WIDEST_INT gcov_type;
|
||||
|
||||
/* Control flow edge information. */
|
||||
|
|
|
@ -82,6 +82,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
|
|
|
@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "flags.h"
|
||||
#include "obstack.h"
|
||||
|
|
188
gcc/builtins.c
188
gcc/builtins.c
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "machmode.h"
|
||||
#include "real.h"
|
||||
#include "rtl.h"
|
||||
|
@ -150,7 +152,6 @@ static tree fold_builtin_constant_p PARAMS ((tree));
|
|||
static tree fold_builtin_classify_type PARAMS ((tree));
|
||||
static tree fold_builtin_inf PARAMS ((tree, int));
|
||||
static tree fold_builtin_nan PARAMS ((tree, tree, int));
|
||||
static tree build_function_call_expr PARAMS ((tree, tree));
|
||||
static int validate_arglist PARAMS ((tree, ...));
|
||||
|
||||
/* Return the alignment in bits of EXP, a pointer valued expression.
|
||||
|
@ -1484,6 +1485,7 @@ expand_builtin_mathfn (exp, target, subtarget)
|
|||
tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0);
|
||||
tree arglist = TREE_OPERAND (exp, 1);
|
||||
enum machine_mode argmode;
|
||||
bool errno_set = true;
|
||||
|
||||
if (!validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
|
||||
return 0;
|
||||
|
@ -1534,6 +1536,26 @@ expand_builtin_mathfn (exp, target, subtarget)
|
|||
case BUILT_IN_LOGF:
|
||||
case BUILT_IN_LOGL:
|
||||
builtin_optab = log_optab; break;
|
||||
case BUILT_IN_FLOOR:
|
||||
case BUILT_IN_FLOORF:
|
||||
case BUILT_IN_FLOORL:
|
||||
errno_set = false ; builtin_optab = floor_optab; break;
|
||||
case BUILT_IN_CEIL:
|
||||
case BUILT_IN_CEILF:
|
||||
case BUILT_IN_CEILL:
|
||||
errno_set = false ; builtin_optab = ceil_optab; break;
|
||||
case BUILT_IN_TRUNC:
|
||||
case BUILT_IN_TRUNCF:
|
||||
case BUILT_IN_TRUNCL:
|
||||
errno_set = false ; builtin_optab = trunc_optab; break;
|
||||
case BUILT_IN_ROUND:
|
||||
case BUILT_IN_ROUNDF:
|
||||
case BUILT_IN_ROUNDL:
|
||||
errno_set = false ; builtin_optab = round_optab; break;
|
||||
case BUILT_IN_NEARBYINT:
|
||||
case BUILT_IN_NEARBYINTF:
|
||||
case BUILT_IN_NEARBYINTL:
|
||||
errno_set = false ; builtin_optab = nearbyint_optab; break;
|
||||
default:
|
||||
abort ();
|
||||
}
|
||||
|
@ -1554,7 +1576,7 @@ expand_builtin_mathfn (exp, target, subtarget)
|
|||
|
||||
/* If errno must be maintained, we must set it to EDOM for NaN results. */
|
||||
|
||||
if (flag_errno_math && HONOR_NANS (argmode))
|
||||
if (flag_errno_math && errno_set && HONOR_NANS (argmode))
|
||||
{
|
||||
rtx lab1;
|
||||
|
||||
|
@ -3744,6 +3766,21 @@ expand_builtin (exp, target, subtarget, mode, ignore)
|
|||
case BUILT_IN_FPUTC_UNLOCKED:
|
||||
case BUILT_IN_FPUTS_UNLOCKED:
|
||||
case BUILT_IN_FWRITE_UNLOCKED:
|
||||
case BUILT_IN_FLOOR:
|
||||
case BUILT_IN_FLOORF:
|
||||
case BUILT_IN_FLOORL:
|
||||
case BUILT_IN_CEIL:
|
||||
case BUILT_IN_CEILF:
|
||||
case BUILT_IN_CEILL:
|
||||
case BUILT_IN_TRUNC:
|
||||
case BUILT_IN_TRUNCF:
|
||||
case BUILT_IN_TRUNCL:
|
||||
case BUILT_IN_ROUND:
|
||||
case BUILT_IN_ROUNDF:
|
||||
case BUILT_IN_ROUNDL:
|
||||
case BUILT_IN_NEARBYINT:
|
||||
case BUILT_IN_NEARBYINTF:
|
||||
case BUILT_IN_NEARBYINTL:
|
||||
return expand_call (exp, target, ignore);
|
||||
|
||||
default:
|
||||
|
@ -3794,6 +3831,21 @@ expand_builtin (exp, target, subtarget, mode, ignore)
|
|||
case BUILT_IN_SQRT:
|
||||
case BUILT_IN_SQRTF:
|
||||
case BUILT_IN_SQRTL:
|
||||
case BUILT_IN_FLOOR:
|
||||
case BUILT_IN_FLOORF:
|
||||
case BUILT_IN_FLOORL:
|
||||
case BUILT_IN_CEIL:
|
||||
case BUILT_IN_CEILF:
|
||||
case BUILT_IN_CEILL:
|
||||
case BUILT_IN_TRUNC:
|
||||
case BUILT_IN_TRUNCF:
|
||||
case BUILT_IN_TRUNCL:
|
||||
case BUILT_IN_ROUND:
|
||||
case BUILT_IN_ROUNDF:
|
||||
case BUILT_IN_ROUNDL:
|
||||
case BUILT_IN_NEARBYINT:
|
||||
case BUILT_IN_NEARBYINTF:
|
||||
case BUILT_IN_NEARBYINTL:
|
||||
target = expand_builtin_mathfn (exp, target, subtarget);
|
||||
if (target)
|
||||
return target;
|
||||
|
@ -4080,6 +4132,37 @@ expand_builtin (exp, target, subtarget, mode, ignore)
|
|||
return expand_call (exp, target, ignore);
|
||||
}
|
||||
|
||||
/* Determine whether a tree node represents a call to a built-in
|
||||
math function. If the tree T is a call to a built-in function
|
||||
taking a single real argument, then the return value is the
|
||||
DECL_FUNCTION_CODE of the call, e.g. BUILT_IN_SQRT. Otherwise
|
||||
the return value is END_BUILTINS. */
|
||||
|
||||
enum built_in_function
|
||||
builtin_mathfn_code (t)
|
||||
tree t;
|
||||
{
|
||||
tree fndecl, arglist;
|
||||
|
||||
if (TREE_CODE (t) != CALL_EXPR
|
||||
|| TREE_CODE (TREE_OPERAND (t, 0)) != ADDR_EXPR)
|
||||
return END_BUILTINS;
|
||||
|
||||
fndecl = TREE_OPERAND (TREE_OPERAND (t, 0), 0);
|
||||
if (TREE_CODE (fndecl) != FUNCTION_DECL
|
||||
|| ! DECL_BUILT_IN (fndecl)
|
||||
|| DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD)
|
||||
return END_BUILTINS;
|
||||
|
||||
arglist = TREE_OPERAND (t, 1);
|
||||
if (! arglist
|
||||
|| TREE_CODE (TREE_TYPE (TREE_VALUE (arglist))) != REAL_TYPE
|
||||
|| TREE_CHAIN (arglist))
|
||||
return END_BUILTINS;
|
||||
|
||||
return DECL_FUNCTION_CODE (fndecl);
|
||||
}
|
||||
|
||||
/* Fold a call to __builtin_constant_p, if we know it will evaluate to a
|
||||
constant. ARGLIST is the argument list of the call. */
|
||||
|
||||
|
@ -4208,6 +4291,103 @@ fold_builtin (exp)
|
|||
}
|
||||
break;
|
||||
|
||||
case BUILT_IN_SQRT:
|
||||
case BUILT_IN_SQRTF:
|
||||
case BUILT_IN_SQRTL:
|
||||
if (validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
|
||||
{
|
||||
enum built_in_function fcode;
|
||||
tree arg = TREE_VALUE (arglist);
|
||||
|
||||
/* Optimize sqrt of constant value. */
|
||||
if (TREE_CODE (arg) == REAL_CST
|
||||
&& ! TREE_CONSTANT_OVERFLOW (arg))
|
||||
{
|
||||
enum machine_mode mode;
|
||||
REAL_VALUE_TYPE r, x;
|
||||
|
||||
x = TREE_REAL_CST (arg);
|
||||
mode = TYPE_MODE (TREE_TYPE (arg));
|
||||
if (!HONOR_SNANS (mode) || !real_isnan (&x))
|
||||
{
|
||||
real_sqrt (&r, mode, &x);
|
||||
return build_real (TREE_TYPE (arg), r);
|
||||
}
|
||||
}
|
||||
|
||||
/* Optimize sqrt(exp(x)) = exp(x/2.0). */
|
||||
fcode = builtin_mathfn_code (arg);
|
||||
if (flag_unsafe_math_optimizations
|
||||
&& (fcode == BUILT_IN_EXP
|
||||
|| fcode == BUILT_IN_EXPF
|
||||
|| fcode == BUILT_IN_EXPL))
|
||||
{
|
||||
tree expfn = TREE_OPERAND (TREE_OPERAND (arg, 0), 0);
|
||||
arg = build (RDIV_EXPR, TREE_TYPE (arg),
|
||||
TREE_VALUE (TREE_OPERAND (arg, 1)),
|
||||
build_real (TREE_TYPE (arg), dconst2));
|
||||
arglist = build_tree_list (NULL_TREE, arg);
|
||||
return build_function_call_expr (expfn, arglist);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case BUILT_IN_EXP:
|
||||
case BUILT_IN_EXPF:
|
||||
case BUILT_IN_EXPL:
|
||||
if (validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
|
||||
{
|
||||
enum built_in_function fcode;
|
||||
tree arg = TREE_VALUE (arglist);
|
||||
|
||||
/* Optimize exp(0.0) = 1.0. */
|
||||
if (real_zerop (arg))
|
||||
return build_real (TREE_TYPE (arg), dconst1);
|
||||
|
||||
/* Optimize exp(log(x)) = x. */
|
||||
fcode = builtin_mathfn_code (arg);
|
||||
if (flag_unsafe_math_optimizations
|
||||
&& (fcode == BUILT_IN_LOG
|
||||
|| fcode == BUILT_IN_LOGF
|
||||
|| fcode == BUILT_IN_LOGL))
|
||||
return TREE_VALUE (TREE_OPERAND (arg, 1));
|
||||
}
|
||||
break;
|
||||
|
||||
case BUILT_IN_LOG:
|
||||
case BUILT_IN_LOGF:
|
||||
case BUILT_IN_LOGL:
|
||||
if (validate_arglist (arglist, REAL_TYPE, VOID_TYPE))
|
||||
{
|
||||
enum built_in_function fcode;
|
||||
tree arg = TREE_VALUE (arglist);
|
||||
|
||||
/* Optimize log(1.0) = 0.0. */
|
||||
if (real_onep (arg))
|
||||
return build_real (TREE_TYPE (arg), dconst0);
|
||||
|
||||
/* Optimize log(exp(x)) = x. */
|
||||
fcode = builtin_mathfn_code (arg);
|
||||
if (flag_unsafe_math_optimizations
|
||||
&& (fcode == BUILT_IN_EXP
|
||||
|| fcode == BUILT_IN_EXPF
|
||||
|| fcode == BUILT_IN_EXPL))
|
||||
return TREE_VALUE (TREE_OPERAND (arg, 1));
|
||||
|
||||
/* Optimize log(sqrt(x)) = log(x)/2.0. */
|
||||
if (flag_unsafe_math_optimizations
|
||||
&& (fcode == BUILT_IN_SQRT
|
||||
|| fcode == BUILT_IN_SQRTF
|
||||
|| fcode == BUILT_IN_SQRTL))
|
||||
{
|
||||
tree logfn = build_function_call_expr (fndecl,
|
||||
TREE_OPERAND (arg, 1));
|
||||
return fold (build (RDIV_EXPR, TREE_TYPE (arg), logfn,
|
||||
build_real (TREE_TYPE (arg), dconst2)));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case BUILT_IN_INF:
|
||||
case BUILT_IN_INFF:
|
||||
case BUILT_IN_INFL:
|
||||
|
@ -4235,7 +4415,9 @@ fold_builtin (exp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static tree
|
||||
/* Conveniently construct a function call expression. */
|
||||
|
||||
tree
|
||||
build_function_call_expr (fn, arglist)
|
||||
tree fn, arglist;
|
||||
{
|
||||
|
|
102
gcc/builtins.def
102
gcc/builtins.def
|
@ -112,9 +112,9 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
/* Like DEF_LIB_BUILTIN, except that the function is only a part of
|
||||
the standard in C99 or above. */
|
||||
#undef DEF_C99_BUILTIN
|
||||
#define DEF_C99_BUILTIN(ENUM, NAME, TYPE) \
|
||||
#define DEF_C99_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
|
||||
DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, TYPE, \
|
||||
true, true, !flag_isoc99, ATTR_NOTHROW_LIST)
|
||||
true, true, !flag_isoc99, ATTRS)
|
||||
|
||||
/* Like DEF_LIB_BUILTIN, except that the function is expanded in the
|
||||
front-end. */
|
||||
|
@ -169,39 +169,115 @@ DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_FABSL,
|
|||
"__builtin_fabsl",
|
||||
BT_FN_LONG_DOUBLE_LONG_DOUBLE)
|
||||
|
||||
DEF_LIB_BUILTIN(BUILT_IN_FLOOR,
|
||||
"__builtin_floor",
|
||||
BT_FN_DOUBLE_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_LIB_BUILTIN(BUILT_IN_FLOORF,
|
||||
"__builtin_floorf",
|
||||
BT_FN_FLOAT_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_LIB_BUILTIN(BUILT_IN_FLOORL,
|
||||
"__builtin_floorl",
|
||||
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
|
||||
DEF_LIB_BUILTIN(BUILT_IN_CEIL,
|
||||
"__builtin_ceil",
|
||||
BT_FN_DOUBLE_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_LIB_BUILTIN(BUILT_IN_CEILF,
|
||||
"__builtin_ceilf",
|
||||
BT_FN_FLOAT_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_LIB_BUILTIN(BUILT_IN_CEILL,
|
||||
"__builtin_ceill",
|
||||
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
|
||||
DEF_C99_BUILTIN(BUILT_IN_ROUND,
|
||||
"__builtin_round",
|
||||
BT_FN_DOUBLE_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_ROUNDF,
|
||||
"__builtin_roundf",
|
||||
BT_FN_FLOAT_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_ROUNDL,
|
||||
"__builtin_roundl",
|
||||
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
|
||||
DEF_C99_BUILTIN(BUILT_IN_TRUNC,
|
||||
"__builtin_trunc",
|
||||
BT_FN_DOUBLE_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_TRUNCF,
|
||||
"__builtin_truncf",
|
||||
BT_FN_FLOAT_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_TRUNCL,
|
||||
"__builtin_truncl",
|
||||
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
|
||||
DEF_C99_BUILTIN(BUILT_IN_NEARBYINT,
|
||||
"__builtin_nearbyint",
|
||||
BT_FN_DOUBLE_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_NEARBYINTF,
|
||||
"__builtin_nearbyintf",
|
||||
BT_FN_FLOAT_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_NEARBYINTL,
|
||||
"__builtin_nearbyintl",
|
||||
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
|
||||
DEF_C99_BUILTIN(BUILT_IN_LLABS,
|
||||
"__builtin_llabs",
|
||||
BT_FN_LONGLONG_LONGLONG)
|
||||
BT_FN_LONGLONG_LONGLONG,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_IMAXABS,
|
||||
"__builtin_imaxabs",
|
||||
BT_FN_INTMAX_INTMAX)
|
||||
BT_FN_INTMAX_INTMAX,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CONJ,
|
||||
"__builtin_conj",
|
||||
BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE)
|
||||
BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CONJF,
|
||||
"__builtin_conjf",
|
||||
BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT)
|
||||
BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CONJL,
|
||||
"__builtin_conjl",
|
||||
BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
|
||||
BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CREAL,
|
||||
"__builtin_creal",
|
||||
BT_FN_DOUBLE_COMPLEX_DOUBLE)
|
||||
BT_FN_DOUBLE_COMPLEX_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CREALF,
|
||||
"__builtin_crealf",
|
||||
BT_FN_FLOAT_COMPLEX_FLOAT)
|
||||
BT_FN_FLOAT_COMPLEX_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CREALL,
|
||||
"__builtin_creall",
|
||||
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
|
||||
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CIMAG,
|
||||
"__builtin_cimag",
|
||||
BT_FN_DOUBLE_COMPLEX_DOUBLE)
|
||||
BT_FN_DOUBLE_COMPLEX_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CIMAGF,
|
||||
"__builtin_cimagf",
|
||||
BT_FN_FLOAT_COMPLEX_FLOAT)
|
||||
BT_FN_FLOAT_COMPLEX_FLOAT,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
DEF_C99_BUILTIN(BUILT_IN_CIMAGL,
|
||||
"__builtin_cimagl",
|
||||
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE)
|
||||
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
|
||||
ATTR_CONST_NOTHROW_LIST)
|
||||
|
||||
DEF_UNUSED_BUILTIN(BUILT_IN_DIV)
|
||||
DEF_UNUSED_BUILTIN(BUILT_IN_LDIV)
|
||||
|
|
|
@ -24,6 +24,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "toplev.h"
|
||||
#include "flags.h"
|
||||
#include "tree.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "real.h"
|
||||
#include "flags.h"
|
||||
|
@ -5601,6 +5603,7 @@ handle_mode_attribute (node, name, args, flags, no_add_attrs)
|
|||
int len = strlen (p);
|
||||
enum machine_mode mode = VOIDmode;
|
||||
tree typefm;
|
||||
tree ptr_type;
|
||||
|
||||
if (len > 4 && p[0] == '_' && p[1] == '_'
|
||||
&& p[len - 1] == '_' && p[len - 2] == '_')
|
||||
|
@ -5630,6 +5633,10 @@ handle_mode_attribute (node, name, args, flags, no_add_attrs)
|
|||
else if (0 == (typefm = (*lang_hooks.types.type_for_mode)
|
||||
(mode, TREE_UNSIGNED (type))))
|
||||
error ("no data type for mode `%s'", p);
|
||||
else if ((TREE_CODE (type) == POINTER_TYPE
|
||||
|| TREE_CODE (type) == REFERENCE_TYPE)
|
||||
&& !(*targetm.valid_pointer_mode) (mode))
|
||||
error ("invalid pointer mode `%s'", p);
|
||||
else
|
||||
{
|
||||
/* If this is a vector, make sure we either have hardware
|
||||
|
@ -5642,6 +5649,19 @@ handle_mode_attribute (node, name, args, flags, no_add_attrs)
|
|||
return NULL_TREE;
|
||||
}
|
||||
|
||||
if (TREE_CODE (type) == POINTER_TYPE)
|
||||
{
|
||||
ptr_type = build_pointer_type_for_mode (TREE_TYPE (type),
|
||||
mode);
|
||||
*node = ptr_type;
|
||||
}
|
||||
else if (TREE_CODE (type) == REFERENCE_TYPE)
|
||||
{
|
||||
ptr_type = build_reference_type_for_mode (TREE_TYPE (type),
|
||||
mode);
|
||||
*node = ptr_type;
|
||||
}
|
||||
else
|
||||
*node = typefm;
|
||||
/* No need to layout the type here. The caller should do this. */
|
||||
}
|
||||
|
|
|
@ -26,6 +26,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "flags.h"
|
||||
#include "convert.h"
|
||||
|
|
|
@ -28,6 +28,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "intl.h"
|
||||
#include "tree.h"
|
||||
#include "tree-inline.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "c-tree.h"
|
||||
#include "tree-dump.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "c-tree.h"
|
||||
#include "tm_p.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "flags.h"
|
||||
#include "toplev.h"
|
||||
|
|
|
@ -22,6 +22,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "c-tree.h"
|
||||
#include "c-common.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
|
||||
#include "real.h"
|
||||
#include "rtl.h"
|
||||
|
@ -233,7 +235,7 @@ cb_ident (pfile, line, str)
|
|||
if (! flag_no_ident)
|
||||
{
|
||||
/* Convert escapes in the string. */
|
||||
tree value = lex_string (str->text, str->len, 0);
|
||||
tree value ATTRIBUTE_UNUSED = lex_string (str->text, str->len, 0);
|
||||
ASM_OUTPUT_IDENT (asm_out_file, TREE_STRING_POINTER (value));
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "insn-config.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "c-common.h"
|
||||
#include "c-pragma.h"
|
||||
|
|
|
@ -38,6 +38,8 @@ end ifc
|
|||
%{
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "input.h"
|
||||
#include "cpplib.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
#include "function.h"
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "real.h"
|
||||
#include "c-pretty-print.h"
|
||||
#include "c-tree.h"
|
||||
|
|
|
@ -23,6 +23,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "function.h"
|
||||
#include "splay-tree.h"
|
||||
|
@ -455,6 +457,17 @@ genrtl_do_stmt (t)
|
|||
expand_stmt (DO_BODY (t));
|
||||
expand_end_null_loop ();
|
||||
}
|
||||
else if (integer_nonzerop (cond))
|
||||
{
|
||||
emit_nop ();
|
||||
emit_line_note (input_filename, lineno);
|
||||
expand_start_loop (1);
|
||||
|
||||
expand_stmt (DO_BODY (t));
|
||||
|
||||
emit_line_note (input_filename, lineno);
|
||||
expand_end_loop ();
|
||||
}
|
||||
else
|
||||
{
|
||||
emit_nop ();
|
||||
|
@ -519,7 +532,10 @@ genrtl_for_stmt (t)
|
|||
/* Expand the initialization. */
|
||||
emit_nop ();
|
||||
emit_line_note (input_filename, lineno);
|
||||
expand_start_loop_continue_elsewhere (1);
|
||||
if (FOR_EXPR (t))
|
||||
expand_start_loop_continue_elsewhere (1);
|
||||
else
|
||||
expand_start_loop (1);
|
||||
genrtl_do_pushlevel ();
|
||||
cond = expand_cond (FOR_COND (t));
|
||||
|
||||
|
@ -541,9 +557,11 @@ genrtl_for_stmt (t)
|
|||
input_filename = saved_filename;
|
||||
lineno = saved_lineno;
|
||||
emit_line_note (input_filename, lineno);
|
||||
expand_loop_continue_here ();
|
||||
if (FOR_EXPR (t))
|
||||
genrtl_expr_stmt (FOR_EXPR (t));
|
||||
{
|
||||
expand_loop_continue_here ();
|
||||
genrtl_expr_stmt (FOR_EXPR (t));
|
||||
}
|
||||
expand_end_loop ();
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
#include "c-tree.h"
|
||||
|
@ -1470,7 +1472,7 @@ build_function_call (function, params)
|
|||
{
|
||||
tree fntype, fundecl = 0;
|
||||
tree coerced_params;
|
||||
tree name = NULL_TREE, assembler_name = NULL_TREE, result;
|
||||
tree name = NULL_TREE, result;
|
||||
|
||||
/* Strip NON_LVALUE_EXPRs, etc., since we aren't using as an lvalue. */
|
||||
STRIP_TYPE_NOPS (function);
|
||||
|
@ -1479,7 +1481,6 @@ build_function_call (function, params)
|
|||
if (TREE_CODE (function) == FUNCTION_DECL)
|
||||
{
|
||||
name = DECL_NAME (function);
|
||||
assembler_name = DECL_ASSEMBLER_NAME (function);
|
||||
|
||||
/* Differs from default_conversion by not setting TREE_ADDRESSABLE
|
||||
(because calling an inline function does not mean the function
|
||||
|
@ -3649,20 +3650,10 @@ build_c_cast (type, expr)
|
|||
|
||||
if (field)
|
||||
{
|
||||
const char *name;
|
||||
tree t;
|
||||
|
||||
if (pedantic)
|
||||
pedwarn ("ISO C forbids casts to union type");
|
||||
if (TYPE_NAME (type) != 0)
|
||||
{
|
||||
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
|
||||
name = IDENTIFIER_POINTER (TYPE_NAME (type));
|
||||
else
|
||||
name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
|
||||
}
|
||||
else
|
||||
name = "";
|
||||
t = digest_init (type, build (CONSTRUCTOR, type, NULL_TREE,
|
||||
build_tree_list (field, value)), 0);
|
||||
TREE_CONSTANT (t) = TREE_CONSTANT (value);
|
||||
|
|
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "insn-config.h"
|
||||
#include "flags.h"
|
||||
|
|
64
gcc/calls.c
64
gcc/calls.c
|
@ -21,6 +21,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
#include "flags.h"
|
||||
|
@ -36,10 +38,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
#include "langhooks.h"
|
||||
#include "target.h"
|
||||
|
||||
#if !defined FUNCTION_OK_FOR_SIBCALL
|
||||
#define FUNCTION_OK_FOR_SIBCALL(DECL) 1
|
||||
#endif
|
||||
|
||||
/* Decide whether a function's arguments should be processed
|
||||
from first to last or from last to first.
|
||||
|
||||
|
@ -154,35 +152,6 @@ int stack_arg_under_construction;
|
|||
static int calls_function PARAMS ((tree, int));
|
||||
static int calls_function_1 PARAMS ((tree, int));
|
||||
|
||||
/* Nonzero if this is a call to a `const' function. */
|
||||
#define ECF_CONST 1
|
||||
/* Nonzero if this is a call to a `volatile' function. */
|
||||
#define ECF_NORETURN 2
|
||||
/* Nonzero if this is a call to malloc or a related function. */
|
||||
#define ECF_MALLOC 4
|
||||
/* Nonzero if it is plausible that this is a call to alloca. */
|
||||
#define ECF_MAY_BE_ALLOCA 8
|
||||
/* Nonzero if this is a call to a function that won't throw an exception. */
|
||||
#define ECF_NOTHROW 16
|
||||
/* Nonzero if this is a call to setjmp or a related function. */
|
||||
#define ECF_RETURNS_TWICE 32
|
||||
/* Nonzero if this is a call to `longjmp'. */
|
||||
#define ECF_LONGJMP 64
|
||||
/* Nonzero if this is a syscall that makes a new process in the image of
|
||||
the current one. */
|
||||
#define ECF_FORK_OR_EXEC 128
|
||||
#define ECF_SIBCALL 256
|
||||
/* Nonzero if this is a call to "pure" function (like const function,
|
||||
but may read memory. */
|
||||
#define ECF_PURE 512
|
||||
/* Nonzero if this is a call to a function that returns with the stack
|
||||
pointer depressed. */
|
||||
#define ECF_SP_DEPRESSED 1024
|
||||
/* Nonzero if this call is known to always return. */
|
||||
#define ECF_ALWAYS_RETURN 2048
|
||||
/* Create libcall block around the call. */
|
||||
#define ECF_LIBCALL_BLOCK 4096
|
||||
|
||||
static void emit_call_1 PARAMS ((rtx, tree, tree, HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, HOST_WIDE_INT, rtx,
|
||||
rtx, int, rtx, int,
|
||||
|
@ -219,7 +188,6 @@ static rtx emit_library_call_value_1 PARAMS ((int, rtx, rtx,
|
|||
enum machine_mode,
|
||||
int, va_list));
|
||||
static int special_function_p PARAMS ((tree, int));
|
||||
static int flags_from_decl_or_type PARAMS ((tree));
|
||||
static rtx try_to_integrate PARAMS ((tree, tree, rtx,
|
||||
int, tree, rtx));
|
||||
static int check_sibcall_argument_overlap_1 PARAMS ((rtx));
|
||||
|
@ -818,7 +786,7 @@ alloca_call_p (exp)
|
|||
|
||||
/* Detect flags (function attributes) from the function decl or type node. */
|
||||
|
||||
static int
|
||||
int
|
||||
flags_from_decl_or_type (exp)
|
||||
tree exp;
|
||||
{
|
||||
|
@ -1717,10 +1685,8 @@ rtx_for_function_call (fndecl, exp)
|
|||
else
|
||||
/* Generate an rtx (probably a pseudo-register) for the address. */
|
||||
{
|
||||
rtx funaddr;
|
||||
push_temp_slots ();
|
||||
funaddr = funexp
|
||||
= expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
|
||||
funexp = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
|
||||
pop_temp_slots (); /* FUNEXP can't be BLKmode. */
|
||||
emit_queue ();
|
||||
}
|
||||
|
@ -2281,7 +2247,10 @@ expand_call (exp, target, ignore)
|
|||
{
|
||||
struct_value_size = int_size_in_bytes (TREE_TYPE (exp));
|
||||
|
||||
if (target && GET_CODE (target) == MEM)
|
||||
if (CALL_EXPR_HAS_RETURN_SLOT_ADDR (exp))
|
||||
/* The structure value address arg is already in actparms. */
|
||||
structure_value_addr_parm = 1;
|
||||
else if (target && GET_CODE (target) == MEM)
|
||||
structure_value_addr = XEXP (target, 0);
|
||||
else
|
||||
{
|
||||
|
@ -2467,16 +2436,13 @@ expand_call (exp, target, ignore)
|
|||
It does not seem worth the effort since few optimizable
|
||||
sibling calls will return a structure. */
|
||||
|| structure_value_addr != NULL_RTX
|
||||
/* If the register holding the address is a callee saved
|
||||
register, then we lose. We have no way to prevent that,
|
||||
so we only allow calls to named functions. */
|
||||
/* ??? This could be done by having the insn constraints
|
||||
use a register class that is all call-clobbered. Any
|
||||
reload insns generated to fix things up would appear
|
||||
before the sibcall_epilogue. */
|
||||
|| fndecl == NULL_TREE
|
||||
/* Check whether the target is able to optimize the call
|
||||
into a sibcall. */
|
||||
|| !(*targetm.function_ok_for_sibcall) (fndecl, exp)
|
||||
/* Functions that do not return exactly once may not be sibcall
|
||||
optimized. */
|
||||
|| (flags & (ECF_RETURNS_TWICE | ECF_LONGJMP | ECF_NORETURN))
|
||||
|| !FUNCTION_OK_FOR_SIBCALL (fndecl)
|
||||
|| TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (TREE_OPERAND (exp, 0))))
|
||||
/* If this function requires more stack slots than the current
|
||||
function, we cannot change it into a sibling call. */
|
||||
|| args_size.constant > current_function_args_size
|
||||
|
@ -2608,7 +2574,7 @@ expand_call (exp, target, ignore)
|
|||
is subject to race conditions, just as with multithreaded
|
||||
programs. */
|
||||
|
||||
emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__bb_fork_func"),
|
||||
emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__gcov_flush"),
|
||||
LCT_ALWAYS_RETURN,
|
||||
VOIDmode, 0);
|
||||
}
|
||||
|
|
|
@ -43,6 +43,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
|
|
|
@ -22,6 +22,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
/* This file contains various simple utilities to analyze the CFG. */
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
#include "basic-block.h"
|
||||
|
|
|
@ -34,6 +34,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
|
|
|
@ -33,6 +33,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
#include "basic-block.h"
|
||||
|
|
|
@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
|
@ -740,7 +742,6 @@ duplicate_insn_chain (from, to)
|
|||
be reordered later. */
|
||||
for (insn = from; insn != NEXT_INSN (to); insn = NEXT_INSN (insn))
|
||||
{
|
||||
rtx new;
|
||||
switch (GET_CODE (insn))
|
||||
{
|
||||
case INSN:
|
||||
|
@ -752,7 +753,7 @@ duplicate_insn_chain (from, to)
|
|||
if (GET_CODE (PATTERN (insn)) == ADDR_VEC
|
||||
|| GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC)
|
||||
break;
|
||||
new = emit_copy_of_insn_after (insn, get_last_insn ());
|
||||
emit_copy_of_insn_after (insn, get_last_insn ());
|
||||
break;
|
||||
|
||||
case CODE_LABEL:
|
||||
|
|
|
@ -20,6 +20,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
#include "basic-block.h"
|
||||
|
@ -331,11 +333,9 @@ flow_loop_nodes_find (header, loop)
|
|||
basic_block *stack;
|
||||
int sp;
|
||||
int num_nodes = 1;
|
||||
int findex, lindex;
|
||||
|
||||
header->loop_father = loop;
|
||||
header->loop_depth = loop->depth;
|
||||
findex = lindex = header->index;
|
||||
|
||||
if (loop->latch->loop_father != loop)
|
||||
{
|
||||
|
|
|
@ -44,6 +44,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "hard-reg-set.h"
|
||||
|
@ -1219,7 +1221,6 @@ split_edge (edge_in)
|
|||
edge edge_in;
|
||||
{
|
||||
basic_block bb;
|
||||
edge edge_out;
|
||||
rtx before;
|
||||
|
||||
/* Abnormal edges cannot be split. */
|
||||
|
@ -1285,7 +1286,7 @@ split_edge (edge_in)
|
|||
edge_in->dest->global_live_at_start);
|
||||
}
|
||||
|
||||
edge_out = make_single_succ_edge (bb, edge_in->dest, EDGE_FALLTHRU);
|
||||
make_single_succ_edge (bb, edge_in->dest, EDGE_FALLTHRU);
|
||||
|
||||
/* For non-fallthry edges, we must adjust the predecessor's
|
||||
jump instruction to target our new block. */
|
||||
|
@ -1818,7 +1819,7 @@ verify_flow_info ()
|
|||
if (e->flags & EDGE_FALLTHRU)
|
||||
n_fallthru++;
|
||||
|
||||
if ((e->flags & ~EDGE_DFS_BACK) == 0)
|
||||
if ((e->flags & ~(EDGE_DFS_BACK | EDGE_CAN_FALLTHRU)) == 0)
|
||||
n_branch++;
|
||||
|
||||
if (e->flags & EDGE_ABNORMAL_CALL)
|
||||
|
|
|
@ -28,6 +28,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include <signal.h>
|
||||
#if ! defined( SIGCHLD ) && defined( SIGCLD )
|
||||
# define SIGCHLD SIGCLD
|
||||
|
@ -300,7 +302,6 @@ static int is_in_list PARAMS ((const char *, struct id *));
|
|||
#endif
|
||||
static void write_aix_file PARAMS ((FILE *, struct id *));
|
||||
static char *resolve_lib_name PARAMS ((const char *));
|
||||
static int ignore_library PARAMS ((const char *));
|
||||
#endif
|
||||
static char *extract_string PARAMS ((const char **));
|
||||
|
||||
|
@ -2684,6 +2685,41 @@ scan_libraries (prog_name)
|
|||
|
||||
#endif
|
||||
|
||||
#ifdef COLLECT_EXPORT_LIST
|
||||
/* Array of standard AIX libraries which should not
|
||||
be scanned for ctors/dtors. */
|
||||
static const char *const aix_std_libs[] = {
|
||||
"/unix",
|
||||
"/lib/libc.a",
|
||||
"/lib/libm.a",
|
||||
"/lib/libc_r.a",
|
||||
"/lib/libm_r.a",
|
||||
"/usr/lib/libc.a",
|
||||
"/usr/lib/libm.a",
|
||||
"/usr/lib/libc_r.a",
|
||||
"/usr/lib/libm_r.a",
|
||||
"/usr/lib/threads/libc.a",
|
||||
"/usr/ccs/lib/libc.a",
|
||||
"/usr/ccs/lib/libm.a",
|
||||
"/usr/ccs/lib/libc_r.a",
|
||||
"/usr/ccs/lib/libm_r.a",
|
||||
NULL
|
||||
};
|
||||
|
||||
/* This function checks the filename and returns 1
|
||||
if this name matches the location of a standard AIX library. */
|
||||
static int ignore_library PARAMS ((const char *));
|
||||
static int
|
||||
ignore_library (name)
|
||||
const char *name;
|
||||
{
|
||||
const char *const *p = &aix_std_libs[0];
|
||||
while (*p++ != NULL)
|
||||
if (! strcmp (name, *p)) return 1;
|
||||
return 0;
|
||||
}
|
||||
#endif /* COLLECT_EXPORT_LIST */
|
||||
|
||||
extern char *ldgetname ();
|
||||
|
||||
/* COFF version to scan the name list of the loaded program for
|
||||
|
@ -2903,38 +2939,6 @@ if (debug) fprintf (stderr, "found: %s\n", lib_buf);
|
|||
fatal ("library lib%s not found", name);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/* Array of standard AIX libraries which should not
|
||||
be scanned for ctors/dtors. */
|
||||
static const char *const aix_std_libs[] = {
|
||||
"/unix",
|
||||
"/lib/libc.a",
|
||||
"/lib/libm.a",
|
||||
"/lib/libc_r.a",
|
||||
"/lib/libm_r.a",
|
||||
"/usr/lib/libc.a",
|
||||
"/usr/lib/libm.a",
|
||||
"/usr/lib/libc_r.a",
|
||||
"/usr/lib/libm_r.a",
|
||||
"/usr/lib/threads/libc.a",
|
||||
"/usr/ccs/lib/libc.a",
|
||||
"/usr/ccs/lib/libm.a",
|
||||
"/usr/ccs/lib/libc_r.a",
|
||||
"/usr/ccs/lib/libm_r.a",
|
||||
NULL
|
||||
};
|
||||
|
||||
/* This function checks the filename and returns 1
|
||||
if this name matches the location of a standard AIX library. */
|
||||
static int
|
||||
ignore_library (name)
|
||||
const char *name;
|
||||
{
|
||||
const char *const *p = &aix_std_libs[0];
|
||||
while (*p++ != NULL)
|
||||
if (! strcmp (name, *p)) return 1;
|
||||
return 0;
|
||||
}
|
||||
#endif /* COLLECT_EXPORT_LIST */
|
||||
|
||||
|
||||
|
|
|
@ -76,6 +76,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tm_p.h"
|
||||
#include "flags.h"
|
||||
|
@ -167,11 +169,6 @@ static int last_call_cuid;
|
|||
|
||||
static rtx subst_insn;
|
||||
|
||||
/* This is an insn that belongs before subst_insn, but is not currently
|
||||
on the insn chain. */
|
||||
|
||||
static rtx subst_prev_insn;
|
||||
|
||||
/* This is the lowest CUID that `subst' is currently dealing with.
|
||||
get_last_value will not return a value if the register was set at or
|
||||
after this CUID. If not for this mechanism, we could get confused if
|
||||
|
@ -199,7 +196,6 @@ static basic_block this_basic_block;
|
|||
After combine, we'll need to re-do global life analysis with
|
||||
those blocks as starting points. */
|
||||
static sbitmap refresh_blocks;
|
||||
static int need_refresh;
|
||||
|
||||
/* The next group of arrays allows the recording of the last value assigned
|
||||
to (hard or pseudo) register n. We use this information to see if a
|
||||
|
@ -571,15 +567,10 @@ combine_instructions (f, nregs)
|
|||
|
||||
label_tick = 1;
|
||||
|
||||
/* We need to initialize it here, because record_dead_and_set_regs may call
|
||||
get_last_value. */
|
||||
subst_prev_insn = NULL_RTX;
|
||||
|
||||
setup_incoming_promotions ();
|
||||
|
||||
refresh_blocks = sbitmap_alloc (last_basic_block);
|
||||
sbitmap_zero (refresh_blocks);
|
||||
need_refresh = 0;
|
||||
|
||||
for (insn = f, i = 0; insn; insn = NEXT_INSN (insn))
|
||||
{
|
||||
|
@ -1752,11 +1743,10 @@ try_combine (i3, i2, i1, new_direct_jump_p)
|
|||
never appear in the insn stream so giving it the same INSN_UID
|
||||
as I2 will not cause a problem. */
|
||||
|
||||
subst_prev_insn = i1
|
||||
= gen_rtx_INSN (VOIDmode, INSN_UID (i2), NULL_RTX, i2,
|
||||
BLOCK_FOR_INSN (i2), INSN_SCOPE (i2),
|
||||
XVECEXP (PATTERN (i2), 0, 1), -1, NULL_RTX,
|
||||
NULL_RTX);
|
||||
i1 = gen_rtx_INSN (VOIDmode, INSN_UID (i2), NULL_RTX, i2,
|
||||
BLOCK_FOR_INSN (i2), INSN_SCOPE (i2),
|
||||
XVECEXP (PATTERN (i2), 0, 1), -1, NULL_RTX,
|
||||
NULL_RTX);
|
||||
|
||||
SUBST (PATTERN (i2), XVECEXP (PATTERN (i2), 0, 0));
|
||||
SUBST (XEXP (SET_SRC (PATTERN (i2)), 0),
|
||||
|
@ -2860,10 +2850,6 @@ try_combine (i3, i2, i1, new_direct_jump_p)
|
|||
combine_successes++;
|
||||
undo_commit ();
|
||||
|
||||
/* Clear this here, so that subsequent get_last_value calls are not
|
||||
affected. */
|
||||
subst_prev_insn = NULL_RTX;
|
||||
|
||||
if (added_links_insn
|
||||
&& (newi2pat == 0 || INSN_CUID (added_links_insn) < INSN_CUID (i2))
|
||||
&& INSN_CUID (added_links_insn) < INSN_CUID (i3))
|
||||
|
@ -2892,10 +2878,6 @@ undo_all ()
|
|||
}
|
||||
|
||||
undobuf.undos = 0;
|
||||
|
||||
/* Clear this here, so that subsequent get_last_value calls are not
|
||||
affected. */
|
||||
subst_prev_insn = NULL_RTX;
|
||||
}
|
||||
|
||||
/* We've committed to accepting the changes we made. Move all
|
||||
|
@ -12700,10 +12682,7 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
|
|||
if (REG_NOTE_KIND (note) == REG_DEAD && place == 0
|
||||
&& REGNO_REG_SET_P (bb->global_live_at_start,
|
||||
REGNO (XEXP (note, 0))))
|
||||
{
|
||||
SET_BIT (refresh_blocks, this_basic_block->index);
|
||||
need_refresh = 1;
|
||||
}
|
||||
SET_BIT (refresh_blocks, this_basic_block->index);
|
||||
}
|
||||
|
||||
/* If the register is set or already dead at PLACE, we needn't do
|
||||
|
@ -12720,10 +12699,7 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
|
|||
the note is a noop, we'll need do a global live update
|
||||
after we remove them in delete_noop_moves. */
|
||||
if (noop_move_p (place))
|
||||
{
|
||||
SET_BIT (refresh_blocks, this_basic_block->index);
|
||||
need_refresh = 1;
|
||||
}
|
||||
SET_BIT (refresh_blocks, this_basic_block->index);
|
||||
|
||||
if (dead_or_set_p (place, XEXP (note, 0))
|
||||
|| reg_bitfield_target_p (XEXP (note, 0), PATTERN (place)))
|
||||
|
@ -12795,7 +12771,6 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
|
|||
{
|
||||
SET_BIT (refresh_blocks,
|
||||
this_basic_block->index);
|
||||
need_refresh = 1;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
|
|
159
gcc/config.gcc
159
gcc/config.gcc
|
@ -150,6 +150,13 @@
|
|||
#
|
||||
# gas Set to yes or no depending on whether the target
|
||||
# system normally uses GNU as.
|
||||
#
|
||||
# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide
|
||||
# for this target. This is true iff
|
||||
# MAX_LONG_TYPE_SIZE is 64. (The code which
|
||||
# determines the underlying integral type for
|
||||
# HOST_WIDE_INT cannot see the definition of
|
||||
# MAX_LONG_TYPE_SIZE.)
|
||||
|
||||
# The following variables are used in each case-construct to build up the
|
||||
# outgoing variables:
|
||||
|
@ -209,6 +216,7 @@ gas="$gas_flag"
|
|||
gnu_ld="$gnu_ld_flag"
|
||||
enable_threads=$enable_threads_flag
|
||||
target_gtfiles=
|
||||
need_64bit_hwint=
|
||||
|
||||
# Obsolete configurations.
|
||||
case $machine in
|
||||
|
@ -219,7 +227,6 @@ case $machine in
|
|||
| mn10200-*-* \
|
||||
| ns32k-*-openbsd* \
|
||||
| romp-*-openbsd* \
|
||||
| vax-*-vms* \
|
||||
)
|
||||
if test "x$enable_obsolete" != xyes; then
|
||||
echo "*** Configuration $machine is obsolete." >&2
|
||||
|
@ -238,6 +245,7 @@ cpu_type=`echo $machine | sed 's/-.*$//'`
|
|||
case $machine in
|
||||
alpha*-*-*)
|
||||
cpu_type=alpha
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
strongarm*-*-*)
|
||||
cpu_type=arm
|
||||
|
@ -255,9 +263,11 @@ i[34567]86-*-*)
|
|||
x86_64-*-*)
|
||||
cpu_type=i386
|
||||
extra_headers="mmintrin.h xmmintrin.h"
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
ia64-*-*)
|
||||
extra_headers=ia64intrin.h
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
hppa*-*-* | parisc*-*-*)
|
||||
cpu_type=pa
|
||||
|
@ -271,17 +281,30 @@ m68k-*-*)
|
|||
;;
|
||||
mips*-*-*)
|
||||
cpu_type=mips
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
powerpc*-*-*)
|
||||
cpu_type=rs6000
|
||||
extra_headers="ppc-asm.h altivec.h spe.h"
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
rs6000*-*-*)
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
sparc64*-*-*)
|
||||
cpu_type=sparc
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
sparc*-*-*)
|
||||
cpu_type=sparc
|
||||
;;
|
||||
s390*-*-*)
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
|
||||
sh[123456789l]*-*-*)
|
||||
cpu_type=sh
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
tic4x-*-*)
|
||||
cpu_type=c4x
|
||||
|
@ -312,7 +335,7 @@ case $machine in
|
|||
;;
|
||||
esac
|
||||
|
||||
# Common parts for GNU/Linux, GNU/Hurd, OpenBSD, NetBSD, and FreeBSD systems.
|
||||
# Common parts for widely ported systems.
|
||||
case $machine in
|
||||
*-*-linux*)
|
||||
xm_defines=POSIX
|
||||
|
@ -437,6 +460,13 @@ case $machine in
|
|||
esac
|
||||
fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
|
||||
;;
|
||||
*-*-vxworks*)
|
||||
tmake_file=t-vxworks
|
||||
tm_file="${tm_file} elfos.h svr4.h vxworks.h"
|
||||
thread_file='vxworks'
|
||||
use_collect2=yes
|
||||
xm_defines=POSIX
|
||||
;;
|
||||
esac
|
||||
|
||||
case $machine in
|
||||
|
@ -472,7 +502,6 @@ alpha-*-interix)
|
|||
target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
|
||||
|
||||
xm_defines=POSIX
|
||||
xm_file="alpha/xm-alpha-interix.h"
|
||||
tmake_file="alpha/t-alpha t-interix alpha/t-interix alpha/t-ieee"
|
||||
if test x$enable_threads = xyes ; then
|
||||
thread_file='posix'
|
||||
|
@ -556,21 +585,10 @@ alpha*-dec-osf[45]*)
|
|||
;;
|
||||
esac
|
||||
;;
|
||||
alpha*-*-vxworks*)
|
||||
xm_defines=POSIX
|
||||
tm_file="${tm_file} dbx.h alpha/vxworks.h"
|
||||
tmake_file="alpha/t-alpha alpha/t-ieee"
|
||||
if [ x$gas != xyes ]
|
||||
then
|
||||
extra_passes="mips-tfile mips-tdump"
|
||||
fi
|
||||
use_collect2=yes
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
alpha64-dec-*vms*)
|
||||
xm_defines=POSIX
|
||||
tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
|
||||
xm_file="alpha/xm-vms.h alpha/xm-vms64.h"
|
||||
xm_file="alpha/xm-vms.h"
|
||||
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
|
||||
xmake_file=alpha/x-vms
|
||||
exeext=.exe
|
||||
|
@ -611,11 +629,6 @@ arm-*-coff* | armel-*-coff*)
|
|||
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h"
|
||||
tmake_file=arm/t-arm-coff
|
||||
;;
|
||||
arm-*-vxworks*)
|
||||
tm_file="arm/semi.h arm/aout.h arm/coff.h arm/vxarm.h arm/arm.h"
|
||||
tmake_file=arm/t-arm-coff
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
arm-semi-aout | armel-semi-aout)
|
||||
tm_file="arm/semi.h arm/aout.h arm/arm.h"
|
||||
tmake_file=arm/t-semi
|
||||
|
@ -751,6 +764,7 @@ hppa*64*-*-linux* | parisc*64*-*-linux*)
|
|||
pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
|
||||
tmake_file=pa/t-linux64
|
||||
gas=yes gnu_ld=yes
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
hppa*-*-linux* | parisc*-*-linux*)
|
||||
target_cpu_default="MASK_PA_11"
|
||||
|
@ -891,6 +905,7 @@ hppa*64*-*-hpux11*)
|
|||
pa/pa64-regs.h pa/long_double.h pa/pa-hpux.h \
|
||||
pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
|
||||
fi
|
||||
need_64bit_hwint=yes
|
||||
tmake_file="pa/t-pa64 pa/t-pa-hpux"
|
||||
xmake_file="pa/x-ada"
|
||||
target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
|
||||
|
@ -1052,10 +1067,6 @@ i[34567]86-sequent-sysv*) # would otherwise be caught by i?86-*-sysv*
|
|||
echo "*** Configuration $machine not supported" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
i[34567]86-wrs-vxworks*)
|
||||
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/vxi386.h"
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
i[34567]86-*-aout*)
|
||||
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
|
||||
;;
|
||||
|
@ -1323,7 +1334,6 @@ i[34567]86-*-uwin*)
|
|||
;;
|
||||
i[34567]86-*-interix3*)
|
||||
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
|
||||
xm_file="i386/xm-i386-interix.h"
|
||||
xm_defines=POSIX
|
||||
tmake_file="t-interix i386/t-interix"
|
||||
extra_objs=winnt.o
|
||||
|
@ -1337,7 +1347,6 @@ i[34567]86-*-interix3*)
|
|||
;;
|
||||
i[34567]86-*-interix*)
|
||||
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h"
|
||||
xm_file="i386/xm-i386-interix.h"
|
||||
xm_defines=POSIX
|
||||
tmake_file="t-interix i386/t-interix"
|
||||
extra_objs=winnt.o
|
||||
|
@ -1348,30 +1357,6 @@ i[34567]86-*-interix*)
|
|||
tm_file="${tm_file} dbxcoff.h"
|
||||
fi
|
||||
;;
|
||||
i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
|
||||
tm_file="${tm_file} i960/vx960.h"
|
||||
tmake_file=i960/t-vxworks960
|
||||
use_collect2=yes
|
||||
thread_file='vxworks'
|
||||
c_target_objs="i960-c.o"
|
||||
cxx_target_objs="i960-c.o"
|
||||
;;
|
||||
i960-wrs-vxworks5* | i960-wrs-vxworks)
|
||||
tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
|
||||
tmake_file=i960/t-vxworks960
|
||||
use_collect2=yes
|
||||
thread_file='vxworks'
|
||||
c_target_objs="i960-c.o"
|
||||
cxx_target_objs="i960-c.o"
|
||||
;;
|
||||
i960-wrs-vxworks*)
|
||||
tm_file="${tm_file} i960/vx960.h"
|
||||
tmake_file=i960/t-vxworks960
|
||||
use_collect2=yes
|
||||
thread_file='vxworks'
|
||||
c_target_objs="i960-c.o"
|
||||
cxx_target_objs="i960-c.o"
|
||||
;;
|
||||
i960-*-coff*)
|
||||
tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
|
||||
tmake_file=i960/t-960bare
|
||||
|
@ -1425,6 +1410,9 @@ ia64*-*-linux*)
|
|||
tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc"
|
||||
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
|
||||
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
|
||||
if test x"$use_libunwind_exceptions" = xyes; then
|
||||
tmake_file="$tmake_file t-libunwind"
|
||||
fi
|
||||
;;
|
||||
ia64*-*-hpux*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h"
|
||||
|
@ -1612,11 +1600,6 @@ m68k-sun-sunos*) # For SunOS 4 (the default).
|
|||
fi
|
||||
use_collect2=yes
|
||||
;;
|
||||
m68k-wrs-vxworks*)
|
||||
tm_file=m68k/vxm68k.h
|
||||
tmake_file=m68k/t-vxworks68
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
m68k-*-aout*)
|
||||
tmake_file=m68k/t-m68kbare
|
||||
tm_file="m68k/m68k-aout.h libgloss.h"
|
||||
|
@ -1758,14 +1741,6 @@ mips-sgi-irix6*) # SGI System V.4., IRIX 6
|
|||
# thread_file='irix'
|
||||
# fi
|
||||
;;
|
||||
mips-wrs-vxworks)
|
||||
tm_file="${tm_file} mips/elf.h mips/vxworks.h"
|
||||
tmake_file=mips/t-ecoff
|
||||
gas=yes
|
||||
gnu_ld=yes
|
||||
extra_parts="crtbegin.o crtend.o"
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
mips-sgi-irix5cross64) # Irix5 host, Irix 6 target, cross64
|
||||
tm_file="mips/iris6.h mips/cross64.h"
|
||||
xm_defines=POSIX
|
||||
|
@ -1825,7 +1800,7 @@ mips-sgi-*) # would otherwise be caught by mips-*-elf*
|
|||
mips*-*-netbsd*) # NetBSD/mips, either endian.
|
||||
target_cpu_default="MASK_GAS|MASK_ABICALLS"
|
||||
tm_file="elfos.h ${tm_file} mips/netbsd.h"
|
||||
tmake_file="${tmake_file} mips/t-netbsd"
|
||||
tmake_file="${tmake_file}"
|
||||
;;
|
||||
mips*-*-linux*) # Linux MIPS, either endian.
|
||||
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
|
||||
|
@ -1835,7 +1810,7 @@ mips*-*-linux*) # Linux MIPS, either endian.
|
|||
tm_defines="MIPS_ISA_DEFAULT=32"
|
||||
;;
|
||||
esac
|
||||
tmake_file="t-slibgcc-elf-ver t-linux mips/t-linux"
|
||||
tmake_file="t-slibgcc-elf-ver t-linux"
|
||||
;;
|
||||
mips*el-*-openbsd*) # mips little endian
|
||||
target_cpu_default="MASK_GAS|MASK_ABICALLS"
|
||||
|
@ -1919,6 +1894,7 @@ mipstx39-*-elf* | mipstx39el-*-elf*)
|
|||
tmake_file=mips/t-r3900
|
||||
;;
|
||||
mmix-knuth-mmixware)
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
mn10200-*-*)
|
||||
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
||||
|
@ -1991,10 +1967,11 @@ powerpc-*-darwin*)
|
|||
# Darwin linker does collect2 functionality
|
||||
use_collect2=no
|
||||
extra_headers=altivec.h
|
||||
# override ppc default
|
||||
need_64bit_hwint=
|
||||
;;
|
||||
powerpc*-*-freebsd*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
|
||||
xm_file=rs6000/xm-sysv4.h
|
||||
out_file=rs6000/rs6000.c
|
||||
tmake_file="rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
||||
;;
|
||||
|
@ -2095,23 +2072,19 @@ powerpc-*-gnu*)
|
|||
fi
|
||||
;;
|
||||
powerpc-wrs-vxworks*)
|
||||
xm_defines=POSIX
|
||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/vxppc.h"
|
||||
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
# We want vxworks.h after rs6000/sysv4.h, which unfortunately
|
||||
# means we have to redo the tm_file list from scratch.
|
||||
tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
|
||||
tm_file="${tm_file} vxworks.h rs6000/vxworks.h"
|
||||
tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-vxworks"
|
||||
extra_headers=ppc-asm.h
|
||||
;;
|
||||
powerpc-wrs-windiss*)
|
||||
xm_defines=POSIX
|
||||
tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
|
||||
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||
thread_file=""
|
||||
;;
|
||||
powerpcle-wrs-vxworks*)
|
||||
xm_defines=POSIX
|
||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
|
||||
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
powerpcle-*-sysv*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
|
||||
xm_defines=POSIX
|
||||
|
@ -2249,7 +2222,7 @@ sh-*-rtems*)
|
|||
fi
|
||||
;;
|
||||
sh-*-linux* | sh[2346lbe]*-*-linux*)
|
||||
tmake_file="sh/t-sh sh/t-elf sh/t-linux"
|
||||
tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux sh/t-linux"
|
||||
case $machine in
|
||||
sh*be-*-* | sh*eb-*-*) ;;
|
||||
*)
|
||||
|
@ -2258,7 +2231,6 @@ sh-*-linux* | sh[2346lbe]*-*-linux*)
|
|||
;;
|
||||
esac
|
||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
|
||||
gas=yes gnu_ld=yes
|
||||
case $machine in
|
||||
sh64*)
|
||||
tmake_file="${tmake_file} sh/t-sh64"
|
||||
|
@ -2315,17 +2287,6 @@ sparc-tti-*)
|
|||
tm_file="${tm_file} sparc/pbd.h"
|
||||
xm_defines=POSIX
|
||||
;;
|
||||
sparc64-wrs-vxworks*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h sparc/sol2.h sparc/elf.h sparc/biarch64.h gofast.h sparc/vxsparc64.h"
|
||||
tmake_file="sparc/t-vxsparc64 sparc/t-crtfm"
|
||||
use_collect2=yes
|
||||
;;
|
||||
sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
|
||||
tm_file="${tm_file} aoutos.h sparc/aout.h gofast.h sparc/vxsparc.h"
|
||||
tmake_file=sparc/t-vxsparc
|
||||
use_collect2=yes
|
||||
thread_file='vxworks'
|
||||
;;
|
||||
sparc-*-aout*)
|
||||
tmake_file=sparc/t-sparcbare
|
||||
tm_file="sparc/sparc.h aoutos.h sparc/aout.h libgloss.h"
|
||||
|
@ -2348,7 +2309,6 @@ sparc-*-openbsd*)
|
|||
;;
|
||||
sparc64-*-openbsd*)
|
||||
tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
|
||||
xm_file=sparc/xm-sp64.h
|
||||
gas=yes gnu_ld=yes
|
||||
with_cpu=ultrasparc
|
||||
;;
|
||||
|
@ -2435,6 +2395,7 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
|
|||
thread_file='solaris'
|
||||
fi
|
||||
fi
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
sparc-hal-solaris2*)
|
||||
xm_defines=POSIX
|
||||
|
@ -2475,6 +2436,7 @@ sparc-*-solaris2*)
|
|||
tm_file="${tm_file} sparc/sol2-gas-bi.h"
|
||||
fi
|
||||
tmake_file="$tmake_file sparc/t-sol2-64"
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
esac
|
||||
xm_defines=POSIX
|
||||
|
@ -2515,11 +2477,6 @@ sparc-*-sysv4*)
|
|||
tmake_file=t-svr4
|
||||
extra_parts="crtbegin.o crtend.o"
|
||||
;;
|
||||
sparc-*-vxsim*)
|
||||
xm_defines=POSIX
|
||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/vxsim.h"
|
||||
tmake_file=sparc/t-vxsparc
|
||||
;;
|
||||
sparclet-*-aout*)
|
||||
tm_file="${tm_file} aoutos.h sparc/aout.h sparc/splet.h libgloss.h"
|
||||
tmake_file=sparc/t-splet
|
||||
|
@ -2563,6 +2520,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
|
|||
x) with_cpu=ultrasparc ;;
|
||||
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
|
||||
esac
|
||||
need_64bit_hwint=yes
|
||||
;;
|
||||
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
|
||||
tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
|
||||
|
@ -2666,8 +2624,8 @@ vax-*-ultrix*) # VAXen running ultrix
|
|||
tm_file="${tm_file} vax/ultrix.h"
|
||||
;;
|
||||
vax-*-vms*) # VAXen running VMS
|
||||
xm_file=vax/xm-vms.h
|
||||
tm_file=vax/vms.h
|
||||
echo "Configuration $machine no longer supported" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
vax-*-*) # VAX default entry
|
||||
;;
|
||||
|
@ -2746,6 +2704,9 @@ i586-*-*)
|
|||
;;
|
||||
i686-*-* | i786-*-*)
|
||||
case $target_alias in
|
||||
k8-*)
|
||||
target_cpu_default2=TARGET_CPU_DEFAULT_k8
|
||||
;;
|
||||
athlon_xp-*|athlon_mp-*|athlon_4-*)
|
||||
target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
|
||||
;;
|
||||
|
@ -2770,7 +2731,7 @@ x86_64-*-*)
|
|||
# We should have hammer chip here, but it does not exist yet and
|
||||
# thus it is not supported. Athlon_SSE is probably equivalent feature
|
||||
# wise to hammer from our point of view except for 64bit mode.
|
||||
target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
|
||||
target_cpu_default2=TARGET_CPU_DEFAULT_k8
|
||||
;;
|
||||
alpha*-*-*)
|
||||
case $machine in
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* config.in. Generated automatically from configure.in by autoheader. */
|
||||
/* config.in. Generated automatically from configure.in by autoheader 2.13. */
|
||||
|
||||
/* Define if using alloca.c. */
|
||||
#undef C_ALLOCA
|
||||
|
@ -366,10 +366,16 @@
|
|||
/* Define as the number of bits in a byte, if `limits.h' doesn't. */
|
||||
#undef CHAR_BIT
|
||||
|
||||
/* whether byteorder is bigendian */
|
||||
#undef WORDS_BIGENDIAN
|
||||
|
||||
/* Define if the host machine stores words of multi-word integers in
|
||||
big-endian order. */
|
||||
#undef HOST_WORDS_BIG_ENDIAN
|
||||
|
||||
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
|
||||
#undef BYTEORDER
|
||||
|
||||
/* Define to the floating point format of the host machine, if not IEEE. */
|
||||
#undef HOST_FLOAT_FORMAT
|
||||
|
||||
|
@ -492,6 +498,15 @@
|
|||
/* Define if host mkdir takes a single argument. */
|
||||
#undef MKDIR_TAKES_ONE_ARG
|
||||
|
||||
/* Define 0/1 to force the choice for exception handling model. */
|
||||
#undef CONFIG_SJLJ_EXCEPTIONS
|
||||
|
||||
/* Define if gcc should use -lunwind. */
|
||||
#undef USE_LIBUNWIND_EXCEPTIONS
|
||||
|
||||
/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
|
||||
#undef NEED_64BIT_HOST_WIDE_INT
|
||||
|
||||
/* Define to the name of a file containing a list of extra machine modes
|
||||
for this architecture. */
|
||||
#undef EXTRA_MODES_FILE
|
||||
|
@ -596,12 +611,6 @@
|
|||
/* Define if your MIPS libgloss linker scripts consistently include STARTUP directives. */
|
||||
#undef HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES
|
||||
|
||||
/* Define 0/1 to force the choice for exception handling model. */
|
||||
#undef CONFIG_SJLJ_EXCEPTIONS
|
||||
|
||||
/* Define if gcc should use -lunwind. */
|
||||
#undef USE_LIBUNWIND_EXCEPTIONS
|
||||
|
||||
|
||||
/* Bison unconditionally undefines `const' if neither `__STDC__' nor
|
||||
__cplusplus are defined. That's a problem since we use `const' in
|
||||
|
|
|
@ -23,6 +23,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
#include "regs.h"
|
||||
|
@ -118,6 +120,8 @@ int alpha_this_literal_sequence_number;
|
|||
int alpha_this_gpdisp_sequence_number;
|
||||
|
||||
/* Declarations of static functions. */
|
||||
static bool alpha_function_ok_for_sibcall
|
||||
PARAMS ((tree, tree));
|
||||
static int tls_symbolic_operand_1
|
||||
PARAMS ((rtx, enum machine_mode, int, int));
|
||||
static enum tls_model tls_symbolic_operand_type
|
||||
|
@ -297,6 +301,9 @@ static void unicosmk_unique_section PARAMS ((tree, int));
|
|||
#undef TARGET_EXPAND_BUILTIN
|
||||
#define TARGET_EXPAND_BUILTIN alpha_expand_builtin
|
||||
|
||||
#undef TARGET_FUNCTION_OK_FOR_SIBCALL
|
||||
#define TARGET_FUNCTION_OK_FOR_SIBCALL alpha_function_ok_for_sibcall
|
||||
|
||||
#if TARGET_ABI_OSF
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK alpha_output_mi_thunk_osf
|
||||
|
@ -2274,6 +2281,19 @@ alpha_legitimize_address (x, scratch, mode)
|
|||
}
|
||||
}
|
||||
|
||||
/* We do not allow indirect calls to be optimized into sibling calls, nor
|
||||
can we allow a call to a function in a different compilation unit to
|
||||
be optimized into a sibcall. */
|
||||
static bool
|
||||
alpha_function_ok_for_sibcall (decl, exp)
|
||||
tree decl;
|
||||
tree exp ATTRIBUTE_UNUSED;
|
||||
{
|
||||
return (decl
|
||||
&& (! TREE_PUBLIC (decl)
|
||||
|| (TREE_ASM_WRITTEN (decl) && (*targetm.binds_local_p) (decl))));
|
||||
}
|
||||
|
||||
/* For TARGET_EXPLICIT_RELOCS, we don't obfuscate a SYMBOL_REF to a
|
||||
small symbolic operand until after reload. At which point we need
|
||||
to replace (mem (symbol_ref)) with (mem (lo_sum $29 symbol_ref))
|
||||
|
@ -9673,7 +9693,7 @@ unicosmk_output_addr_vec (file, vec)
|
|||
int vlen = XVECLEN (body, 0);
|
||||
int idx;
|
||||
|
||||
ASM_OUTPUT_INTERNAL_LABEL (file, "L", CODE_LABEL_NUMBER (lab));
|
||||
(*targetm.asm_out.internal_label) (file, "L", CODE_LABEL_NUMBER (lab));
|
||||
|
||||
for (idx = 0; idx < vlen; idx++)
|
||||
{
|
||||
|
|
|
@ -1164,14 +1164,6 @@ extern int alpha_memory_latency;
|
|||
} \
|
||||
}
|
||||
|
||||
/* We do not allow indirect calls to be optimized into sibling calls, nor
|
||||
can we allow a call to a function in a different compilation unit to
|
||||
be optimized into a sibcall. */
|
||||
#define FUNCTION_OK_FOR_SIBCALL(DECL) \
|
||||
(DECL \
|
||||
&& (! TREE_PUBLIC (DECL) \
|
||||
|| (TREE_ASM_WRITTEN (DECL) && (*targetm.binds_local_p) (DECL))))
|
||||
|
||||
/* Try to output insns to set TARGET equal to the constant C if it can be
|
||||
done in less than N insns. Do all computations in MODE. Returns the place
|
||||
where the output has been placed if it can be done and the insns have been
|
||||
|
@ -1285,12 +1277,6 @@ do { \
|
|||
|
||||
/* Addressing modes, and classification of registers for them. */
|
||||
|
||||
/* #define HAVE_POST_INCREMENT 0 */
|
||||
/* #define HAVE_POST_DECREMENT 0 */
|
||||
|
||||
/* #define HAVE_PRE_DECREMENT 0 */
|
||||
/* #define HAVE_PRE_INCREMENT 0 */
|
||||
|
||||
/* Macros to check register numbers against specific register classes. */
|
||||
|
||||
/* These assume that REGNO is a hard or pseudo reg number.
|
||||
|
@ -1757,18 +1743,12 @@ do { \
|
|||
|
||||
#define USER_LABEL_PREFIX ""
|
||||
|
||||
/* This is how to output an internal numbered label where
|
||||
PREFIX is the class of label and NUM is the number within the class. */
|
||||
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
|
||||
fprintf (FILE, "$%s%d:\n", PREFIX, NUM)
|
||||
|
||||
/* This is how to output a label for a jump table. Arguments are the same as
|
||||
for ASM_OUTPUT_INTERNAL_LABEL, except the insn for the jump table is
|
||||
for (*targetm.asm_out.internal_label), except the insn for the jump table is
|
||||
passed. */
|
||||
|
||||
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
|
||||
{ ASM_OUTPUT_ALIGN (FILE, 2); ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); }
|
||||
{ ASM_OUTPUT_ALIGN (FILE, 2); (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); }
|
||||
|
||||
/* This is how to store into the string LABEL
|
||||
the symbol_ref name of an internal numbered label where
|
||||
|
@ -1877,14 +1857,6 @@ do { \
|
|||
( fputs ("\t.lcomm ", (FILE)), \
|
||||
assemble_name ((FILE), (NAME)), \
|
||||
fprintf ((FILE), ",%d\n", (SIZE)))
|
||||
|
||||
/* Store in OUTPUT a string (made with alloca) containing
|
||||
an assembler-name for a local static variable named NAME.
|
||||
LABELNO is an integer which is different for each call. */
|
||||
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
|
||||
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
|
||||
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)))
|
||||
|
||||
|
||||
/* Print operand X (an rtx) in assembler syntax to file FILE.
|
||||
|
|
|
@ -4727,20 +4727,19 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
|
|||
(use (reg:DI 26))
|
||||
(clobber (reg:DI 27))]
|
||||
"TARGET_ABI_OPEN_VMS"
|
||||
"*
|
||||
{
|
||||
switch (which_alternative)
|
||||
{
|
||||
case 0:
|
||||
return \"mov %2,$27\;jsr $26,0\;ldq $27,0($29)\";
|
||||
return "mov %2,$27\;jsr $26,0\;ldq $27,0($29)";
|
||||
case 1:
|
||||
operands [2] = alpha_use_linkage (operands [0], cfun->decl, 1, 0);
|
||||
operands [3] = alpha_use_linkage (operands [0], cfun->decl, 0, 0);
|
||||
return \"ldq $26,%3\;ldq $27,%2\;jsr $26,%0\;ldq $27,0($29)\";
|
||||
return "ldq $26,%3\;ldq $27,%2\;jsr $26,%0\;ldq $27,0($29)";
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
}"
|
||||
}
|
||||
[(set_attr "type" "jsr")
|
||||
(set_attr "length" "12,16")])
|
||||
|
||||
|
@ -6460,6 +6459,56 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
|
|||
FAIL;
|
||||
})
|
||||
|
||||
(define_expand "movstrdi"
|
||||
[(parallel [(set (match_operand:BLK 0 "memory_operand" "")
|
||||
(match_operand:BLK 1 "memory_operand" ""))
|
||||
(use (match_operand:DI 2 "immediate_operand" ""))
|
||||
(use (match_operand:DI 3 "immediate_operand" ""))
|
||||
(use (match_dup 4))
|
||||
(clobber (reg:DI 25))
|
||||
(clobber (reg:DI 16))
|
||||
(clobber (reg:DI 17))
|
||||
(clobber (reg:DI 18))
|
||||
(clobber (reg:DI 19))
|
||||
(clobber (reg:DI 20))
|
||||
(clobber (reg:DI 26))
|
||||
(clobber (reg:DI 27))])]
|
||||
"TARGET_ABI_OPEN_VMS"
|
||||
{
|
||||
operands[4] = gen_rtx_SYMBOL_REF (Pmode, "OTS$MOVE");
|
||||
alpha_need_linkage (XSTR (operands[4], 0), 0);
|
||||
})
|
||||
|
||||
(define_insn "*movstrdi_1"
|
||||
[(set (match_operand:BLK 0 "memory_operand" "=m,=m")
|
||||
(match_operand:BLK 1 "memory_operand" "m,m"))
|
||||
(use (match_operand:DI 2 "nonmemory_operand" "r,i"))
|
||||
(use (match_operand:DI 3 "immediate_operand" ""))
|
||||
(use (match_operand:DI 4 "call_operand" "i,i"))
|
||||
(clobber (reg:DI 25))
|
||||
(clobber (reg:DI 16))
|
||||
(clobber (reg:DI 17))
|
||||
(clobber (reg:DI 18))
|
||||
(clobber (reg:DI 19))
|
||||
(clobber (reg:DI 20))
|
||||
(clobber (reg:DI 26))
|
||||
(clobber (reg:DI 27))]
|
||||
"TARGET_ABI_OPEN_VMS"
|
||||
{
|
||||
operands [5] = alpha_use_linkage (operands [4], cfun->decl, 0, 1);
|
||||
switch (which_alternative)
|
||||
{
|
||||
case 0:
|
||||
return "lda $16,%0\;bis $31,%2,$17\;lda $18,%1\;ldq $26,%5\;lda $25,3($31)\;jsr $26,%4\;ldq $27,0($29)";
|
||||
case 1:
|
||||
return "lda $16,%0\;lda $17,%2($31)\;lda $18,%1\;ldq $26,%5\;lda $25,3($31)\;jsr $26,%4\;ldq $27,0($29)";
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
}
|
||||
[(set_attr "type" "multi")
|
||||
(set_attr "length" "28")])
|
||||
|
||||
(define_expand "clrstrqi"
|
||||
[(parallel [(set (match_operand:BLK 0 "memory_operand" "")
|
||||
(const_int 0))
|
||||
|
@ -6472,6 +6521,51 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
|
|||
else
|
||||
FAIL;
|
||||
})
|
||||
|
||||
(define_expand "clrstrdi"
|
||||
[(parallel [(set (match_operand:BLK 0 "memory_operand" "")
|
||||
(const_int 0))
|
||||
(use (match_operand:DI 1 "immediate_operand" ""))
|
||||
(use (match_operand:DI 2 "immediate_operand" ""))
|
||||
(use (match_dup 3))
|
||||
(clobber (reg:DI 25))
|
||||
(clobber (reg:DI 16))
|
||||
(clobber (reg:DI 17))
|
||||
(clobber (reg:DI 26))
|
||||
(clobber (reg:DI 27))])]
|
||||
"TARGET_ABI_OPEN_VMS"
|
||||
{
|
||||
operands[3] = gen_rtx_SYMBOL_REF (Pmode, "OTS$ZERO");
|
||||
alpha_need_linkage (XSTR (operands[3], 0), 0);
|
||||
})
|
||||
|
||||
(define_insn "*clrstrdi_1"
|
||||
[(set (match_operand:BLK 0 "memory_operand" "=m,=m")
|
||||
(const_int 0))
|
||||
(use (match_operand:DI 1 "nonmemory_operand" "r,i"))
|
||||
(use (match_operand:DI 2 "immediate_operand" ""))
|
||||
(use (match_operand:DI 3 "call_operand" "i,i"))
|
||||
(clobber (reg:DI 25))
|
||||
(clobber (reg:DI 16))
|
||||
(clobber (reg:DI 17))
|
||||
(clobber (reg:DI 26))
|
||||
(clobber (reg:DI 27))]
|
||||
"TARGET_ABI_OPEN_VMS"
|
||||
{
|
||||
operands [4] = alpha_use_linkage (operands [3], cfun->decl, 0, 1);
|
||||
switch (which_alternative)
|
||||
{
|
||||
case 0:
|
||||
return "lda $16,%0\;bis $31,%1,$17\;ldq $26,%4\;lda $25,2($31)\;jsr $26,%3\;ldq $27,0($29)";
|
||||
case 1:
|
||||
return "lda $16,%0\;lda $17,%1($31)\;ldq $26,%4\;lda $25,2($31)\;jsr $26,%3\;ldq $27,0($29)";
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
}
|
||||
[(set_attr "type" "multi")
|
||||
(set_attr "length" "24")])
|
||||
|
||||
|
||||
;; Subroutine of stack space allocation. Perform a stack probe.
|
||||
(define_expand "probe_stack"
|
||||
|
@ -6571,7 +6665,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
|
|||
""
|
||||
{
|
||||
operands[2] = gen_label_rtx ();
|
||||
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
|
||||
(*targetm.asm_out.internal_label) (asm_out_file, "L",
|
||||
CODE_LABEL_NUMBER (operands[2]));
|
||||
|
||||
return "stq $31,-8192(%1)\;subq %0,1,%0\;lda %1,-8192(%1)\;bne %0,%l2";
|
||||
|
@ -7918,20 +8012,19 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi,none"
|
|||
(use (reg:DI 26))
|
||||
(clobber (reg:DI 27))]
|
||||
"TARGET_ABI_OPEN_VMS"
|
||||
"*
|
||||
{
|
||||
switch (which_alternative)
|
||||
{
|
||||
case 0:
|
||||
return \"mov %3,$27\;jsr $26,0\;ldq $27,0($29)\";
|
||||
return "mov %3,$27\;jsr $26,0\;ldq $27,0($29)";
|
||||
case 1:
|
||||
operands [3] = alpha_use_linkage (operands [1], cfun->decl, 1, 0);
|
||||
operands [4] = alpha_use_linkage (operands [1], cfun->decl, 0, 0);
|
||||
return \"ldq $26,%4\;ldq $27,%3\;jsr $26,%1\;ldq $27,0($29)\";
|
||||
return "ldq $26,%4\;ldq $27,%3\;jsr $26,%1\;ldq $27,0($29)";
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
}"
|
||||
}
|
||||
[(set_attr "type" "jsr")
|
||||
(set_attr "length" "12,16")])
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ do { \
|
|||
#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, JUMPTABLE) \
|
||||
do { \
|
||||
ASM_OUTPUT_BEFORE_CASE_LABEL (FILE, PREFIX, NUM, JUMPTABLE) \
|
||||
ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); \
|
||||
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \
|
||||
} while (0)
|
||||
|
||||
/* The standard SVR4 assembler seems to require that certain builtin
|
||||
|
|
|
@ -350,12 +350,12 @@ ssib_section () \
|
|||
#undef ASM_OUTPUT_SOURCE_FILENAME
|
||||
|
||||
/* This is how to output a label for a jump table. Arguments are the same as
|
||||
for ASM_OUTPUT_INTERNAL_LABEL, except the insn for the jump table is
|
||||
for (*targetm.asm_out.internal_label), except the insn for the jump table is
|
||||
passed. */
|
||||
|
||||
#undef ASM_OUTPUT_CASE_LABEL
|
||||
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
|
||||
ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM)
|
||||
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM)
|
||||
|
||||
/* CAM has some restrictions with respect to string literals. It won't
|
||||
accept lines with more that 256 characters which means that we have
|
||||
|
|
|
@ -25,6 +25,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
|
||||
#undef PATH_SEPARATOR
|
||||
#undef PATH_SEPARATOR_STR
|
||||
|
|
|
@ -26,6 +26,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
|
||||
typedef struct dsc {unsigned short len, mbz; char *adr; } Descr;
|
||||
|
||||
|
|
|
@ -306,7 +306,7 @@ extern void literals_section PARAMS ((void));
|
|||
|
||||
#undef ASM_OUTPUT_CASE_LABEL
|
||||
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
|
||||
{ ASM_OUTPUT_ALIGN (FILE, 3); ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); }
|
||||
{ ASM_OUTPUT_ALIGN (FILE, 3); (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); }
|
||||
|
||||
/* This says how to output assembler code to declare an
|
||||
uninitialized external linkage data object. */
|
||||
|
@ -448,10 +448,7 @@ do { \
|
|||
#undef PREFERRED_DEBUGGING_TYPE
|
||||
#define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG
|
||||
|
||||
#undef ASM_FORMAT_PRIVATE_NAME
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
|
||||
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 12), \
|
||||
sprintf ((OUTPUT), "%s___%d", (NAME), (LABELNO)))
|
||||
#define ASM_PN_FORMAT "%s___%lu"
|
||||
|
||||
/* ??? VMS uses different linkage. */
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
/* Definitions of target machine for GNU compiler. Vxworks Alpha version.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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.
|
||||
|
||||
GNU CC 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 GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* This file just exists to give specs for the Alpha running on VxWorks. */
|
||||
|
||||
#undef CPP_SUBTARGET_SPEC
|
||||
#define CPP_SUBTARGET_SPEC "\
|
||||
%{mvxsim:-DCPU=SIMALPHADUNIX} \
|
||||
%{!mvxsim: %{!mcpu*|mcpu=21064:-DCPU=21064} %{mcpu=21164:-DCPU=21164}} \
|
||||
%{posix: -D_POSIX_SOURCE}"
|
||||
|
||||
#define TARGET_OS_CPP_BUILTINS() \
|
||||
do { \
|
||||
builtin_define ("__vxworks"); \
|
||||
builtin_define ("__alpha_vxworks"); \
|
||||
builtin_define ("_LONGLONG"); \
|
||||
builtin_assert ("system=vxworks"); \
|
||||
builtin_assert ("system=embedded"); \
|
||||
} while (0)
|
||||
|
||||
/* VxWorks does all the library stuff itself. */
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC ""
|
||||
|
||||
/* VxWorks uses object files, not loadable images. Make linker just combine
|
||||
objects. Also show using 32 bit mode and set start of text to 0. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "-r -taso -T 0"
|
||||
|
||||
/* VxWorks provides the functionality of crt0.o and friends itself. */
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC ""
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC ""
|
|
@ -1,39 +0,0 @@
|
|||
/* Configuration for GNU compiler
|
||||
for an DEC/Compaq Alpha
|
||||
Copyright (C) 1999, 2001 Free Software Foundation, Inc.
|
||||
Donn Terry, Softway Systems, Inc.
|
||||
derived from code by Douglas B. Rupp (drupp@cs.washington.edu)
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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.
|
||||
|
||||
GNU CC 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 GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define HOST_BITS_PER_WIDE_INT 64
|
||||
#ifdef __GNUC__
|
||||
# define HOST_WIDE_INT long long
|
||||
#else
|
||||
# define HOST_WIDE_INT __int64
|
||||
#endif
|
||||
|
||||
#define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONGLONG
|
||||
#ifdef __GNUC__
|
||||
# define HOST_WIDEST_INT long long
|
||||
#else
|
||||
# define HOST_WIDEST_INT __int64
|
||||
#endif
|
||||
#define HOST_WIDEST_INT_PRINT_DEC "%lld"
|
||||
#define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu"
|
||||
#define HOST_WIDEST_INT_PRINT_HEX "0x%llx"
|
|
@ -19,9 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to
|
|||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define HOST_WIDE_INT long long
|
||||
#define HOST_BITS_PER_WIDE_INT 64
|
||||
|
||||
/* A couple of conditionals for execution machine are controlled here. */
|
||||
#ifndef VMS
|
||||
#define VMS
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
/* Configuration for GNU C-compiler for openVMS/Alpha.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Contributed by Douglas Rupp (rupp@gnat.com).
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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.
|
||||
|
||||
GNU CC 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 GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#undef HOST_WIDE_INT
|
||||
|
||||
/* Since DEC C long != Gnu C long */
|
||||
#define HOST_PTR_PRINTF "%llx"
|
||||
#define HOST_WIDE_INT_PRINT_DEC "%lld"
|
||||
#define HOST_WIDE_INT_PRINT_UNSIGNED "%llu"
|
||||
#define HOST_WIDE_INT_PRINT_HEX "0x%llx"
|
||||
#define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
|
|
@ -23,6 +23,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "rtl.h"
|
||||
#include "regs.h"
|
||||
|
@ -93,6 +95,7 @@ static bool arc_assemble_integer PARAMS ((rtx, unsigned int, int));
|
|||
static void arc_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT));
|
||||
static void arc_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT));
|
||||
static void arc_encode_section_info PARAMS ((tree, int));
|
||||
static void arc_internal_label PARAMS ((FILE *, const char *, unsigned long));
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
#undef TARGET_ASM_ALIGNED_HI_OP
|
||||
|
@ -110,6 +113,8 @@ static void arc_encode_section_info PARAMS ((tree, int));
|
|||
#define TARGET_ATTRIBUTE_TABLE arc_attribute_table
|
||||
#undef TARGET_ENCODE_SECTION_INFO
|
||||
#define TARGET_ENCODE_SECTION_INFO arc_encode_section_info
|
||||
#undef TARGET_ASM_INTERNAL_LABEL
|
||||
#define TARGET_ASM_INTERNAL_LABEL arc_internal_label
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
|
@ -1922,7 +1927,7 @@ record_cc_ref (insn)
|
|||
0 -> 2 final_prescan_insn, if the `target' is an unconditional branch
|
||||
1 -> 3 branch patterns, after having not output the conditional branch
|
||||
2 -> 4 branch patterns, after having not output the conditional branch
|
||||
3 -> 0 ASM_OUTPUT_INTERNAL_LABEL, if the `target' label is reached
|
||||
3 -> 0 (*targetm.asm_out.internal_label), if the `target' label is reached
|
||||
(the target label has CODE_LABEL_NUMBER equal to
|
||||
arc_ccfsm_target_label).
|
||||
4 -> 0 final_prescan_insn, if `target' unconditional branch is reached
|
||||
|
@ -2218,7 +2223,7 @@ arc_final_prescan_insn (insn, opvec, noperands)
|
|||
/* Record that we are currently outputting label NUM with prefix PREFIX.
|
||||
It it's the label we're looking for, reset the ccfsm machinery.
|
||||
|
||||
Called from ASM_OUTPUT_INTERNAL_LABEL. */
|
||||
Called from (*targetm.asm_out.internal_label). */
|
||||
|
||||
void
|
||||
arc_ccfsm_at_label (prefix, num)
|
||||
|
@ -2358,3 +2363,16 @@ arc_encode_section_info (decl, first)
|
|||
if (TREE_CODE (decl) == FUNCTION_DECL)
|
||||
SYMBOL_REF_FLAG (XEXP (DECL_RTL (decl), 0)) = 1;
|
||||
}
|
||||
|
||||
/* This is how to output a definition of an internal numbered label where
|
||||
PREFIX is the class of label and NUM is the number within the class. */
|
||||
|
||||
static void
|
||||
arc_internal_label (stream, prefix, labelno)
|
||||
FILE *stream;
|
||||
const char *prefix;
|
||||
unsigned long labelno;
|
||||
{
|
||||
arc_ccfsm_at_label (prefix, labelno);
|
||||
default_internal_label (stream, prefix, labelno);
|
||||
}
|
||||
|
|
|
@ -1202,7 +1202,7 @@ do { \
|
|||
compiled for different cpus. */
|
||||
/* We work around a dwarfout.c deficiency by watching for labels from it and
|
||||
not adding the '_' prefix nor the cpu suffix. There is a comment in
|
||||
dwarfout.c that says it should be using ASM_OUTPUT_INTERNAL_LABEL. */
|
||||
dwarfout.c that says it should be using (*targetm.asm_out.internal_label). */
|
||||
extern const char *arc_mangle_cpu;
|
||||
#define ASM_OUTPUT_LABELREF(FILE, NAME) \
|
||||
do { \
|
||||
|
@ -1217,22 +1217,6 @@ do { \
|
|||
} \
|
||||
} while (0)
|
||||
|
||||
/* This is how to output a definition of an internal numbered label where
|
||||
PREFIX is the class of label and NUM is the number within the class. */
|
||||
#undef ASM_OUTPUT_INTERNAL_LABEL
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) \
|
||||
do { \
|
||||
arc_ccfsm_at_label (PREFIX, NUM); \
|
||||
fprintf (FILE, ".%s%d:\n", PREFIX, NUM); \
|
||||
} while (0)
|
||||
|
||||
/* Store in OUTPUT a string (made with alloca) containing
|
||||
an assembler-name for a local static variable named NAME.
|
||||
LABELNO is an integer which is different for each call. */
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
|
||||
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
|
||||
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)))
|
||||
|
||||
/* Assembler pseudo-op to equate one value with another. */
|
||||
/* ??? This is needed because dwarfout.c provides a default definition too
|
||||
late for defaults.h (which contains the default definition of ASM_OUTPUT_DEF
|
||||
|
|
|
@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */
|
|||
#define LINK_LIBGCC_SPECIAL 1
|
||||
|
||||
#define LINK_SPEC "%{aof} %{bin} %{aif} %{ihf} %{shl,*} %{reent*} %{split} \
|
||||
%{ov*,*} %{reloc*} -nodebug"
|
||||
%{ov*} %{reloc*} -nodebug"
|
||||
|
||||
#define STARTFILE_SPEC "crtbegin.o%s"
|
||||
|
||||
|
@ -267,10 +267,6 @@ do { \
|
|||
#define ASM_GENERATE_INTERNAL_LABEL(STRING,PREFIX,NUM) \
|
||||
sprintf ((STRING), "*|%s..%ld|", (PREFIX), (long)(NUM))
|
||||
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTVAR,NAME,NUMBER) \
|
||||
((OUTVAR) = (char *) alloca (strlen ((NAME)) + 10), \
|
||||
sprintf ((OUTVAR), "%s.%d", (NAME), (NUMBER)))
|
||||
|
||||
/* How initialization functions are handled */
|
||||
|
||||
#define CTORS_SECTION_ASM_OP "\tAREA\t|C$$gnu_ctorsvec|, DATA, READONLY"
|
||||
|
|
|
@ -127,7 +127,7 @@ Boston, MA 02111-1307, USA. */
|
|||
output_quoted_string (STREAM, NAME); \
|
||||
fprintf (STREAM, ",%d,0,315,%s\n", N_SO, <ext_label_name[1]); \
|
||||
text_section (); \
|
||||
ASM_OUTPUT_INTERNAL_LABEL (STREAM, "Ltext", 0); \
|
||||
(*targetm.asm_out.internal_label) (STREAM, "Ltext", 0); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
@ -151,11 +151,6 @@ Boston, MA 02111-1307, USA. */
|
|||
sprintf (STRING, "*%s%s%u", LOCAL_LABEL_PREFIX, PREFIX, (unsigned int)(NUM))
|
||||
#endif
|
||||
|
||||
/* Construct a private name. */
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTVAR, NAME, NUMBER) \
|
||||
((OUTVAR) = (char *) alloca (strlen (NAME) + 10), \
|
||||
sprintf (OUTVAR, "%s.%d", NAME, NUMBER))
|
||||
|
||||
/* Output an element of a dispatch table. */
|
||||
#define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) \
|
||||
asm_fprintf (STREAM, "\t.word\t%LL%d\n", VALUE)
|
||||
|
|
|
@ -42,7 +42,6 @@ extern unsigned int arm_compute_initial_elimination_offset PARAMS ((unsigned in
|
|||
#ifdef TREE_CODE
|
||||
extern int arm_return_in_memory PARAMS ((tree));
|
||||
extern void arm_encode_call_attribute PARAMS ((tree, int));
|
||||
extern int arm_function_ok_for_sibcall PARAMS ((tree));
|
||||
#endif
|
||||
#ifdef RTX_CODE
|
||||
extern int arm_hard_regno_mode_ok PARAMS ((unsigned int,
|
||||
|
|
|
@ -24,6 +24,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
#include "obstack.h"
|
||||
|
@ -117,6 +119,7 @@ static void arm_set_default_type_attributes PARAMS ((tree));
|
|||
static int arm_adjust_cost PARAMS ((rtx, rtx, rtx, int));
|
||||
static int count_insns_for_constant PARAMS ((HOST_WIDE_INT, int));
|
||||
static int arm_get_strip_length PARAMS ((int));
|
||||
static bool arm_function_ok_for_sibcall PARAMS ((tree, tree));
|
||||
#ifdef OBJECT_FORMAT_ELF
|
||||
static void arm_elf_asm_named_section PARAMS ((const char *, unsigned int));
|
||||
#endif
|
||||
|
@ -126,6 +129,7 @@ static void arm_encode_section_info PARAMS ((tree, int));
|
|||
#ifdef AOF_ASSEMBLER
|
||||
static void aof_globalize_label PARAMS ((FILE *, const char *));
|
||||
#endif
|
||||
static void arm_internal_label PARAMS ((FILE *, const char *, unsigned long));
|
||||
static void arm_output_mi_thunk PARAMS ((FILE *, tree,
|
||||
HOST_WIDE_INT,
|
||||
HOST_WIDE_INT, tree));
|
||||
|
@ -191,6 +195,12 @@ static void arm_output_mi_thunk PARAMS ((FILE *, tree,
|
|||
#undef TARGET_STRIP_NAME_ENCODING
|
||||
#define TARGET_STRIP_NAME_ENCODING arm_strip_name_encoding
|
||||
|
||||
#undef TARGET_ASM_INTERNAL_LABEL
|
||||
#define TARGET_ASM_INTERNAL_LABEL arm_internal_label
|
||||
|
||||
#undef TARGET_FUNCTION_OK_FOR_SIBCALL
|
||||
#define TARGET_FUNCTION_OK_FOR_SIBCALL arm_function_ok_for_sibcall
|
||||
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
#define TARGET_ASM_OUTPUT_MI_THUNK arm_output_mi_thunk
|
||||
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
|
||||
|
@ -2308,16 +2318,17 @@ arm_is_longcall_p (sym_ref, call_cookie, call_symbol)
|
|||
|
||||
/* Return nonzero if it is ok to make a tail-call to DECL. */
|
||||
|
||||
int
|
||||
arm_function_ok_for_sibcall (decl)
|
||||
static bool
|
||||
arm_function_ok_for_sibcall (decl, exp)
|
||||
tree decl;
|
||||
tree exp ATTRIBUTE_UNUSED;
|
||||
{
|
||||
int call_type = TARGET_LONG_CALLS ? CALL_LONG : CALL_NORMAL;
|
||||
|
||||
/* Never tailcall something for which we have no decl, or if we
|
||||
are in Thumb mode. */
|
||||
if (decl == NULL || TARGET_THUMB)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Get the calling method. */
|
||||
if (lookup_attribute ("short_call", TYPE_ATTRIBUTES (TREE_TYPE (decl))))
|
||||
|
@ -2329,20 +2340,20 @@ arm_function_ok_for_sibcall (decl)
|
|||
a branch instruction. However, if not compiling PIC, we know
|
||||
we can reach the symbol if it is in this compilation unit. */
|
||||
if (call_type == CALL_LONG && (flag_pic || !TREE_ASM_WRITTEN (decl)))
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* If we are interworking and the function is not declared static
|
||||
then we can't tail-call it unless we know that it exists in this
|
||||
compilation unit (since it might be a Thumb routine). */
|
||||
if (TARGET_INTERWORK && TREE_PUBLIC (decl) && !TREE_ASM_WRITTEN (decl))
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Never tailcall from an ISR routine - it needs a special exit sequence. */
|
||||
if (IS_INTERRUPT (arm_current_func_type ()))
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Everything else is ok. */
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -8853,7 +8864,7 @@ arm_assemble_integer (x, size, aligned_p)
|
|||
0 -> 2 final_prescan_insn if the `target' is an unconditional branch
|
||||
1 -> 3 ASM_OUTPUT_OPCODE after not having output the conditional branch
|
||||
2 -> 4 ASM_OUTPUT_OPCODE after not having output the conditional branch
|
||||
3 -> 0 ASM_OUTPUT_INTERNAL_LABEL if the `target' label is reached
|
||||
3 -> 0 (*targetm.asm_out.internal_label) if the `target' label is reached
|
||||
(the target label has CODE_LABEL_NUMBER equal to arm_target_label).
|
||||
4 -> 0 final_prescan_insn if the `target' unconditional branch is reached
|
||||
(the target insn is arm_target_insn).
|
||||
|
@ -11353,6 +11364,21 @@ arm_encode_section_info (decl, first)
|
|||
}
|
||||
#endif /* !ARM_PE */
|
||||
|
||||
static void
|
||||
arm_internal_label (stream, prefix, labelno)
|
||||
FILE *stream;
|
||||
const char *prefix;
|
||||
unsigned long labelno;
|
||||
{
|
||||
if (arm_ccfsm_state == 3 && (unsigned) arm_target_label == labelno
|
||||
&& !strcmp (prefix, "L"))
|
||||
{
|
||||
arm_ccfsm_state = 0;
|
||||
arm_target_insn = NULL;
|
||||
}
|
||||
default_internal_label (stream, prefix, labelno);
|
||||
}
|
||||
|
||||
/* Output code to add DELTA to the first argument, and then jump
|
||||
to FUNCTION. Used for C++ multiple inheritance. */
|
||||
|
||||
|
@ -11390,4 +11416,3 @@ arm_output_mi_thunk (file, thunk, delta, vcall_offset, function)
|
|||
fputs ("(PLT)", file);
|
||||
fputc ('\n', file);
|
||||
}
|
||||
|
||||
|
|
|
@ -1517,12 +1517,6 @@ typedef struct
|
|||
arm_va_arg (valist, type)
|
||||
|
||||
|
||||
/* Tail calling. */
|
||||
|
||||
/* A C expression that evaluates to true if it is ok to perform a sibling
|
||||
call to DECL. */
|
||||
#define FUNCTION_OK_FOR_SIBCALL(DECL) arm_function_ok_for_sibcall ((DECL))
|
||||
|
||||
/* Perform any actions needed for a function that is receiving a variable
|
||||
number of arguments. CUM is as above. MODE and TYPE are the mode and type
|
||||
of the current parameter. PRETEND_SIZE is a variable that should be set to
|
||||
|
@ -2486,25 +2480,6 @@ extern int making_const_table;
|
|||
#undef ASM_APP_OFF
|
||||
#define ASM_APP_OFF (TARGET_THUMB ? "\t.code\t16\n" : "")
|
||||
|
||||
/* Output an internal label definition. */
|
||||
#ifndef ASM_OUTPUT_INTERNAL_LABEL
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
|
||||
do \
|
||||
{ \
|
||||
char * s = (char *) alloca (40 + strlen (PREFIX)); \
|
||||
\
|
||||
if (arm_ccfsm_state == 3 && arm_target_label == (NUM) \
|
||||
&& !strcmp (PREFIX, "L")) \
|
||||
{ \
|
||||
arm_ccfsm_state = 0; \
|
||||
arm_target_insn = NULL; \
|
||||
} \
|
||||
ASM_GENERATE_INTERNAL_LABEL (s, (PREFIX), (NUM)); \
|
||||
ASM_OUTPUT_LABEL (STREAM, s); \
|
||||
} \
|
||||
while (0)
|
||||
#endif
|
||||
|
||||
/* Output a push or a pop instruction (only used when profiling). */
|
||||
#define ASM_OUTPUT_REG_PUSH(STREAM, REGNO) \
|
||||
if (TARGET_ARM) \
|
||||
|
@ -2529,7 +2504,7 @@ extern int making_const_table;
|
|||
{ \
|
||||
if (TARGET_THUMB) \
|
||||
ASM_OUTPUT_ALIGN (FILE, 2); \
|
||||
ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); \
|
||||
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
|
|
@ -4206,7 +4206,7 @@
|
|||
(use (label_ref (match_operand 1 "" "")))]
|
||||
"TARGET_THUMB && flag_pic"
|
||||
"*
|
||||
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
|
||||
(*targetm.asm_out.internal_label) (asm_out_file, \"L\",
|
||||
CODE_LABEL_NUMBER (operands[1]));
|
||||
return \"add\\t%0, %|pc\";
|
||||
"
|
||||
|
@ -4219,7 +4219,7 @@
|
|||
(use (label_ref (match_operand 1 "" "")))]
|
||||
"TARGET_ARM && flag_pic"
|
||||
"*
|
||||
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\",
|
||||
(*targetm.asm_out.internal_label) (asm_out_file, \"L\",
|
||||
CODE_LABEL_NUMBER (operands[1]));
|
||||
return \"add%?\\t%0, %|pc, %0\";
|
||||
"
|
||||
|
|
|
@ -128,26 +128,6 @@ Boston, MA 02111-1307, USA. */
|
|||
} \
|
||||
while (0)
|
||||
#endif
|
||||
|
||||
/* Output an internal label definition. */
|
||||
#undef ASM_OUTPUT_INTERNAL_LABEL
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
|
||||
do \
|
||||
{ \
|
||||
char * s = (char *) alloca (40 + strlen (PREFIX)); \
|
||||
extern int arm_target_label, arm_ccfsm_state; \
|
||||
extern rtx arm_target_insn; \
|
||||
\
|
||||
if (arm_ccfsm_state == 3 && arm_target_label == (NUM) \
|
||||
&& !strcmp (PREFIX, "L")) \
|
||||
{ \
|
||||
arm_ccfsm_state = 0; \
|
||||
arm_target_insn = NULL; \
|
||||
} \
|
||||
ASM_GENERATE_INTERNAL_LABEL (s, (PREFIX), (NUM)); \
|
||||
ASM_OUTPUT_LABEL (STREAM, s); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#undef TARGET_ASM_NAMED_SECTION
|
||||
#define TARGET_ASM_NAMED_SECTION arm_elf_asm_named_section
|
||||
|
|
|
@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "output.h"
|
||||
#include "flags.h"
|
||||
|
|
|
@ -20,8 +20,8 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
|
|||
echo '#endif' >> dp-bit.c
|
||||
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
|
||||
|
||||
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) output.h \
|
||||
flags.h $(TREE_H) $(EXPR_H) toplev.h $(TM_P_H)
|
||||
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||
$(RTL_H) output.h flags.h $(TREE_H) expr.h toplev.h $(TM_P_H)
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/arm/pe.c
|
||||
|
||||
MULTILIB_OPTIONS = mhard-float mthumb
|
||||
|
|
|
@ -20,7 +20,8 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
|
|||
echo '#endif' >> dp-bit.c
|
||||
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
|
||||
|
||||
pe.o: $(srcdir)/config/arm/pe.c
|
||||
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
||||
$(RTL_H) output.h flags.h $(TREE_H) expr.h toplev.h $(TM_P_H)
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/arm/pe.c
|
||||
|
||||
MULTILIB_OPTIONS = mhard-float/msoft-float
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
/* Definitions of target machine for GNU compiler,
|
||||
for ARM with targetting the VXWorks run time environment.
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by: Mike Stump <mrs@wrs.com>
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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.
|
||||
|
||||
GNU CC 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 GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm710
|
||||
|
||||
#undef SUBTARGET_CPP_SPEC
|
||||
#define SUBTARGET_CPP_SPEC \
|
||||
"%{march=arm710:-DCPU=ARM710A} \
|
||||
%{march=arm7tdmi:-DCPU=ARM7TDMI} \
|
||||
%{march=arm810:-DCPU=ARM810} \
|
||||
%{march=strongarm110:-DCPU=ARMSA110} \
|
||||
%{!march=*: \
|
||||
%{mcpu=arm710:-DCPU=ARM710A} \
|
||||
%{mcpu=arm7tdmi:-DCPU=ARM7TDMI} \
|
||||
%{mcpu=arm810:-DCPU=ARM810} \
|
||||
%{mcpu=strongarm110:-DCPU=ARMSA110}} \
|
||||
%{!mcpu*:%{!march=*:-DCPU=ARM710A}} \
|
||||
"
|
||||
|
||||
#define TARGET_OS_CPP_BUILTINS() \
|
||||
do { \
|
||||
builtin_define ("__vxworks"); \
|
||||
} while (0)
|
||||
|
||||
/* VxWorks does all the library stuff itself. */
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC ""
|
||||
|
||||
/* VxWorks uses object files, not loadable images. make linker just
|
||||
combine objects. */
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "-r"
|
||||
|
||||
/* VxWorks provides the functionality of crt0.o and friends itself. */
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC ""
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC ""
|
||||
|
||||
#undef TARGET_VERSION
|
||||
#define TARGET_VERSION fputs (" (ARM/VxWorks)", stderr);
|
||||
|
||||
#undef ASM_FILE_START
|
||||
#define ASM_FILE_START(STREAM) \
|
||||
do \
|
||||
{ \
|
||||
fprintf (STREAM, "%s Generated by gcc %s for ARM/VxWorks\n", \
|
||||
ASM_COMMENT_START, version_string); \
|
||||
} \
|
||||
while (0)
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "regs.h"
|
||||
#include "hard-reg-set.h"
|
||||
|
|
|
@ -1307,8 +1307,6 @@ extern int avr_reg_order[];
|
|||
addressing. */
|
||||
|
||||
#define HAVE_PRE_DECREMENT 1
|
||||
/* #define HAVE_PRE_INCREMENT
|
||||
#define HAVE_POST_DECREMENT */
|
||||
/* Similar for other kinds of addressing. */
|
||||
|
||||
#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X)
|
||||
|
@ -2103,32 +2101,13 @@ do { \
|
|||
setting the `DECL_ONE_ONLY' flag is enough to mark a declaration to
|
||||
be emitted as one-only. */
|
||||
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(STREAM, PREFIX, NUM) \
|
||||
fprintf(STREAM, ".%s%d:\n", PREFIX, NUM)
|
||||
/* A C statement to output to the stdio stream STREAM a label whose
|
||||
name is made from the string PREFIX and the number NUM.
|
||||
|
||||
It is absolutely essential that these labels be distinct from the
|
||||
labels used for user-level functions and variables. Otherwise,
|
||||
certain programs will have name conflicts with internal labels.
|
||||
|
||||
It is desirable to exclude internal labels from the symbol table
|
||||
of the object file. Most assemblers have a naming convention for
|
||||
labels that should be excluded; on many systems, the letter `L' at
|
||||
the beginning of a label has this effect. You should find out what
|
||||
convention your system uses, and follow it.
|
||||
|
||||
The usual definition of this macro is as follows:
|
||||
|
||||
fprintf (STREAM, "L%s%d:\n", PREFIX, NUM) */
|
||||
|
||||
#define ASM_GENERATE_INTERNAL_LABEL(STRING, PREFIX, NUM) \
|
||||
sprintf (STRING, "*.%s%d", PREFIX, NUM)
|
||||
/* A C statement to store into the string STRING a label whose name
|
||||
is made from the string PREFIX and the number NUM.
|
||||
|
||||
This string, when output subsequently by `assemble_name', should
|
||||
produce the output that `ASM_OUTPUT_INTERNAL_LABEL' would produce
|
||||
produce the output that `(*targetm.asm_out.internal_label)' would produce
|
||||
with the same PREFIX and NUM.
|
||||
|
||||
If the string begins with `*', then `assemble_name' will output
|
||||
|
@ -2139,27 +2118,6 @@ sprintf (STRING, "*.%s%d", PREFIX, NUM)
|
|||
`ASM_OUTPUT_LABELREF' is also part of your machine description, so
|
||||
you should know what it does on your machine.) */
|
||||
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
|
||||
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
|
||||
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)))
|
||||
|
||||
/* A C expression to assign to OUTVAR (which is a variable of type
|
||||
`char *') a newly allocated string made from the string NAME and
|
||||
the number NUMBER, with some suitable punctuation added. Use
|
||||
`alloca' to get space for the string.
|
||||
|
||||
The string will be used as an argument to `ASM_OUTPUT_LABELREF' to
|
||||
produce an assembler label for an internal static variable whose
|
||||
name is NAME. Therefore, the string must be such as to result in
|
||||
valid assembler code. The argument NUMBER is different each time
|
||||
this macro is executed; it prevents conflicts between
|
||||
similarly-named internal static variables in different scopes.
|
||||
|
||||
Ideally this string should not be a valid C identifier, to prevent
|
||||
any conflict with the user's own symbols. Most assemblers allow
|
||||
periods or percent signs in assembler symbols; putting at least
|
||||
one of these between the name and the number will suffice. */
|
||||
|
||||
/* `ASM_OUTPUT_WEAK_ALIAS (STREAM, NAME, VALUE)'
|
||||
A C statement to output to the stdio stream STREAM assembler code
|
||||
which defines (equates) the weak symbol NAME to have the value
|
||||
|
@ -2304,18 +2262,18 @@ sprintf (STRING, "*.%s%d", PREFIX, NUM)
|
|||
The definition should be a C statement to output to the stdio
|
||||
stream STREAM an assembler pseudo-instruction to generate a
|
||||
reference to a label. VALUE is the number of an internal label
|
||||
whose definition is output using `ASM_OUTPUT_INTERNAL_LABEL'. For
|
||||
whose definition is output using `(*targetm.asm_out.internal_label)'. For
|
||||
example,
|
||||
|
||||
fprintf (STREAM, "\t.word L%d\n", VALUE) */
|
||||
|
||||
#define ASM_OUTPUT_CASE_LABEL(STREAM, PREFIX, NUM, TABLE) \
|
||||
progmem_section (), ASM_OUTPUT_INTERNAL_LABEL (STREAM, PREFIX, NUM)
|
||||
progmem_section (), (*targetm.asm_out.internal_label) (STREAM, PREFIX, NUM)
|
||||
|
||||
/* `ASM_OUTPUT_CASE_LABEL (STREAM, PREFIX, NUM, TABLE)'
|
||||
Define this if the label before a jump-table needs to be output
|
||||
specially. The first three arguments are the same as for
|
||||
`ASM_OUTPUT_INTERNAL_LABEL'; the fourth argument is the jump-table
|
||||
`(*targetm.asm_out.internal_label)'; the fourth argument is the jump-table
|
||||
which follows (a `jump_insn' containing an `addr_vec' or
|
||||
`addr_diff_vec').
|
||||
|
||||
|
@ -2323,7 +2281,7 @@ sprintf (STRING, "*.%s%d", PREFIX, NUM)
|
|||
the table.
|
||||
|
||||
If this macro is not defined, these labels are output with
|
||||
`ASM_OUTPUT_INTERNAL_LABEL'. */
|
||||
`(*targetm.asm_out.internal_label)'. */
|
||||
|
||||
/* `ASM_OUTPUT_CASE_END (STREAM, NUM, TABLE)'
|
||||
Define this if something special must be output at the end of a
|
||||
|
@ -2530,14 +2488,6 @@ extern int avr_case_values_threshold;
|
|||
pass to `cc1plus'. */
|
||||
|
||||
#define ASM_SPEC "%{mmcu=*:-mmcu=%*}"
|
||||
/* A C string constant that tells the GNU CC driver program options to
|
||||
pass to the assembler. It can also specify how to translate
|
||||
options you give to GNU CC into options for GNU CC to pass to the
|
||||
assembler. See the file `sun3.h' for an example of this.
|
||||
|
||||
Do not define this macro if it does not need to do anything. */
|
||||
|
||||
#define ASM_FINAL_SPEC ""
|
||||
/* A C string constant that tells the GNU CC driver program how to
|
||||
run any programs which cleanup after the normal assembler.
|
||||
Normally, this is not needed. See the file `mips.h' for an
|
||||
|
|
|
@ -24,6 +24,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "tree.h"
|
||||
#include "toplev.h"
|
||||
#include "cpplib.h"
|
||||
|
|
|
@ -25,6 +25,8 @@ Boston, MA 02111-1307, USA. */
|
|||
/* Some output-actions in c4x.md need these. */
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "tree.h"
|
||||
#include "regs.h"
|
||||
|
|
|
@ -1651,17 +1651,11 @@ fini_section () \
|
|||
/* The TI assembler wants to have hex numbers this way. */
|
||||
|
||||
#undef HOST_WIDE_INT_PRINT_HEX
|
||||
#ifndef HOST_WIDE_INT_PRINT_HEX
|
||||
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
|
||||
# define HOST_WIDE_INT_PRINT_HEX "0%xh"
|
||||
# else
|
||||
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
|
||||
# define HOST_WIDE_INT_PRINT_HEX "0%lxh"
|
||||
# else
|
||||
# define HOST_WIDE_INT_PRINT_HEX "0%llxh"
|
||||
# endif
|
||||
# endif
|
||||
#endif /* ! HOST_WIDE_INT_PRINT_HEX */
|
||||
#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
|
||||
# define HOST_WIDE_INT_PRINT_HEX "0%lxh"
|
||||
#else
|
||||
# define HOST_WIDE_INT_PRINT_HEX "0%llxh"
|
||||
#endif
|
||||
|
||||
/* Overall Framework of an Assembler File. */
|
||||
/* We need to have a data section we can identify so that we can set
|
||||
|
@ -1724,12 +1718,6 @@ c4x_file_end (FILE)
|
|||
|
||||
#define USER_LABEL_PREFIX "_"
|
||||
|
||||
/* This is how to output an internal numbered label where
|
||||
PREFIX is the class of label and NUM is the number within the class. */
|
||||
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) \
|
||||
fprintf (FILE, "%s%d:\n", PREFIX, NUM)
|
||||
|
||||
/* This is how to store into the string LABEL
|
||||
the symbol_ref name of an internal numbered label where
|
||||
PREFIX is the class of label and NUM is the number within the class.
|
||||
|
@ -1738,14 +1726,6 @@ c4x_file_end (FILE)
|
|||
#define ASM_GENERATE_INTERNAL_LABEL(BUFFER, PREFIX, NUM) \
|
||||
sprintf (BUFFER, "*%s%d", PREFIX, NUM)
|
||||
|
||||
/* Store in OUTPUT a string (made with alloca) containing
|
||||
an assembler-name for a local static variable named NAME.
|
||||
LABELNO is an integer which is different for each call. */
|
||||
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
|
||||
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
|
||||
sprintf ((OUTPUT), "%s$%d", (NAME), (LABELNO)))
|
||||
|
||||
/* A C statement to output to the stdio stream STREAM assembler code which
|
||||
defines (equates) the symbol NAME to have the value VALUE. */
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ LIB1ASMFUNCS = _divsf3 _divsi3 _udivsi3 _umodsi3 _modsi3 _mulsi3 \
|
|||
|
||||
TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
|
||||
|
||||
c4x-c.o: $(srcdir)/config/c4x/c4x-c.c $(CONFIG_H) $(SYSTEM_H) cpplib.h \
|
||||
$(TREE_H) c-pragma.h toplev.h $(TM_P_H)
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
|
||||
c4x-c.o: $(srcdir)/config/c4x/c4x-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
$(TM_H) $(TREE_H) toplev.h $(CPPLIB_H) c-pragma.h $(TM_P_H)
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/c4x/c4x-c.c
|
||||
|
||||
MULTILIB_OPTIONS = m30 msmall mmemparm
|
||||
MULTILIB_DIRNAMES = c3x small mem
|
||||
|
|
|
@ -21,6 +21,8 @@ Boston, MA 02111-1307, USA. */
|
|||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "tm.h"
|
||||
#include "rtl.h"
|
||||
#include "regs.h"
|
||||
#include "hard-reg-set.h"
|
||||
|
|
|
@ -122,7 +122,7 @@ extern const char *cris_elinux_stacksize_str;
|
|||
someone will fight for us. This year in the mountains.
|
||||
Note that for -melinux and -mlinux, command-line -isystem options are
|
||||
emitted both before and after the synthesized one. We can't remove all
|
||||
of them: a %{<isystem} will only remove the first one and %{<isystem*}
|
||||
of them: a %<isystem will only remove the first one and %<isystem*
|
||||
will not do TRT. Those extra occurrences are harmless anyway. */
|
||||
#define CPP_SPEC \
|
||||
"-$ -D__CRIS_ABI_version=2\
|
||||
|
@ -1580,28 +1580,11 @@ call_ ## FUNC (void) \
|
|||
handle (to #undef or ignore it) in a.out. */
|
||||
#define HAVE_GAS_HIDDEN 1
|
||||
|
||||
#undef ASM_OUTPUT_INTERNAL_LABEL
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) \
|
||||
do \
|
||||
{ \
|
||||
asm_fprintf (FILE, "%L%s%d:\n", PREFIX, NUM); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Remove any previous definition (elfos.h). */
|
||||
#undef ASM_GENERATE_INTERNAL_LABEL
|
||||
#define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) \
|
||||
sprintf (LABEL, "*%s%s%ld", LOCAL_LABEL_PREFIX, PREFIX, (long) NUM)
|
||||
|
||||
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
|
||||
do \
|
||||
{ \
|
||||
(OUTPUT) = (char *) alloca (strlen ((NAME)) + 10); \
|
||||
sprintf ((OUTPUT), "%s.%d", (NAME), (LABELNO)); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
||||
/* Node: Initialization */
|
||||
/* (no definitions) */
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue