2002-07-29 Chris Demetriou <cgd@broadcom.com>
* configure.in (mips*-*-*): Add a test to see if MIPS libgloss
linker scripts use STARTUP directives consistently.
* configure: Regenerate.
* config.in: Regenerate.
* config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
* config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
will be the same.
From-SVN: r55851
* configure.in: Rename config_gtfiles to target_gtfiles.
* configure: Regenerate.
* doc/gty.texi: Update reference.
* config.gcc (powerpc-*-darwin*): Set target_gtfiles
instead of appending to it.
From-SVN: r55801
2002-06-28 Phil Edwards <pme@gcc.gnu.org>
* configure.in (gcc_gxx_include_dir): Change to match versioned
C++ headers if --enable-version-specific-runtime-libs is used.
* configure: Regenerate.
From-SVN: r55088
* configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
* configure, config.in: Regenerate.
* g++spec.c (LIBUNWIND): New.
(lang_specific_driver): Add it if USE_UNWIND_EXCEPTIONS is set.
From-SVN: r54636
* config.gcc: Make the name of the extra-modes file adjustable
by target stanzas.
(s390x, strongarm, xscale stanzas): Use this facility.
* configure.in: Update to match.
* configure: Regenerate.
From-SVN: r54540
* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
exists, substitute its pathname as @extra_modes_file@, define
EXTRA_MODES_FILE to be an appropriate string to #include it
with, and define EXTRA_CC_MODES to 1.
* machmode.def: Update comments. Include EXTRA_MODES_FILE if
it's defined. Get rid of redundancy in calling sequence for
CC; don't use it to define CCmode, to avoid a warning.
* libgcc2.c: Include symcat.h for the sake of machmode.def.
* arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
New files.
* arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
* doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
defining extra CC modes.
From-SVN: r54478
2002-06-07 H.J. Lu (hjl@gnu.org)
* configure.in: Add --enable-__cxa_atexit.
* configure: Regenerated.
* config.in: Likewise.
* defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
not defined.
2002-06-07 H.J. Lu (hjl@gnu.org)
* decl2.c (flag_use_cxa_atexit): Set to DEFAULT_USE_CXA_ATEXIT.
From-SVN: r54345
2002-05-26 Geoffrey Keating <geoffk@redhat.com>
* Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
(mkheaders): New rule.
(install-mkheaders): New rule.
* configure.in (all_outputs): Add mkheaders.
* configure: Regenerate.
* mkheaders.in: New file.
Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.880
diff -p -u -p -r1.880 Makefile.in
--- gcc/Makefile.in 25 May 2002 22:01:40 -0000 1.880
+++ gcc/Makefile.in 27 May 2002 04:14:19 -0000
@@ -434,7 +434,7 @@ FLOAT_H=@float_h_file@
LIBCONVERT =
# Control whether header files are installed.
-INSTALL_HEADERS=install-headers
+INSTALL_HEADERS=install-headers install-mkheaders
# Control whether Info documentation is built and installed.
BUILD_INFO = @BUILD_INFO@
@@ -878,6 +878,9 @@ gccbug: $(srcdir)/gccbug.in
mklibgcc: $(srcdir)/mklibgcc.in
CONFIG_FILES=mklibgcc CONFIG_HEADERS= ./config.status
+mkheaders: $(srcdir)/mkheaders.in
+ CONFIG_FILES=mkheaders CONFIG_HEADERS= ./config.status
+
# cstamp-h.in controls rebuilding of config.in.
# It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't
# delete it. A stamp file is needed as autoheader won't update the file if
@@ -2839,6 +2842,47 @@ install-headers-cpio: stmp-int-hdrs $(ST
# Install the include directory using cp.
install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
cp -p -r include $(libsubdir)
+
+itoolsdir = $(libsubdir)/install-tools
+# Don't install the headers. Instead, install appropriate scripts
+# and supporting files for fixincludes to be run later.
+install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
+ mkheaders xlimits.h
+ -rm -rf $(itoolsdir)
+ $(SHELL) $(srcdir)/mkinstalldirs $(itoolsdir)/include
+ for file in $(USER_H); do \
+ realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+ $(INSTALL_DATA) $$file \
+ $(itoolsdir)/include/$$realfile ; \
+ done
+ if [ x$(FLOAT_H) != xMakefile.in ]; then \
+ $(INSTALL_DATA) $(srcdir)/config/$(FLOAT_H) \
+ $(itoolsdir)/include/float.h ; \
+ else :; fi
+ $(INSTALL_DATA) xlimits.h $(itoolsdir)/include/limits.h
+ if [ x$(STMP_FIXINC) != x ] ; then \
+ $(INSTALL_DATA) $(srcdir)/README-fixinc \
+ $(itoolsdir)/include/README ; \
+ $(INSTALL_PROGRAM) fixinc.sh $(itoolsdir)/fixinc.sh ; \
+ $(INSTALL_PROGRAM) fixinc/fixincl $(itoolsdir)/fixincl ; \
+ $(INSTALL_DATA) $(srcdir)/gsyslimits.h $(itoolsdir)/gsyslimits.h ; \
+ else :; fi
+ if [ x$(STMP_FIXPROTO) != x ] ; then \
+ $(INSTALL_PROGRAM) $(srcdir)/mkinstalldirs \
+ $(itoolsdir)/mkinstalldirs ; \
+ $(INSTALL_PROGRAM) $(srcdir)/fixproto $(itoolsdir)/fixproto ; \
+ $(INSTALL_PROGRAM) fix-header$(build_exeext) \
+ $(itoolsdir)/fix-header$(build_exeext) ; \
+ else :; fi
+ $(INSTALL_PROGRAM) mkheaders $(itoolsdir)/mkheaders
+ echo 'SYSTEM_HEADER_DIR="$(SYSTEM_HEADER_DIR)"' \
+ > $(itoolsdir)/mkheaders.conf
+ echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
+ >> $(itoolsdir)/mkheaders.conf
+ echo 'FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"' \
+ >> $(itoolsdir)/mkheaders.conf
+ echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' >> $(itoolsdir)/mkheaders.conf
+ echo 'STMP_FIXINC="$(STMP_FIXINC)"' >> $(itoolsdir)/mkheaders.conf
# Use this target to install the program `collect2' under the name `collect2'.
install-collect2: collect2 installdirs
Index: gcc/configure
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure,v
retrieving revision 1.606
diff -p -u -p -r1.606 configure
--- gcc/configure 25 May 2002 19:51:40 -0000 1.606
+++ gcc/configure 27 May 2002 04:14:21 -0000
@@ -8065,7 +8065,7 @@ all_languages=
all_boot_languages=
all_compilers=
all_stagestuff=
-all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc'
+all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc mkheaders'
# List of language makefile fragments.
all_lang_makefiles=
Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.593
diff -p -u -p -r1.593 configure.in
--- gcc/configure.in 25 May 2002 19:51:41 -0000 1.593
+++ gcc/configure.in 27 May 2002 04:14:21 -0000
@@ -2312,7 +2312,7 @@ all_languages=
all_boot_languages=
all_compilers=
all_stagestuff=
-all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc'
+all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc mkheaders'
# List of language makefile fragments.
all_lang_makefiles=
Index: gcc/mkheaders.in
===================================================================
RCS file: gcc/mkheaders.in
diff -N gcc/mkheaders.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gcc/mkheaders.in 27 May 2002 04:14:21 -0000
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Copyright (C) 2002 Free Software Foundation, Inc.
+
+#This file is part of GCC.
+
+#GCC is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+
+#GCC is distributed in the hope that it will be useful, but WITHOUT
+#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+#for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with GCC; see the file COPYING. If not, write to the Free
+#Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+#02111-1307, USA.
+
+# Basic information
+target=@target@
+target_alias=@target_alias@
+version=@gcc_version@
+
+VERBOSE=0
+while [ x$1 = x-v ] ; do
+ shift
+ VERBOSE=`expr $VERBOSE + 1`
+done
+export VERBOSE
+
+if [ x$1 = x--help ] ; then
+ echo "Usage: mkheaders [options] [prefix]"
+ echo "Options:"
+ echo " -v Print more output (may be repeated for even more output)"
+ echo " --help This help"
+ echo " --version Print version information"
+ exit 0
+fi
+
+if [ x$1 = x--version ] ; then
+ echo "mkheaders (GCC) version $version"
+ echo "Copyright 2002 Free Software Foundation, Inc."
+ echo "This program is free software; you may redistribute it under the"
+ echo "terms of the GNU General Public License. This program has"
+ echo "absolutely no warranty."
+ exit 0
+fi
+
+# Common prefix for installation directories.
+if [ x$1 != x ] ; then
+ prefix=$1
+else
+ prefix=@prefix@
+fi
+# Directory in which to put localized header files. On the systems with
+# gcc as the native cc, `local_prefix' may not be `prefix' which is
+# `/usr'.
+# NOTE: local_prefix *should not* default from prefix.
+local_prefix=@local_prefix@
+# Directory in which to put host dependent programs and libraries
+exec_prefix=@exec_prefix@
+# Directory in which to put the directories used by the compiler.
+libdir=@libdir@
+# Directory in which the compiler finds executables, libraries, etc.
+libsubdir=${libdir}/gcc-lib/${target_alias}/${version}
+# Since gcc_tooldir does not exist at build-time, use -B${build_tooldir}/bin/
+build_tooldir=${exec_prefix}/${target_alias}
+# Directory to search for site-specific includes.
+local_includedir=${local_prefix}/include
+includedir=${prefix}/include
+
+itoolsdir=${libsubdir}/install-tools
+incdir=${libsubdir}/include
+
+. ${itoolsdir}/mkheaders.conf
+
+cd ${itoolsdir}
+rm -rf ${incdir}/*
+
+if [ x${STMP_FIXINC} != x ] ; then
+ TARGET_MACHINE="${target}" target_canonical="${target}" \
+ ${SHELL} ./fixinc.sh ${incdir} \
+ ${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
+ rm -f ${incdir}/syslimits.h
+ if [ -f ${incdir}/limits.h ]; then
+ mv ${incdir}/limits.h ${incdir}/syslimits.h
+ else
+ cp gsyslimits.h ${incdir}/syslimits.h
+ fi
+fi
+
+cp include/* ${incdir}
+
+if [ x${STMP_FIXPROTO} != x ] ; then
+ mkinstalldirs="${SHELL} ${itoolsdir}/mkinstalldirs"
+ export FIXPROTO_DEFINES mkinstalldirs
+ ${SHELL} fixproto ${incdir} ${incdir} ${SYSTEM_HEADER_DIR} || exit 1
+fi
From-SVN: r53907
* pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
(DWARF_FRAME_RETURN_COLUMN): Move.
(ASM_PREFERRED_EH_DATA_FORMAT): Define.
(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
* pa.c (except.h, predict.h): Include.
(FRP): Delete.
(store_reg_modify, set_reg_plus_d): Revise prototypes.
(output_ascii): Add cast.
(store_reg_modify): Revise to add frame notes.
(set_reg_plus_d): Likewise.
(compute_frame_size): Include space for eh data registers in frame if
the current function calls eh_return.
(hppa_expand_prologue): Ensure register %r2 is saved if the current
function calls eh_return. Save eh data registers if the current
function calls eh_return. Fix code to add frame notes. Emit
blockage to prevent insns with frame notes being scheduled in the
delay slot of calls.
(hppa_expand_epilogue): Restore eh data registers and do final stack
adjustment if the current function calls eh_return. Don't add frame
notes.
(output_call): Revise for change in length of call insn. Don't do
return pointer adjustment for an unconditional jump in the delay slot
of a call when using frame notes.
* pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
(EH_RETURN_HANDLER_RTX): Use saved value on stack.
(ARG_POINTER_CFA_OFFSET): Define.
* pa.md (return_external_pic): New pattern.
(prologue): Correct formatting. Use return_external_pic if current
function calls eh_return.
(call_internal_symref, call_value_internal_symref,
sibcall_internal_symref, sibcall_value_internal_symref): Change default
lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
respectively.
(exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
* configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
list of targets to check using "nop" insn.
* configure: Rebuilt.
From-SVN: r51836
* configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
works properly with .hidden symbols.
* configure: Rebuilt.
* config.in: Rebuilt.
* config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
properly with .hidden symbols.
From-SVN: r51816
* configure.in (gcc_cv_as): Use $target_alias in directory searchs
rather than $target. Heed program_prefix and
program_transform_name. Search for gas in cross-compiler case too.
"test -x" rather than "test -f".
(gcc_cv_ld): Likewise.
(gcc_cv_nm): Heed program_prefix and program_transform_name.
(gcc_cv_objdump): Likewise.
* configure: Regenerate.
From-SVN: r51489
* configure.in: Set stage1_cflags for powerpc-*-darwin*.
* configure: Regenerate.
* config/interix.h: Set DO_GLOBAL_CTORS_BODY and
DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
* config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
alpha/xm-vms.h.
* config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
LIMITS_H_TEST here, not in m68k/x-next.
* config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
* config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
* config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
* config/i386/x-djgpp: Renamed i386/t-djgpp.
* config/m88k/x-dolph: Renamed m88k/t-dolph.
* config/m88k/x-texXD88: Renamed m88k/t-texXD88.
* config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
replacement of quadlib.asm with quadlib.c.
* config/x-interix3, config/xm-interix.h, config/i386/x-beos,
config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
config/rs6000/xm-beos.h: Delete file.
* config.gcc: Update to match above changes.
From-SVN: r48757
* configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
${srcdir}/ginclude/ to every entry in extra_headers.
* configure: Regenerate.
* ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
* ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
* ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
* ginclude/proto.h: Rename to config/convex/proto.h.
From-SVN: r48454
* aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
subshells.
* configure.in: Likewise for perl Pod::Man.
* configure: Regenerated.
From-SVN: r48230
* configure.in: Check for ld.
(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
* configure, config.in: Rebuilt.
* config.gcc: Add crtbeginT.o to extra_parts where needed.
* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
frame unwinding on Linux.
* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
frame unwinding.
* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
iterate further if pc falls into current library, but fde was not
found.
* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
if using glibc.
(LINK_EH_SPEC): Define.
* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
Use crtbeginT.o for -static.
(LINK_EH_SPEC): Define.
* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
* Makefile.in (crtbeginT.o): Add rule.
* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
If neither -static-libgcc nor -shared-libgcc is passed and -shared,
use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
If none of the above switches are passed, use -lgcc -lgcc_eh.
(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
creating libgcc_s.so, put them into separate libgcc_eh.a instead.
* unwind-dw2-fde.c: Don't include any headers if this file
is included from other .c file.
* unwind-dw2-fde-glibc.c: New file.
* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
Use it instead of EH_FRAME_SECTION_NAME where appropriate.
From-SVN: r48039