Commit Graph

648 Commits

Author SHA1 Message Date
Yufeng Zhang
922c57d1ba sync-cache.c (__aarch64_sync_cache_range): Cast the results of (dcache_lsize - 1) and (icache_lsize - 1) to the type...
2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Cast the
	results of (dcache_lsize - 1) and (icache_lsize - 1) to the type
	__UINTPTR_TYPE__; also cast 'base' to the same type before the
	alignment operation.

From-SVN: r195266
2013-01-17 14:27:36 +00:00
Sofiane Naci
e0f8b6a0a0 [AARCH64] Fix __clear_cache.
From-SVN: r195203
2013-01-15 15:49:13 +00:00
Ian Lance Taylor
4bd18faef2 Reverted last patch.
From-SVN: r195174
2013-01-14 19:38:07 +00:00
Ian Lance Taylor
2bc153600f generic-morestack-thread.c: Change declaration of __real_pthread_create to not be weak.
* generic-morestack-thread.c: Change declaration of
	__real_pthread_create to not be weak.

From-SVN: r195172
2013-01-14 19:33:02 +00:00
Georg-Johann Lay
0089227267 * Fix typos. Remove trailing blanks. Fix coding style.
From-SVN: r195151
2013-01-14 15:08:45 +00:00
Georg-Johann Lay
e59ec5fdb2 avr-lib.h: Add GPL copyright notice.
* config/avr/avr-lib.h: Add GPL copyright notice.

From-SVN: r195145
2013-01-14 14:01:32 +00:00
Georg-Johann Lay
3ffc195810 fixed-bit.c (SATFRACT): Only declare / set min_low, min_high if TO_MODE_UNSIGNED == 0.
* fixed-bit.c (SATFRACT) <FROM_TYPE=1, TO_TYPE=4>: Only
	declare / set min_low, min_high if TO_MODE_UNSIGNED == 0.
	(SATFRACT) <FROM_TYPE=TO_TYPE=4>: Only declare / set min_low,
	min_high if FROM_MODE_UNSIGNED == 0 and TO_MODE_UNSIGNED == 0.

From-SVN: r195141
2013-01-14 10:19:00 +00:00
Mark Kettenis
25c210f9bd config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*): Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets.
libgcc/

	* config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*):
	Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets.

gcc/

	* config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
	TF_SIZE): Define.

From-SVN: r194999
2013-01-07 22:49:56 +00:00
Nick Clifton
db59befb09 lib1funcs.S: Only provide CALLT support functions if the CALLT instruction is supported.
* config/v850/lib1funcs.S: Only provide CALLT support functions if
	the CALLT instruction is supported.

From-SVN: r194898
2013-01-04 10:21:55 +00:00
Jonathan Wakely
5aa12dbf6c gthr.h (__gthread_cond_timedwait_recursive): Do not require.
* gthr.h (__gthread_cond_timedwait_recursive): Do not require.
	* gthr-posix.h (__gthread_cond_timedwait_recursive): Remove.

From-SVN: r194652
2012-12-20 22:19:57 +00:00
John Tytgat
65f141179f fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexp is 25.
* config/arm/fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexp
	is 25.

From-SVN: r194474
2012-12-13 12:05:30 +00:00
Jakub Jelinek
ee3ae4f768 re PR libgcc/55451 (FAIL: gcc.dg/fixed-point/unary.c)
PR libgcc/55451
	* fixed-bit.c (FIXED_SSADD, FIXED_SSSUB, FIXED_SSNEG): Avoid
	undefined signed overflows.

From-SVN: r194439
2012-12-12 10:38:56 +01:00
Uros Bizjak
2fcfba3d65 re PR target/55344 (Cross compiling for alpha-linux fails because <signal.h> doesn't exist)
PR target/55344
	* config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.

From-SVN: r194334
2012-12-09 19:15:59 +01:00
Uros Bizjak
4f2b3dc2b4 sfp-machine.h (FP_EX_ALL): Define.
* config/i386/sfp-machine.h (FP_EX_ALL): Define.
	(FP_TRAPPING_EXCEPTIONS): Define.
	* config/i386/32/sfp-machine.h (FP_EX_SHIFT): Define.
	* config/i386/64/sfp-machine.h (FP_EX_SHIFT): Ditto.

From-SVN: r194243
2012-12-06 10:49:43 +01:00
Richard Henderson
066161a2aa re PR bootstrap/55571 (PR48076 fix broke bootstrap on armv5tel-linux-gnueabi)
PR bootstrap/55571

        * Makefile.in (libgcc_s.so): Depend on and link with libgcc.a.

From-SVN: r194159
2012-12-04 11:08:18 -08:00
Marcus Shawcroft
2562618148 AArch64: Define FP_TRAPPING_EXCEPTIONS.
2012-12-04  Marcus Shawcroft <marcus.shawcroft@arm.com>

        * config/aarch64/sfp-machine.h (FP_EX_ALL): Define.
	(FP_EX_SHIFT): Define.
	(FP_TRAPPING_EXCEPTIONS): Define.

From-SVN: r194151
2012-12-04 15:51:55 +00:00
Marcus Shawcroft
868395e87f aarch64: Refactor aarch64 sfp-machine.h
2012-12-04  Marcus Shawcroft <marcus.shawcroft@arm.com>

	* config/aarch64/sfp-machine.h (FP_RND_MASK): Define.
	(FP_ROUNDMODE): Use FP_RND_MASK.
	* config/aarch64/sfp-exceptions.c: New.
	* config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS):
	Use __sfp_handle_exceptions.

From-SVN: r194142
2012-12-04 14:16:17 +00:00
Richard Earnshaw
5005fe220a config.host: (arm*-*-freebsd*): Remove.
* config.host: (arm*-*-freebsd*): Remove.
	(arm*-*-linux*, arm*-*-uclinux*): Simplify logic.
	(arm*-*-elf*): Remove.
	(arm*-*-wince-pe*): Remove.
	* arm/unwind-arm.c (struct fpa_reg): Delete.
	(struct fpa_regs): Delete.
	(phase1_vrs): Remove fpa element.
	(_Unwind_VRS_Get): Remove _UVRSC_FPA.
	(_Unwind_VRS_Set, _Unwind_VRS_Pop): Likewise.
	* arm/pr-support.c (__gnu_unwind_execute): Remove FPA support.
	* ieee754-sf.S (floatundisf): Remove FPA support.
	(floatdisf): Likewise.
	* ieee75f-df.S (floatundidf): Likewise.
	(floatdidf): Likewise.

From-SVN: r194138
2012-12-04 13:49:09 +00:00
Kai Tietz
e5a81c8e46 re PR target/55445 (Always defined __SEH__ when build from trunk)
PR target/55445
        * unwind-c.c (__SEH__): Make sure SjLj isn't active.
        * unwind-generic.h: Likewise.
        * unwind-seh.c: Likewise.

From-SVN: r193928
2012-11-29 10:36:41 +01:00
Richard Henderson
f4919e4a82 re PR libgcc/48076 (Unsafe double checked locking in __emutls_get_address)
PR libgcc/48076
        * emutls.c (__emutls_get_address): Avoid race condition between
        obj->loc.offset read and emutls_key initialization.

From-SVN: r193907
2012-11-28 13:01:26 -08:00
Georg-Johann Lay
e13d9d5aeb Adjust decimal point of signed accum mode to GCC default.
libgcc/
	Adjust decimal point of signed accum mode to GCC default.

	PR target/54222
	* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
	_divqq_helper.
	* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
	(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
	(__mulha3, __mulsa3)
	(__divqq3, __divha3, __divsa3): Adjust to new position of
	decimal point of signed accum types. 
	
	(__mulusa3_round): New function.
	(__mulusa3): Use it.
	(__divqq_helper): New function.
	(__udivuqq3): Use it.

gcc/
	Adjust decimal point of signed accum mode to GCC default.

	PR target/54222
	* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
	(TA): Move decimal point one bit to the right.
	* config/avr/avr.c (avr_out_fract): Rewrite.

From-SVN: r193721
2012-11-22 10:00:13 +00:00
Jakub Jelinek
1b845c6e70 re PR bootstrap/55370 (Bad libgcc.map)
PR bootstrap/55370
	* libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it.

From-SVN: r193648
2012-11-20 09:36:31 +01:00
Teresa Johnson
822a258a98 This patch addresses the bogus "Invocation mismatch" messages seen in parallel profiledbootstrap builds of gcc.
This patch addresses the bogus "Invocation mismatch" messages seen in parallel
profiledbootstrap builds of gcc. See PR bootstrap/55051 for a discussion of
why this is occurring and why this checking is inaccurate. Leave it in when
!GCOV_LOCKED, to warn about concurrent update issues requiring locking.

2012-11-18  Teresa Johnson  <tejohnson@google.com>

	PR bootstrap/55051
	* libgcov.c (gcov_exit): Remove merged program summary
	comparison unless !GCOV_LOCKED.

From-SVN: r193612
2012-11-19 05:20:59 +00:00
Marcus Shawcroft
54f4eaf08d soft-fp updated from GLIBC upstream.
From-SVN: r193540
2012-11-15 18:39:47 +00:00
Ian Lance Taylor
e808687a8c generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.
* generic-morestack.c (__generic_morestack): Align the returned
	stack pointer to a 32 byte boundary.
	* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
	increment the return address until we have decided that we don't
	have a varargs function.
	(__morestack) [32-bit]: Align stack correctly when calling C
	functions.
	(__morestack) [64-bit]: Likewise.

From-SVN: r193264
2012-11-06 23:04:28 +00:00
Thomas Schwinge
460277e023 bid_functions.h: Check for __GLIBC__ additionally to LINUX when defining format specifiers.
libgcc/config/libbid/
	* bid_functions.h: Check for __GLIBC__ additionally to LINUX when
	defining format specifiers.

config/
	* dfp.m4 (enable_decimal_float): Enable for i?86*-*-gnu*.

gcc/
	* configure: Regenerate.

libdecnumber/
	* configure: Regenerate.

libgcc/
	* configure: Regenerate.

From-SVN: r193143
2012-11-05 00:08:42 +01:00
Uros Bizjak
73edb27727 re PR target/55175 (i386/sfp-exceptions.c:52:7: error: impossible constraint in 'asm')
PR target/55175
	* config/i386/sfp-exceptions.c: Guard with _SOFT_FLOAT.
	* config/i386/sfp-machine.h: Guard exception handling
	code with _SOFT_FLOAT.
	* config/i386/32/sfp-machine.h: Guard rounding handling
	code with _SOFT_FLOAT.
	* config/i386/64/sfp-machine.h: Ditto.

From-SVN: r193095
2012-11-02 15:09:02 +01:00
Joel Sherrill
c1d4fa04ce config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o as extra_parts.
2012-10-31  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o
	as extra_parts.

From-SVN: r193010
2012-10-31 03:17:37 +01:00
Uros Bizjak
eff6ca85db crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
* config/i386/crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
	Clear only fxsave.mxcsr_mask.  Use saved mxcsr from fxsave structure
	when appropriate.  Correct structure element types.
	* config/i386/t-crtfm (crtfastmath.o): Compile with -mfxsr, remove
	-minline-all-stringops from compile flags.

From-SVN: r192855
2012-10-26 19:54:50 +02:00
Ralf Corsepius
43a8f1a1c3 config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
2012-10-25  Ralf Corsépius <ralf.corsepius@rtems.org>

	* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

From-SVN: r192805
2012-10-25 14:06:06 +02:00
Ralf Corsepius
76c7836112 config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
2012-10-25  Ralf Corsépius <ralf.corsepius@rtems.org>

	* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

From-SVN: r192799
2012-10-25 10:08:04 +02:00
Sebastian Huber
6f28886030 config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to tmake_file.
2012-10-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to
	tmake_file.

From-SVN: r192795
2012-10-25 05:30:23 +02:00
Marcus Shawcroft
d507e9a340 AArch64 [8/10] Fixup botched commit.
From-SVN: r192733
2012-10-23 17:36:39 +00:00
Ian Bolton
1e3d5096a3 AArch64 [8/10]
2012-10-23  Ian Bolton  <ian.bolton@arm.com>
	    Jim MacArthur  <jim.macarthur@arm.com>
	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
	    Nigel Stephens  <nigel.stephens@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Richard Earnshaw  <rearnsha@arm.com>
	    Sofiane Naci  <sofiane.naci@arm.com>
	    Stephen Thomas  <stephen.thomas@arm.com>
	    Tejas Belagod  <tejas.belagod@arm.com>
	    Yufeng Zhang  <yufeng.zhang@arm.com>

	* config.host (aarch64*-*-elf, aarch64*-*-linux*): New.
	* config/aarch64/crti.S: New file.
	* config/aarch64/crtn.S: New file.
	* config/aarch64/linux-unwind.h: New file.
	* config/aarch64/sfp-machine.h: New file.
	* config/aarch64/sync-cache.c: New file.
	* config/aarch64/t-aarch64: New file.
	* config/aarch64/t-softfp: New file.


Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>

From-SVN: r192729
2012-10-23 17:27:13 +00:00
Hans-Peter Nilsson
8a740f0731 crti.S: Mark program and data addresses using PRELD.
* config/mmix/crti.S: Mark program and data addresses using PRELD.
	Remove typo'd and unnecessary alignment-LOC for .data.  Remove
	no-longer-needed LDBU insns.

From-SVN: r192646
2012-10-21 03:16:47 +00:00
Sebastian Huber
153c839726 config.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm*-*-rtemseabi*" to "arm*-*-rtems*".
2012-10-18  Sebastian Huber <sebastian.huber@embedded-brains.de>

	* config.host
	(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
	"arm*-*-rtemseabi*" to "arm*-*-rtems*".

From-SVN: r192599
2012-10-19 01:17:53 +00:00
Matthew Gretton-Dann
595fefee5d Add basic armv8-a support
2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/arm/lib1funcs.S (__ARM_ARCH__): Define for ARMv8-A.

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * gcc.target/arm/ftest-armv8a-arm.c: New testcase.
        * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
        * gcc.target/arm/ftest-support-arm.h (feature_matrix): Add
        ARMv8-A row.
        * gcc.target/arm/ftest-support-thumb.h (feature_matrix):
        Likewise.
        * gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
        * lib/target-supports.exp: Add ARMv8-A architecture expectation.

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config.gcc: Add support for ARMv8 for arm*-*-* targets.
        * config/arm/arm-arches.def: Add armv8-a
        * config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
        crypto-neon-fp-armv8.  Add crypto field.
        * config/arm/arm-tables.opt: Regenerate.
        * config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
        (arm_arch8): New global variable.
        (ARM_FPU): Add crypto parameter.
        (arm_option_override): Set arm_arch8, update comments.
        * config/arm/arm.h (TARGET_CRYPTO): New macro.
        (arm_fpu_desc): Add crypto field.
        (base_architecture): Add ARMv8 entry.
        (arm_arch8): New variable declaration.
        * config/arm/bpabi.h: ARMv8 supports BE8.
        * doc/invoke.texi: Document ARMv8 options.






Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

From-SVN: r192558
2012-10-18 10:49:23 +00:00
Matthias Klose
9945a87681 config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
gcc/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
        * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.

gcc/testsuite/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * lib/target-supports.exp (check_profiling_available): Match
        arm*-*-linux-* for ARM Linux/GNU.
        * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
        * gfortran.dg/enum_10.f90: Likewise.
        * gfortran.dg/enum_9.f90: Likewise.
        * gcc.target/arm/synchronize.c: Likewise.
        * g++.old-deja/g++.jason/enum6.C: Likewise.
        * g++.old-deja/g++.other/enum4.C: Likewise.
        * g++.old-deja/g++.law/enum9.C: Likewise.

gcc/ada/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
        ARM Linux/GNU.

libgcc/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * config.host: Match arm*-*-linux-* for ARM Linux/GNU.

libstdc++-v3/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
        * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
        * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.

libjava/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
        * configure: Regenerate.

From-SVN: r192475
2012-10-15 21:12:23 +00:00
Pavel Chupin
1183dc2cd8 gthr.m4: New.
* config/gthr.m4: New. Define GCC_AC_THREAD_HEADER.
	    * libgcc/configure: Regenerate.
	    * libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use.
	    * libstdc++-v3/Makefile.in: Regenerate.
	    * libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
	    * libstdc++-v3/configure: Regenerate.
	    * libstdc++-v3/doc/Makefile.in: Regenerate.
	    * libstdc++-v3/include/Makefile.am: Regenerate.
	    * libstdc++-v3/include/Makefile.in: Rename variable.
	    * libstdc++-v3/libsupc++/Makefile.in: Regenerate.
	    * libstdc++-v3/po/Makefile.in: Regenerate.
	    * libstdc++-v3/python/Makefile.in: Regenerate.
	    * libstdc++-v3/src/Makefile.in: Regenerate.
	    * libstdc++-v3/src/c++11/Makefile.in: Regenerate.
	    * libstdc++-v3/src/c++98/Makefile.in: Regenerate.
	    * libstdc++-v3/testsuite/Makefile.in: Regenerate.

From-SVN: r192458
2012-10-15 13:10:30 +00:00
Uros Bizjak
945a9c1f6d sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets only.
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
	instructions for 64bit targets only.

From-SVN: r192355
2012-10-11 13:44:51 +02:00
Uros Bizjak
fb8bf47a34 sfp-machine.h (FP_RND_NEAREST, [...]): Move to ...
* config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
	FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ...
	* config/i386/32/sfp-machine.h: ... here.
	* config/i386/64/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
	FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX):
	New defines.

From-SVN: r192324
2012-10-10 20:35:32 +02:00
Matthias Klose
7c9bc8758e Fix typo in previous commit:
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192182
2012-10-07 11:46:06 +00:00
Matthias Klose
acb72498a7 unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192181
2012-10-07 10:06:30 +00:00
Mark Kettenis
8eaee0f0f1 config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
	* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
	(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
	(ElfW): Likewise.

From-SVN: r192148
2012-10-05 23:35:55 +00:00
Jonathan Wakely
5e3e4fe874 re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
PR other/53889
	* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
	Fix parameter names.

From-SVN: r192114
2012-10-05 08:35:12 +01:00
Oleg Endo
8608637610 re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
PR target/33135
	* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
	* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
	* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.

From-SVN: r192097
2012-10-04 18:32:20 +00:00
Oleg Endo
9597375a25 re PR target/50457 (SH2A atomic functions)
PR target/50457
	* config/sh/sh.c (parse_validate_atomic_model_option): Handle name
	strings in sh_atomic_model.
	* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
	to ...
	* config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
	Add __SH1__ and __SH2__ defines.  Add __SH_ATOMIC_MODEL_*__ define.
	* config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
	variables.
	(sh_cpu_cpp_builtins): Declare new function.

	PR target/50457
	* config/sh/linux-atomic.S: Delete.
	* config/sh/linux-atomic.c: New.
	* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with
	linux-atomic.c.  Add cflags to disable warnings.

From-SVN: r192051
2012-10-03 21:36:14 +00:00
Jonathan Wakely
1504e3e1c4 re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
libgcc:

	PR other/53889
	* gthr.h (__gthread_recursive_mutex_destroy): Document new required
	function.
	* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
	* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.

libstdc++-v3:

	PR other/53889
	* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex_base::_S_destroy): Remove.
	(__recursive_mutex_base::_S_destroy_win32): Likewise.
	* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
	Use __gthread_recursive_mutex_destroy.
	(__recursive_mutex::_S_destroy): Remove.
	(__recursive_mutex::_S_destroy_win32): Likewise.

From-SVN: r192002
2012-10-02 21:22:32 +01:00
Mark Kettenis
17f293b014 config.host (hppa-*-openbsd*): New target.
libgcc/:

        * config.host (hppa-*-openbsd*): New target.
        * config/pa/t-openbsd: New file.

gcc:/

        * config.gcc (hppa*-*-openbsd*): New target.
        * config/pa/pa-openbsd.h: New file.
        * config/pa/pa32-openbsd.h: New file.
        * config/host-openbsd.c: Update copyright year.
        (TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.

From-SVN: r191508
2012-09-20 01:20:34 +00:00
Georg-Johann Lay
51526856a1 re PR target/54222 ([avr] Implement fixed-point support)
gcc/
	PR target/54222
	* config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
	ALL124U): New mode iterators.
	(<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS.
	(<code_stdname><mode>3): New insns for US_PLUS, US_MINUS.
	(usneg<mode>2): New insns.
	(<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS.
	(*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS.
	* config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
	(avr_out_plus64, avr_out_minus64): Use avr_out_plus instead.
	(<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS.
	(<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS.
	(<code_stdname><mode>3_insn): New insns.
	(<code_stdname><mode>3_const_insn): New insns.
	* config/avr/avr.md (cc): Add: plus. Remove: out_plus,
	out_plus_noclobber, minus.
	(length): Add: plus.  Remove: out_plus, out_plus_noclobber,
	plus64, minus, minus64.
	(abelian): New code_attr.
	(code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs,
	us_plus, us_minus, us_neg.
	(*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3):
	Use avr_out_plus to output.
	* config/avr/avr-protos.h (avr_out_plus): Change prototype.
	(avr_out_plus_noclobber, avr_out_minus): Remove.
	(avr_out_plus64, avr_out_minus64): Remove.
	* config/avr/avr.c (avr_out_plus_1): Add new default arguments
	code_sat, sign.  Saturate after operation if code_sat != UNKNOWN.
	(avr_out_plus_symbol): New static function.
	(avr_out_plus): Rewrite.
	(adjust_insn_length): Handle: ADJUST_LEN_PLUS.  Remove handling
	of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS, 
	ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
	(notice_update_cc): Handle: CC_PLUS.  Remove handling of: CC_MINUS,
	CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
	(avr_out_plus_noclobber, avr_out_minus): Remove.
	(avr_out_plus64, avr_out_minus64): Remove.
	(avr_print_operand): Print raw REGNO if 'r' is used with REG.

libgcc/
	PR target/54222
	* config/avr/lib1funcs-fixed.S (__ssneg_2, __ssabs_2, __ssneg_4,
	__ssabs_4, __clr_8, __ssneg_8, __ssabs_8,
	__usadd_8, __ussub_8, __ssadd_8, __sssub_8): New functions.
	(__divsa3): Use __negsi2 to negate r_quoL.
	* config/avr/lib1funcs.S (FALIAS): New macro.
	(__divmodsi4): Break out and use __divmodsi4_neg1 as...
	(__negsi2): ...this new function.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2, _clr_8,
	_ssneg_2, _ssneg_4, _ssneg_8, _ssabs_2, _ssabs_4,
	_ssabs_8, _ssadd_8, _sssub_8, _usadd_8, _ussub_8.
	(LIB2FUNCS_EXCLUDE): Fix typo for _add _sub.
	Add: _ssadd*, _sssub*, _ssneg*, _ssabs* for signed fixed modes.
	Add: _usadd*, _ussub*, _usneg* for unsigned fixed modes.

gcc/testsuite/
	PR target/54222
	* gcc.target/avr/torture/fix-types.h: New.
	* gcc.target/avr/torture/vals-hr.def: New.
	* gcc.target/avr/torture/vals-r.def: New.
	* gcc.target/avr/torture/vals-k.def: New.
	* gcc.target/avr/torture/vals-ur.def: New.
	* gcc.target/avr/torture/vals-uk.def: New.
	* gcc.target/avr/torture/vals-uhr.def: New.
	* gcc.target/avr/torture/vals-llk.def: New.
	* gcc.target/avr/torture/vals-ullk.def: New.
	* gcc.target/avr/torture/sat-hr-plus-minus.c: New.
	* gcc.target/avr/torture/sat-r-plus-minus.c: New.
	* gcc.target/avr/torture/sat-k-plus-minus.c: New.
	* gcc.target/avr/torture/sat-ur-plus-minus.c: New.
	* gcc.target/avr/torture/sat-uk-plus-minus.c: New.
	* gcc.target/avr/torture/sat-uhr-plus-minus.c: New.
	* gcc.target/avr/torture/sat-llk-plus-minus.c: New.
	* gcc.target/avr/torture/sat-ullk-plus-minus.c: New.

From-SVN: r191345
2012-09-15 15:52:28 +00:00
Oleg Endo
aadb5b43ae re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
	dynamic shifts are available.
	(SHIFT_COUNT_TRUNCATED): Always define to 0.  Correct comment.
	* config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
	* config/sh/predicates.md (shift_count_operand): Allow
	arith_reg_operand even if TARGET_DYNSHIFT is false.
	* config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
	if needed.
	(ashlsi3_d_call, lshrsi3_d_call): New insns.

	PR target/54089
	* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
	(lshrsi3): Reimplement as lshrsi3_r0.

	PR target/54089
	* gcc.target/sh/pr54089-3.c: New.

From-SVN: r191161
2012-09-10 20:35:25 +00:00
Andreas Schwab
d5d66749a3 re PR target/46191 (Non-absolute names in libgcc_s.so)
PR target/46191
* config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead
of libgcc.a.

From-SVN: r191160
2012-09-10 20:14:47 +00:00
Teresa Johnson
c6c36e7310 This fixes part of the issue described in PR gcov-profile/54487 where there...
This fixes part of the issue described in PR gcov-profile/54487 where
there were warnings about mismatches due to slight differences in the
merged histograms in different object files. This can happen due to
the truncating integer division in the merge routine, which could result
in slightly different histograms when summaries are merged in different
orders.

2012-09-07  Teresa Johnson  <tejohnson@google.com>

        PR gcov-profile/54487
	* libgcc/libgcov.c (gcov_exit): Avoid warning on histogram
        differences.

From-SVN: r191074
2012-09-07 13:49:47 +00:00
Georg-Johann Lay
b588ae3074 re PR target/54461 ([avr] add configure option for better AVR-Libc integration)
PR target/54461
	* configure.ac (noconfigdirs,target=avr-*-*): Add target-newlib,
	target-libgloss if not configured --with-avrlibc=no.
	* configure: Regenerate.

libgcc/
	PR target/54461
	* config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
	not configured --with-avrlibc=no.
	* config/avr/t-avrlibc: New file.
	* Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE.
	(DPBIT_FUNCS): Ditto.
	(TPBIT_FUNCS): Ditto.

gcc/
	PR target/54461
	* config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
	not configured --with-avrlibc=no.
	(tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
	--with-avrlibc=no.
	* config/avr/avrlibc.h: New file.
	* config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
	not configured --with-avrlibc=no.
	* doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__

From-SVN: r190967
2012-09-05 08:47:50 +00:00
Teresa Johnson
abd16fb112 Adding change log entries for r190952:
Enhances the gcov program summary by adding a histogram of arc counter
entries. This is used to compute working set information in the compiler
for use by optimizations that need information on hot vs cold counter
values or the rough working set size in terms of the number of counters.
Each working set data point is the minimum counter value and number of
counters required to reach a given percentage of the cumulative counter
sum across the profiled execution (sum_all in the program summary).

2012-09-04  Teresa Johnson  <tejohnson@google.com>

	* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
	(gcov_histogram_insert): New function.
	(gcov_compute_histogram): Ditto.
	(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
	histograms during summary merging.
	* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
	entries to function summary along with an occupancy bit vector.
	(gcov_read_summary): Read in the histogram entries.
	(gcov_histo_index): New function.
	(void gcov_histogram_merge): Ditto.
	* gcc/gcov-io.h (gcov_type_unsigned): New type.
	(struct gcov_bucket_type): Ditto.
	(struct gcov_ctr_summary): Include histogram.
	(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
	(GCOV_HISTOGRAM_SIZE): New macro.
	(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
	* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
	(gcov_working_sets): New global variable.
	(compute_working_sets): New function.
	(find_working_set): Ditto.
	(get_exec_counts): Invoke compute_working_sets.
	* gcc/coverage.c (read_counts_file): Merge histograms, and
	fix bug with accessing summary info for non-summable counters.
	* gcc/basic-block.h (gcov_type_unsigned): New type.
	(struct gcov_working_set_info): Ditto.
	(find_working_set): Declare.
	* gcc/gcov-dump.c (tag_summary): Dump out histogram.

From-SVN: r190953
2012-09-04 21:20:30 +00:00
Teresa Johnson
9f71de8404 Enhances the gcov program summary by adding a histogram of arc counter entries.
Enhances the gcov program summary by adding a histogram of arc counter
entries. This is used to compute working set information in the compiler
for use by optimizations that need information on hot vs cold counter
values or the rough working set size in terms of the number of counters.
Each working set data point is the minimum counter value and number of
counters required to reach a given percentage of the cumulative counter
sum across the profiled execution (sum_all in the program summary).

2012-09-04  Teresa Johnson  <tejohnson@google.com>

	* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
	(gcov_histogram_insert): New function.
	(gcov_compute_histogram): Ditto.
	(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
	histograms during summary merging.
	* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
	entries to function summary along with an occupancy bit vector.
	(gcov_read_summary): Read in the histogram entries.
	(gcov_histo_index): New function.
	(void gcov_histogram_merge): Ditto.
	* gcc/gcov-io.h (gcov_type_unsigned): New type.
	(struct gcov_bucket_type): Ditto.
	(struct gcov_ctr_summary): Include histogram.
	(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
	(GCOV_HISTOGRAM_SIZE): New macro.
	(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
	* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
	(gcov_working_sets): New global variable.
	(compute_working_sets): New function.
	(find_working_set): Ditto.
	(get_exec_counts): Invoke compute_working_sets.
	* gcc/coverage.c (read_counts_file): Merge histograms, and
	fix bug with accessing summary info for non-summable counters.
	* gcc/basic-block.h (gcov_type_unsigned): New type.
	(struct gcov_working_set_info): Ditto.
	(find_working_set): Declare.
	* gcc/gcov-dump.c (tag_summary): Dump out histogram.

From-SVN: r190952
2012-09-04 21:16:18 +00:00
Mark Kettenis
613061fdd0 config.host (x86_64-*-openbsd*): New target.
libgcc/

	* config.host (x86_64-*-openbsd*): New target.

gcc/

	* config.gcc (x86_64-*-openbsd*): New target.
	* config.host (*-*-openbsd*): New target.
	* config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
	* config/i386/openbsdelf.h: Remove some superfluous defines and
	group things together in a more logical fashion.
	(DBX_REGISTER_NUMBER): Provide a
	definition that works on both 32-bit and 64-bit targets.
	(WCHAR_TYPE_SIZE): Hardcode as 32.
	(NO_DOLLAR_IN_LABEL): Remove undef.
	(TARGET_DEFAULT): Remove.
	(SET_ASM_OP): Remove.
	(DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
	(ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
	(DWARF2_UNWIND_INFO): Remove define.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/host-openbsd.c: New file.
	* config/t-openbsd (USER_H): Add EXTRA_HEADERS.
	* config/x-openbsd: New file.

From-SVN: r190863
2012-09-02 14:13:21 +00:00
Chung-Lin Tang
867a834534 crtfastmath.c (set_fast_math): Add 'nomips16' attribute.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	libgcc/
	* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
	attribute.

From-SVN: r190773
2012-08-29 09:31:52 +00:00
Georg-Johann Lay
4aeaaca35f re PR target/54222 ([avr] Implement fixed-point support)
PR target/54222
	* config/avr/t-avr (conv_X): Rename to func_X.

From-SVN: r190646
2012-08-24 13:01:54 +00:00
Georg-Johann Lay
e55e405619 re PR target/54222 ([avr] Implement fixed-point support)
libgcc/
	PR target/54222
	* config/avr/lib1funcs-fixed.S: New file.
	* config/avr/lib1funcs.S: Include it.  Undefine some divmodsi
	after they are used.
	(neg2, neg4): New macros.
	(__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants.
	(__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants.
	(__umulhisi3): Speed up MUL variant if there is enough flash.
	* config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's
	avr-modes.def.
	* config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf,
	_fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf,
	_fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq,
	_fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3,
	_mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3,
	_udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3.
	(LIB2FUNCS_EXCLUDE): Add supported functions.

gcc/
	PR target/54222
	* avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
	* avr/avr-fixed.md: New file.
	* avr/avr.md: Include it.
	(cc): Add: minus.
	(adjust_len): Add: minus, minus64, ufract, sfract.
	(ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
	(MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
	(MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
	(pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
	subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi, 
	cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
	(*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
	ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
	*lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
	16-bit modes in ALL2.
	(subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
	(*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
	ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
	*reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
	32-bit modes in ALL4.
	* avr-dimode.md (ALL8): New mode iterator.
	(adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
	subdi3_const_insn, cbranchdi4, compare_di2,
	compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
	ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
	all 64-bit modes in ALL8.
	* config/avr/avr-protos.h (avr_to_int_mode): New prototype.
	(avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
	* config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
	(avr_fixed_point_supported_p): ...this new static function.
	(TARGET_BUILD_BUILTIN_VA_LIST): Define to...
	(avr_build_builtin_va_list): ...this new static function.
	(avr_adjust_type_node): New static function.
	(avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
	(avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
	pseudo instead of gen_rtx_MINUS.
	(avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
	(notice_update_cc): Handle: CC_MINUS.
	(output_movqi): Generalize to handle respective fixed-point modes.
	(output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
	(avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
	(avr_assemble_integer): Ditto.
	(output_reload_in_const, output_reload_insisf): Ditto.
	(avr_compare_pattern): Skip all modes > 4 bytes.
	(avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
	(avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
	(avr_to_int_mode): New function.
	(adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
	ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
	* config/avr/predicates.md (const0_operand): Allow const_fixed.
	(const_operand, const_or_immediate_operand): New.
	(nonmemory_or_const_operand): New.
	* config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
	New constraints.
	* config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.

From-SVN: r190644
2012-08-24 12:42:48 +00:00
Georg-Johann Lay
a147b6d28f Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out LIB2FUNCS_EXCLUDE before adding them to libgcc-objects, libgcc-s-objects.
* Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out
	LIB2FUNCS_EXCLUDE before adding them to libgcc-objects,
	libgcc-s-objects.
	* fixed-obj.mk: Only expand dependency if $o is not in
	LIB2FUNCS_EXCLUDE.

From-SVN: r190624
2012-08-23 15:41:03 +00:00
H.J. Lu
c637141af0 Add -mlong-double-64/-mlong-double-80 to i386
gcc/

	* doc/invoke.texi: Document -mlong-double-64/-mlong-double-80.

	* config/i386/i386.c (flag_opts): Add -mlong-double-64.
	(TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic.

	* config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
	TARGET_LONG_DOUBLE_64 is true.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro.
	(WIDEST_HARDWARE_FP_SIZE): Defined to 80.

	* config/i386/i386.opt (mlong-double-80): New option.
	(mlong-double-64): Likewise.

	* config/i386/i386-c.c (ix86_target_macros): Define
	__LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64.

gcc/testsuite/

	* gcc.target/i386/long-double-64-1.c: New file.
	* gcc.target/i386/long-double-64-2.c: Likewise.
	* gcc.target/i386/long-double-64-3.c: Likewise.
	* gcc.target/i386/long-double-64-4.c: Likewise.
	* gcc.target/i386/long-double-80-1.c: Likewise.
	* gcc.target/i386/long-double-80-2.c: Likewise.
	* gcc.target/i386/long-double-80-3.c: Likewise.
	* gcc.target/i386/long-double-80-4.c: Likewise.
	* gcc.target/i386/long-double-80-5.c: Likewise.
	* gcc.target/i386/long-double-80-6.c: Likewise.
	* gcc.target/i386/long-double-80-7.c: Likewise.

libgcc/

	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New.

From-SVN: r190599
2012-08-22 12:46:28 -07:00
Joseph Myers
130e00bd24 Makefile.in (vis_hide, [...]): Do not make definitions depend on --enable-shared.
* Makefile.in (vis_hide, gen-hide-list): Do not make definitions
	depend on --enable-shared.
	($(lib1asmfuncs-o)): Use %.vis files independent of
	--enable-shared.
	* static-object.mk ($(base)$(objext), $(base).vis)
	($(base)_s$(objext)): Use same rules for visibility handling as in
	shared-object.mk.

From-SVN: r190588
2012-08-22 09:36:23 +01:00
Ian Lance Taylor
4b1b378895 morestack.S (__morestack_non_split): Increase amount of space allocated for non-split code stack.
* config/i386/morestack.S (__morestack_non_split): Increase amount
	of space allocated for non-split code stack.

From-SVN: r190574
2012-08-21 20:51:42 +00:00
Joseph Myers
d246814197 crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc even if inhibit_libc.
* crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
	even if inhibit_libc.

From-SVN: r190517
2012-08-19 16:11:40 +01:00
Julian Brown
a508e1a8cb Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to -fexceptions -fnon-call-exceptions if not defined.
libgcc/
    * Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to
    -fexceptions -fnon-call-exceptions if not defined.
    ($(lib2-divmod-o), $(lib2-divmod-s-o)): Use above.
    * config/arm/t-bpabi (LIB2_DIVMOD_EXCEPTION_FLAGS): Define.

    gcc/testsuite/
    * gcc.target/arm/div64-unwinding.c: New test.

From-SVN: r190483
2012-08-17 15:06:06 +00:00
Andreas Schwab
5615a07d0c linux-atomic.c (__sync_lock_test_and_set_1): Fix type.
* config/m68k/linux-atomic.c (__sync_lock_test_and_set_1): Fix
type.

From-SVN: r190480
2012-08-17 12:33:09 +00:00
David Edelsohn
138f5acd18 config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after rs6000/t-slibgcc-aix.
* config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after
        rs6000/t-slibgcc-aix.

From-SVN: r190465
2012-08-16 22:19:04 -04:00
Segher Boessenkool
18efc0dd75 longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling.
2012-08-15  Segher Boessenkool  <segher@kernel.crashing.org>

libgcc/
       * longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling.

From-SVN: r190434
2012-08-16 03:49:57 +02:00
Segher Boessenkool
6b39bc38c8 aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
2012-08-15  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
	* config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
	(RS6000_CALL_GLUE): Adjust for single assembler syntax.
	* config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
	Ditto.
	* config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
	Ditto.
	* config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
	Ditto.
	* config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
	Ditto.
	* config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
	* config/rs6000/darwin.md (whole file): Adjust to single
	assembler syntax.
	* config/rs6000/darwin64.h (TARGET_DEFAULT): Delete
	MASK_NEW_MNEMONICS.
	* config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
	* config/rs6000/dfp.md: (whole file): Adjust to single
	assembler syntax.
	* config/rs6000/eabi.h (TARGET_DEFAULT): Delete
	MASK_NEW_MNEMONICS.
	* config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
	* config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
	* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
	* config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
	* config/rs6000/rs6000-cpus.def (whole file): Delete
	POWERPC_BASE_MASK.
	* config/rs6000/rs6000-tables.opt: Regenerate.
	* config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete.
	(num_insns_constant_wide): Adjust comments.
	(whole file): Adjust to single assembler syntax.
	(output_cbranch): Adjust comment.
	* config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete.
	* config/rs6000/rs6000.md: (whole file): Adjust to single
	assembler syntax.
	* config/rs6000/rs6000.opt (mnew-mnemonics): Delete.
	(mold-mnemonics): Delete.
	* config/rs6000/spe.md: (whole file): Adjust to single
	assembler syntax.
	* config/rs6000/sync.md: (whole file): Adjust to single
	assembler syntax.
	* config/rs6000/sysv4.h (TARGET_DEFAULT): Delete
	MASK_NEW_MNEMONICS.
	(ASM_OUTPUT_REG_PUSH): Adjust.
	(ASM_OUTPUT_REG_POP): Adjust.
	* config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete
	MASK_NEW_MNEMONICS.
	* config/rs6000/vsx.md: (whole file): Adjust to single
	assembler syntax.
	* config/rs6000/vxworks.h (TARGET_DEFAULT): Delete
	MASK_NEW_MNEMONICS.
	* doc/invoke.texi: Adjust documentation to reflect the
	removal of -mnew-mnemonics and -mold-mnemonics.

libgcc/
	* longlong.h: (whole file, powerpc): Adjust to single assembler syntax.

From-SVN: r190432
2012-08-16 03:34:27 +02:00
H.J. Lu
cd25dea0f4 Replace top_srcdir with srcdir
PR driver/54171
	* Makefile.in (version): Replace top_srcdir with srcdir.

From-SVN: r190140
2012-08-03 22:33:27 -07:00
Jonathan Yong
a3dda30be1 * Makefile.in (version): set to BASE-VER file from gcc directory.
From-SVN: r190136
2012-08-03 23:42:20 +00:00
Nick Clifton
d04aacfc87 lib2funcs.c (__clrsbhi2): New function.
* config/m32c/lib2funcs.c (__clrsbhi2): New function.
	Implements __clrsb for an HImode argument.

From-SVN: r190032
2012-08-01 09:36:01 +00:00
Nick Clifton
0d13c974d9 lib2funcs.c (__clrsbhi2): New function.
* config/stormy16/lib2funcs.c (__clrsbhi2): New function.
	Implements __clrsb for an HImode argument.
	* config/stormy16/clrsbhi2.c: New file:
	* config/stormy16/t-stormy16 (LIB2ADD): Add clrsbhi2.c.

From-SVN: r189997
2012-07-31 09:09:29 +00:00
Steven Bosscher
efbb59b21b coverage.c: Refer to "notes file" instead of "graph file" in all comments.
gcc/
	* coverage.c: Refer to "notes file" instead of "graph file"
	in all comments.  Explain history of bbg prefix.
	* gcov-io.h: Likewise.
	* gcov.c: Likewise.
	(find_source): Likewise in fnotice.
	(read_graph_file): Likewise.
	(read_count_file): Likewise.
	* doc/gcov.texi: Document -fprofile-dir flag.  Add "notes file"
	and "data file" explicitly in the explanation of the files.

libgcc/
	* libgcov.c (__gcov_ior_profiler): Benign comment fix.

From-SVN: r189781
2012-07-23 11:59:15 +00:00
Tristan Gingold
bf1431e359 eh_personality.cc (__gxx_personality_seh0): New function.
libstdc++-v3/
	* libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
	Adjust for SEH.
	* config/abi/pre/gnu.ver: Add __gxx_personality_seh0.

libobjc/
	* exception.c (__gnu_objc_personality_seh0): New function.

libjava/
	* libgcj.ver: Add __gcj_personality_seh0.
	* exception.cc (__gcj_personality_seh0): New function.
	Adjust for SEH.

libgcc/
	* unwind-seh.c: New file.
	* unwind-generic.h: Include windows.h for SEH.
	(_Unwind_Exception): Use 6 private fields for SEH.
	(_GCC_specific_handler): Declare.
	* unwind-c.c (__gcc_personality_seh0): New function.
	Adjust for SEH.
	* config/i386/libgcc-cygming.ver: New file.
	* config/i386/t-seh-eh: New file.
	* config.host (x86_64-*-mingw*): Default to seh.

gcc/
	* opts.c (finish_options): Handle UI_SEH.
	* expr.c (build_personality_function): Handle UI_SEH.
	* dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
	* coretypes.h (unwind_info_type): Add UI_SEH.
	* config/i386/winnt.c (i386_pe_seh_emit_except_personality):
	New function.
	(i386_pe_seh_init_sections): Likewise.
	* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
	(TARGET_ASM_INIT_SECTIONS): Define.
	* common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
	(i386_except_unwind_info): New function.


Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r189644
2012-07-19 07:29:24 +00:00
Steven Bosscher
659140c86e * config/t-darwin (crt3.0): Remove work-around for fixed PR26840.
From-SVN: r189479
2012-07-14 13:50:59 +00:00
Uros Bizjak
a20d08fd75 sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use __builtin_expect when checking for exceptions.
* config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use
	__builtin_expect when checking for exceptions.
	* config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Ditto.

From-SVN: r188705
2012-06-17 15:54:53 +02:00
Uros Bizjak
4a1721561c * ChangeLog: Fix whitespace.
From-SVN: r188521
2012-06-13 17:59:15 +02:00
Uros Bizjak
79261115dd sfp-machine.h (__sfp_handle_exceptions): New function declaration.
* config/ia64/sfp-machine.h (__sfp_handle_exceptions): New
	function declaration.
	(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
	(FP_RND_MASK): New.
	* config/ia64/sfp-exceptions.c: New.
	* config/ia64/t-softfp (LIB2ADD): Add sfp-exceptions.c.

From-SVN: r188520
2012-06-13 17:56:55 +02:00
Uros Bizjak
bb5c97d42c sfp-machine.h (_FP_NANSIGN_S, [...]): Move ...
* config/i386/32/sfp-machine.h (_FP_NANSIGN_S, _FP_NANSIGN_D,
	_FP_NANSIGN_E, _FP_NANSIGN_Q): Move ...
	* config/i386/64/sfp-machine: ... (delete here) ...
	* config/i386/sfp-machine.h: ... to here.
	(FP_EX_MASK): Remove.
	(FP_RND_MASK): New.
	(FP_INIT_ROUNDMODE): Declare asm as volatile.

From-SVN: r188518
2012-06-13 17:23:12 +02:00
Sriraman Tallam
91fe5efbd2 libgcc-bsd.ver: Version symbol __cpu_indicator_init.
2012-06-11  Sriraman Tallam  <tmsriram@google.com>

	* config/i386/libgcc-bsd.ver: Version symbol __cpu_indicator_init.
	* config/i386/libgcc-sol2.ver: Ditto.
	* config/i386/libgcc-glibc.ver: Ditto.

	* gcc.target/i386/builtin_target.c (vendor_signatures): New enum.
	(check_intel_cpu_model): New function.
	(check_amd_cpu_model): New function.
	(check_features): New function.
	(__get_cpuid_output): New function.
	(check_detailed): New function.
	(fn1): Rename to quick_check.
	(main): Update to call quick_check and call check_detailed.

From-SVN: r188417
2012-06-12 02:55:20 +00:00
Roland McGrath
67a218c536 gthr-posix.h [...] (__gthread_active_p): If __GLIBC__ is defined, refer to __pthread_key_create instead of pthread_cancel.
* gthr-posix.h [neither FreeBSD nor Solaris] (__gthread_active_p):
	If __GLIBC__ is defined, refer to __pthread_key_create instead of
	pthread_cancel.

From-SVN: r188400
2012-06-11 14:15:38 -07:00
Uros Bizjak
492fbea162 sfp-machine.h (__gcc_CMPtype, [...]): Move ...
* config/i386/32/sfp-machine.h (__gcc_CMPtype, CMPtype,
	_FP_KEEPNANFRACP, _FP_CHOOSENAN, FP_EX_INVALID, FP_EX_DENORM,
	FP_EX_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT,
	FP_HANDLE_EXCEPTIONS, FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
	FP_RND_MINF, _FP_DEXL_EX, FP_INIT_ROUNDMODE, FP_ROUNDMODE,
	__LITTLE_ENDIAN, __BIG_ENDIAN, strong_alias): Move ...
	* config/i386/64/sfp-machine: ... (delete here) ...
	* config/i386/sfp-machine.h: ... to here.
	(FP_EX_MASK): New.
	(__sfp_handle_exceptions): New function declaration.
	(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
	* config/i386/sfp-exceptions.c: New.
	* config/i386/t-softfp: New.
	* config.host (i[34567]86-*-* and x86_64-*-* soft-fp targets): Add
	i386/t-softfp to tmake_file.

From-SVN: r188361
2012-06-09 19:32:27 +02:00
David S. Miller
7b4cf26643 Fix bug added to sparc 64-bit sub_ddmmss() implementation.
* longlong.h [SPARC] (sub_ddmmss): Fix thinko in previous 64-bit
	change.

From-SVN: r188163
2012-06-03 18:54:59 -07:00
David S. Miller
0de0d5c606 Sparc longlong.h enhancements.
libgcc/

	* longlong.h [SPARC] (umul_ppmm, udiv_qrnnd): Use hardware integer multiply
	and divide instructions on 32-bit when V9.
	(add_ssaaaa, sub_ddmmss): Convert to branchless code on 64-bit.

From-SVN: r188090
2012-05-31 17:12:22 -07:00
Joseph Myers
d8c9d39117 ieee754-df.S: Fix typos.
* config/arm/ieee754-df.S: Fix typos.
	* config/arm/ieee754-sf.S: Fix typos.
	* config/c6x/libunwind.S: Fix typos.
	* config/epiphany/udivsi3-float.c: Fix typos.
	* config/microblaze/muldi3_hard.S: Fix typos.
	* config/picochip/adddi3.S: Fix typos.
	* config/picochip/ashlsi3.S: Fix typos.
	* config/picochip/ashrsi3.S: Fix typos.
	* config/picochip/clzsi2.S: Fix typos.
	* config/picochip/cmpsi2.S: Fix typos.
	* config/picochip/divmod15.S: Fix typos.
	* config/picochip/divmodhi4.S: Fix typos.
	* config/picochip/divmodsi4.S: Fix typos.
	* config/picochip/longjmp.S: Fix typos.
	* config/picochip/lshrsi3.S: Fix typos.
	* config/picochip/parityhi2.S: Fix typos.
	* config/picochip/popcounthi2.S: Fix typos.
	* config/picochip/setjmp.S: Fix typos.
	* config/picochip/subdi3.S: Fix typos.
	* config/picochip/ucmpsi2.S: Fix typos.
	* config/picochip/udivmodhi4.S: Fix typos.
	* config/picochip/udivmodsi4.S: Fix typos.
	* config/spu/divv2df3.c: Fix typos.
	* config/spu/mfc_multi_tag_release.c: Fix typos.
	* config/spu/mfc_tag_release.c: Fix typos.
	* configure.ac: Fix typos.
	* configure: Regenerate.

From-SVN: r187967
2012-05-29 15:54:22 +01:00
Ian Lance Taylor
31a18a7e23 morestack.S (__morestack_non_split): Check whether caller is varargs and needs %bp to hold the stack frame on return.
libgcc/:
	* config/i386/morestack.S (__morestack_non_split): Check whether
	caller is varargs and needs %bp to hold the stack frame on return.
gcc/testsuite/:
	* gcc.dg/split-6.c: New test.

From-SVN: r187894
2012-05-25 20:48:19 +00:00
Olivier Hainque
c57685107c tramp.S (trampoline_setup): Use a longcall sequence in the non pic case on VxWorks.
libgcc/
        * config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
        sequence in the non pic case on VxWorks.

From-SVN: r187871
2012-05-25 08:20:03 +00:00
Olivier Hainque
73fb763006 Fix typo in latest ChangeLog entry addition.
From-SVN: r187840
2012-05-24 14:58:49 +00:00
Olivier Hainque
7c7c339b4b Makefile.in: move dependency on install-unwind_h from "install-leaf" to "install".
libgcc/
        * Makefile.in: move dependency on install-unwind_h from
        "install-leaf" to "install".

From-SVN: r187839
2012-05-24 14:57:11 +00:00
Olivier Hainque
fdc1b7d3a7 Makefile.in (clean): Remove libgcc_tm.stamp as well.
libgcc/
        * Makefile.in (clean): Remove libgcc_tm.stamp as well.
        Use a separate command for stamp removals.

From-SVN: r187838
2012-05-24 14:51:33 +00:00
Andrew Pinski
07ba94b91a re PR bootstrap/53183 (libgcc does not always figure out the size of double/long double)
2012-05-21  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/53183
        * configure.ac: Define the default includes to being none.
        * configure: Regenerate.

From-SVN: r187732
2012-05-21 11:56:35 -07:00
Olivier Hainque
4677d2eb61 Makefile.in (install-unwind_h): Rename into ...
libgcc/
        * Makefile.in (install-unwind_h): Rename into ...
        (install-unwind_h-forbuild): New target.
        (all): Use it instead of the former install-unwind_h.
        (install-unwind_h): Reinstate, copy to user install destination
        for include files, not to the internal gcc object directory one.
        (install-leaf): Depend on it.

From-SVN: r187599
2012-05-16 15:36:08 +00:00
Olivier Hainque
7d67c380fa aix-unwind.h (*_REGNO): New, set of useful register numbers.
libgcc/
	* config/rs6000/aix-unwind.h (*_REGNO): New, set of useful
	register numbers. LR_REGNO replaces R_LR.
	(ucontext_for): New, helper for ...
	(ppc_aix_fallback_frame_state): New, implementation for aix 5.2
	and 5.3 of ...
	(MD_FALLBACK_FRAME_STATE_FOR): Define for 32bit configurations.

	testsuite/
	* g++.dg/eh/sighandle.C: New testcase.

From-SVN: r187540
2012-05-15 14:03:04 +00:00
Rainer Orth
aca06c900e Use i386-cpuinfo.c on all i386 targets
libgcc:
	* config.host (i[34567]86-*-linux*, x86_64-*-linux*)
	(i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu)
	(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Move
	i386/t-cpuinfo ...
	(i[34567]86-*-*, x86_64-*-*): ... here.

	* config/i386/libgcc-bsd.ver (GCC_4.8.0): New version.
	* config/i386/libgcc-sol2.ver (GCC_4.8.0): New version.

	* config/i386/i386-cpuinfo.c: Rename to ...
	* config/i386/cpuinfo.c: ... this.
	* config/i386/t-cpuinfo (LIB2ADD): Reflect this.

	* configure.ac (AC_CONFIG_HEADER): Call for auto-target.h.
	(libgcc_cv_init_priority): New test.
	* configure: Regenerate.
	* config.in: New file.
	* Makefile.in (clean): Rename config.h to auto-target.h.
	(config.h): Likewise.
	(stamp-h): Likewise.

	* config/i386/cpuinfo.c (auto-target.h): Include.
	(CONSTRUCTOR_PRIORITY): Define.
	(__cpu_indicator_init): Use it.

	gcc
	* doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init):
	Document requirement to call in constructors.

	* config/i386/i386.c: Update comments for i386-cpuinfo.c name
	change.

From-SVN: r187365
2012-05-10 08:51:39 +00:00
H.J. Lu
0d03ac1ba7 Use a URL for FSF address and replace spaces with tab
* longlong.h: Use a URL instead of an FSF postal address.
	Replace spaces with tab.

From-SVN: r187333
2012-05-09 06:36:19 -07:00
Teresa Johnson
4e8ee9cbf7 This patch adds functionality to libgcov to enable user applications to collect...
This patch adds functionality to libgcov to enable user applications to
collect profile data only in regions of interest. This is useful, for
example, to collect profile data from a long-running server only
during the time when it is serving requests.

Specifically, the new routines __gcov_reset will clear all profile counters
to zero and __gcov_dump will write out the profile information collected so
far. A global variable is used to prevent writing out the profile a
second time during exit.

2012-05-08   Teresa Johnson  <tejohnson@google.com>

	* libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions.
	(__gcov_dump): Ditto.
	(gcov_dump_complete): New global variable.
	(gcov_exit): Export hidden to enable use in L_gcov_dump.
	(__gcov_flush): Outline functionality now in gcov_clear.
	* libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define.
	* gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare.
	* gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump.

From-SVN: r187297
2012-05-08 21:22:28 +00:00
Aurelien Jarno
e4bb767ec3 config.host (mips64*-*-linux*, [...]): Remove.
libgcc/
2012-04-28  Aurelien Jarno  <aurelien@aurel32.net>

	* config.host (mips64*-*-linux*, mipsisa64*-*-linux*): Remove. 
	(mips*-*-linux*): Include mips/t-tpbit when long double is 
	16 bytes long.

From-SVN: r186931
2012-04-28 08:03:54 +00:00
Sriraman Tallam
5ddecff9f2 i386-cpuinfo.c (FEATURE_AVX2): New enum value.
2012-04-25  Sriraman Tallam  <tmsriram@google.com>

	* config/i386/i386-cpuinfo.c (FEATURE_AVX2): New enum value.
	(get_available_features): New argument. Check for AVX2.
	(__cpu_indicator_init): Modify call to get_available_features.

	* doc/extend.texi: Document avx2 support.
	* config/i386/i386.c (fold_builtin_cpu): Add avx2.

	* testsuite/gcc.target/i386/builtin_target.c: Check avx2.

From-SVN: r186855
2012-04-26 00:52:09 +00:00
Alan Modra
b427dd7ae3 rs6000 (SAVE_INLINE_VRS, [...]): Define.
gcc/
	* config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS,
	V_SAVE_INLINE, SAVRES_LR, SAVRES_SAVE, SAVRES_REG,
	SAVRES_GPR, SAVRES_FPR, SAVRES_VR): Define.
	(no_global_regs_above): Delete.
	(no_global_regs): New function.
	(rs6000_savres_strategy): Handle vector regs.  Use proper lr_save_p
	value for load multiple test.
	(savres_routine_syms): Increase size.
	(rs6000_savres_routine_name, rs6000_savres_routine_sym,
	ptr_regno_for_savres, rs6000_emit_savres_rtx): Pass in int selector
	rather than a number of boolean flags.  Update all callers.
	(rs6000_savres_routine_name): Generate vector save/restore names.
	(rs6000_savres_routine_sym): Handle vector regs.  Delete forward decl.
	(ptr_regno_for_savres, rs6000_emit_savres_rtx): Likewise.
	(rs6000_emit_prologue): Delete saving_FPRs_inline, saving_GPRs_inline
	and using_store_multiple.  Expand uses.  Don't always use r11 as
	frame reg when needed for out-of-line saves.  Set up initial offset
	for out-of-line vector saves when buying stack frame.  Handle pointer
	reg setup for out-of-line fp save.  Emit call to out-of-line vector
	save function.  Choose r11 or r12 for vrsave reg when available for
	better scheduling.
	(rs6000_output_function_prologue): Don't emit .extern for ELF.
	(rs6000_emit_epilogue): Choose a better frame reg when restoring
	from back-chain to suit out-of-line vector restore functions.  Emit
	call to out-of-line vector restore function.  Adjust register used
	for cr restore.  Tweak pointer register setup for gpr restore.
	* config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account
	FIXED_R13.
	* config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify.
	(V_SAVE_INLINE): Define.
	* config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns.
libgcc/
	* config/rs6000/crtsavevr.S: New file.
	* config/rs6000/crtrestvr.S: New file.
	* config/rs6000/t-savresfgpr: Build the above.
	* config/rs6000/t-netbsd: Likewise.

From-SVN: r186800
2012-04-25 12:02:56 +09:30
Sriraman Tallam
ad491329d9 i386-cpuinfo.c: Set __cpu_vendor always.
2012-04-24  Sriraman Tallam  <tmsriram@google.com>

	* libgcc/config/i386/i386-cpuinfo.c: Set __cpu_vendor always.

From-SVN: r186795
2012-04-25 02:04:22 +00:00
Sriraman Tallam
792317cc77 This patch adds new builtins to check for cpu type and features.
2012-04-24  Sriraman Tallam  <tmsriram@google.com>

This patch adds new builtins to check for cpu type and features. 

* __builtin_cpu_is ("<CPUNAME>")
* __builtin_cpu_supports ("<FEATURE>")

apart from the cpu init builtin, __builtin_cpu_init.

List of CPU names :

* "amd"
* "intel"
* "atom"
* "core2"
* "corei7"
* "nehalem"
* "westmere"
* "sandybridge"
* "amdfam10h"
* "barcelona"
* "shanghai"
* "istanbul"
* "bdver1"
* "bdver2"

List of CPU features :

* "cmov"
* "mmx"
* "popcnt"
* "sse"
* "sse2"
* "sse3"
* "ssse3"
* "sse4.1"
* "sse4.2"
* "avx"

        * config/i386/i386.c (build_processor_model_struct): New function.
        (make_var_decl): New function.
        (fold_builtin_cpu): New function.
        (ix86_fold_builtin): New function.
        (make_cpu_type_builtin): New function.
        (ix86_init_platform_type_builtins): New function.
        (ix86_expand_builtin): Expand new builtins by folding them.
        (ix86_init_builtins): Make new builtins to detect CPU type.
        (TARGET_FOLD_BUILTIN): New macro.
        (IX86_BUILTIN_CPU_INIT): New enum value.
        (IX86_BUILTIN_CPU_IS): New enum value.
        (IX86_BUILTIN_CPU_SUPPORTS): New enum value.
        * config/i386/i386-builtin-types.def: New function type.
        * testsuite/gcc.target/builtin_target.c: New testcase.
        * doc/extend.texi: Document builtins.

        * libgcc/config/i386/i386-cpuinfo.c: New file.
        * libgcc/config/i386/t-cpuinfo: New file.
        * libgcc/config.host: Include t-cpuinfo.
        * libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model.

From-SVN: r186789
2012-04-25 00:08:37 +00:00
Chao-ying Fu
e1be98a467 unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC.
2012-04-24  Chao-ying Fu  <fu@mips.com>

	* unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC.

From-SVN: r186788
2012-04-24 22:41:33 +00:00
Thomas Schwinge
1bde7dabc9 struct siginfo vs. siginfo_t
libgcc/
	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
	siginfo_t instead of struct siginfo.
	* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
	* config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
	* config/ia64/linux-unwind.h (ia64_fallback_frame_state)
	(ia64_handle_unwabi): Likewise.
	* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
	* config/sh/linux-unwind.h (shmedia_fallback_frame_state)
	(sh_fallback_frame_state): Likewise.
	* config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise.
	* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.

From-SVN: r186610
2012-04-20 09:44:50 +02:00
H.J. Lu
24590f6607 Update x32 rt_sigreturn syscall number to 0x40000201
2012-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): Update x32
	system call number.

From-SVN: r186087
2012-04-02 09:17:21 -07:00
Eric Botcazou
9a9dcce8e8 unwind-ia64.c (uw_install_context): Manually save LC if it hasn't been previously saved.
* config/ia64/unwind-ia64.c (uw_install_context): Manually save LC
	if it hasn't been previously saved.

From-SVN: r186045
2012-03-31 16:24:04 +00:00
H.J. Lu
6401aaf5df Define x86_64_fallback_frame_state only for glibc
2012-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Define
	only for glibc.

From-SVN: r185957
2012-03-29 05:48:08 -07:00
Georg-Johann Lay
7fd6378ef4 re PR target/52737 ([avr]: -mtiny-stack shall not influence multilib selection)
PR target/52737
	* contrib/gcc_update (files_and_dependencies):
	Remove gcc/config/avr/t-multilib from touch data.

gcc/
	PR target/52737
	* config.gcc (tm_file): Remove avr/multilib.h.

	* doc/invoke.texi (AVR Options): Adjust
	documentation of -mtiny-stack.

	* config/avr/genmultilib.awk: Remove code to generate multilib.h.
	(BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
	* config/avr/t-avr: Remove generation of multilib.h.
	* config/avr/t-multilib: Regenerate.
	* config/avr/multilib.h: Remove.
	* config/avr/avr.opt (-msp8): New option.
	(avr_sp8): New variable.
	* config/avr/driver-avr.c (avr_device_to_sp8): New function.
	* config/avr/avr.h (AVR_HAVE_SPH): New define.
	(AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
	(avr_device_to_sp8): New prototype.
	(EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
	(DRIVER_SELF_SPECS): New define.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
	__AVR_SP8__, __AVR_HAVE_SPH__.
	* config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
	AVR_HAVE_8BIT_SP to decide if SP_H is present.
	(avr_file_start): Ditto.
	
libgcc/
	PR target/52737
	* config/avr/lib1funcs.S: Use __AVR_HAVE_SPH__ for SP_H checks
	instead of __AVR_HAVE_8BIT_SP__.

From-SVN: r185907
2012-03-28 08:31:26 +00:00
Tristan Gingold
9e916de770 unwind-ia64.h: Declare unw_word and unw_sword.
2012-03-26  Tristan Gingold  <gingold@adacore.com>

        * config/ia64/unwind-ia64.h: Declare unw_word and unw_sword.
        (unw_table_entry): Use unw_word instead of unsigned long.
        (_Unwind_FindTableEntry): Likewise.
        * config/ia64/fde-glibc.c (_Unwind_FindTableEntry): Likewise.
        * config/ia64/fde-vms.c (vms_unwtable_entry): Likewise.
        (_Unwind_FindTableEntry): Likewise.
        * config/ia64/unwind-ia64.c (unw_reg_info, unw_reg_state)
        (unw_labeled_state, unw_state_record, unw_stack, _Uwind_Context)
        (set_reg, alloc_spill_area, finish_prologue, ia64_rse_slot_num)
        (ia64_rse_is_rnat_slot, ia64_rse_rnat_addr, ia64_rse_num_regs)
        (ia64_rse_skip_regs, ia64_copy_rbs, unw_access_gr)
        (uw_frame_state_for, uw_update_reg_address, uw_update_context)
        (uw_init_context_1, uw_install_context): Likewise.
        (unw_word): Move to unwind-ia64.h

From-SVN: r185852
2012-03-27 09:50:10 +00:00
Tristan Gingold
4b12e93df8 vms.h (LINK_SPEC): Simplify.
libgcc/
2012-03-26  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/vms.h (LINK_SPEC): Simplify.
	(STARTFILE_SPEC): Remove -mvms-return-codes handling.
	(NAME__MAIN, SYMBOL__MAIN): Remove.
	(VMS_DEBUG_MAIN_POINTER): Remove.
	* config/ia64/vms.h: Likewise.
	* config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
	code to vms.c.  Call vms_start_function.
	* config/ia64/ia64.c (ia64_start_function): Likewise.
	* config/vms/vms-protos.h (vms_start_function): Declare.
	* config/vms/vms.c (vms_start_function): New function.
	* config/vms/vms.h (MATH_LIBRARY): Define.
	(VMS_DEBUG_MAIN_POINTER): Define.

gcc/
2012-03-26  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/vms.h (LINK_SPEC): Simplify.
	(STARTFILE_SPEC): Remove -mvms-return-codes handling.
	(NAME__MAIN, SYMBOL__MAIN): Remove.
	(VMS_DEBUG_MAIN_POINTER): Remove.
	* config/ia64/vms.h: Likewise.
	* config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
	code to vms.c.  Call vms_start_function.
	* config/ia64/ia64.c (ia64_start_function): Likewise.
	* config/vms/vms-protos.h (vms_start_function): Declare.
	* config/vms/vms.c (vms_start_function): New function.
	* config/vms/vms.h (MATH_LIBRARY): Define.
	(VMS_DEBUG_MAIN_POINTER): Define.

From-SVN: r185791
2012-03-26 09:35:18 +00:00
Richard Earnshaw
06ea73711d lib1funcs.asm (ctzsi2): New function.
* arm/lib1funcs.asm (ctzsi2): New function.
* arm/t-elf (LIB1ASMFUNCS): Add _ctzsi2.
* arm/t-linux (LIB1ASMFUNCS): Likewise.
* arm/t-strongarm-elf (LIB1ASMFUNCS): Likewise.
* arm/t-symbian (LIB1ASMFUNCS): Likewise.
* arm/t-vxworks (LIB1ASMFUNCS): Likewise.
* arm/t-wince-pe (LIB1ASMFUNCS): Likewise.

From-SVN: r185698
2012-03-22 15:14:46 +00:00
Andreas Tobler
d82ad50db3 config.host: Add bits to support powerpc64-*-freebsd*.
2012-03-21  Andreas Tobler  <andreast@fgznet.ch>

        * config.host: Add bits to support powerpc64-*-freebsd*.
        * config/rs6000/freebsd-unwind.h: New file.
        * config/rs6000/t-freebsd64: New file.

From-SVN: r185614
2012-03-21 21:12:16 +01:00
Richard Guenther
b260a8c034 re PR gcov-profile/52627 (Build of libgcc fails w/o __GTHREAD_MUTEX_INIT: error: 'mx' undeclared)
2012-03-20  Richard Guenther  <rguenther@suse.de>

	PR gcov-profile/52627
	* libgcov.c (init_mx): Fix mutex name.

From-SVN: r185569
2012-03-20 11:18:57 +00:00
Tristan Gingold
86286a8a96 vms-unwind.h: Remove ulong (and replace it by unw_reg where used).
2012-03-16  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/vms-unwind.h: Remove ulong (and replace
	it by unw_reg where used).  Define unw_reg with __int64.

From-SVN: r185463
2012-03-16 10:58:28 +00:00
Rainer Orth
7888f2660e Remove obsolete Solaris 8 support
libstdc++-v3:
	* config/os/solaris/solaris2.8: Rename to ...
	* config/os/solaris/solaris2.9: ... this.
	* config/abi/post/solaris2.8: Rename to ...
	* config/abi/post/solaris2.9: ... this.
	* configure.host (os_include_dir): Remove solaris2.8.
	Reflect renaming.
	(abi_baseline_pair): Remove *-*-solaris2.8.
	Reflect renaming.

	* configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
	(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
	* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
	(GLIBCXX_CHECK_STDLIB_PROTO): Remove.
	(GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
	* crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
	handling.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	* config/os/solaris/solaris2.9/os_defines.h
	(__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
	(__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
	* include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
	to __CORRECT_ISO_CPP_MATH_H_PROTO.
	[!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
	* include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
	__CORRECT_ISO_CPP_MATH_H_PROTO.

	* doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
	Remove Solaris 8 reference.

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Don't xfail on *-*-solaris2.8.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.
	* testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
	*-*-solaris2.8.

	libjava:
	* configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
	* configure: Regenerate.

	libgcc:
	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 8 handling.
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
	Solaris 8 handling.
	(sparc_is_sighandler): Likewise.

	libcpp:
	* lex.c: Remove Solaris 8 reference.

	gcc/testsuite:
	* g++.dg/warn/miss-format-1.C: Remove *-*-solaris2.8 handling.
	* gcc.dg/c99-stdint-6.c: Likewise.
	* gcc.dg/lto/20090210_0.c: Likewise.
	* gcc.dg/pr28796-2.c: Don't skip on sparc*-sun-solaris2.8.
	* gcc.dg/pragma-init-fini.c: Don't skip on i?86-*-solaris2.8.
	* gcc.dg/pragma-init-fini-2.c: Likewise.
	* gcc.dg/torture/pr47917.c: Remove *-*-solaris2.8 handling.
	* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.8 handling.
	* gcc.target/i386/pr22152.c: Likewise.
	* gcc.target/i386/vect8-ret.c: Likewise.
	* lib/target-supports.exp (add_options_for_tls): Remove Solaris 8
	handling.

	gcc:
	* config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
	(*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
	(i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
	Solaris 8 support.
	* configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
	(ld_tls_support): Remove Solaris 8 references.
	(lwp_dir, lwp_spec): Remove support for alternate thread library.
	* acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.*
	tests.
	* configure: Regenerate.
	* config.in: Regenerate.

	* config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
	* config/i386/sol2.h: Remove Solaris 8 references.

	* doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
	(i?86-*-solaris2.9): ... this.
	Remove Solaris 8 references.
	(Specific, *-*-solaris2*): Document Solaris 8 removal.
	Remove Solaris 8 references.

	fixincludes:
	* inclhack.def (math_exception): Remove duplicate.
	(solaris_cond_init): Remove.
	(solaris_sys_va_list): Remove Solaris 8 support.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [SOLARIS_COND_INIT_CHECK]: Remove.

From-SVN: r185392
2012-03-14 17:08:03 +00:00
Rainer Orth
b24513a1a2 Remove obsolete IRIX 6.5 support
libstdc++-v3:
	* configure.host (irix6.5*): Remove.
	* config/os/irix: Remove.
	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
	[_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.

	* doc/xml/faq.xml: Remove IRIX reference.
	* doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
	Remove IRIX example.

	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Remove mips-sgi-irix6* handling.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.
	* testsuite/30_threads/async/49668.cc: Likewise.
	* testsuite/30_threads/async/any.cc: Likewise.
	* testsuite/30_threads/async/async.cc: Likewise.
	* testsuite/30_threads/async/launch.cc: Likewise.
	* testsuite/30_threads/async/sync.cc: Likewise.
	* testsuite/30_threads/call_once/39909.cc: Likewise.
	* testsuite/30_threads/call_once/49668.cc: Likewise.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
	* testsuite/30_threads/future/cons/move.cc: Likewise.
	* testsuite/30_threads/future/members/45133.cc: Likewise.
	* testsuite/30_threads/future/members/get.cc: Likewise.
	* testsuite/30_threads/future/members/get2.cc: Likewise.
	* testsuite/30_threads/future/members/share.cc: Likewise.
	* testsuite/30_threads/future/members/valid.cc: Likewise.
	* testsuite/30_threads/future/members/wait.cc: Likewise.
	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/lock/1.cc: Likewise.
	* testsuite/30_threads/lock/2.cc: Likewise.
	* testsuite/30_threads/lock/3.cc: Likewise.
	* testsuite/30_threads/lock/4.cc: Likewise.
	* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
	* testsuite/30_threads/promise/cons/1.cc: Likewise.
	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* testsuite/30_threads/promise/cons/move.cc: Likewise.
	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
	* testsuite/30_threads/promise/members/swap.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/this_thread/1.cc: Likewise.
	* testsuite/30_threads/this_thread/2.cc: Likewise.
	* testsuite/30_threads/this_thread/3.cc: Likewise.
	* testsuite/30_threads/this_thread/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/1.cc: Likewise.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* testsuite/30_threads/thread/cons/5.cc: Likewise.
	* testsuite/30_threads/thread/cons/6.cc: Likewise.
	* testsuite/30_threads/thread/cons/7.cc: Likewise.
	* testsuite/30_threads/thread/cons/8.cc: Likewise.
	* testsuite/30_threads/thread/cons/9.cc: Likewise.
	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* testsuite/30_threads/thread/members/1.cc: Likewise.
	* testsuite/30_threads/thread/members/2.cc: Likewise.
	* testsuite/30_threads/thread/members/3.cc: Likewise.
	* testsuite/30_threads/thread/members/4.cc: Likewise.
	* testsuite/30_threads/thread/members/5.cc: Likewise.
	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/2.cc: Likewise.
	* testsuite/30_threads/try_lock/3.cc: Likewise.
	* testsuite/30_threads/try_lock/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.

	* testsuite/23_containers/vector/capacity/resize/1.cc: Remove
	dg-options for mips*-*-irix6*.

	* testsuite/27_io/ios_base/storage/1.cc: Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
	* testsuite/27_io/ios_base/storage/3.cc: Likewise.

	* testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
	workaround.

	libjava:
	* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
	(mips-sgi-irix6*): Remove.
	(mips-sgi-irix*): Remove.
	(AC_CHECK_HEADERS): Remove bstring.h.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.
	* configure.host (mips-sgi-irix6*): Remove.

	* include/posix-signal.h [__sgi__]: Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	[HAVE_BSTRING_H]: Remove.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc: Likewise.

	libitm:
	* configure.tgt (*-*-irix6*): Remove.

	libgomp:
	* configure.tgt (mips-sgi-irix6*): Remove.

	libgfortran:
	* intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.

	libgcc:
	* config.host (mips-sgi-irix6.5*): Remove.
	* config/mips/irix-crti.S: Remove.
	* config/mips/irix-crtn.S: Remove.
	* config/mips/irix6-unwind.h: Remove.
	* config/mips/t-irix6: Remove.
	* config/mips/t-slibgcc-irix: Remove.

	gnattools:
	* configure.ac (mips-sgi-irix*): Remove.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
	* g++.dg/tree-prof/partition1.C: Likewise.
	* g++.dg/tree-prof/partition2.C: Likewise.
	* g++.old-deja/g++.other/init19.C: Remove mips-sgi-irix*
	handling.
	* gcc.c-torture/compile/labels-3.c: Remove dg-options.
	* gcc.c-torture/execute/20010724-1.c: Remove.
	* gcc.c-torture/execute/20010724-1.x: Remove.
	* gcc.c-torture/execute/20040208-2.c: Remove.
	* gcc.c-torture/execute/20040208-2.x: Remove.
	* gcc.c-torture/execute/ieee/20000320-1.c [__mips__ && __sgi__]:
	Remove.
	(main) [__mips__ && __sgi__]: Remove.
	* gcc.c-torture/execute/ieee/copysign1.c: Remove IRIX reference.
	* gcc.c-torture/execute/ieee/copysign2.c: Likewise.
	* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Remove
	mips-sgi-irix6* handling.
	* gcc.dg/cpp/assert4.c [__mips__]: Remove __sgi__, sgi.
	* gcc.dg/torture/20090618-1.c: Don't skip on mips-sgi-irix*.
	* gcc.dg/torture/builtin-frexp-1.c: Remove mips*-*-irix6*
	handling.
	* gcc.dg/torture/builtin-logb-1.c: Likewise.
	* gcc.dg/torture/pr47917.c: Remove mips-sgi-irix6.5 handling.
	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Don't skip on mips*-*-irix*.
	* gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6* handling.
	* gcc.target/mips/args-1.c [!__sgi__]: Remove.
	* gcc.target/mips/interrupt_handler-2.c: Don't skip on
	mips-sgi-irix6*.
	* gcc.target/mips/interrupt_handler-3.c: Likewise.
	* gcc.target/mips/save-restore-1.c: Don't skip on mips-sgi-irix6*.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.
	* gcc.target/mips/save-restore-5.c: Likewise.
	* gfortran.dg/g77/cabs.f: Don't xfail on mips-sgi-irix6*.
	* lib/prune.exp (prune_gcc_output): Remove pruning of IRIX 6 ld
	messages.
	* lib/target-libpath.exp (set_ld_library_path_env_vars): Remove
	IRIX 6 handling.
	(restore_ld_library_path_env_vars): Likewise.
	* lib/target-supports.exp (check_profiling_available): Remove
	mips*-*-irix* handling.
	(check_ascii_locale_available): Remove mips-sgi-irix* handling.
	(add_options_for_c99_runtime): Remove mips-sgi-irix6.5* handling.
	* objc.dg/stabs-1.m: Don't xfail on mips-sgi-irix6.5.

	gcc/ada:
	* gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.

	* a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
	s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
	s-osinte-irix.ads, s-proinf-irix-athread.adb,
	s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
	system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
	Remove.

	* adaint.c [__mips && __sgi]: Remove.
	(__gnat_number_of_cpus) [__mips && __sgi]: Remove.
	[IS_CROSS && !(__mips && __sgi)]: Remove.
	* adaint.h [sgi && _LFAPI]: Remove.
	* cstreams.c (__gnat_full_name) [sgi]: Remove.
	* env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
	(__gnat_clearenv) [__mips && __sgi]: Remove.
	* errno.c (_SGI_MP_SOURCE): Remove.
	* gsocket.h [sgi]: Remove.
	* init.c: Remove IRIX reference.
	[sgi]: Remove.
	* link.c [sgi]: Remove.
	* s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
	(main) [__mips && __sgi] (MAX_tv_sec): Don't define.
	(CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
	* sysdep.c [sgi]: Remove.
	(getc_immediate_common) [sgi]: Remove.
	(__gnat_localtime_tzoff) [sgi]: Remove.
	* terminals.c [__mips && __sgi] (IRIX): Don't define.
	[IRIX] (USE_GETPTY): Don't define.
	(allocate_pty_desc) [USE_GETPTY]: Remove.

	* g-traceb.ads: Remove IRIX reference.
	* g-trasym.ads: Likewise.
	* memtrack.adb: Likewise.
	* s-interr-sigaction.adb: Likewise.

	* gnat_rm.texi (Implementation Advice): Remove SGI info.
	(Implementation Defined Characteristics): Likewise.
	* gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
	Remove.
	(Irix-Specific Considerations): Remove.

	gcc/cp:
	* Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.

	gcc:
	* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
	(mips-sgi-irix6.5*): Remove.
	* config.host (mips-sgi-irix*): Remove.
	* configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
	(set_have_as_tls): Remove *-*-irix6*.
	(gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
	* configure: Regenerate.

	* config/mips/iris6.h: Remove.
	* config/mips/iris6.opt: Remove.
	* config/mips/t-irix6: Remove.

	* config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
	(TARGET_IRIX6): Remove.
	(TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
	Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
	* config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
	handling.
	(mips_file_start): Likewise.
	* config/mips/mips-protos.h (irix_asm_output_align): Remove.

	* config/mips/driver-native.c [__sgi__]: Remove.
	(host_detect_local_cpu) [__sgi__]: Remove.

	* config/mips/gnu-user.h: Remove iris5.h reference.

	* config/mips/mips-modes.def: Remove IRIX 6 reference.
	* config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
	* config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
	Remove.

	* gcc.c (main): Move asm_debug initialization ...
	(asm_debug): ... here.

	* ginclude/stddef.h (__STDDEF_H__): Don't define.

	* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
	* system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
	* collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
	(main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
	[LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
	* doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
	Remove.
	* doc/tm.texi: Regenerate.

	* doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
	IRIX 6 reference.
	(MIPS Options, -march): Remove IRIX reference.
	* doc/install.texi (Binaries, SGI IRIX): Remove.
	(Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
	of section.
	* doc/trouble.texi (Interoperation): Remove -lgl_s handling.

	fixincludes:
	* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
	(irix___restrict): Remove.
	(irix___generic1): Remove.
	(irix___generic2): Remove.
	(irix_asm_apostrophe): Remove.
	(irix_complex): Remove.
	(irix_pthread_init): Remove.
	(irix_socklen_t): Remove.
	(irix_stdint_c99_mode): Remove.
	(irix_stdint_c99_types): Remove.
	(irix_stdint_c99_macros): Remove.
	(irix_stdio_va_list): Remove IRIX 6.5 support.
	(irix_wcsftime): Remove.
	(stdio_va_list): Remove IRIX 6.5 support.
	(svr4_profil): Remove IRIX bypass.
	* fixincl.x: Regenerate.

	* tests/base/complex.h [IRIX_COMPLEX_CHECK]: Remove.
	* tests/base/internal/math_core.h: Remove.
	* tests/base/internal/sgimacros.h: Remove.
	* tests/base/internal/wchar_core.h: Remove.
	* tests/base/math.h [BROKEN_CABS_CHECK]: Remove IRIX and SunOS 4
	support.
	* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/stdint-irix65.h: Remove.
	* tests/base/stdint.h [IRIX_STDINT_C99_MODE_CHECK]: Remove.
	* tests/base/sys/asm.h: Remove.
	* tests/base/sys/socket.h [IRIX_SOCKLEN_T_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove mips-sgi-irix6.5.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove irix.
	* configure.ac (enable_libgomp): Remove *-*-irix6*.
	(unsupported_languages): Remove mips-sgi-irix6.*.
	(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
	(with_stabs): Remove.
	* configure: Regenerate.

From-SVN: r185390
2012-03-14 16:33:37 +00:00
H.J. Lu
f155bc6496 Assert DWARF register size <= saved reg size
2012-03-13  H.J. Lu  <hongjiu.lu@intel.com>

	* unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size
	<= saved reg size.

From-SVN: r185346
2012-03-13 10:07:50 -07:00
Rainer Orth
d47657bd1d Fix sgi typos
libgcc:
	* config/arm/crtn.S: Fix typo.

	gcc/testsuite:
	* ada/acats/tests/cd/cdd1001.a (CDD1001): Fix typo.

	gcc:
	* config/microblaze/microblaze.md: Fix typo.
	* tree-if-conv.c: Likewise.
	* tree-vect-patterns.c: Likewise.

From-SVN: r185325
2012-03-13 10:22:56 +00:00
Richard Guenther
5bef73a14e libgcov.c: Remove stdio.h include and NULL un-define.
2012-03-13  Richard Guenther  <rguenther@suse.de>

	* libgcov.c: Remove stdio.h include and NULL un-define.

From-SVN: r185324
2012-03-13 10:18:38 +00:00
Richard Guenther
9c4271f337 re PR bootstrap/52569 (bootstrap fails on x86_64-apple-darwin10 at revision 185261)
2012-03-13  Richard Guenther  <rguenther@suse.de>

	PR target/52569
	* unwind-dw2-fde.c: Make avoid-include-gthr.h hacks work again.

From-SVN: r185322
2012-03-13 10:00:48 +00:00
Richard Guenther
c6d10e7c58 gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Fix definition.
2012-03-13  Richard Guenther  <rguenther@suse.de>

	* gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Fix definition.

From-SVN: r185321
2012-03-13 09:39:01 +00:00
Richard Guenther
074a385f07 gthr-posix.h: Remove duplicate __GTHREAD_MUTEX_INIT_FUNCTION and...
2012-03-13  Richard Guenther  <rguenther@suse.de>

	* gthr-posix.h: Remove duplicate __GTHREAD_MUTEX_INIT_FUNCTION
	and __gthread_mutex_init_function definitions.

From-SVN: r185320
2012-03-13 09:33:43 +00:00
Rainer Orth
c4bc5c255a Remove obsolete OpenBSD/MIPS support
libgcc:
	* config.host (mips*-*-openbsd*): Remove.

	gcc:
	* config.gcc (mips*-*-openbsd*): Remove.
	* config/mips/openbsd.h: Remove.
	* config/mips/sdb.h: Remove.

	* config/mips/mips.h (SDB_OUTPUT_SOURCE_LINE): Remove.
	* config/mips/mips.c (sdb_label_count): Remove.
	(mips_debugger_offset): Remove #if 0 code.
	(mips_output_function_prologue) [SDB_DEBUGGING_INFO]: Remove.
	* config/mips/sde.h (SDB_DEBUGGING_INFO): Don't undef.

	contrib:
	* config-list.mk (LIST): Remove mips-openbsd.

From-SVN: r185245
2012-03-12 15:48:55 +00:00
Rainer Orth
5c30094f48 Remove obsolete Tru64 UNIX V5.1B support
libstdc++-v3:
	* configure.host: Remove osf* handling.
	* config/os/osf: Remove.
	* doc/xml/manual/using.xml: Remove OSF reference.

	* testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf*
	handling.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.

	* libstdc++-v3/testsuite/30_threads/async/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/any.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/async.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/launch.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/async/sync.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/39909.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/50862.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/condition_variable_any/members/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/45133.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/get2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/share.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/valid.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke4.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/invoke5.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/reset2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/swap.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/packaged_task/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/cons/move_assign.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/get_future2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_exception2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/set_value3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/promise/members/swap.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/cons/move.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/45133.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/get2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/valid.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_for.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/shared_future/members/wait_until.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/this_thread/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/7.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/8.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/9.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/members/hardware_concurrency.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/thread/swap/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/try_lock/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/1.cc:
	Likewise.
	* libstdc++-v3/testsuite/30_threads/unique_lock/modifiers/2.cc:
	Likewise.
	* libstdc++-v3/testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.

	libobjc:
	* configure.ac (enable_objc_gc): Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	* thr.c (_XOPEN_SOURCE): Define unconditionally.

	libjava:
	* configure.ac (alpha*-dec-osf*): Remove.
	* configure: Regenerate.
	* configure.host (alpha*-dec-osf*): Remove.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
	IPV6_MULTICAST_IF unconditionally.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
	Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
	_Jv_accept.
	* include/posix-signal.h [__alpha__ && __osf__]: Remove.
	* include/posix.h (_POSIX_PII_SOCKET): Don't define.
	(_Jv_accept): Remove.

	* java/io/File.java (File._access): Rename to access.
	Change callers.
	(File._stat): Likewise.
	* java/io/File.h: Regenerate.
	* classpath/lib/java/io/File.class: Regenerate.
	* java/io/natFilePosix.cc (java::io::File::_access): Rename to
	access.
	(java::io::File::_stat): Rename to stat.
	* java/io/natFileWin32.cc: Likewise.

	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	Remove alpha*-dec-osf* handling.
	* testsuite/libjava.jvmti/jvmti-interp.exp
	(gcj_jni_compile_c_to_so): Likewise.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
	Likewise.

	libitm:
	* configure.tgt (*-*-osf*): Remove.
	* configure: Regenerate.

	libgomp:
	* configure.tgt (alpha*-dec-osf*): Remove.

	* config/osf/sem.h: Remove.
	* config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.

	libgfortran:
	* configure.ac: Remove Tru64 reference.
	* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
	handling.
	* configure: Regenerate.
	* intrinsics/c99_functions.c [__osf__]: Remove.

	libgcc:
	* config.host: Remove alpha*-dec-osf5.1* handling.
	* config/alpha/gthr-posix.c: Remove.
	* config/alpha/libgcc-osf5.ver: Remove.
	* config/alpha/osf5-unwind.h: Remove.
	* config/alpha/t-osf-pthread: Remove.
	* config/alpha/t-slibgcc-osf: Remove.
	* config/t-crtfm (crtfastmath.o): Remove -frandom-seed.
	* gthr-posix.h [!_REENTRANT && __osf__] (_REENTRANT): Don't define.
	[__osf__ && _PTHREAD_USE_MANGLED_NAMES_]: Remove.
	* mkmap-flat.awk: Remove osf_export handling.

	gnattools:
	* configure.ac: Remove alpha*-dec-osf* handling.
	* configure: Regenerate.

	gcc/testsuite:
	* g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
	* g++.dg/abi/thunk4.C: Likewise.
	* g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
	Adapt line numbers.
	* g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* g++.dg/cpp0x/constexpr-rom.C: Likewise.
	* g++.dg/eh/spbp.C: Likewise.
	* g++.dg/ext/label13.C: Likewise.
	* g++.dg/guality/guality.exp: Likewise.
	* g++.dg/other/anon5.C: Likewise.
	* g++.dg/other/pragma-ep-1.C: Remove.
	* g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
	* g++.dg/warn/pr31246.C: Likewise.
	* g++.dg/warn/weak1.C: Likewise.
	* g++.old-deja/g++.eh/badalloc1.C: Likewise.
	* g++.old-deja/g++.ext/attrib5.C: Likewise.
	* gcc.c-torture/compile/limits-declparen.c: Likewise.
	* gcc.c-torture/compile/limits-pointer.c: Likewise.
	* gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
	* gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
	* gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/c99-tgmath-1.c: Likewise.
	* gcc.dg/c99-tgmath-2.c: Likewise.
	* gcc.dg/c99-tgmath-3.c: Likewise.
	* gcc.dg/c99-tgmath-4.c: Likewise.
	* gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
	handling.
	* gcc.dg/debug/pr49032.c: Likewise.
	* gcc.dg/guality/guality.exp: Likewise.
	* gcc.dg/intmax_t-1.c: Likewise.
	* gcc.dg/pr48616.c: Likewise.
	* gcc.dg/pragma-ep-1.c: Remove.
	* gcc.dg/pragma-ep-2.c: Remove.
	* gcc.dg/pragma-ep-3.c: Remove.
	* gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
	* gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
	* gcc.misc-tests/gcov-14.c: Likewise.
	* gfortran.dg/guality/guality.exp: Likewise.
	* lib/target-supports.exp (check_weak_available): Likewise.
	(add_options_for_tls): Likewise.
	(check_ascii_locale_available): Likewise.
	* obj-c++.dg/dwarf-2.mm: Likewise.
	* objc.dg/dwarf-1.m: Likewise.
	* objc.dg/dwarf-2.m: Likewise.

	gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
	handling.
	* c-pragma.c (handle_pragma_extern_prefix): Remove.
	(init_pragma): Don't register extern_prefix.

	gcc/po:
	* EXCLUDES (mips-tdump.c, mips-tfile.c): Remove.

	gcc:
	* config.gcc (alpha*-dec-osf5.1*): Remove.
	* config.host (alpha*-dec-osf*): Remove.
	* configure.ac (*-*-osf*): Remove.
	(alpha*-dec-osf*): Remove.
	* configure: Regenerate.

	* config/alpha/host-osf.c, config/alpha/osf5.h,
	config/alpha/osf5.opt, config/alpha/va_list.h, config/alpha/x-osf:
	Remove.

	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
	* config/alpha/alpha.c (struct machine_function): Update comment.
	(alpha_start_function): Remove Tru64 UNIX as handling for
	max_frame_size.
	* config/alpha/alpha.md ("exception_receiver"): Remove
	TARGET_LD_BUGGY_LDGP.
	("*exception_receiver_2"): Likewise.
	* except.c (finish_eh_generation): Remove Tru64 reference.
	* ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
	* system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
	* target.def (handle_pragma_extern_prefix): Remove.

	* Makefile.in (mips-tfile.o-warn): Remove.
	(ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
	(mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
	* mips-tdump.c, mips-tfile.c: Remove.

	* doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
	extern_prefix.
	* doc/install.texi (Binaries): Remove Tru64 UNIX reference.
	(Specific, alpha*-dec-osf5.1): Note removal.
	* doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
	Remove.
	* doc/tm.texi: Regenerate.
	* doc/trouble.texi (Cross-Compiler Problems): Remove.

	gcc/ada:
	* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
	* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
	s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
	s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
	system-tru64.ads: Remove.

	* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
	Remove.
	[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
	* env.c [__alpha__ && __osf__]: Remove.
	* gsocket.h (_OSF_SOURCE): Remove.
	(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
	* init.c [__alpha__ && __osf__]: Remove.
	* link.c [__osf__]: Remove.
	* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
	[__osf__ && !_SS_MAXSIZE]: Remove.
	* sysdep.c [__osf__]: Remove.
	* terminals.c [__alpha__ && __osf__]: Remove.
	[OSF1]: Remove.

	* g-traceb.ads: Remove Tru64 reference.
	* g-trasym.ads: Likewise.
	* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
	(Summary of Run-Time Configurations): Likewise.
	* memtrack.adb: Likewise.

	fixincludes:
	* inclhack.def (alpha___extern_prefix): Remove.
	(alpha___extern_prefix_standards): Remove.
	(alpha___extern_prefix_sys_stat): Remove.
	(alpha_bad_lval): Remove.
	(alpha_pthread): Remove.
	(alpha_pthread_gcc): Remove.
	(alpha_pthread_init): Remove.
	* fixincl.x: Regenerate.
	* tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: Remove.
	[ALPHA_PTHREAD_GCC_CHECK]: Remove.
	[ALPHA_PTHREAD_INIT_CHECK]: Remove.
	* tests/base/standards.h: Remove.
	* tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_SYS_STAT_CHECK]:
	Remove.
	* tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: Remove.
	[ALPHA_BAD_LVAL_CHECK]: Remove.

	contrib:
	* config-list.mk (LIST): Remove alpha-dec-osf5.1.

	config:
	* weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove
	alpha*-dec-osf*.

	toplevel:
	* MAINTAINERS (OS Port Maintainers): Remove osf.
	* configure.ac (enable_libgomp): Remove *-*-osf*.
	(with_stabs): Remove alpha*-*-osf*.
	* configure: Regenerate.

From-SVN: r185240
2012-03-12 15:35:56 +00:00
Richard Guenther
33e3e24d74 re PR gcov-profile/49484 (gcov crash if two(or more) forks happen at the same time)
2012-03-12  Richard Guenther  <rguenther@suse.de>

	* gthr.h (__GTHREAD_MUTEX_INIT_FUNCTION): Adjust specification.
	* gthr-posix.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define.
	(__gthread_mutex_init_function): New function.
	* gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define.

	PR gcov/49484
	* libgcov.c: Include gthr.h.
	(__gcov_flush_mx): New global variable.
	(init_mx, init_mx_once): New functions.
	(__gcov_flush): Protect self with a mutex.
	(__gcov_fork): Re-initialize mutex after forking.
	* unwind-dw2-fde.c: Change condition under which to use
	__GTHREAD_MUTEX_INIT_FUNCTION.

From-SVN: r185231
2012-03-12 14:23:27 +00:00
Tristan Gingold
d8aba32a09 vms.opt: Add vms-opts.h header.
2012-03-12  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms.opt: Add vms-opts.h header.
	(mmalloc64): Use flag_vms_malloc64 flag instead of MALLOC64
	target mask.
	(-mvms-return-codes): Document.
	(-mpointer-size): New option.
	(vms_pointer_size): Add enumeration.
	* config/vms/vms-opts.h: New file.
	* config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
	__INITIAL_POINTER_SIZE.
	(POINTER_SIZE, SIZE_TYPE, PTRDIFF_TYPE): Adjust definition.
	(C_COMMON_OVERRIDE_OPTIONS): Define.
	(DWARF2_ADDR_SIZE): Define.
	* config/vms/vms.c (vms_patch_builtins): Adjust condition.
	* config/vms/vms-protos.h (vms_c_common_override_options):
	New prototype.
	* config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
	if -mno-pointer-size.
	(vms_c_common_override_options): New function.
	* config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
	* config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
	(MALLOC_ABI_ALIGNMENT): Use flag_vms_malloc64
	and flag_vms_pointer_size.
	(MASK_RETURN_ADDR): Set according to flag_vms_pointer_size.
	* config.gcc (*-*-*vms*): Define xm_file.
	(alpha*-dec-*vms*): Do not define xm_file.
	(alpha64-dec-*vms*): Remove.
	(ia64-hp-*vms*): Do not define xm_file.  Simplify tm_file
	and tmake_file.

libgcc/
2012-03-12  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/t-vms: Define HOST_LIBGCC2_CFLAGS.
	* config/ia64/t-vms: Likewise.

gcc/ada/
2012-03-12  Tristan Gingold  <gingold@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
	instead of TARGET_MALLOC64.
	* gcc-interface/gigi.h (flag_vms_malloc64): Define instead
	of TARGET_MALLOC64.

From-SVN: r185224
2012-03-12 11:58:16 +00:00
Michael Hope
75ffafdc62 For Michael Hope.
2012-03-11  Michael Hope  <michael.hope@linaro.org>

       * longlong.h [ARM] (add_ssaaaa, sub_ddmmss, umul_ppmm): Enable
       for Thumb-2

From-SVN: r185202
2012-03-11 23:58:54 +00:00
Walter Lee
ef6c2c5316 Rename some internal atomic macros to have a less generic prefix.
From-SVN: r185074
2012-03-07 20:05:52 +00:00
Georg-Johann Lay
4e30d980cb re PR target/52507 ([avr]: movmem loop for __memx address space uses wrong loop label)
PR target/52507
	* config/avr/lib1funcs.S (__movmemx_hi): Fix loop label in RAM-part.

From-SVN: r185033
2012-03-07 10:39:42 +00:00
Georg-Johann Lay
611082257d re PR target/52505 ([avr]: __memx address space reading unintentionally from RAM)
libgcc/
	PR target/52505
	* config/avr/lib1funcs.S (__xload_1): Don't read unintentionally
	from RAM.

gcc/
	PR target/52505
	* config/avr/avr.c (avr_out_xload): Don't read unintentionally
	from RAM.
	* config/avr/avr.md (xload_8): Adjust insn length.

From-SVN: r185031
2012-03-07 10:36:30 +00:00
Georg-Johann Lay
b30e10aba7 re PR target/52461 ([avr] XMEGA+EBI: RAMPZ clobbered while reading from flash)
libgcc/
	PR target/52461
	PR target/52508
	* config/avr/lib1funcs.S (__do_copy_data): Clear RAMPZ after usage
	if RAMPZ affects reading from RAM.
	(__tablejump_elpm__): Ditto.
	(.xload): Ditto.
	(__movmemx_hi): Ditto.
	(__do_global_ctors): Right condition for RAMPZ usage is "have ELPM".
	(__do_global_dtors): Ditto.
	(__xload_1, __xload_2, __xload_3, __xload_4): Ditto.
	(__movmemx_hi): Ditto.
gcc/	
	PR target/52461
	* gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
	if RAMPZ affects reading from RAM.

From-SVN: r185030
2012-03-07 10:33:19 +00:00
Richard Henderson
8993fde432 arm: Enable umull and ctz in longlong.h
* longlong.h [ARM] (umul_ppmm): Use umull for arm3m and later.
        [ARM] (count_trailing_zeros): Use the builtin.

From-SVN: r184957
2012-03-05 12:12:14 -08:00
Kai Tietz
b7633ee392 soft-fp: Imported from glibc upstream.
* soft-fp: Imported from glibc upstream.

From-SVN: r184760
2012-03-01 21:50:26 +01:00
Kai Tietz
fbd3340c7d sfp-machine.h (_FP_STRUCT_LAYOUT): Define it for mingw-targets as attribute gcc_struct.
* config/i386/sfp-machine.h (_FP_STRUCT_LAYOUT): Define it
        for mingw-targets as attribute gcc_struct.

From-SVN: r184641
2012-02-28 21:53:35 +01:00
Ian Lance Taylor
e9e053ebfd generic-morestack.c (__splitstack_releasecontext): Correct call to __morestack_release_segments.
* generic-morestack.c (__splitstack_releasecontext): Correct call
	to __morestack_release_segments.

From-SVN: r184634
2012-02-28 17:43:43 +00:00
Samuel Thibault
d80c632e19 re PR target/52390 (only linux uses nptl)
PR target/52390
	* generic-morestack.c (__generic_morestack_set_initial_sp): Test
	for __linux__ when removing signals from __morestack_fullmask.

From-SVN: r184606
2012-02-27 18:50:45 +00:00
Georg-Johann Lay
0253a8b165 re PR target/52261 ([avr] Add support for AVR Xmega cores)
PR target/52261
	* config/avr/lib1funcs.S (__AVR__XMEGA__): Fix tippo to __AVR_XMEGA__.

From-SVN: r184522
2012-02-23 19:26:00 +00:00
Ulrich Weigand
e10e461eef acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of HAVE_INITFINI_ARRAY to work around...
gcc/
	* acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
	HAVE_INITFINI_ARRAY to work around namespace pollution in
	certain versions of newlib system headers.
	* config.in: Regenerate.
	* configure: Regenerate.
	* config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
	instead of HAVE_INITFINI_ARRAY.

	libgcc/
	* config/ia64/crtbegin.S: Use HAVE_INITFINI_ARRAY_SUPPORT
	instead of HAVE_INITFINI_ARRAY.
	* config/ia64/crtend.S: Likewise.

From-SVN: r184503
2012-02-23 10:16:39 +00:00
Kai Tietz
d747037445 re PR libstdc++/52300 (Gthreads functions linking error at dynamic linking with libstdc++ when using MinGW.)
PR libstdc++/52300
       * gthr.h (GTHREAD_USE_WEAK): Define as zero for mingw.

From-SVN: r184406
2012-02-20 22:22:07 +01:00
Kai Tietz
0c0c63986e config.host (i686-*-mingw*): Set md_unwind_header only for dw2-mode to w32-unwind.h header.
* config.host (i686-*-mingw*): Set md_unwind_header only for dw2-mode
        to w32-unwind.h header.

From-SVN: r184405
2012-02-20 22:19:55 +01:00
Richard Sandiford
78c2726669 mips.c (mips_need_mips16_rdhwr_p): New variable.
gcc/
	* config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
	(mips_get_tp): Set it.  Record that __mips16_rdhwr binds locally.
	(mips_start_unique_function, mips_output_mips16_rdhwr)
	(mips_code_end): New functions.
	(TARGET_ASM_CODE_END): Define.

libgcc/
	* config.host (mips64*-*-linux*, mipsisa64*-*-linux*)
	(mips*-*-linux*): Remove t-slibgcc-libgcc.
	* config/mips/t-mips16 (LIB1ASMFUNCS): Remove __mips16_rdhwr.
	* config/mips/mips16.S (__mips16_rdhwr): Delete.

From-SVN: r184380
2012-02-19 16:47:19 +00:00
Richard Sandiford
5adeb24686 mips.c (mips16_build_call_stub): Add CFI information to stubs with non-sibling calls.
gcc/
	* config/mips/mips.c (mips16_build_call_stub): Add CFI information
	to stubs with non-sibling calls.

libgcc/
	* config/mips/mips16.S (CALL_STUB_RET): Add CFI information.

From-SVN: r184379
2012-02-19 16:44:54 +00:00
Iain Sandoe
672ed3139a re PR libitm/52220 (FAIL: libitm.c++/eh-1.C execution test due to Xcode 4 weakref linker bug)
PR libitm/52220
	* config/darwin-crt-tm.c: Correct typo.

From-SVN: r184305
2012-02-16 09:46:31 +00:00
Iain Sandoe
e948a1fbd4 re PR libitm/52220 (FAIL: libitm.c++/eh-1.C execution test due to Xcode 4 weakref linker bug)
libitm/
2012-02-15  Iain Sandoe  <iains@gcc.gnu.org>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/52220
	* alloc_cpp.cc: No dummy definitions for darwin.
	* eh_cpp.cc: Likewise.

libgcc/
2012-02-15  Iain Sandoe  <iains@gcc.gnu.org>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/52220
	* config/darwin-crt-tm.c: Generate dummy functions.


Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>

From-SVN: r184293
2012-02-15 23:39:28 +00:00
Iain Sandoe
6017aed304 re PR libitm/52042 (libitm.c/clone-1.c (all darwin) and libitm.c/stackundo.c (darwin 11) execution tests fail with -fpie)
2012-02-15  Iain Sandoe  <iains@gcc.gnu.org>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/52042
	* config/darwin-crt-tm.c (getTMCloneTable): New function.
	(__doTMRegistrations): Call it.
	(__doTMdeRegistrations): Likewise. 


Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>

From-SVN: r184281
2012-02-15 19:17:42 +00:00
Georg-Johann Lay
2da8c1adcf re PR target/52261 ([avr] Add support for AVR Xmega cores)
libgcc/
	PR target/52261
	* config/avr/lib1funcs.S (__prologue_saves__): Handle AVR_XMEGA
	(__epilogue_restores__): Ditto.

gcc/
	PR target/52261
	* config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
	avrxmega4, avrxmega5, avrxmega6, avrxmega7.
	Rewrite initializers for .macro.
	* config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
	avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
	atxmega32d4, atxmega32x1.
	avrxmega4: atxmega64a3, atxmega64d3.
	avrxmega5: atxmega64a1, atxmega64a1u.
	avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
	atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
	avrxmega7: atxmega128a1, atxmega128a1u.

	* config/avr/multilib.h: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* config/avr/avr-tables.opt: Regenerate.

	* config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
	ARCH_AVRXMEGA4,	ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
	(struct base_arch_s): Rename reserved to xmega_p.
	Rename reserved2 to have_rampd.
	(AVR_XMEGA): New define.
	(AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
	(AVR_HAVE_RAMPZ): Change definition to fit xmega.

	* config/avr/predicates.md (io_address_operand): Take into
	account SFR offset.
	(low_io_address_operand): Ditto.
	(high_io_address_operand): Ditto.
	
	* config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
	(enabled, movhi_sp_r): Use them.

	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
	cpp_define_formatted to built-in define __AVR_ARCH__.
	(__AVR_XMEGA__): New built-in define.
	(__AVR_HAVE_RAMPD__): New built-in define.
	(__AVR_HAVE_RAMPX__): New built-in define.
	(__AVR_HAVE_RAMPY__): New built-in define.
	(__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.

	* config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
	(avr_option_override): Initialize them.
	(sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
	(avr_init_expanders): Initialize them. No more block several calls.
	(emit_push_sfr): New static function.
	(avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
	Handle AVR_XMEGA.
	(expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
	(avr_print_operand): Print addreeses as symbols for
	RAMPX, RAMPY, RAMPD, CCP.
	(output_movhi): Handle AVR_XMEGA when writing to SP.
	(avr_out_movhi_mr_r_xmega): New static function.
	(out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
	(avr_file_start): Print symbol defines for __RAMPX__,  __RAMPY__,
	__RAMPD__,  __CCP__ as needed.


Co-Authored-By: Anatoly Sokolov <aesok@post.ru>
Co-Authored-By: Eric Weddington <eric.weddington@atmel.com>

From-SVN: r184269
2012-02-15 13:15:56 +00:00
Eric Botcazou
0f952eb4cc re PR target/51921 (EH unwinding support is broken)
PR target/51921
	PR target/52205
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Add support for
	Solaris 11 and slightly reformat.
	(sparc_is_sighandler): Likewise.

From-SVN: r184255
2012-02-15 08:13:09 +00:00
Walter Lee
dd552284fd Add ports for TILE-Gx and TILEPro.
.
	* MAINTAINERS (tilegx port): Add myself.
	(tilepro port): Add myself.

contrib
	* config-list.mk (LIST): Add tilegx-linux-gnu and
	tilepro-linux-gnu.
	* gcc_update (gcc/config/tilegx/mul-tables.c): New dependencies.
	(gcc/config/tilepro/mul-tables.c): New dependencies.

gcc
	* config.gcc: Handle tilegx and tilepro.
	* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
	tilegx and tilepro.
	Add HAVE_AS_TLS check for tilegx and tilepro.
	* configure: Regenerate.
	* doc/contrib.texi: Add Mat Hostetter and self.
	* doc/extend.texi (TILE-Gx Built-in Functions): New node.
	Document instruction intrinsics and network accessing intrinsics.
	(TILEPro Built-in Functions): New node.	 Document instruction
	intrinsics and network accessing intrinsics.
	* doc/install.texi (Specific, tilegx-*-linux*): Document it.
	(Specific, tilepro-*-linux*): Likewise.
	* doc/invoke.texi (TILE-Gx Options): New section.
	(TILEPro Options): New section.
	* doc/md.texi (TILE-Gx): New section.
	(TILEPro): New section.
	* common/config/tilegx: New directory for tilegx.
	* common/config/tilepro: New directory for tilepro.
	* config/tilegx: New directory for tilegx.
	* config/tilepro: New directory for tilepro.

gcc/testsuite
	* g++.dg/other/PR23205.C: Disable test on tile.
	* g++.dg/other/pr23205-2.C: Disable test on tile.
	* gcc.dg/20020312-2.c: Add a condition for __tile__.
	* gcc.dg/20040813-1.c: Disable test on tile.
	* gcc.dg/lower-subreg-1.c: Disable test on tilegx.
	* gcc.misc-tests/linkage.exp: Handle tilegx.

libcpp
	* configure.ac: Require 64-bit hwint for tilegx and tilepro.
	* configure: Regenerate.

libgcc
	* config.host: Handle tilegx and tilepro.
	* config/tilegx: New directory for tilegx.
	* config/tilepro: New directory for tilepro.

libgomp
	* configure.tgt: Handle tilegx and tilepro.
	* config/linux/tile: New directory for tilegx and tilepro.

Added:
     trunk/gcc/common/config/tilegx/tilegx-common.c
     trunk/gcc/common/config/tilepro/tilepro-common.c
     trunk/gcc/config/tilegx/constraints.md
     trunk/gcc/config/tilegx/linux.h
     trunk/gcc/config/tilegx/mul-tables.c
     trunk/gcc/config/tilegx/predicates.md
     trunk/gcc/config/tilegx/sync.md
     trunk/gcc/config/tilegx/t-tilegx
     trunk/gcc/config/tilegx/tilegx-builtins.h
     trunk/gcc/config/tilegx/tilegx-c.c
     trunk/gcc/config/tilegx/tilegx-generic.md
     trunk/gcc/config/tilegx/tilegx-modes.def
     trunk/gcc/config/tilegx/tilegx-multiply.h
     trunk/gcc/config/tilegx/tilegx-protos.h
     trunk/gcc/config/tilegx/tilegx.c
     trunk/gcc/config/tilegx/tilegx.h
     trunk/gcc/config/tilegx/tilegx.md
     trunk/gcc/config/tilegx/tilegx.opt
     trunk/gcc/config/tilepro/constraints.md
     trunk/gcc/config/tilepro/gen-mul-tables.cc
     trunk/gcc/config/tilepro/linux.h
     trunk/gcc/config/tilepro/mul-tables.c
     trunk/gcc/config/tilepro/predicates.md
     trunk/gcc/config/tilepro/t-tilepro
     trunk/gcc/config/tilepro/tilepro-builtins.h
     trunk/gcc/config/tilepro/tilepro-c.c
     trunk/gcc/config/tilepro/tilepro-generic.md
     trunk/gcc/config/tilepro/tilepro-modes.def
     trunk/gcc/config/tilepro/tilepro-multiply.h
     trunk/gcc/config/tilepro/tilepro-protos.h
     trunk/gcc/config/tilepro/tilepro.c
     trunk/gcc/config/tilepro/tilepro.h
     trunk/gcc/config/tilepro/tilepro.md
     trunk/gcc/config/tilepro/tilepro.opt
     trunk/libgcc/config/tilegx/sfp-machine.h
     trunk/libgcc/config/tilegx/sfp-machine32.h
     trunk/libgcc/config/tilegx/sfp-machine64.h
     trunk/libgcc/config/tilegx/t-crtstuff
     trunk/libgcc/config/tilegx/t-softfp
     trunk/libgcc/config/tilegx/t-tilegx
     trunk/libgcc/config/tilepro/atomic.c
     trunk/libgcc/config/tilepro/atomic.h
     trunk/libgcc/config/tilepro/linux-unwind.h
     trunk/libgcc/config/tilepro/sfp-machine.h
     trunk/libgcc/config/tilepro/softdivide.c
     trunk/libgcc/config/tilepro/softmpy.S
     trunk/libgcc/config/tilepro/t-crtstuff
     trunk/libgcc/config/tilepro/t-tilepro
     trunk/libgomp/config/linux/tile/futex.h
Modified:
     trunk/MAINTAINERS
     trunk/contrib/config-list.mk
     trunk/contrib/gcc_update
     trunk/gcc/config.gcc
     trunk/gcc/configure
     trunk/gcc/configure.ac
     trunk/gcc/doc/contrib.texi
     trunk/gcc/doc/extend.texi
     trunk/gcc/doc/install.texi
     trunk/gcc/doc/invoke.texi
     trunk/gcc/doc/md.texi
     trunk/gcc/testsuite/g++.dg/other/PR23205.C
     trunk/gcc/testsuite/g++.dg/other/pr23205-2.C
     trunk/gcc/testsuite/gcc.dg/20020312-2.c
     trunk/gcc/testsuite/gcc.dg/20040813-1.c
     trunk/gcc/testsuite/gcc.dg/lower-subreg-1.c
     trunk/gcc/testsuite/gcc.misc-tests/linkage.exp
     trunk/libcpp/configure
     trunk/libcpp/configure.ac
     trunk/libgcc/config.host
     trunk/libgomp/configure.tgt

From-SVN: r184203
2012-02-14 10:02:21 +00:00
Jonathan Wakely
b59cbd5034 re PR libstdc++/51296 (Several 30_threads tests FAIL on Tru64 UNIX)
libgcc/

	PR libstdc++/51296
	PR libstdc++/51906
	* gthr-posix.h: Allow static initializer macros to be disabled.
	(__gthrw_pthread_cond_init): Define weak reference unconditionally.

libstdc++-v3/

	PR libstdc++/51296
	* include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
	* src/c++11/condition_variable.cc (condition_variable): Use macro for
	initializer function.

	PR libstdc++/51906
	* config/os/bsd/darwin/os_defines.h: Disable static initializer for
	recursive mutexes.

From-SVN: r183955
2012-02-07 09:19:27 +00:00
Chung-Lin Tang
6caf807fba config.host (mips64*-*-linux*, [...]): Add t-slibgcc-libgcc to tmake_file.
libgcc/
2012-02-05  Chung-Lin Tang  <cltang@codesourcery.com>

	* config.host (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
	Add t-slibgcc-libgcc to tmake_file.
	* config/mips/libgcc-mips16.ver: Revert previous patch.
	* config/mips/mips16.S (__mips16_rdhwr): Hide.

From-SVN: r183912
2012-02-05 15:03:15 +00:00
Sumanth G
b25364a0b9 Adding GCC port for National Semicondutor's CR16 architecture
Co-Authored-By: Jayant R Sonar <jayant.sonar@kpitcummins.com>

From-SVN: r183832
2012-02-02 10:20:32 +00:00
Alan Modra
8ef03aa785 t-linux64: Delete.
* config/rs6000/t-linux64: Delete.  Move..
	* config/rs6000/t-ppc64-fp: ..softfp_wrap defines to here..
	* config/rs6000/t-linux: ..and libgcc flags to here.

From-SVN: r183491
2012-01-25 06:05:22 +10:30
Douglas Rupp
daecebc805 Interix resurrection
2012-01-22  Douglas B Rupp  <rupp@gnat.com>

	* <toplevel>/config/mh-interix: Remove as unneeded.
	* <toplevel>/config/picflag.m4 (i[[34567]]86-*-interix3*):
	Change triplet to i[[34567]]86-*-interix[[3-9]]*.

	* <toplevel>/configure.ac: Remove reference to mh-interix.
	* <toplevel>/configure: Regenerate.

	* <toplevel>/libada/configure: Regenerate.

	* <toplevel>libgcc/config.host (i[34567]86-*-interix3*):
	Change triplet to i[34567]86-*-interix[3-9]*.
	* <toplevel>/libgcc/configure: Regenerate.

	* <toplevel>/liberty/configure: Regenerate.

	* config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
	configurations. Change triplet to i[34567]86-*-interix[3-9]*.
	(extra_options) interix.opt -> i386/interix.opt"
	(extra_objs):Add winnt-stubs.o
	* configure.ac: Add interix to target_os .comm on PE check.
	* configure: Regenerate.
	* config/interix3.h: Delete and move bits to..
	* config/interix.h: Delete and move bits to..
	* config/i386/i386-interix3.h: Delete and move bits to..
	* config/i386/i386-interix.h: ..here.
	(TARGET_CPU_DEFAULT): Remove redefinition.
	(TARGET_ASM_CONSTRUCTOR): Undefine.
	(SUBTARGET_SWITCHES): Define for ms-bitfields.
	(TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
	(PTRDIFF_TYPE): Define.
	(LONG_DOUBLE_TYPE_SIZE): Define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
	(SUBTARGET_OVERRIDE_OPTIONS): Remove.
	(TARGET_SECTION_TYPE_FLAGS): Define.
	(ASM_DECLARE_FUNCTION_NAME): Define.
	(ASM_OUTPUT_EXTERNAL): Define.
	(ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
	(ASM_OUTPUT_ALIGNED_BSS): Define.
	(PCC_BITFIELD_TYPE_MATTERS): Define.
	(USE_CONST_SECTION): Define.
	(SUBTARGET_ENCODE_SECTION_INFO): Remove.
	(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
	(SUPPORTS_ONE_ONLY): Remove.
	(I386_PE_STRIP_ENCODING): Define.
	* config/interix.opt: Delete and move bits to..
	* config/i386/interix.opt: ..here. New.
	(mpe-aligned-commons): Add.
	* config/i386/t-interix: Add copyright header.
	(winnt-stubs.o): Add rule.

	* testsuite/gcc.dg/builtins-config.h: (HAVE_C99_RUNTIME):
	Do not define for Interix.

From-SVN: r183406
2012-01-23 06:25:28 +00:00
Ian Lance Taylor
9ffaf4bc3c morestack.S: Simplify CFI opcodes throughout.
* config/i386/morestack.S: Simplify CFI opcodes throughout.
(Forgot to commit ChangeLog entry with last change to morestack.S.)

From-SVN: r183281
2012-01-18 19:11:34 +00:00
Richard Sandiford
ddaf812593 mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
gcc/
2012-01-08  Chung-Lin Tang  <cltang@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
	(SYMBOL_32_HIGH): Likewise.
	(mips_output_tls_reloc_directive): Declare.
	* config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
	(mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
	* config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
	(mips_lo_relocs, mips_hi_relocs): Make extern.
	(mips16_stub_function): Move up file.
	(mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
	(mips_symbolic_constant_p): Likewise.  Remove SYMBOL_32_HIGH too.
	(mips_symbol_insns_1): Likewise.  Check mips_use_pcrel_pool_p.
	(mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead
	of SYMBOL_FORCE_TO_MEM.  Only check mips_tls_symbol_ref_1
	if it's false.
	(mips_get_tp): Add MIPS16 support.
	(mips_legitimize_tls_address): Remove MIPS16 sorry().
	Generalize DTPREL and TPREL handling.
	(mips_init_relocs): Initialize mips_use_pcrel_pool_p.
	Add MIPS16 TLS support.
	(mips_output_tls_reloc_directive): New function.
	(mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
	* config/mips/predicates.md (symbolic_operand_with_high)
	(tls_reloc_operand): New predicates.
	(force_to_mem_operand): Use mips_use_pcrel_pool_p.
	* config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
	(PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
	(*unshifted_high): New instruction.  Use it for MIPS16
	high splitter.
	(consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
	(*tls_get_tp_mips16_call_<mode>): Likewise.

gcc/testsuite/
	* gcc.target/mips/code-readable-2.c: Allow the jump table address
	to be loaded from the constant pool, rather than via %hi and %lo.

libgcc/
2012-01-08  Chung-Lin Tang  <cltang@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mips/libgcc-mips16.ver (__mips16_rdhwr): Add.
	* config/mips/mips16.S (__mips16_rdhwr): New function.
	* config/mips/t-mips16 (LIB1ASMFUNCS): Add _m16rdhwr.

From-SVN: r183195
2012-01-15 18:22:55 +00:00
Nathan Sidwell
2cd8b32cb9 * libgcov.c (__gcov_init): Ignore objects with no functions.
From-SVN: r183103
2012-01-11 18:50:21 +00:00
Georg-Johann Lay
cba300dd7d re PR target/49868 (Implement named address space to place/access data in flash memory)
libgcc/
	PR target/49868
	Extend __pgmx semantics to linearize memory.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx.
	* config/avr/lib1funcs.S (__xload_1): New function.
	(__movmemx_qi, __movmemx_hi): New functions.
	(__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx
	semantics.

gcc/
	PR target/49868
	Extend __pgmx semantics to linearize memory.
	* config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
	determine if code comes inline or from libgcc.
	(MOVMEM_r_d:HI): Add "w" to constraint for better preference.
	(movmem_qi, movmem_qi): Set constraint #2 to "n".
	(movmem_qi_elpm, movmem_hi_elpm): Remove insns.
	(movmemx_qi, movmemx_hi): New insns.
	(xload_<mode>_libgcc): Rewrite to new insn condition.
	(xload_<mode>): Remove insns.
	* config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
	cases that don't satisfy avr_xload_libgcc_p().
	(avr_addr_space_convert): Allow converting in any direction.
	(avr_addr_space_subset_p): Return always true.
	(avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
	(avr_emit_movmemhi): Ditto.
	(avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
	(avr_out_movmem): Ditto.
	(AVR_SYMBOL_FLAG_PROGMEM): New macro.
	(AVR_SYMBOL_SET_ADDR_SPACE): New macro.
	(AVR_SYMBOL_GET_ADDR_SPACE): New macro.
	(avr_encode_section_info): Encode 'progmem' in symbol flags.
	(output_reload_in_const): Don't zero-extend any 24-bit symbols.

From-SVN: r183058
2012-01-10 09:42:10 +00:00
Eric Botcazou
3d137660a5 sol2-unwind.h (sparc64_is_sighandler): Check that the purported sigacthandler address isn't null before dereferencing it.
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
	purported sigacthandler address isn't null before dereferencing it.
	(sparc_is_sighandler): Likewise.

From-SVN: r183020
2012-01-09 18:20:55 +00:00
Eric Botcazou
bf4db96c93 re PR ada/41929 (64-bit null_pointer_deref1 gnat.dg test consumes all available memory)
PR ada/41929
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and
	add CFA.  Revert back to old code for Solaris 8+ multi-threaded.
	(sparc_is_sighandler): Likewise.
	(MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER.

From-SVN: r183005
2012-01-09 09:50:19 +00:00
Tristan Gingold
1ab3568bd5 t-ia64 (LIB1ASMFUNCS): Move backward compatibility thunks...
2012-01-06  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/t-ia64 (LIB1ASMFUNCS): Move backward
	compatibility thunks...
	(CUSTOM_CRTSTUFF, crtbegin.o, crtend.o)
	(crtbeginS.o, crtendS.o): ... and these to ...
	* config/ia64/t-ia64-elf: ... this new file.
	* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64*-*-linux*)
	(ia64*-*-hpux*): Add ia64/t-ia64-elf in tmake_file.

From-SVN: r182952
2012-01-06 13:43:03 +00:00
Andreas Krebbel
925b0ed821 re PR bootstrap/51734 (Bootstrap fails in libada)
config/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR bootstrap/51734
	* picflag.m4: Remove s390 case statement.

gcc/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.

libada/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.

libgcc/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.
	* config/s390/t-crtstuff: Remove -fPIC.

libiberty/
2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.

From-SVN: r182868
2012-01-04 11:41:06 +00:00
Jonathan Wakely
a99ad7372c re PR bootstrap/51006 (bootstrap fails on NetBSD 5.1)
2012-01-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR bootstrap/51006
	* enable-execute-stack-mprotect.c (getpagesize): Do not define
	for NetBSD.

From-SVN: r182860
2012-01-03 21:39:46 +00:00
Georg-Johann Lay
884f56d1e1 re PR target/51345 ([avr] Devices with 8-bit SP need their own multilib(s))
contrib/
	PR target/51345
	* gcc_update (files_and_dependencies): Add
	gcc/config/avr/t-multilib, gcc/config/avr/multilib.h.
	
libgcc/
	PR target/51345
	* config/avr/lib1funcs.S: Remove FIXME comments.
	(SPEED_DIV): Depend on __AVR_HAVE_8BIT_SP__.
gcc/	
	PR target/51345
	* config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
	(tmake_file target=avr): Add avr/t-multilib.

	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
	to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
	* config/avr/genmultilib.awk: New file.
	* config/avr/t-multilib: New auto-generated file.
	* config/avr/multilib.h: New auto-generated file.
	* config/avr/t-avr (AVR_MCUS): New variable.
	(genopt.sh): Use it.
	(s-mlib): Depend on t-multilib.
	(t-multilib, multilib.h): New dependencies.
	(s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
	(MULTILIB_OPTIONS): Remove.
	(MULTILIB_MATCHES): Remove.
	(MULTILIB_DIRNAMES): Remove.
	(MULTILIB_EXCEPTIONS): Remove:
	* config/avr/genopt.sh: Don't use hard coded file name;
	pass AVR_MCUS from t-avr instead.

From-SVN: r182797
2012-01-02 12:51:57 +00:00
Georg-Johann Lay
8c57e5473e Implement light-weight DImode support.
gcc/
	Implement light-weight DImode support.
	* config/avr/avr-dimode.md: New file.
	* config/avr/avr.md: Include it.
	(adjust_len): Add plus64, compare64.
	(HIDI): Remove code iterator.
	(code_stdname): New code attribute.
	(rotx, rotsmode): Remove DI.
	(rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
	as code iterator.
	* config/avr/avr-protos.h (avr_have_dimode): New.
	(avr_out_plus64, avr_out_compare64): New.
	* config/avr/avr.c (avr_out_compare): Handle DImode.
	(avr_have_dimode): New variable definition and initialization.
	(avr_out_compare64, avr_out_plus64): New functions.
	(avr_out_plus_1): Use simplify_unary_operation to negate xval.
	(adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
	(avr_compare_pattern): Skip DImode comparisons.

libgcc/
	Implement light-weight DImode support.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8,
	_subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3.
	* config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3,
	__cmpdi2, __cmpdi2_s8, __rotldi3): New functions.

From-SVN: r182794
2012-01-02 12:30:56 +00:00
Nathan Sidwell
04dbc287a6 libgcov.c (gcov_crc32): Remove global var.
* libgcov.c (gcov_crc32): Remove global var.
	(free_fn_data): New function.
	(buffer_fn_data): Pass in filename, more robust error recovery.
	(crc32_unsigned): New function.
	(gcov_exit): More robust detection of new program. More robust
	error recovery.
	(__gcov_init): Do not update program's crc here.

From-SVN: r182743
2011-12-30 18:08:56 +00:00
Ian Lance Taylor
c9312a37c6 * config/i386/morestack.S: Simplify CFI opcodes throughout.
From-SVN: r182609
2011-12-22 00:09:39 +00:00
Tristan Gingold
8e1d97d43b fde-vms.c (UNW_IVMS_MODE): Define.
2011-12-21  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/fde-vms.c (UNW_IVMS_MODE): Define.

From-SVN: r182568
2011-12-21 08:52:47 +00:00
Ian Lance Taylor
a0c8d0c1e3 morestack.S (__morestack_non_split): If there is enough stack space already, don't split.
* config/i386/morestack.S (__morestack_non_split): If there is
	enough stack space already, don't split.  Ask for more stack space
	than we required.

From-SVN: r182555
2011-12-20 22:34:30 +00:00
Sergio Durigan Junior
6904889880 unwind-arm-common.inc: Include tconfig.h', tsystem.h' and `sys/sdt.h'.
2011-12-20  Sergio Durigan Junior  <sergiodj@redhat.com>

	* unwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and
	`sys/sdt.h'.
	(_Unwind_DebugHook): New function.
	(uw_restore_core_regs): New define.
	(unwind_phase2): Use uw_restore_core_regs instead of
	restore_core_regs.
	(unwind_phase2_forced): Likewise.
	(__gnu_Unwind_Resume): Likewise.

From-SVN: r182552
2011-12-20 20:54:25 +00:00
Uros Bizjak
1bb4b6a35a linux-unwind.h: Update copyright years.
* config/alpha/linux-unwind.h: Update copyright years.
	(MD_FROB_UPDATE_CONTEXT): New define.
	(alpha_frob_update_context): New function.

From-SVN: r182522
2011-12-20 09:46:38 +01:00
Richard Sandiford
eb0287685d config.host (mips*-sde-elf*, [...]): Add to tmake_file rather replacing it.
libgcc/
	* config.host (mips*-sde-elf*, mipsisa64sr71k-*-elf*): Add to
	tmake_file rather replacing it.

From-SVN: r182431
2011-12-17 11:32:20 +00:00
Iain Sandoe
6a2045bfd3 rs6000.c (rs6000_emit_prologue): Move update of VRSave mask to save_world() when that is in use.
gcc:

	* config/rs6000/rs6000.c  (rs6000_emit_prologue): Move update of
	VRSave mask to save_world() when that is in use.

libgcc:

	* config/rs6000/darwin-world.S (toplevel): Make it clear that this
	function is not used for PPC64.  
	(save_world): Amend comments.  Update the VRsave mask to reflect the
	saved regs.
	(rest_world): Update comments, do not  clobber r10, do not use r8.
	(eh_rest_world_r10): Amend comments, do not use r8.
	(rest_world_eh_r7r8): Rename as local Lrest_world_eh_r7, since r8 is
	no longer used, move restore of CR and target address to the end of
	the routine.

From-SVN: r182376
2011-12-15 15:52:08 +00:00
H.J. Lu
a13780a666 Check __GLIBC__ when using __SIGRTMIN
2011-12-14  H.J. Lu  <hongjiu.lu@intel.com>

	* generic-morestack.c (__generic_morestack_set_initial_sp): Check
	__GLIBC__ instead of __linux__ when using __SIGRTMIN.

From-SVN: r182342
2011-12-14 10:49:16 -08:00
Georg-Johann Lay
d7288dfb9f re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
libgcc/
	PR target/50931
	* config/avr/t-avr (LIB1ASMSRC): Add _mulpsi3, _mulsqipsi3.
	* config/avr/lib1funcs.S (__mulpsi3, __mulsqipsi3): New functions.
gcc/
	PR target/50931
	* config/avr/avr.md (mulpsi3): New expander.
	(*umulqihipsi3, *umulhiqipsi3): New insns.
	(*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns.
	(mulsqipsi3, *mulpsi3): New insn-and-splits.
	(ashlpsi3): Turn to expander.  Move insn code to...
	(*ashlpsi3): ...this new insn.
testsuite/
	PR target/50931
	* gcc.target/avr/torture/int24-mul.c: New testcase.

From-SVN: r182328
2011-12-14 10:00:56 +00:00
Eric Botcazou
8d2c862dfe * config/sparc/sol2-unwind.h: Use #ifdef directive consistently.
From-SVN: r182204
2011-12-11 11:23:15 +00:00
Georg-Johann Lay
3447cae6cc re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
	* config/avr/lib1funcs.S (__muldi3): New function.

From-SVN: r182160
2011-12-09 12:02:06 +00:00
Andrew Pinski
806fc6aa98 crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of func_ptr.
2011-12-06  Andrew Pinski  <apinski@cavium.com>

	* crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the
	size of func_ptr.
	(__frame_dummy_init_array_entry): Likewise.

From-SVN: r182066
2011-12-06 13:35:41 -08:00
Georg-Johann Lay
28c5e6b58f Forward-port from gcc-4_6-branch r181936 2011-12-02.
libgcc/
	Forward-port from gcc-4_6-branch r181936 2011-12-02.

	PR target/51345
	PR target/51002
	* config/avr/lib1funcs.S (__prologue_saves__,
	__epilogue_restores__, __divdi3_moddi3): Enclose parts using
	__SP_H__ in !defined (__AVR_HAVE_8BIT_SP__).  Add FIXME comments.

gcc/
	Forward-port from gcc-4_6-branch r181936 2011-12-02.

	PR target/51002
	* config/avr/avr.md (movhi_sp_r): Set insn condition to
	!AVR_HAVE_8BIT_SP.
	* config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in
	%B0,__SP_H__" if AVR_HAVE_8BIT_SP.
	(avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.

From-SVN: r182052
2011-12-06 15:04:09 +00:00
Iain Sandoe
8f90394af7 t-darwin64 (LIB2ADD): Add fp and gp save routines.
libgcc:

	* config/rs6000/t-darwin64 (LIB2ADD): Add fp and gp save routines.

From-SVN: r181991
2011-12-04 15:46:28 +00:00
John David Anglin
06dd33ac5e re PR other/51272 (ld: Unsatisfied symbol "_ITM_registerTMCloneTable" in file /test/gnu/gcc/objdir/)
PR other/51272
	* config/pa/stublib.c (_ITM_registerTMCloneTable): New stub.
	(_ITM_deregisterTMCloneTable): Likewise.
	(__register_frame_info): Fix unused warning.
	(__deregister_frame_info, __cxa_finalize, _Jv_RegisterClasses,
	pthread_default_stacksize_np): Likewise.
	* config/pa/t-stublib (LIBGCCSTUB_OBJS): Add new objects and rules.

From-SVN: r181870
2011-12-01 02:37:06 +00:00
DJ Delorie
85b8555ed3 .
* configure.ac (rl78-*-*) New case.
	* configure: Regenerate.
	* MAINTAINERS: Add myself as RL78 maintainer.

libgcc
	* config.host (rl78-*-elf): New case.
	* config/rl78: New directory for the Renesas RL78.

gcc
	* config.gcc (rl78-*-elf): New case.
	* doc/extend.texi: Add RL78 documentation.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/contrib.texi: Add RL78.
	* doc/install.texi: Add rl78-*-elf.
	* config/rl78: New directory for the Renesas RL78.

contrib
	* config-list.mk (LIST): Add rl78-elf.

From-SVN: r181819
2011-11-29 16:36:43 -05:00
Bernd Schmidt
4d5ae4eadc config.host (tic6x-*-uclinux): Append to extra_parts.
* config.host (tic6x-*-uclinux): Append to extra_parts.  Fix
	formatting.

From-SVN: r181805
2011-11-29 15:55:38 +00:00
Rainer Orth
f9c55897eb Cleanup rs6000/t-ppccomm configurations (PR other/51022)
PR other/51022
	* config/rs6000/t-savresfgpr: New file.
	* config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but
	$(srcdir)/config/rs6000/eabi.S.
	* config/rs6000/t-ppccomm-ldbl: Remove.
	* config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to
	tmake_file.
	(powerpc-*-eabispe*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm
	to tmake_file, remove rs6000/t-ppccomm-ldbl.
	(powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from
	tmake_file.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.

From-SVN: r181782
2011-11-28 16:02:10 +00:00
Ian Lance Taylor
a01207c473 generic-morestack.c (__splitstack_find): Check for NULL old stack value.
* generic-morestack.c (__splitstack_find): Check for NULL old
	stack value.
	(__splitstack_resetcontext): New function.
	(__splitstack_releasecontext): New function.
	* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

From-SVN: r181771
2011-11-28 05:44:31 +00:00
Iain Sandoe
2b0b8ab2a6 darwin-crt-tm.c: Correct comments, use correct licence.
libgcc:

	* config/darwin-crt-tm.c: Correct comments, use correct licence.

From-SVN: r181765
2011-11-27 13:57:01 +00:00
Iain Sandoe
c1d8101c1d darwin-crt-tm.c: Remove dummy _ITM_ functions.
libgcc:

	* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.

From-SVN: r181764
2011-11-27 13:52:49 +00:00
Richard Henderson
8b281334a0 m68k-linux: Implement atomic operations via syscall.
libgcc/
	* config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
	* config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
gcc/
	* config/m68k/linux-atomic.c: New file.
	* config/m68k/t-linux: New file.
	* config.host (m68k-uclinux, m68k-linux): Use it.

From-SVN: r181746
2011-11-26 15:57:37 -08:00
Richard Henderson
7546aa9db2 crtstuff: adjust tm clones for no attribute hidden
* crtstuff.c (__TMC_LIST__): Mark used not unused.
        (__TMC_END__): Only declare if hidden is available; in the definition,
        if hidden is unavailable add a null record.
        (deregister_tm_clones, register_tm_clones): New.
        (__do_global_dtors_aux, frame_dummy): Use them.
        (__do_global_dtors, __do_global_ctors_1): Likewise.

From-SVN: r181744
2011-11-26 13:16:49 -08:00
Iain Sandoe
e2362f5de0 darwin.h (ENDFILE_SPEC): New.
gcc:

	*  config/darwin.h (ENDFILE_SPEC): New.
	(DARWIN_CRT1_SPEC): Add crttms.o.
	(STARTFILE_SPEC): Likewise for dynamic libs and bundles.
	* config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.

libgcc:

	* config/darwin-crt-tm.c: New file.
	* config.host (darwin): Build crttms.o crttme.o to provide
	startup and shutdown for tm clones.
	* config/t-darwin (crttms.o): New build rule.
	(crttme.o): Likewise.

From-SVN: r181616
2011-11-22 13:51:07 +00:00
Hans-Peter Nilsson
6685dd96b2 Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH et al.
* Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
	et al.

From-SVN: r181608
2011-11-22 03:01:02 +00:00
Richard Henderson
b0dc7e4c34 Fix crtstuff merge error with transactional-memory branch.
* crtstuff.c (USE_TM_CLONE_REGISTRY): Default to 1 on ELF.
        (__TMC_LIST__, __TMC_END__): New.
        (__do_global_dtors_aux): Call _ITM_deregisterTMCloneTable.
        (__do_global_dtors): Likewise.
        (frame_dummy): Call _ITM_registerTMCloneTable.
        (__do_global_ctors_1): Likewise.

From-SVN: r181600
2011-11-21 14:10:06 -08:00
Rainer Orth
d4b4b54263 Fix LIB2ADD overrides in libgcc
* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
	(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
	(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
	* config/i386/t-darwin64: Remove.
	* config/sh/t-netbsd (LIB2ADD): Remove.

From-SVN: r181587
2011-11-21 16:13:13 +00:00
Georg-Johann Lay
989bdb7461 re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
	(LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
	* config/avr/lib1funcs.S (wmov): New assembler macro.
	(__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
	(__moddi3, __divdi3, __divdi3_moddi3): New functions.
	(__udivmod64): New function.
	(__negdi2): New function.

From-SVN: r181551
2011-11-21 08:56:44 +00:00
Gerald Pfeifer
515a0cfc80 * config.host (*-*-freebsd[12], *-*-freebsd[12].*,
*-*-freebsd*aout*): Remove.

From-SVN: r181550
2011-11-21 02:29:09 +00:00
Hans-Peter Nilsson
0115d17f16 static-object.mk (c_flags-$o): Save c_flags.
* static-object.mk (c_flags-$o): Save c_flags.
	($(base)$(objext)): Use it.

From-SVN: r181544
2011-11-21 00:41:12 +00:00
Steve Ellcey
93aeb62b9e Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.
2011-11-18  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.

From-SVN: r181495
2011-11-18 22:26:44 +00:00
Georg-Johann Lay
7bc6df2ca1 re PR target/49868 (Implement named address space to place/access data in flash memory)
gcc/
	PR target/49868
	* config/avr/avr.h (base_arch_s): Add field n_segments.
	(ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3,
	ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): New address spaces.
	(AVR_HAVE_ELPM, AVR_HAVE_ELPMX): New defines.
	(INIT_EXPANDERS): New define.
	* config/avr/avr-protos.h (avr_mem_pgmx_p): New.
	(avr_init_expanders): New.
	(avr_emit_movmemhi, avr_out_movmem): New.
	(avr_xload_libgcc_p): New.
	* config/avr/avr-c.c (avr_register_target_pragmas): Register
	address spaces __pgm1, __pgm2,  __pgm3,  __pgm4  __pgm5,  __pgmx.
	(avr_cpu_cpp_builtins): Add built-in defines __PGM1,
	__PGM2, __PGM3, __PGM4, __PGM5, __PGMX.
	* config/avr/avr-devices.c (avr_arch_types): Set field n_segments.

	* config/avr/avr.c (AVR_SECTION_PROGMEM): Change define to cover
	3 bits instead of just 1.
	(xstring_empty, xstring_e, rampz_rtx): New static GTYed variables.
	(progmem_section): Change from section to array of sections.
	(progmem_section_prefix): New static variable.
	(avr_file_start): Print set for __RAMPZ__
	(avr_option_override): Move initialization of RTXes from here...
	(avr_init_expanders): ...to this new function.
	(avr_pgm_segment): New static function.
	(avr_decl_pgm_p): Handle error_mark_node.
	(avr_mem_pgmx_p, avr_decl_pgmx_p): New static functions.
	(avr_out_xload,	avr_find_unused_d_reg): New static functions.
	(expand_prologue, expand_epilogue): Use rampz_rtx.
	(print_operand): Hande CONST_STRING.
	(avr_xload_libgcc_p): New static function.
	(avr_out_lpm_no_lpmx, avr_out_lpm): Handle ELPM.
	(avr_progmem_p): Return 2 for 24-bit flash address space.
	(avr_out_sbxx_branch): Clean-up code from ASn macros.
	(out_movqi_r_mr, out_movqi_mr_r): Ditto. And recognize RAMPZ's
	address and print symbolically.
	(avr_asm_named_section, avr_section_type_flags,
	avr_encode_section_info, avr_asm_select_section,
	avr_addr_space_address_mode, avr_addr_space_pointer_mode,
	avr_addr_space_legitimate_address_p, avr_addr_space_convert,
	avr_addr_space_legitimize_address): Handle new address spaces.
	(avr_output_progmem_section_asm_op): New static function.
	(avr_asm_init_sections): Initialize progmem_section[].
	(adjust_insn_length): Handle ADJUST_LEN_XLOAD, ADJUST_LEN_MOVMEM.
	(avr_const_address_lo16): New static function.
	(avr_assemble_integer): Use it to handle 3-byte integers.
	(avr_emit_movmemhi, avr_out_movmem): New functions.
	
	* config/avr/predicates.md (nox_general_operand): Handle new
	address spaces.
	* config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.
	(adjust_len): Add xload, movmem.
	(SP_ADDR): New define_constants.
	(isa): Add "lpm", "lpmx", "elpm", "elpmx".
	(enabled): Handle them.
	(load<mode>_libgcc): New expander.
	(*load.<mode>.libgcc): Rename to load_<mode>_libgcc.
	(xload8_A, xload<mode>_A): New insn-and-splits.
	(xload_8, xload_<mode>_libgcc, xload_<mode>, loadmem_elpm): New insns.
	(mov<mode>): Handle new address spaces.
	(movmemhi): Rewrite using avr_emit_movmemhi.
	(MOVMEM_r_d): New mode attribute.
	(movmem_<mode>, movmem_qi_elpm): New insns.
	(setmemhi, *clrmemqi, *clrmemhi, strlenhi, *strlenhi): Unquote
	C-code.  Use label instead of hard-coded instrunction lengths.
	
libgcc/
	PR target/49868
	* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_2 _xload_3 _xload_4.
	* config/avr/lib1funcs.S (__xload_2, __xload_3, __xload_4):
	New functions.

From-SVN: r181482
2011-11-18 16:44:00 +00:00
Matthew Gretton-Dann
425d737b36 lib1funcs.asm (udivsi3): Add support for divide functions.
2011-11-16  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/arm/lib1funcs.asm (udivsi3): Add support for divide
	functions.
	(aeabi_uidivmod): Likewise.	
	(umodsi3): Likewise.
	(divsi3): Likewise.
	(aeabi_idivmod): Likewise.
	(modsi3): Likewise.

From-SVN: r181419
2011-11-16 18:02:12 +00:00
Tristan Gingold
f2a176dcf5 qrnnd.S: Use specific pseudos for VMS.
2011-11-16  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/qrnnd.S: Use specific pseudos for VMS.

From-SVN: r181403
2011-11-16 08:36:46 +00:00
Georg-Johann Lay
7c20948114 re PR target/49868 (Implement named address space to place/access data in flash memory)
gcc/
	PR target/49868
	* config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
	(REGISTER_TARGET_PRAGMAS): New define.
	* config/avr/avr-protos.h (avr_mem_pgm_p): New.
	(avr_load_libgcc_p): New.
	(asm_output_external_libcall): Remove.
	(avr_register_target_pragmas): New.
	(avr_log_t): Add field "progmem".  Order alphabetically.
	* config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
	* config/avr/avr-c.c (langhooks.h): New include.
	(avr_register_target_pragmas): New function. Register address
	space __pgm.
	(avr_cpu_cpp_builtins): Add built-in define __PGM.
	* config/avr/avr.c: Include "c-family/c-common.h".
	(TARGET_LEGITIMATE_ADDRESS_P): Remove define.
	(TARGET_LEGITIMIZE_ADDRESS): Remove define.
	(TARGET_ADDR_SPACE_SUBSET_P): Define to...
	(avr_addr_space_subset_p): ...this new static function.
	(TARGET_ADDR_SPACE_CONVERT): Define to...
	(avr_addr_space_convert): ...this new static function.
	(TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
	(avr_addr_space_address_mode): ...this new static function.
	(TARGET_ADDR_SPACE_POINTER_MODE): Define to...
	(avr_addr_space_pointer_mode): ...this new static function.
	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
	(avr_addr_space_legitimate_address_p): ...this new static function.
	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
	(avr_addr_space_legitimize_address): ...this new static function.
	(avr_mode_code_base_reg_class): Handle address spaces.
	(avr_regno_mode_code_ok_for_base_p): Ditto.
	(lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
	(avr_option_override): Initialize them.
	(output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
	variables.
	(avr_pgm_segment): New static function.
	(avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
	(avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
	(output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
	avr_out_lpm to handle loads from progmem.
	(avr_load_libgcc_p): New static function.
	(avr_progmem_p): Test if decl is in flash.
	(avr_pgm_pointer_const_p): New static function.
	(avr_nonconst_pointer_addrspace): New static function.
	(avr_pgm_check_var_decl): New static function.
	(avr_insert_attributes): Use it.  Change error message to report
	cause (progmem or address space) when code wants to write to flash.
	(avr_section_type_flags): Unset section flag SECTION_BSS for
	data in progmem.
	* config/avr/predicates.md (nop_general_operand): New predicate.
	(nox_general_operand): New predicate.
	* config/avr/avr.md (LPM_REGNO): New define_constant.
	(load<mode>_libgcc): New expander.
	(*load.<mode>.libgcc): New insn.
	(mov<mode>): Handle loads from non-generic AS.
	(movmemhi): Ditto.  Propagate address space information to newly
	created MEM.
	(movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
	to nox_general_operand.
	(ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand.
	(ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
	(lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
	(split-lpmx): New split.
	(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
	*lshrhi3_const, *lshrsi3_const): Indent, unquote C.

libgcc/
	PR target/49868
	* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3,  _load_4.
	* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.

From-SVN: r181378
2011-11-15 09:01:46 +00:00
John David Anglin
9dfd583288 config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
	tmake_file list.
	* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
	* config/pa/t-stublib64: Delete.

From-SVN: r181339
2011-11-13 20:17:01 +00:00
Richard Henderson
f77dca5d23 ppc-linux: Fix call to _Unwind_SetGRPtr
* config/rs6000/linux-unwind.h (frob_update_context): Properly
        cast the pointer argument to _Unwind_SetGRPtr.

From-SVN: r181325
2011-11-12 09:20:58 -08:00
Rainer Orth
902828f01c Fix SPU libgcc build
* config/spu/t-elf (LIB2ADD): Use LIB2FUNCS_EXCLUDE instead.

From-SVN: r181291
2011-11-11 16:49:22 +00:00
Ian Lance Taylor
e14304eff5 generic-morestack.c: Include <string.h>.
libgcc/:
	* generic-morestack.c: Include <string.h>.
	(uintptr_type): Define.
	(struct initial_sp): Add dont_block_signals field.  Reduce size of
	extra array by 1.
	(allocate_segment): Set prev field to NULL.  Don't set
	__morestack_current_segment or __morestack_segments.
	(__generic_morestack): Update current->prev and *pp after calling
	allocate_segment.
	(__morestack_block_signals): Don't do anything if
	dont_block_signals is set.
	(__morestack_unblock_signals): Likewise.
	(__generic_findstack): Check for initial_sp == NULL.  Add casts to
	uintptr_type.
	(__splitstack_block_signals): New function.
	(enum __splitstack_content_offsets): Define.
	(__splitstack_getcontext, __splitstack_setcontext): New functions.
	(__splitstack_makecontext): New function.
	(__splitstack_block_signals_context): New function.
	(__splitstack_find_context): New function.
	* config/i386/morestack.S (__morestack_get_guard): New function.
	(__morestack_set_guard, __morestack_make_guard): New functions.
	* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

gcc/testsuite/:
	* lib/target-supports.exp (check_effective_target_ucontext_h): New
	procedure.
	* gcc.dg/split-5.c: New test.

From-SVN: r181234
2011-11-09 20:06:31 +00:00
Rainer Orth
e3d871e475 Use t-mingw-pthread on MingW
* config.host (i[34567]86-*-cygwin*): Move i386/t-mingw-pthread ...
	(i[34567]86-*-mingw*): ... here.
	(x86_64-*-mingw*): ... here.

From-SVN: r181203
2011-11-09 13:11:47 +00:00
Rainer Orth
e55cef40ed Build softfp for c6x
* config/c6x/t-elf (LIB2ADD): Add instead of assigning.

From-SVN: r181173
2011-11-08 16:50:37 +00:00
Nathan Sidwell
5366b18679 libgcov.c (struct gcov_fn_buffer): New struct.
libgcc/
	* libgcov.c (struct gcov_fn_buffer): New struct.
	(buffer_fn_data): New helper.
	(gcov_exit): Rework for new gcov data structures.

	gcc/
	* gcov.c (object_summary): Replace with ...
	(object_runs): ... this.
	(process_file): Remove functions with no data.
	(generate_results): Ignore files with no lines.
	(release_function): New helper, broken out of ...
	(release_structures): ... here.  Use it.
	(read_count_file): Adjust for new data file format.
	(output_lines): Use object_runs.
	* gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete.
	(struct gcov_ctr_info): Move definition.
	(struct gcov_fn_info): Add key field, use gcov_ctr_info for
	trailing array.
	(struct gcov_info): Add merge function array, remove mask and
	counts.  Trailing array is array of pointers to function info.
	* coverage.c (struct function_list): Replace counter numbers with
	counter arrays.  Add fndecl field.  GTYify.
	(counts_entry): Remove chain workspace.
	(functions_head): GTYify.
	(prg_n_ctrs): Remove.
	(fn_v_ctrs): New.
	(tree_ctr_tables): Remove.
	(read_counts_file): Cope with blank entries and expect program
	summaries before functions.  Don't warn on missing entries.
	(coverage_counter_alloc): Allocate individual function arrays.
	(tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust
	for individual function arrays.
	(coverage_end_function): GTYify function list object. Finalize
	function's counter arrays.
	(build_var): New.  Create a counter-related variable with
	appropriate linkage.
	(build_fn_info_type): Adjust for new runtime structure.
	(build_fn_info_value): Rename to ...
	(build_fn_info): ... here.  Build new format data.
	(build_ctr_info_type, build_ctr_info_value): Remove.
	(build_info_type): New. Build new format data structure.
	(build_info): Adjust for new format data.
	(create_coverage): Likewise.
	* gcov-dump.c (tag_function): Recognize placeholders.

	gcc/testsuite/
	* gcc.dg/profile-dir-1.c: Adjust final scan.
	* gcc.dg/profile-dir-2.c: Adjust final scan.
	* gcc.dg/profile-dir-3.c: Adjust final scan.
	* gcc.misc-tests/gcov.exp: Adjust regexp.
	* gcc.misc-tests/gcov-12.c: New.
	* gcc.misc-tests/gcov-13.c: New.
	* gcc.misc-tests/gcovpart-13b.c: New.
	* gcc.misc-tests/gcov-14.c: New.

From-SVN: r181105
2011-11-07 18:14:46 +00:00
Georg-Johann Lay
74155a6f37 re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/lib1funcs.S (__divmodhi4, __divmodsi4): Tweak speed.

From-SVN: r181104
2011-11-07 18:08:35 +00:00
Rainer Orth
200feb074b Append to HOST_LIBGCC2_CFLAGS in libgcc
* config.host (tmake_file): Correct comment.
	(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
	t-libgcc-pic.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.

	* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
	assigning.
	* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.

	* config/bfin/t-elf: Remove.
	* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.

From-SVN: r181098
2011-11-07 17:14:32 +00:00
Rainer Orth
c9cd1a07b0 Consistently use t-rtems in libgcc
* config.host (*-*-rtems*): Add t-rtems to tmake_file.
	(i[34567]86-*-rtems*): Remove t-rtems from tmake_file.
	(lm32-*-elf*, lm32-*-rtems*): Split into ...
	(lm32-*-elf*): ... this.
	(lm32-*-rtems*): ... and this.
	Add to tmake_file.
	(m32r-*-rtems*): Add to tmake_file.
	(moxie-*-rtems*): Likewise.
	(sparc-*-rtems*): Likewise.
	Remove t-rtems from tmake_file.
	(sparc64-*-rtems*): Likewise.
	* config/t-rtems (HOST_LIBGCC2_CFLAGS): Use LIBGCC2_INCLUDES
	instead.

From-SVN: r181097
2011-11-07 17:12:33 +00:00
Rainer Orth
9fbcc75d56 Return gthr-posix.h to libgcc (PR bootstrap/50982)
libgcc:
	PR bootstrap/50982
	* config/gthr-posix.h: Move ...
	* gthr-posix.h: ... here.
	* config/gthr-lynx.h: Reflect this.
	* config/gthr-vxworks.h: Likewise.
	* config/rs6000/gthr-aix.h: Likewise.
	* configure.ac (target_thread_file): Likewise.
	* configure: Regenerate.

	libstdc++-v3:
	PR bootstrap/50982
	* include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
	gthr-posix.h move.
	* include/Makefile.in: Regenerate.

From-SVN: r181095
2011-11-07 16:34:31 +00:00
Sebastian Huber
76644b6874 config.host (arm*-*-rtemseabi*): New target.
2011-11-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.host (arm*-*-rtemseabi*): New target.

From-SVN: r181065
2011-11-07 04:22:39 +01:00
John David Anglin
5e490f2a35 re PR other/50991 (crtstuff.c:65:23: fatal error: libgcc_tm.h: No such file or directory)
PR other/50991
	* Makefile.in: Make EXTRA_PARTS depend on libgcc_tm.h instead of
	extra-parts.

From-SVN: r181039
2011-11-06 19:24:19 +00:00
Joern Rennecke
feeeff5cfe config.gcc (epiphany-*-*): New architecture.
gcc:
        * config.gcc (epiphany-*-*): New architecture.
        (epiphany-*-elf): New configuration.
        * config/epiphany, common/config/epiphany : New directories.
        * doc/extend.texi (disinterrupt attribute): Add Epiphany.
        (interrupt attribute): Add Epiphany.
        (long_call, short_call attribute): Add Epiphany.
        * doc/invoke.texi (Options): Add Epiphany options.
        * doc/md.texi (Machine Constraints): Add Epiphany constraints.
        * doc/install.texi (Options specification):
        Add --with-stack-offset=@var{num} description.
        (host/target specific issues): Add epiphany-*-elf.
        * doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
        * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
        Disable test on Epiphany.
        * gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
        * gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
        * gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
        * g++.dg/parse/pragma3.C: Likewise.
        * stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
        (bar): Use it.
        * gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
        * gcc.dg/tls/thr-cse-1.c: Likewise.
        * g++.dg/opt/devirt2.C: Likewise.
        * gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
        * gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
        * gcc.target/epiphany: New directory.
libgcc:
        * config.host (epiphany-*-elf*): New configuration.
        * config/epiphany: New Directory.
contrib:
        * contrib-list.mk: Add Epiphany configurations.

From-SVN: r181016
2011-11-05 20:48:23 +00:00
Ralf Corsepius
d618bb2c86 config.host (avr-*-rtems*): Add config/avr/t-rtems.
2011-11-05  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.host (avr-*-rtems*): Add config/avr/t-rtems.
	* config/avr/t-rtems: New.
	Filter out _exit from LIB1ASMFUNCS.

From-SVN: r181003
2011-11-05 05:45:12 +01:00
David S. Miller
1bb6f77823 Tweak libgcc configure test for 64-bit.
libgcc/

	* configure.ac: Test for 64-bit addresses on !x86 using __LP64__.
	* configure: Rebuild.

From-SVN: r181000
2011-11-04 19:46:21 -07:00
Andreas Krebbel
9a7f74222c t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S variable.
2011-11-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S
	variable.

From-SVN: r180976
2011-11-04 19:05:36 +00:00
Georg-Johann Lay
e4fe948a6e re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
gcc/
	PR target/50931
	* config/avr/avr-modes.def: New file defining PSImode.
	* config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
	__UINT24_MAX__): New built-in defines.
	* config/avr/avr.md (adjust_len): Add tstpsi, mov24,  reload_in24,
	ashlpsi, ashrpsi, lshrpsi.
	(QISO, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
	(MOVMODE): New mode iterator.
	(movpsi): New expander.
	(movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
	(*reload_inpsi, *movpsi): New insns.
	(*reload_inpsi): New RTL peephole.
	(addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
	*addpsi3_sign_extend.hi): New insns.
	(subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
	*subpsi3_sign_extend.hi): New insns.
	(divmodpsi4, udivmodpsi4): New define insn-and-split.
	(*divmodpsi4_call, *udivmodpsi4_call): New insns.
	(andpsi3, iorpsi3, xorpsi3): New insns.
	(*rotlpsi2.1, *rotlpsi2.23): New insns.
	(*rotw<mode>): Insn condition only allow even-sized modes.
	(*rotb<mode>): Insn condition allows odd-sized modes.
	(ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
	(negpsi2, one_cmplpsi2): New insns.
	(extendqipsi2, extendhipsi2, extendpsisi2): New insns.
	(zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
	insn-and-splits.
	(*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
	(cbranchpsi4): New expander.
	* config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
	* config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
	avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
	avr_out_reload_inpsi): New prototypes.

	* config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
	(avr_scalar_mode_supported_p): ...this new static function.
	(avr_asm_len): Always return "".
	(avr_out_load_psi, avr_out_store_psi): New static functions.
	(avr_out_movpsi, avr_out_reload_inpsi): New functions.
	(avr_out_tstpsi): New function.
	(avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
	(avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
	(avr_simplify_comparison_p): Ditto.
	(adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
	ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
	ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
	(avr_rtx_costs_1): Report PSI costs.
	(avr_libcall_value): Handle odd-sized parameters.
	(avr_init_builtin_int24): New static function to define built-in
	24-bit types __int24 and __uint24.
	(avr_init_builtins): Use it.

libgcc/
	PR target/50931
	* config/t-avr (LIB1ASMFUNCS): Add _divmodpsi4, _udivmodpsi4.
	* config/lib1funcs.S (__udivmodpsi4, __divmodpsi4): New functions.

From-SVN: r180962
2011-11-04 16:20:18 +00:00
Joel Sherrill
7084e0378d re PR target/50989 (sparc libgcc2 __udivmoddi4 has undefined reference to .umul)
2011-11-04  Joel Sherrill  <joel.sherrill@oarcorp.com>

	PR target/50989
	* config.host (sparc-*-rtems*): Add sparc/t-softmul.

From-SVN: r180946
2011-11-04 12:57:40 +00:00
Rainer Orth
1a03203481 Restore c6x-elf bootstrap
* config/c6x/t-elf (LIB2ADDEH): Set.
	* config/c6x/t-c6x-elf: Remove.

From-SVN: r180942
2011-11-04 11:55:52 +00:00
Rainer Orth
d385f772fe Use sol2-c[1n].S on more targets
* config/i386/sol2-ci.S: Rename to ...
	* config/i386/crti.S: ... this.
	* config/i386/sol2-cn.S: Rename to ...
	* config/i386/crtn.S: ... this.
	* config/sparc/sol2-ci.S: Rename to ...
	* config/sparc/crti.S: ... this.
	* config/sparc/sol2-cn.S: Rename to ...
	* config/sparc/crtn.S: ... this.
	* config/t-sol2 (CUSTOM_CRTIN): Remove.
	(crti.o, crtn.o): Remove.

From-SVN: r180941
2011-11-04 11:54:17 +00:00
Tristan Gingold
1ba878a991 fde-vms.c: Do not include md-unwind-support.h
2011-11-04  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/fde-vms.c: Do not include md-unwind-support.h

From-SVN: r180929
2011-11-04 09:25:41 +00:00
Kaz Kojima
02750c15b6 t-sh: Use $(gcc_compile) instead of $(compile).
* config/sh/t-sh: Use $(gcc_compile) instead of $(compile).

From-SVN: r180921
2011-11-04 00:41:58 +00:00
Hans-Peter Nilsson
bf86b0671b config.host (crisv32-*-none, [...]): Remove.
* config.host (crisv32-*-none, cris-*-none): Remove.
	(crisv32-*-elf): Append to tmake_file, don't just set it.
	(cris-*-elf): Add missing t-fdpbit to tmake_file.

From-SVN: r180854
2011-11-03 21:16:07 +00:00
Rainer Orth
d0bc53bdb4 t-ppccomm (ecrti$(objext)): Use $<.
* config/rs6000/t-ppccomm (ecrti$(objext)): Use $<.
	(ecrtn$(objext)): Likewise.
	(ncrti$(objext)): Likewise.
	(ncrtn$(objext)): Likewise.

From-SVN: r180830
2011-11-03 11:42:27 -04:00
Andreas Schwab
036da8303f * config/ia64/t-ia64 (crtbeginS.o): Fix whitespace damage.
From-SVN: r180820
2011-11-03 09:57:54 +00:00
David S. Miller
d2a7d041b6 Fix multilib build of libgcc on Linux/sparc.
* configure.ac: Set host_address on sparc too.
	* configure: Regenerate.
	* config.host: Add sparc/t-linux64 and sparc/t-softmul conditionally
	based upon host_address.
	* config/sparc/t-linux64: Set CRTSTUFF_T_CFLAGS unconditionally.

From-SVN: r180818
2011-11-02 23:07:39 -07:00
Jason Merrill
af8ed618fb * config/rs6000/t-ppccomm: Add missing \.
From-SVN: r180799
2011-11-02 16:52:10 -04:00
Rainer Orth
5d1c8e77cf Move gthr to toplevel libgcc
gcc:
	* gthr-single.h, gthr.h: Move to ../libgcc.
	* gthr-aix.h: Move to ../libgcc/config/rs6000.
	* gthr-dce.h: Move to ../libgcc/config/pa.
	* gthr-lynx.h: Move to ../libgcc/config.
	* gthr-mipssde.h: Move to ../libgcc/config/mips.
	* gthr-posix.h: Move to ../libgcc/config.
	* gthr-rtems.h: Likewise.
	* gthr-tpf.h: Move to ../libgcc/config/s390.
	* gthr-vxworks.h: Move to ../libgcc/config.
	* gthr-win32.h: Move to ../libgcc/config/i386.
	* configure.ac (gthread_flags): Remove
	(gthr-default.h): Don't create.
	(thread_file): Don't substitute.
	* configure: Regenerate.
	* Makefile.in (GCC_THREAD_FILE): Remove.
	(GTHREAD_FLAGS): Remove.
	(libgcc.mvars): Remove GTHREAD_FLAGS.
	* config/t-vxworks (EXTRA_HEADERS): Remove.

	gcc/po:
	* EXCLUDES (gthr-aix.h, gthr-dce.h, gthr-posix.c, gthr-posix.h)
	(gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h)
	(gthr-win32.h, gthr.h): Remove.

	libgcc:
	* gthr-single.h, gthr.h: New files.
	* config/gthr-lynx.h, config/gthr-posix.h., config/gthr-rtems.h,
	config/gthr-vxworks.h, config/i386/gthr-win32.h,
	config/mips/gthr-mipssde.h, config/pa/gthr-dce.h,
	config/rs6000/gthr-aix.h, config/s390/gthr-tpf.h: New files.
	* config/i386/gthr-win32.c: Include "gthr-win32.h".
	* configure.ac (thread_header): New variable.
	Set it depending on target_thread_file.
	(gthr-default.h): Link from $thread_header.
	* configure: Regenerate.
	* Makefile.in (LIBGCC2_CFLAGS): Remove $(GTHREAD_FLAGS).

	libgfortran:
	* Makefile.am (AM_CPPFLAGS): Add
	-I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc.
	* Makefile.in: Regenerate.
	* acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove.
	* configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	libobjc:
	* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
	* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	libstdc++-v3:
	* acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
	toplevel_builddir.
	(GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
	HAVE_GTHR_DEFAULT, enable_thread.
	(GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
	* include/Makefile.am (thread_host_headers): Remove
	${host_builddir}/gthr-tpf.h.
	(${host_builddir}/gthr.h): Reflect gthr move to libgcc.
	Use $<.
	(${host_builddir}/gthr-single.h): Likewise.
	(${host_builddir}/gthr-posix.h): Likewise.
	(${host_builddir}/gthr-tpf.h): Remove.
	(${host_builddir}/gthr-default.h): Likewise.
	* configure, config.h.in: Regenerate.
	* Makefile.in, doc/Makefile.in, include/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
	src/Makefile.intestsuite/Makefile.in: Regenerate.

From-SVN: r180776
2011-11-02 15:28:43 +00:00
Rainer Orth
852b75ed97 Move libgcc_tm_file to toplevel libgcc
gcc:
	* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
	Remove.
	* configure: Regenerate.
	* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
	(TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list).
	(libgcc_tm.h, cs-libgcc_tm.h): Remove.
	(clean): Remove libgcc_tm.h
	* mkconfig.sh: Don't include libgcc_tm.h in tm.h.
	* config.gcc (libgcc_tm_file): Remove.
	(arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi.
	(arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file.
	(avr-*-rtems*): Likewise.
	(avr-*-*): Likewise.
	(frv-*-elf): Likewise.
	(frv-*-*linux*): Likewise.
	(h8300-*-rtems*): Likewise.
	(h8300-*-elf*): Likewise.
	(i[34567]86-*-darwin*): Likewise.
	(x86_64-*-darwin*): Likewise.
	(rx-*-elf*): Likewise.
	(tic6x-*-elf): Likewise.
	(tic6x-*-uclinux): Likewise.
	(i[34567]86-*-linux*, x86_64-*-linux*): Likewise.

	libgcc:
	* configure.ac (tm_file_): New variable.
	Determine from tm_file.
	(tm_file, tm_defines): Substitute.
	* configure: Regenerate.
	* mkheader.sh: New file.
	* Makefile.in (clean): Remove libgcc_tm.h.
	($(objects)): Depend on libgcc_tm.h.
	(libgcc_tm_defines, libgcc_tm_file): New variables.
	(libgcc_tm.h, libgcc_tm.stamp): New targets.
	($(libgcc-objects), $(libgcc-s-objects), $(libgcc-eh-objects))
	($(libgcov-objects), $(libunwind-objects), $(libunwind-s-objects))
	($(extra-parts)): Depend on libgcc_tm.h.
	* config.host (tm_defines, tm_file): New variable.
	(arm*-*-linux*): Set tm_file for arm*-*-linux-*eabi.
	(arm*-*-uclinux*): Set tm_file for arm*-*-uclinux*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf*): Set tm_file.
	(avr-*-rtems*): Likewise.
	(avr-*-*): Likewise.
	(frv-*-elf): Likewise.
	(frv-*-*linux*): Likewise.
	(h8300-*-rtems*): Likewise.
	(h8300-*-elf*): Likewise.
	(i[34567]86-*-darwin*): Likewise.
	(x86_64-*-darwin*): Likewise.
	(rx-*-elf): Likewise.
	(tic6x-*-uclinux): Likewise.
	(tic6x-*-elf): Likewise.
	(i[34567]86-*-linux*, x86_64-*-linux*): Likewise.
	* config/alpha/gthr-posix.c: Include libgcc_tm.h.
	* config/i386/cygming-crtbegin.c: Likewise.
	* config/i386/cygming-crtend.c: Likewise.
	* config/ia64/fde-vms.c: Likewise.
	* config/ia64/unwind-ia64.c: Likewise.
	* config/libbid/bid_gcc_intrinsics.h: Likewise.
	* config/rs6000/darwin-fallback.c: Likewise.
	* config/stormy16/lib2funcs.c: Likewise.
	* config/xtensa/unwind-dw2-xtensa.c: Likewise.
	* crtstuff.c: Likewise.
	* dfp-bit.h: Likewise.
	* emutls.c: Likewise.
	* fixed-bit.c: Likewise.
	* fp-bit.c: Likewise.
	* generic-morestack-thread.c: Likewise.
	* generic-morestack.c: Likewise.
	* libgcc2.c: Likewise.
	* libgcov.c: Likewise.
	* unwind-dw2-fde-dip.c: Likewise.
	* unwind-dw2-fde.c: Likewise.
	* unwind-dw2.c: Likewise.
	* unwind-sjlj.c: Likewise.

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r180775
2011-11-02 15:26:35 +00:00
Rainer Orth
f9989b51a9 Move libgcc2 to toplevel libgcc
toplevel:
	* Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS,
	LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES.
	* Makefile.in: Regenerate.

	config:
	* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.

	gcc:
	* Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
	(LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
	(LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET)
	(INCLUDES_FOR_TARGET): Remove.
	(LIBGCC2_CFLAGS): Don't export.
	(LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify):
	Remove.
	(libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies.
	(libgcc.mvars): Likewise.
	Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST,
	LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS,
	TARGET_LIBGCC2_CFLAGS.
	Emit GTHREAD_FLAGS.
	* libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc.
	* config/darwin-64.c: Move to ../libgcc/config.
	* config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
	config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
	config/udivmodsi4.c: Move to ../libgcc/config.
	* config/gthr-posix.c: Move to ../libgcc/config/alpha.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: Move to ../libgcc/config.
	* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/t-freebsd: Remove.
	* config/t-freebsd-thread: Move to ../libgcc/config.
	* config/t-libgcc-pic: Move to ../libgcc/config.
	* config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/t-linux: Remove.
	* config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
	Remove
	* config/t-openbsd-thread: Move to ../libgcc/config.
	* config/t-rtems (LIBGCC2_INCLUDES): Remove.
	* config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/t-svr4: Remove.
	* config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS)
	(LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove.
	* config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config.
	* config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S.
	* config/alpha/t-alpha, config/alpha/t-ieee: Remove.
	* config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC):
	Remove.
	* config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha.
	* config/arm/bpabi.c, config/arm/unaligned-funcs.c,
	config/arm/fp16.c, config/arm/linux-atomic.c,
	config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm.
	* config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/arm/t-bpabi, config/arm/t-linux: Remove.
	* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS)
	(LIB2FUNCS_STATIC_EXTRA): Remove.
	* config/arm/t-netbsd: Remove.
	* config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove.
	* config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS)
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/bfin/t-bfin-linux: Likewise.
	* config/bfin/t-bfin-uclinux: Likewise.
	* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
	config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
	config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
	config/c6x/ltf.c: Move to ../libgcc/config/c6x.
	* config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA):
	Remove.
	* config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/cris/arit.c: Move to ../libgcc/config/cris.
	* config/cris/cris_abi_symbol.c: Remove.
	* config/cris/cris.h: Remove obsolete comment.
	* config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S.
	* config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC)
	($(LIB2FUNCS_EXTRA)): Remove.
	* config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC)
	(LIBGCC): Remove.
	* config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/fr30/t-fr30: Remove.
	* config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
	config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
	config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move
	to ../libgcc/config/frv.
	* config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
	(cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c)
	(ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove.
	* config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
	config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
	config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300.
	* config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/i386/gthr-win32.c: Move to ../libgcc/config/i386.
	* config/i386/t-cygming (LIBGCC2_INCLUDES): Remove.
	* config/i386/t-cygwin: Remove.
	* config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
	(LIB2FUNCS_EXCLUDE): Remove.
	* config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/i386/t-gthr-win32: Move to ../libgcc/config/i386.
	* config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/i386/t-mingw-w32: Likewise.
	* config/i386/t-mingw-w64: Likewise.
	* config/i386/t-openbsd: Likewise.
	* config/i386/t-nto: Remove.
	* config/ia64/quadlib.c: Move to ../libgcc/config/ia64.
	* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
	(quadlib.c): Remove.
	* config/ia64/t-ia64: Remove comment.
	* config/iq2000/lib2extra-funcs.c: Move to
	../libgcc/config/iq2000/lib2funcs.c.
	* config/iq2000/t-iq2000: Remove.
	* config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c.
	* config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c.
	* config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove.
	* config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k.
	* config/m68k/t-floatlib: Remove.
	* config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove.
	Fix typo.
	(LIBGCC, INSTALL_LIBGCC): Remove.
	* config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c.
	* config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c.
	* config/mep/t-mep (LIB2FUNCS_EXTRA): Remove.
	* config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/mips/t-isa3264: Likewise.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove.
	* config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/mips/t-vr (TARGET_LIBGCC2_CFLAGS)
	(LIB2FUNCS_STATIC_EXTRA): Remove.
	* config/mips/vr4120-div.S: Move to ../libgcc/config/mips.
	* config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/pa/fptr.c, config/pa/linux-atomic.c: Move to
	../libgcc/config/pa.
	* config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S.
	* config/pa/quadlib.c: Move to ../libgcc/config/pa.
	* config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/pa/t-linux, config/pa/t-linux64: Remove.
	* config/pa/t-pa-hpux, config/pa/t-pa-hpux10,
	config/pa/t-pa-hpux11, config/pa/t-pa64: Remove.
	* config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA):
	Remove.
	* config/picochip/libgccExtras: Move to ../libgcc/config/picochip.
	* config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET)
	(TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove.
	* config/rs6000/crtresfpr.asm: Move to
	../libgcc/config/rs6000/crtresfpr.S.
	* config/rs6000/crtresgpr.asm: Move to
	../libgcc/config/rs6000/crtresgpr.S.
	* config/rs6000/crtresxfpr.asm: Move to
	../libgcc/config/rs6000/crtresxfpr.S.
	* config/rs6000/crtresxgpr.asm: Move to
	../libgcc/config/rs6000/crtresxgpr.S.
	* config/rs6000/crtsavfpr.asm: Move to
	../libgcc/config/rs6000/crtsavfpr.S.
	* config/rs6000/crtsavgpr.asm: Move to
	../libgcc/config/rs6000/crtsavgpr.S.
	* config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000.
	* config/rs6000/darwin-fpsave.asm: Move to
	../libgcc/config/rs6000/darwin-fpsave.S.
	* config/rs6000/darwin-gpsave.asm: Move to
	../libgcc/config/rs6000/darwin-gpsave.S.
	* config/rs6000/darwin-tramp.asm: Move to
	../libgcc/config/rs6000/darwin-tramp.S.
	* config/rs6000/darwin-vecsave.asm: Move to
	../libgcc/config/rs6000/darwin-vecsave.S.
	* config/rs6000/darwin-world.asm: Move to
	../libgcc/config/rs6000/darwin-world.S.
	* config/rs6000/e500crtres32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtres32gpr.S.
	* config/rs6000/e500crtres64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtres64gpr.S.
	* config/rs6000/e500crtres64gprctr.asm: Move to
	../libgcc/config/rs6000/e500crtres64gprctr.S.
	* config/rs6000/e500crtrest32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtrest32gpr.S.
	* config/rs6000/e500crtrest64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtrest64gpr.S.
	* config/rs6000/e500crtresx32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtresx32gpr.S.
	* config/rs6000/e500crtresx64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtresx64gpr.S.
	* config/rs6000/e500crtsav32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsav32gpr.S.
	* config/rs6000/e500crtsav64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsav64gpr.S.
	* config/rs6000/e500crtsav64gprctr.asm: Move to
	../libgcc/config/rs6000/e500crtsav64gprctr.S.
	* config/rs6000/e500crtsavg32gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsavg32gpr.S.
	* config/rs6000/e500crtsavg64gpr.asm: Move to
	../libgcc/config/rs6000/e500crtsavg64gpr.S.
	* config/rs6000/e500crtsavg64gprctr.asm: Move to
	../libgcc/config/rs6000/e500crtsavg64gprctr.S.
	* config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S.
	* config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/rs6000/t-aix52: Likewise.
	* config/rs6000/t-darwin: Remove.
	* config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS)
	(LIB2FUNCS_EXTRA): Remove.
	* config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove.
	* config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/rs6000/t-netbsd (LIB2FUNCS_EXTRA)
	(LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S)
	(crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC)
	(INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext))
	(($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext),
	$(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove.
	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA)
	(LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove.
	* config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/rs6000/t-vxworks: Remove comment.
	* config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S.
	* config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/sh/linux-atomic.asm: Move to
	../libgcc/config/sh/linux-atomic.S.
	* config/sh/t-linux (LIB2FUNCS_EXTRA): Remove.
	* config/sh/t-netbsd: Remove.
	* config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
	Remove.
	* config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove.
	* config/sparc/t-leon: Likewise.
	* config/sparc/t-leon3: Likewise.
	* config/sparc/t-linux64: Likewise.
	* config/sparc/t-netbsd64: Fix typo.
	Remove comment.
	* config/spu/divmodti4.c, config/spu/divv2df3.c,
	config/spu/float_disf.c, config/spu/float_unsdidf.c,
	config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
	config/spu/mfc_multi_tag_release.c,
	config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
	config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
	config/spu/multi3.c: Move to ../libgcc/config/spu.
	* config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE)
	(LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC)
	(INSTALL_LIBGCC): Remove.
	* config/stormy16/stormy16-lib2.c: Move to
	../libgcc/config/stormy16/lib2.c.
	* config/stormy16/stormy16-lib2-ashlsi3.c: Move to
	../libgcc/config/stormy16/ashlsi3.c.
	* config/stormy16/stormy16-lib2-ashrsi3.c: Move to
	../libgcc/config/stormy16/ashrsi3.c.
	* config/stormy16/stormy16-lib2-clzhi2.c: Move to
	../libgcc/config/stormy16/clzhi2.c.
	* config/stormy16/stormy16-lib2-cmpsi2.c: Move to
	../libgcc/config/stormy16/cmpsi2.c.
	* config/stormy16/stormy16-lib2-ctzhi2.c: Move to
	../libgcc/config/stormy16/ctzhi2.c.
	* config/stormy16/stormy16-lib2-divsi3.c: Move to
	../libgcc/config/stormy16/divsi3.c.
	* config/stormy16/stormy16-lib2-ffshi2.c: Move to
	../libgcc/config/stormy16/ffshi2.c.
	* config/stormy16/stormy16-lib2-lshrsi3.c: Move to
	../libgcc/config/stormy16/lshrsi3.c.
	* config/stormy16/stormy16-lib2-modsi3.c: Move to
	../libgcc/config/stormy16/modsi3.c.
	* config/stormy16/stormy16-lib2-parityhi2.c: Move to
	../libgcc/config/stormy16/parityhi2.c.
	* config/stormy16/stormy16-lib2-popcounthi2.c: Move to
	../libgcc/config/stormy16/popcounthi2.c.
	* config/stormy16/stormy16-lib2-ucmpsi2.c: Move to
	../libgcc/config/stormy16/ucmpsi2.c.
	* config/stormy16/stormy16-lib2-udivmodsi4.c: Move to
	../libgcc/config/stormy16/udivmodsi4.c.
	* config/stormy16/stormy16-lib2-udivsi3.c: Move to
	../libgcc/config/stormy16/udivsi3.c.
	* config/stormy16/stormy16-lib2-umodsi3.c: Move to
	../libgcc/config/stormy16/umodsi3.c.
	* config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16.
	* config/v850/t-v850 (INSTALL_LIBGCC): Remove.
	* config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa.
	* config/xtensa/t-elf: Remove.
	* config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove.
	* config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread
	from tmake_file.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file.
	(*-*-netbsd*): Remove t-libgcc-pic from tmake_file.
	(*-*-openbsd*): Likewise.
	Remove t-openbsd-thread for posix threads.
	(alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee
	from tmake_file.
	(alpha*-*-freebsd*): Likewise.
	(alpha*-*-netbsd*): Likewise.
	(alpha*-*-openbsd*): Likewise.
	(alpha64-dec-*vms*): Likewise.
	(alpha*-dec-*vms*): Likewise.
	(arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file.
	(arm*-*-linux*): Remove t-linux from tmake_file.
	Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi.
	(arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for
	arm*-*-uclinux*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from
	tmake_file for arm*-*-eabi*.
	(fr30-*-elf): Remove tmake_file.
	(hppa*64*-*-linux*): Remove tmake_file.
	(hppa*-*-linux*): Likewise.
	(hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from
	tmake_file.
	(hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file.
	(hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from
	tmake_file.
	(i[34567]86-*-elf*): Remove tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-nto-qnx*): Likewise.
	(i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file.
	(i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32
	from tmake_file if using win32 threads.
	(iq2000*-*-elf*): Remove tmake-file.
	(microblaze*-linux*): Likewise.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for
	sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd.
	(xtensa*-*-elf*): Remove tmake_file.

	gcc/po:
	* EXCLUDES (config/vxlib.c, gbl-ctors.h, libgcc2.c, libgcc2.h)
	(longlong.h): Remove.

	libgcc:
	* configure.ac: Include ../config/picflag.m4.
	(GCC_PICFLAG): Call it.
	Substitute.
	* configure: Regenerate.
	* Makefile.in (gcc_srcdir): Remove.
	(LIBGCC2_DEBUG_CFLAGS, LIBGCC2_CFLAGS, LIBGCC2_INCLUDES)
	(HOST_LIBGCC2_CFLAGS, PICFLAG, LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE)
	(LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST): Set.
	($(lib2funcs-o), $(lib2funcs-s-o), $(lib2-divmod-o))
	($(lib2-divmod-s-o)): Use $(srcdir) to refer to libgcc2.c.
	Use $<.
	Remove comment.
	* libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: New files.
	* siditi-object.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir)
	to refer to libgcc2.c.
	Use $<.
	* config/darwin-64.c: New file.
	* config/darwin-crt3.c: Remove comment.
	* config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
	config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
	config/udivmodsi4.c: New files.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: New files.
	* config/t-crtstuff-pic (CRTSTUFF_T_CFLAGS_S): Use $(PICFLAG).
	* config/t-darwin (HOST_LIBGCC2_CFLAGS): Set.
	* config/t-freebsd-thread, config/t-libgcc-pic: New files.
	* config/t-libunwind (HOST_LIBGCC2_CFLAGS): Set.
	* config/t-openbsd-thread: New file.
	* config/t-sol2 (HOST_LIBGCC2_CFLAGS): Remove.
	* config/t-vxworks, config/vxlib-tls.c, config/vxlib.c: New files.
	* config/alpha/gthr-posix.c, config/alpha/qrnnd.S: New files.
	* config/alpha/t-alpha (LIB2ADD): Use $(srcdir) to refer to
	qrnnd.S.
	Adapt filename.
	* config/alpha/t-osf-pthread (LIB2ADD): Use $(srcdir)/config/alpha
	to refer to gthr-posix.c.
	* config/alpha/t-vms (LIB2ADD): Set.
	* config/alpha/vms-gcc_shell_handler.c: New file.
	* config/arm/bpabi.c, config/arm/fp16.c,
	config/arm/linux-atomic.c, config/arm/linux-atomic-64bit.c,
	config/arm/unaligned-funcs.c: New files.
	* config/arm/t-bpabi (LIB2ADD, LIB2ADD_ST): Set.
	* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/arm/t-linux: Likewise.
	* config/arm/t-linux-eabi (LIB2ADD_ST): Add.
	* config/arm/t-netbsd: New file.
	* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/arm/t-symbian (LIB2ADD_ST): Set.
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE, HOST_LIBGCC2_CFLAGS): Set.
	* config/bfin/t-crtstuff (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/bfin/t-elf: New file.
	* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
	config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
	config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
	config/c6x/ltf.c: New files.
	* config/c6x/t-elf (LIB2FUNCS_EXCLUDE, LIB2ADD)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/c6x/t-uclinux (HOST_LIBGCC2_CFLAGS): Set.
	(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/cris/arit.c, config/cris/mulsi3.S, config/cris/t-cris:
	New files.
	* config/cris/t-elfmulti (LIB2ADD_ST): Set.
	* config/cris/t-linux (HOST_LIBGCC2_CFLAGS): Remove.
	* config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
	config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
	config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: New
	files.
	* config/frv/t-frv (LIB2ADD): Set.
	* config/frv/t-linux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
	config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
	config/h8300/popcounthi2.c: New files.
	* config/h8300/t-h8300 (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
	* config/i386/gthr-win32.c: New file.
	* config/i386/t-cygming (LIBGCC2_INCLUDES): Set.
	* config/i386/t-cygwin: Likewise.
	* config/i386/t-darwin, config/i386/t-darwin64,
	config/i386/t-gthr-win32, config/i386/t-interix: New files.
	* config/i386/t-nto (HOST_LIBGCC2_CFLAGS): Set.
	(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/i386/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/ia64/quadlib.c: New file.
	* config/ia64/t-hpux (LIB2ADD): Set.
	* config/ia64/t-ia64: Add comment.
	* config/iq2000/lib2funcs.c, config/iq2000/t-iq2000: New files.
	* config/lm32/t-uclinux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	(HOST_LIBGCC2_CFLAGS): Append, remove -fPIC.
	* config/m32c/lib2funcs.c, config/m32c/trapv.c: New files.
	* config/m32c/t-m32c (LIB2ADD): Set.
	* config/m32r/t-linux (HOST_LIBGCC2_CFLAGS): Set.
	* config/m32r/t-m32r: Likewise.
	* config/m68k/fpgnulib.c: New file.
	* config/m68k/t-floatlib (LIB2ADD): Set.
	(xfgnulib.c): New target.
	* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Set.
	* config/mep/lib2funcs.c, config/mep/tramp.c: New files.
	* config/mep/t-mep (LIB2ADD): Set.
	* config/microblaze/divsi3.asm: Rename to divsi3.S.
	* config/microblaze/moddi3.asm: Rename to moddi3.S.
	* config/microblaze/modsi3.asm: Rename to modsi3.S.
	* config/microblaze/muldi3_hard.asm: Rename to hard.S.
	* config/microblaze/mulsi3.asm: Rename to mulsi3.S.
	* config/microblaze/stack_overflow_exit.asm: Rename to exit.S.
	* config/microblaze/udivsi3.asm: Rename to udivsi3.S.
	* config/microblaze/umodsi3.asm: Rename to umodsi3.S.
	* config/microblaze/t-microblaze (LIB2ADD): Reflect this.
	* config/mips/t-elf, config/mips/t-vr, config/mips/vr4120-div.S:
	New files.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Set.
	* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Set.
	* config/pa/fptr.c, config/pa/lib2funcs.S,
	config/pa/linux-atomic.c, config/pa/quadlib.c: New files.
	* config/pa/t-linux (HOST_LIBGCC2_CFLAGS): Set.
	(LIB2ADD, LIB2ADD_ST): Set.
	* config/pa/t-hpux, config/pa/t-hpux10, config/pa/t-pa64: New files.
	* config/pa/t-linux (HOST_LIBGCC2_CFLAGS, LIB2ADD, LIB2ADD_ST):
	Set.
	* config/pa/t-linux64 (LIB2ADD_ST, HOST_LIBGCC2_CFLAGS): Set.
	* config/pdp11/t-pdp11: New file.
	* config/picochip/libgccExtras/adddi3.S,
	config/picochip/libgccExtras/ashlsi3.S,
	config/picochip/libgccExtras/ashrsi3.S,
	config/picochip/libgccExtras/clzsi2.S,
	config/picochip/libgccExtras/cmpsi2.S,
	config/picochip/libgccExtras/divmod15.S,
	config/picochip/libgccExtras/divmodhi4.S,
	config/picochip/libgccExtras/divmodsi4.S,
	config/picochip/libgccExtras/lshrsi3.S,
	config/picochip/libgccExtras/parityhi2.S,
	config/picochip/libgccExtras/popcounthi2.S,
	config/picochip/libgccExtras/subdi3.S,
	config/picochip/libgccExtras/ucmpsi2.S,
	config/picochip/libgccExtras/udivmodhi4.S,
	config/picochip/libgccExtras/udivmodsi4.S: New files.
	* config/picochip/t-picochip (LIB2ADD, HOST_LIBGCC2_CFLAGS)
	(LIBGCC2_DEBUG_CFLAGS, RANLIB_FOR_TARGET): Set.
	* config/rs6000/crtresfpr.S, config/rs6000/crtresgpr.S,
	config/rs6000/crtresxfpr.S, config/rs6000/crtresxgpr.S,
	config/rs6000/crtsavfpr.S, config/rs6000/crtsavgpr.S)
	config/rs6000/darwin-asm.h, config/rs6000/darwin-fpsave.S,
	config/rs6000/darwin-gpsave.S, 	config/rs6000/darwin-tramp.S,
	config/rs6000/darwin-vecsave.S, config/rs6000/darwin-world.S: New
	files.
	* config/rs6000/t-darwin (LIB2ADD, LIB2ADD_ST)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/rs6000/t-darwin64: New file.
	* config/rs6000/t-linux64 (HOST_LIBGCC2_CFLAGS): Set.
	* config/rs6000/t-lynx, config/rs6000/t-netbsd: New files.
	* config/rs6000/t-ppccomm (LIB2ADD): Add
	$(srcdir)/config/rs6000/tramp.S.
	(LIB2ADD_ST): Use $(srcdir)/config/rs6000 to refer to sources.
	Add  $(srcdir)/config/rs6000/eabi.S.
	(crtsavfpr.S, crtresfpr.S, crtsavgpr.S, crtresgpr.S, crtresxfpr.S)
	(crtresxgpr.S, e500crtres32gpr.S, e500crtres64gpr.S)
	(e500crtres64gprctr.S, e500crtrest32gpr.S, e500crtrest64gpr.S)
	(e500crtresx32gpr.S, e500crtresx64gpr.S, e500crtsav32gpr.S)
	(e500crtsav64gpr.S, e500crtsav64gprctr.S, e500crtsavg32gpr.S)
	(e500crtsavg64gpr.S, e500crtsavg64gprctr.S): Remove.
	* config/rs6000/tramp.S: New file.
	* config/s390/t-tpf: Remove.
	* config/sh/linux-atomic.S: New file.
	* config/sh/t-linux (LIB2ADD): Set.
	(HOST_LIBGCC2_CFLAGS): Append, remove -fpic.
	* config/sh/t-netbsd (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
	* config/sh/t-sh (unwind-dw2-Os-4-200.o): Use $(srcdir) to refer
	to unwind-dw2.c.
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/spu/divmodti4.c, config/spu/divv2df3.c,
	config/spu/float_disf.c, config/spu/float_unsdidf.c,
	config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
	config/spu/mfc_multi_tag_release.c,
	config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
	config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
	config/spu/multi3.c: New files.
	* config/spu/t-elf (LIB2ADD, LIB2ADD_ST, LIB2_SIDITI_CONV_FUNCS)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/stormy16/ashlsi3.c, config/stormy16/ashrsi3.c,
	config/stormy16/clzhi2.c, config/stormy16/cmpsi2.c,
	config/stormy16/ctzhi2.c, config/stormy16/divsi3.c,
	config/stormy16/ffshi2.c, config/stormy16/lib2.c,
	config/stormy16/lshrsi3.c, config/stormy16/modsi3.c,
	config/stormy16/parityhi2.c, config/stormy16/popcounthi2.c,
	config/stormy16/t-stormy16, config/stormy16/ucmpsi2.c,
	config/stormy16/udivmodsi4.c, config/stormy16/udivsi3.c,
	config/stormy16/umodsi3.c: New files.
	* config/xtensa/lib2funcs.S: New file.
	* config/xtensa/t-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/xtensa/t-xtensa (LIB2ADD): Set.
	* config.host (*-*-darwin*): Add t-libgcc-pic to tmake_file.
	(*-*-freebsd*): Add t-freebsd, t-libgcc-pic to tmake_file.
	Add t-freebsd-thread to tmake_file for posix threads.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu)
	(*-*-gnu*, *-*-kopensolaris*-gnu): Add t-libgcc-pic to tmake_file.
	(*-*-lynxos*): Likewise.
	(*-*-netbsd*): Likewise.
	(*-*-openbsd*): Likewise.
	Add t-openbsd-thread to tmake_file for posix threads.
	(*-*-solaris2*): Add t-libgcc-pic to tmake_file.
	(*-*-vxworks*): Set tmake_file.
	(alpha*-*-linux*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
	(alpha*-*-freebsd*): Likewise.
	(alpha*-*-netbsd*): Likewise.
	(alpha*-*-openbsd*): Likewise.
	(alpha*-dec-osf5.1*): Remove qrnnd.o, gthr-posix.o from extra_parts.
	(alpha64-dec-*vms*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
	(alpha*-dec-*vms*): Likewise.
	(arm*-*-netbsdelf*): Add arm/t-netbsd to tmake_file.
	(bfin*-elf*): Add bfin/t-elf to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(crisv32-*-elf): Add cris/t-cris to tmake_file.
	(crisv32-*-none): Likewise.
	(cris-*-elf): Likewise.
	(cris-*-none): Likewise.
	(cris-*-linux*, crisv32-*-linux*): Likewise.
	(hppa[12]*-*-hpux10*): Add pa/t-hpux pa/t-hpux10, t-libgcc-pic to
	tmake_file.
	(hppa*64*-*-hpux11*): Add pa/t-hpux, pa/t-pa64, t-libgcc-pic to
	tmake_file.
	(hppa[12]*-*-hpux11*): Add pa/t-hpux, t-libgcc-pic to tmake_file.
	(i[34567]86-*-elf*): Add t-libgcc-pic to tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-nto-qnx*): Likewise.
	(i[34567]86-*-mingw*): Add i386/t-gthr-win32 to tmake_file for
	win32 threads.
	(x86_64-*-mingw*): Likewise.
	(i[34567]86-*-interix3*): Add i386/t-interix to tmake_file.
	(lm32-*-uclinux*): Add t-libgcc-pic to tmake_file.
	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
	(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-elf to
	tmake_file.
	(mipsisa64sr71k-*-elf*): Likewise.
	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
	(mips-*-elf*, mipsel-*-elf*): Likewise.
	(mips64-*-elf*, mips64el-*-elf*): Likewise.
	(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
	(mips*-*-rtems*): Likewise.
	(mips64vr-*-elf*, mips64vrel-*-elf*): Add mips/t-elf, mips/t-vr
	to tmake_file.
	(pdp11-*-*): Add pdp11/t-pdp11 to tmake_file.
	(powerpc64-*-darwin*): Add rs6000/t-darwin64 to tmake_file.
	(s390x-ibm-tpf*): Add t-libgcc-pic to tmake_file.
	(spu-*-elf*): Likewise.
	(tic6x-*-uclinux): Add t-libgcc-pic to tmake_file.

	libquadmath:
	* printf/gmp-impl.h: Adapt path to longlong.h.

From-SVN: r180774
2011-11-02 15:23:48 +00:00
Rainer Orth
45b86625d7 Move libgcc1 to toplevel libgcc
gcc:
	* Makefile.in (LIB1ASMSRC): Don't export.
	(libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC.
	* config/arm/arm.c: Update lib1funcs.asm filename.
	* config/arm/linux-eabi.h: Likewise.
	* config/arm/bpabi-v6m.S, config/arm/bpabi.S,
	config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to
	../libgcc/config/arm.
	* config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S.
	* config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/arm/t-arm-elf (LIB1ASMFUNCS): Remove.
	* config/arm/t-bpabi: Likewise.
	* config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove.
	* config/arm/t-strongarm-elf: Likewise.
	* config/arm/t-symbian: Likewise.
	* config/arm/t-vxworks: Likewise.
	* config/arm/t-wince-pe: Likewise.
	* config/avr/libgcc.S: Move to ../libgcc/config/avr.
	* config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/bfin/lib1funcs.asm: Move to
	../libgcc/config/bfin/lib1funcs.S.
	* config/bfin/t-bfin: Remove.
	* config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/bfin/t-bfin-linux: Likewise.
	* config/bfin/t-bfin-uclinux: Likewise.
	* config/c6x/lib1funcs.asm: Move to
	../libgcc/config/c6x/lib1funcs.S.
	* config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/fr30/lib1funcs.asm: Move to
	../libgcc/config/fr30/lib1funcs.S.
	* config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/frv/lib1funcs.asm: Move to
	../libgcc/config/frv/lib1funcs.S.
	* config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/h8300/fixunssfsi.c: Update lib1funcs.asm filename.
	* config/h8300/lib1funcs.asm: Move to
	../libgcc/config/h8300/lib1funcs.S.
	* config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S.
	* config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/i386/t-interix: Likewise.
	* config/ia64/lib1funcs.asm: Move to
	../libgcc/config/ia64/lib1funcs.S.
	* config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove.
	* config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove.
	* config/m32c/m32c.c: Update m32c-lib1.S filename.
	* config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S.
	* config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove.
	* config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S.
	* config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file.
	* config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S.
	* config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S.
	* config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/mips/mips16.S: Move to ../libgcc/config/mips.
	* config/mips/t-libgcc-mips16: Remove.
	* config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove.
	* config/pa/milli64.S: Move to ../libgcc/config/pa.
	* config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
	* config/pa/t-linux64: Likewise.
	* config/picochip/libgccExtras/fake_libgcc.asm: Move to
	../libgcc/config/picochip/lib1funcs.S.
	* config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
	* config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S.
	* config/sh/lib1funcs.h: Move to ../libgcc/config/sh.
	* config/sh/sh.h: Update lib1funcs.asm filename.
	* config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove.
	* config/sh/t-netbsd: Likewise.
	* config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE):
	Remove.
	* config/sh/t-sh64 (LIB1ASMFUNCS): Remove.
	* config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S.
	* config/sparc/lb1spl.asm: Remove.
	* config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config/sparc/t-leon: Likewise.
	* config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove.
	* config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S.
	* config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove
	* config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S.
	* config/vax/t-linux: Remove.
	* config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to
	../libgcc/config/xtensa.
	* config/xtensa/lib1funcs.asm: Move to
	../libgcc/config/xtensa/lib1funcs.S.
	* config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
	* config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file.
	(bfin*-*): Likewise.
	(mips64*-*-linux*, mipsisa64*-*-linux*): Remove
	mips/t-libgcc-mips16 from tmake_file.
	(mips*-*-linux*): Likewise.
	(mips*-sde-elf*): Likewise.
	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
	(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Likewise.
	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
	(mips-*-elf*, mipsel-*-elf*): Likewise.
	(mips64-*-elf*, mips64el-*-elf*): Likewise.
	(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
	(mips*-*-rtems*): Likewise.
	(mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
	(vax-*-linux*): Remove vax/t-linux from tmake_file.

	libgcc:
	* Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): Use
	$(srcdir) to refer to $(LIB1ASMSRC).
	Use $<.
	* config/arm/bpabi-v6m.S, config/arm/bpabi.S,
	config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
	config/arm/lib1funcs.S: New files.
	* config/arm/libunwind.S [!__symbian__]: Use lib1funcs.S.
	* config/arm/t-arm: New file.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Set.
	* config/arm/t-elf, config/arm/t-linux, config/arm/t-linux-eabi,
	config/arm/t-strongarm-elf: New files.
	* config/arm/t-symbian (LIB1ASMFUNCS): Set.
	* config/arm/t-vxworks, config/arm/t-wince-pe: New files.
	* config/avr/lib1funcs.S: New file.
	* config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/bfin/lib1funcs.S, config/bfin/t-bfin: New files.
	* config/c6x/lib1funcs.S: New file.
	* config/c6x/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/fr30/lib1funcs.S, config/fr30/t-fr30: New files.
	* config/frv/lib1funcs.S: New file.
	* config/frv/t-frv (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/h8300/lib1funcs.S, config/h8300/t-h8300: New files.
	* config/i386/cygwin.S, config/i386/t-chkstk: New files.
	* config/ia64/__divxf3.asm: Rename to ...
	* config/ia64/__divxf3.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/_fixtfdi.asm: Rename to ...
	* config/ia64/_fixtfdi.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/_fixunstfdi.asm: Rename to ...
	* config/ia64/_fixunstfdi.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/_floatditf.asm: Rename to ...
	* config/ia64/_floatditf.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/lib1funcs.S: New file.
	* config/ia64/t-hpux (LIB1ASMFUNCS): Set.
	* config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/ia64/t-softfp-compat (libgcc1-tf-compats): Adapt suffix.
	* config/m32c/lib1funcs.S, config/m32c/t-m32c: New files.
	* config/m68k/lb1sf68.S, config/m68k/t-floatlib: New files.
	* config/mcore/lib1funcs.S, config/mcore/t-mcore: New files.
	* config/mep/lib1funcs.S: New file.
	* config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/mips/mips16.S: New file.
	* config/mips/t-mips16 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/pa/milli64.S: New file.
	* config/pa/t-linux, config/pa/t-linux64: New files.
	* config/picochip/lib1funcs.S: New file.
	* config/picochip/t-picochip (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/sh/lib1funcs.S, config/sh/lib1funcs.h: New files.
	* config/sh/t-linux (LIB1ASMFUNCS_CACHE): Set.
	* config/sh/t-netbsd: New file.
	* config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Set.
	Use $(srcdir) to refer to lib1funcs.S, adapt filename.
	* config/sh/t-sh64: New file.
	* config/sparc/lb1spc.S: New file.
	* config/sparc/t-softmul (LIB1ASMSRC): Adapt sparc/lb1spc.asm
	filename.
	* config/v850/lib1funcs.S, config/v850/t-v850: New files.
	* config/vax/lib1funcs.S, config/vax/t-linux: New files.
	* config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S,
	config/xtensa/lib1funcs.S: New files.
	* config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config.host (arm-wrs-vxworks): Add arm/t-arm, arm/t-vxworks to
	tmake_file.
	(arm*-*-freebsd*): Add arm/t-arm, arm/t-strongarm-elf to tmake_file.
	(arm*-*-netbsdelf*): Add arm/t-arm to tmake_file.
	(arm*-*-linux*): Likewise.
	Add arm/t-elf, arm/t-bpabi, arm/t-linux-eabi to tmake_file for
	arm*-*-linux-*eabi, add arm/t-linux otherwise.
	(arm*-*-uclinux*): Add arm/t-arm, arm/t-elf to tmake_file.
	(arm*-*-ecos-elf): Likewise.
	(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
	(arm*-*-rtems*): Likewise.
	(arm*-*-elf): Likewise.
	(arm*-wince-pe*): Add arm/t-arm, arm/t-wince-pe to tmake_file.
	(avr-*-rtems*): Add to tmake_file, add avr/t-avr.
	(bfin*-elf*): Add bfin/t-bfin to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(bfin*-rtems*): Likewise.
	(bfin*-*): Likewise.
	(fido-*-elf): Merge into m68k-*-elf*.
	(fr30-*-elf)): Add fr30/t-fr30 to tmake_file.
	(frv-*-*linux*): Add frv/t-frv to tmake_file.
	(h8300-*-rtems*): Add h8300/t-h8300 to tmake_file.
	(h8300-*-elf*): Likewise.
	(hppa*64*-*-linux*): Add pa/t-linux, pa/t-linux64 to tmake_file.
	(hppa*-*-linux*): Add pa/t-linux to tmake_file.
	(i[34567]86-*-cygwin*): Add i386/t-chkstk to tmake_file.
	(i[34567]86-*-mingw*): Likewise.
	(x86_64-*-mingw*): Likewise.
	(i[34567]86-*-interix3*): Likewise.
	(ia64*-*-hpux*): Add ia64/t-ia64, ia64/t-hpux to tmake_file.
	(ia64-hp-*vms*): Add ia64/t-ia64 to tmake_file.
	(m68k-*-elf*): Also handle fido-*-elf.
	Add m68k/t-floatlib to tmake_file.
	(m68k-*-uclinux*): Add m68k/t-floatlib to tmake_file.
	(m68k-*-linux*): Likewise.
	(m68k-*-rtems*): Likewise.
	(mcore-*-elf): Add mcore/t-mcore to tmake_file.
	(sh-*-elf*, sh[12346l]*-*-elf*): Add sh/t-sh64 to tmake_file for
	sh64*-*-*.
	(sh-*-linux*, sh[2346lbe]*-*-linux*): Add sh/t-sh to tmake_file.
	Add sh/t-sh64 to tmake_file for sh64*-*-linux*.
	(sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*)
	(sh5l*-*-netbsd*, sh64-*-netbsd*, sh64l*-*-netbsd*): Add sh/t-sh,
	sh/t-netbsd to tmake_file.
	Add sh/t-sh64 to tmake_file for sh5*-*-netbsd*, sh64*-netbsd*.
	(sh-*-rtems*): Add sh/t-sh to tmake_file.
	(sh-wrs-vxworks): Likewise.
	(sparc-*-linux*): Add sparc/t-softmul to tmake_file except for
	*-leon[3-9]*.
	(v850*-*-*): Add v850/t-v850 to tmake_file.
	(vax-*-linux*): Add vax/t-linux to tmake_file.
	(m32c-*-elf*, m32c-*-rtems*): Add m32c/t-m32c to tmake_file.

From-SVN: r180773
2011-11-02 15:03:19 +00:00
Rainer Orth
5f73c6ccf0 Move crtstuff support to toplevel libgcc
gcc:
	* config.gcc (extra_parts): Remove.
	(*-*-freebsd*): Remove extra_parts.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*, *-*-kopensolaris*-gnu): Likewise.
	(*-*-netbsd*): Remove t-libc-ok, t-netbsd from tmake_file.
	Remove extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
	*-*-netbsdelf[2-9]*.
	(*-*-openbsd*): Remove t-libc-ok from tmake_file.
	(alpha*-*-linux*): Remove extra_parts.
	(alpha*-*-freebsd*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(fr30-*-elf): Likewise.
	(moxie-*-elf): Likewise.
	(moxie-*-uclinux*): Likewise.
	(h8300-*-rtems*): Remove h8300/t-elf from tmake_file.
	(h8300-*-elf*): Likewise.
	(hppa*64*-*-hpux11*): Remove extra_parts.
	(i[34567]86-*-elf*): Remove i386/t-i386elf, i386/t-crtstuff from
	tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-freebsd*): Remove tmake_file.
	(x86_64-*-freebsd*): Likewise.
	(x86_64-*-netbsd*): Likewise.
	(i[34567]86-*-openbsd2.*, i[34567]86-*openbsd3.[0123]): Remove
	t-libc-ok from tmake_file.
	(i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
	i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
	i[34567]86-*-kopensolaris*-gnu): Remove i386/t-crtstuff from tmake_file.
	Remove extra_parts.
	(x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
	Remove i386/t-crtstuff from tmake_file.
	(i[34567]86-*-lynxos*): Likewise.
	Remove extra_parts.
	(ia64*-*-elf*): Remove extra_parts.
	(ia64*-*-freebsd*): Likewise.
	(ia64*-*-linux*): Likewise.
	(ia64-hp-*vms*): Remove ia64/t-vms from tmake_file.
	(m32r-*-elf*): Remove extra_parts.
	(m32rle-*-elf*): Likewise.
	(m32r-*-rtems*): Likewise.
	(m68k-*-elf*, fido-*-elf*): Likewise.
	(m68k*-*-openbsd*): Remove t-libc-ok from tmake_file.
	(m68k-*-rtems*): Remove extra_parts.
	(mep-*-*): Likewise.
	(microblaze*-linux*): Likewise.
	(mips64*-*-linux*, mipsisa64*-*-linux*): Likewise.
	(mips*-*-linux*): Likewise.
	(powerpc-*-lynxos*): Likewise.
	(s390x-ibm-tpf*): Likewise.
	(score-*-elf): Likewise.
	Remove tmake_file.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*, sh[2346lbe]*-*-linux*,
	sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*, sh5l*-*-netbsd*,
	sh64-*-netbsd*, sh64l*-*-netbsd*): Remove sh/t-elf from tmake_file.
	Remove sh/t-superh from tmake_file for sh*-superh-elf.
	Remove sh/t-linux64 from tmake_file for sh64*-*-linux*.
	(sh-*-rtems*): Remove sh/t-elf from tmake_file.
	(sh-wrs-vxworks): Likewise.
	(sparc-*-linux*): Remove extra_parts.
	(sparc64-*-linux*): Likewise.
	(sparc64-*-freebsd*, ultrasparc-*-freebsd*): Likewise.
	(xstormy16-*-elf): Likewise.
	(xtensa*-*-linux*): Remove xtensa/t-linux from tmake_file.
	(am33_2.0-*-linux*): Remove extra_parts.
	* configure.ac (extra_parts): Don't substitute.
	* configure: Regenerate.
	* crtstuff.c: Move to ../libgcc.
	* Makefile.in (CRTSTUFF_CFLAGS): Remove.
	(EXTRA_PARTS): Remove.
	(CRTSTUFF_T_CFLAGS): Remove.
	(MOSTLYCLEANFILES): Remove $(EXTRA_PARTS).
	(GCC_EXTRA_PARTS): Remove.
	(libgcc.mvars): Remove GCC_EXTRA_PARTS, CRTSTUFF_CFLAGS,
	CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S.
	Emit GCC_CFLAGS, INHIBIT_LIBC_CFLAGS.
	($(T)crtbegin.o, $(T)crtend.o, $(T)crtbeginS.o, $(T)crtendS.o)
	($(T)crtbeginT.o): Remove.
	* config/alpha/t-vms (EXTRA_PARTS): Remove.
	($(T)vms-dwarf2.o, $(T)vms-dwarf2eh.o): Remove.
	* config/alpha/vms-dwarf2.asm: Move to
	../libgcc/config/alpha/vms-dwarf2.S.
	* config/alpha/vms-dwarf2eh.asm: Move to
	../libgcc/config/alpha/vms-dwarf2eh.S.
	* config/arm/crti.asm: Move to ../libgcc/config/arm/crti.S.
	* config/arm/crtn.asm: Move to ../libgcc/config/arm/crtn.S.
	* config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Remove.
	($(T)crti.o, $(T)crtn.o): Remove.
	* config/arm/t-linux: Remove comment.
	* config/arm/t-linux-eabi (EXTRA_MULTILIB_PARTS): Remove.
	* config/arm/t-strongarm-elf (EXTRA_MULTILIB_PARTS): Remove.
	($(T)crti.o, $(T)crtn.o): Remove.
	* config/arm/t-symbian (EXTRA_MULTILIB_PARTS): Remove.
	* config/bfin/crti.s: Move to ../libgcc/config/bfin/crti.S.
	* config/bfin/crtn.s: Move to ../libgcc/config/bfin/crtn.S.
	* config/bfin/crtlibid.s: Move to ../libgcc/config/bfin/crtlibid.S.
	* config/bfin/t-bfin (EXTRA_PARTS): Remove.
	($(T)crti.o, $(T)crtn.o): Remove.
	* config/bfin/t-bfin-elf (CRTSTUFF_T_CFLAGS): Remove.
	($(T)crti.o, $(T)crtn.o, $(T)crtlibid.o): Remove
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/bfin/t-bfin-linux (CRTSTUFF_T_CFLAGS,
	EXTRA_MULTILIB_PARTS): Remove.
	* config/bfin/t-bfin-uclinux (CRTSTUFF_T_CFLAGS): Remove.
	($(T)crtlibid.o): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/c6x/crti.s: Move to ../libgcc/config/c6x/crti.S.
	* config/c6x/crtn.s: Move to ../libgcc/config/c6x/crtn.S.
	* config/c6x/t-c6x-elf ($(T)crti.o, $(T)crtn.o): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
	* config/c6x/t-c6x-uclinux (CRTSTUFF_T_CFLAGS,
	CRTSTUFF_T_CFLAGS_S): Remove.
	* config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Remove.
	* config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/fr30/crti.asm: Move to ../libgcc/config/fr30/crti.S.
	* config/fr30/crtn.asm: Move to ../libgcc/config/fr30/crtn.S.
	* config/fr30/t-fr30 ($(T)crti.o, $(T)crtn.o): Remove.
	* config/frv/frvbegin.c, config/frv/frvend.c: Move to
	../libgcc/config/frv.
	* config/frv/t-frv (EXTRA_MULTILIB_PARTS): Remove.
	(FRVSTUFF_CFLAGS, $(T)frvbegin$(objext), $(T)frvend$(objext)): Remove.
	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove.
	(CRTSTUFF_T_CFLAGS): Remove.
	* config/h8300/crti.asm: Move to ../libgcc/config/h8300/crti.S.
	* config/h8300/crtn.asm: Move to ../libgcc/config/h8300/crtn.S.
	* config/h8300/t-elf: Remove.
	* config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
	Move to ../libgcc/config/i386.
	* config/i386/t-crtstuff: Remove.
	* config/i386/t-i386elf: Remove.
	* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
	* config/i386/t-nto (CRTSTUFF_T_CFLAGS, EXTRA_PARTS): Remove.
	* config/ia64/crtbegin.asm: Move to
	../libgcc/config/ia64/crtbegin.S.
	* config/ia64/crtend.asm: Move to
	../libgcc/config/ia64/crtend.S.
	* config/ia64/crti.asm: Move to ../libgcc/config/ia64/crti.S.
	* config/ia64/crtn.asm: Move to ../libgcc/config/ia64/crtn.S.
	* config/ia64/t-vms: Remove.
	* config/ia64/vms-crtinit.asm: Move to
	../libgcc/config/ia64/vms-crtinit.S.
	* config/m32c/t-m32c (EXTRA_MULTILIB_PARTS): Remove.
	* config/m32r/initfini.c: Move to ../libgcc/config/m32r.
	* config/m32r/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/m32r/t-m32r (CRTSTUFF_T_CFLAGS): Remove.
	($(T)crtinit.o, $(T)crtfini.o): Remove.
	(m32rx, m32r2): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/m68k/crti.s: Move to ../libgcc/config/m68k/crti.S.
	* config/m68k/crtn.s: Move to ../libgcc/config/m68k/crtn.S.
	* config/m68k/t-crtstuff: Remove.
	* config/m68k/t-linux (EXTRA_MULTILIB_PARTS): Remove.
	* config/m68k/t-m68kelf: Remove.
	* config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Remove.
	* config/mcore/crti.asm: Move to ../libgcc/config/mcore/crti.S.
	* config/mcore/crtn.asm: Move to ../libgcc/config/mcore/crtn.S.
	* config/mcore/t-mcore ($(T)crti.o, $(T)crtn.o): Remove.
	(EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
	* config/mep/t-mep (CRTSTUFF_CFLAGS): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/microblaze/crti.s: Move to ../libgcc/config/microblaze/crti.S.
	* config/microblaze/crtn.s: Move to ../libgcc/config/microblaze/crtn.S.
	* config/microblaze/t-microblaze (EXTRA_MULTILIB_PARTS,
	EXTRA_PARTS): Remove.
	($(T)crti$(objext), $(T)crtn$(objext)): Remove.
	* config/mips/crti.asm: Move to ../libgcc/config/mips/crti.S.
	* config/mips/crtn.asm: Move to ../libgcc/config/mips/crtn.S.
	* config/mips/t-elf (CRTSTUFF_T_CFLAGS): Remove.
	($(T)crti.o, $(T)crtn.o): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/mips/t-isa3264: Likewise.
	* config/mips/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
	* config/mips/t-r3900 (EXTRA_MULTILIB_PARTS): Remove.
	(CRTSTUFF_T_CFLAGS): Remove.
	* config/mips/t-sde (CRTSTUFF_T_CFLAGS): Remove.
	($(T)crti.o, $(T)crtn.o): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/mips/t-sr71k (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS):
	Remove.
	($(T)crti.o, $(T)crtn.o): Remove.
	* config/mips/t-st (EXTRA_MULTILIB_PARTS): Remove.
	* config/mips/t-vr (CRTSTUFF_T_CFLAGS): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	($(T)crti.o, $(T)crtn.o): Remove.
	* config/mmix/crti.asm: Move to ../libgcc/config/crti.S.
	* config/mmix/crtn.asm: Move to ../libgcc/config/crtn.S.
	* config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Remove.
	* config/moxie/crti.asm, config/moxie/crtn.asm: Remove.
	* config/pa/stublib.c: Move to libgcc/config/pa.
	* config/pa/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/pa/t-linux64 (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS, stublib.c): Remove.
	(pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
	(pthread_mutex_unlock-stub.o, pthread_once-stub.o)
	($(T)libgcc_stub.a): Remove.
	* config/pa/t-pa64 (LIBGCCSTUB_OBJS, stublib.c): Remove.
	(rfi-stub.o, dfi-stub.o, cxaf-stub.o, jvrc-stub.o)
	(pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
	(pthread_mutex_unlock-stub.o, pthread_once-stub.o)
	($(T)libgcc_stub.a): Remove.
	* config/rs6000/eabi-cn.asm: Move to
	../../../libgcc/config/rs6000/eabi-cn.S.
	* config/rs6000/eabi-ci.asm: Move to
	../../../libgcc/config/rs6000/eabi-ci.S.
	* config/rs6000/sol-ci.asm: Move to
	../../../libgcc/config/rs6000/sol-ci.S.
	* config/rs6000/sol-cn.asm: Move to
	../../../libgcc/config/rs6000/sol-cn.S.
	* config/rs6000/t-lynx (EXTRA_MULTILIB_PARTS): Remove.
	(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
	* config/rs6000/t-netbsd (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
	Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Remove.
	(ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
	($(T)ecrti$(objext), $(T)ecrtn$(objext), $(T)ncrti$(objext),
	$(T)ncrtn$(objext)): Remove.
	(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
	* config/rs6000/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
	* config/rx/t-rx (EXTRA_MULTILIB_PARTS): Remove.
	* config/score/crti.asm: Move to ../libgcc/config/score/crti.S.
	* config/score/crtn.asm: Move to ../libgcc/config/score/crtn.S.
	* config/score/t-score-elf: Remove.
	* config/sh/crt1.asm: Move to ../libgcc/config/sh/crt1.S.
	* config/sh/crti.asm: Move to ../libgcc/config/sh/crti.S.
	* config/sh/crtn.asm: Move to ../libgcc/config/sh/crtn.S.
	* config/sh/lib1funcs-4-300.asm: Move to
	../../../libgcc/config/sh/lib1funcs-4-300.S.
	* config/sh/lib1funcs-Os-4-200.asm: Move to
	../libgcc/config/sh/lib1funcs-Os-4-200.S.
	* config/sh/t-elf: Remove.
	* config/sh/t-linux (EXTRA_MULTILIB_PARTS): Remove.
	* config/sh/t-linux64: Remove.
	* config/sh/t-netbsd (EXTRA_MULTILIB_PARTS): Remove.
	* config/sh/t-sh ($(T)crt1.o, $(T)crti.o, $(T)crtn.o): Remove.
	(IC_EXTRA_PARTS, OPT_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
	($(T)ic_invalidate_array_4-100.o)
	($(T)libic_invalidate_array_4-100.a)
	($(T)ic_invalidate_array_4-200.o)
	($(T)libic_invalidate_array_4-200.a, $(T)ic_invalidate_array_4a.o)
	($(T)libic_invalidate_array_4a.a, $(T)sdivsi3_i4i-Os-4-200.o)
	($(T)udivsi3_i4i-Os-4-200.o, $(T)unwind-dw2-Os-4-200.o)
	($(T)libgcc-Os-4-200.a, $(T)div_table-4-300.o)
	($(T)libgcc-4-300.a): Remove.
	* config/sh/t-superh: Remove.
	* config/sh/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
	* config/sparc/t-linux64 (CRTSTUFF_T_CFLAGS): Remove.
	* config/spu/cache.S: Move to ../libgcc/config/spu.
	* config/spu/cachemgr.c: Move to ../libgcc/config/spu.
	* config/spu/t-spu-elf (CRTSTUFF_T_CFLAGS): Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	($(T)cachemgr.o, $(T)cachemgr_nonatomic.o, $(T)libgcc_%.a): Remove.
	($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache32k.o)
	($(T)cache64k.o, $(T)cache128k.o): Remove.
	* config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/t-libc-ok: Remove.
	* config/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/t-lynx (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/t-netbsd: Remove.
	* config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Remove.
	* config/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
	* config/vms/t-vms (VMS_EXTRA_PARTS): Remove.
	($(T)vcrt0.o, $(T)pcrt0.o): Remove.
	* config/vms/vms-ucrt0.c: Move to ../libgcc/config/vms.
	* config/xtensa/crti.asm: Move to ../libgcc/config/xtensa/crti.S.
	* config/xtensa/crtn.asm: Move to ../libgcc/config/xtensa/crtn.S.
	* config/xtensa/t-elf (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
	Remove.
	(EXTRA_MULTILIB_PARTS): Remove.
	* config/xtensa/t-linux: Remove.
	* config/xtensa/t-xtensa ($(T)crti.o, $(T)crtn.o): Remove.

	gcc/po:
	* EXCLUDES (crtstuff.c): Remove.

	libgcc:
	* crtstuff.c: New file.
	* Makefile.in (CRTSTUFF_CFLAGS): Define.
	(CRTSTUFF_T_CFLAGS): Define.
	(extra-parts, INSTALL_PARTS): Remove conditional assignments.
	(crtbegin$(objext), crtend$(objext), crtbeginS$(objext))
	(crtendS$(objext), crtbeginT.o): Use $(srcdir) to refer to
	crtstuff.c.
	Use $<.
	(crtbeginT.o): Use $(objext).
	[!CUSTOM_CRTIN] (crti$(objext), crtn$(objext)): New rules.
	(libgcc-extra-parts): Don't compare EXTRA_PARTS, GCC_EXTRA_PARTS.
	(gcc-extra-parts): Remove.
	* config.host (*-*-freebsd*): Add t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*): Also handle *-*-kopensolaris*-gnu.
	Add t-crtstuff-pic to tmake_file.
	(*-*-lynxos*): New case.
	Set tmake_file, extra_parts.
	(*-*-netbsd*): Add t-crtstuff-pic to tmake_file.
	Set extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
	*-*-netbsdelf[2-9]*.
	(*-*-openbsd*): Add t-crtstuff-pic to tmake_file.
	(*-*-rtems*): Set extra_parts.
	(*-*-solaris2*): Remove t-crtin from tmake_file for Solaris < 10.
	(*-*-uclinux*): New case.
	Set extra_parts.
	(*-*-vms*): New case.
	Set tmake_file, extra_parts.
	(*-*-elf): Set extra_parts.
	(alpha*-*-freebsd*): Add crtbeginT.o to extra_parts.
	(alpha64-dec-*vms*): Append to tmake_file, remove vms/t-vms,
	vms/t-vms64.
	Set extra_parts.
	(alpha*-dec-*vms*): Append to tmake_file, remove vms/t-vms.
	Set extra_parts.
	(arm*-*-freebsd*): Add t-crtin to tmake_file.
	Add crtbegin.o, crtend.o, crti.o, crtn.o to extra_parts.
	(arm-wrs-vxworks): Append to tmake_file.
	Set extra_parts.
	(arm*-*-uclinux*): Set extra_parts.
	(arm*-*-ecos-elf): Likewise.
	(arm*-*-eabi*, arm*-*-symbianelf*): Set extra_parts for
	arm*-*-eabi*.
	(arm*-*-rtems*): Set extra_parts.
	(arm*-*-elf): Likewise.
	(avr-*-rtems*): Clear extra_parts.
	(bfin*-elf*): Add bfin/t-crtlibid, bfin/t-crtstuff to extra_parts.
	Set extra_parts.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Add bfin/t-crtstuff to tmake_file.
	(bfin*-rtems*): Append to tmake_file.
	Set extra_parts.
	(bfin*-*): Likewise.
	(crisv32-*-elf, crisv32-*-none, cris-*-elf, cris-*-none): Split into ...
	(crisv32-*-elf): ... this.
	(crisv32-*-none): ... this.
	(cris-*-elf, cris-*-none): New cases.
	Add cris/t-elfmulti to tmake_file.
	(fr30-*-elf): Append to tmake_file.
	Set extra_parts.
	(frv-*-elf): Append to tmake_file, add frv/t-frv.
	Set extra_parts.
	(h8300-*-rtems*): Append to tmake_file.
	Set extra_parts.
	(h8300-*-elf*): Likewise.
	(hppa*64*-*-hpux11*): Add pa/t-stublib, pa/t-stublib64 to tmake_file.
	Set extra_parts.
	(hppa[12]*-*-hpux11*): Add pa/t-stublib to tmake_file.
	Set extra_parts.
	(i[34567]86-*-elf*): Add i386/t-crtstuff, t-crtstuff-pic to tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-freebsd*): Add i386/t-crtstuff to tmake_file.
	(x86_64-*-freebsd*): Likewise.
	(x86_64-*-netbsd*): Likewise.
	(i[34567]86-*-linux*): Likewise.
	(i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu)
	(i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise.
	(x86_64-*-linux*): Likewise.
	(x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise.
	(i[34567]86-*-lynxos*): Add t-crtstuff-pic, i386/t-crtstuff to
	tmake_file.
	Set extra_parts.
	(i[34567]86-*-nto-qnx*): Set tmake_file, extra_parts.
	(i[34567]86-*-rtems*): Append to tmake_file, remove t-crtin.
	Append to extra_parts, remove crtbegin.o, crtend.o.
	(ia64*-*-elf*): Append to extra_parts, remove crtbegin.o, crtend.o.
	(ia64*-*-freebsd*): Append to extra_parts, remove crtbegin.o,
	crtend.o, crtbeginS.o, crtendS.o.
	(ia64*-*-linux*): Comment extra_parts.
	(ia64-hp-*vms*): Append to tmake_file, remove vms/t-vms, vms/t-vms64.
	Set extra_parts.
	(iq2000*-*-elf*): Clear extra_parts.
	(lm32-*-elf*, lm32-*-rtems*): Add t-crtin to tmake_file.
	(lm32-*-uclinux*): Add to extra_parts, remove crtbegin.o, crtend.o
	(m32r-*-elf*, m32r-*-rtems*): Split off ...
	(m32r-*-rtems*): ... this.
	Add m32r/t-m32r to tmake_file.
	(m68k-*-elf*): Add t-crtin to tmake_file.
	(m68k-*-rtems*): Add crti.o, crtn.o to extra_parts.
	(mcore-*-elf): Likewise.
	(microblaze*-*-*): Set extra_parts.
	(mips*-sde-elf*): New case.
	Set tmake_file, extra_parts.
	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
	(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-crtstuff to
	tmake_file.
	Set extra_parts.
	(mipsisa64sr71k-*-elf*): Likewise.
	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
	(mips-*-elf*, mipsel-*-elf*): Likewise.
	(mips64-*-elf*, mips64el-*-elf*): Likewise.
	(mips64vr-*-elf*, mips64vrel-*-elf*): Likewise.
	(mips64orion-*-elf*,  mips64orionel-*-elf*): Likewise.
	(mips*-*-rtems*): Likewise.
	(mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
	(moxie-*-*): Split into ...
	(moxie-*-elf, moxie-*-uclinux*): ... this.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(moxie-*-rtems*): New case.
	Set tmake_file.
	Clear extra_parts.
	(powerpc-*-freebsd*): Add rs6000/t-crtstuff to tmake_file.
	Set extra_parts.
	(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
	(powerpc-*-eabispe*): Add rs6000/t-crtstuff, t-crtstuff-pic to
	tmake_file.
	Set extra_parts.
	(powerpc-*-eabisimaltivec*): Add to tmake_file, add rs6000/t-ppccomm,
	rs6000/t-crtstuff, t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-crtstuff to
	tmake_file.
	Set extra_parts.
	(powerpc-*-lynxos*): Add to tmake_file.
	(powerpcle-*-elf*): Add to tmake_file, add rs6000/t-ppccomm,
	rs6000/t-crtstuff, t-crtstuff-pic.
	Set extra_parts.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rx-*-elf): Remove extra_parts.
	(s390x-ibm-tpf*): Set extra_parts.
	(score-*-elf): Set extra_parts.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Split into ...
	(sh-*-elf*, sh[12346l]*-*-elf*): ... this.
	Add t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(sh-*-rtems*): Add to tmake_file, add t-crtstuff-pic.
	Set extra_parts.
	(sh-wrs-vxworks): Add to tmake_file, add t-crtstuff-pic.
	(sparc-*-elf*): Remove t-crtin from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc-*-linux*): Add sparc/t-linux64 to tmake_file.
	(sparc64-*-linux*): Likewise.
	(sparc-*-rtems*): Remove sparc/t-elf from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc64-*-elf*): Remove t-crtin from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc64-*-rtems*): Remove t-crtin from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc64-*-freebsd*, ultrasparc-*-freebsd*): Add to extra_parts.
	(sparc64-*-linux*): Add sparc/t-linux64 to tmake_file.
	(spu-*-elf*): Add to tmake_file, add spu/t-elf.
	Set extra_parts.
	(tic6x-*-uclinux): Add c6x/t-uxlinux, t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(tic6x-*-*): Change to ...
	(tic6x-*-elf): ... this.
	Set extra_parts.
	(xtensa*-*-elf*): Add to tmake_file, add xtensa/t-elf.
	Set extra_parts.
	(am33_2.0-*-linux*): Add comment.
	(mep*-*-*): Add mep/t-mep to tmake_file.
	Set extra_parts.
	* config/alpha/t-vms: New file.
	* config/alpha/vms-dwarf2.S, config/alpha/vms-dwarf2eh.S: New files.
	* config/arm/crti.S, config/arm/crtn.S: New files.
	* config/bfin/crti.S, config/bfin/crtn.S: New files.
	* config/bfin/crtlibid.S: New file.
	* config/bfin/t-crtlibid, config/bfin/t-crtstuff: New files.
	* config/c6x/crti.S, config/c6x/crtn.S: New files.
	* config/c6x/t-elf (CUSTOM_CRTIN): Set.
	(crti.o, crtin.o): New rules.
	(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set.
	* config/c6x/t-uclinux: New file.
	* config/cris/t-elfmulti: New file.
	* config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Set.
	* config/fr30/crti.S, config/fr30/crtn.S: New files.
	* config/frv/frvbegin.c, config/frv/frvend.c: New files.
	* config/frv/t-frv: New file.
	* config/frv/t-linux (CRTSTUFF_T_CFLAGS): Set.
	* config/h8300/crti.S, config/h8300/crtn.S: New files.
	* config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
	New files.
	* config/i386/t-cygming (crtbegin.o, crtend.o): Use $(srcdir) to
	refer to cygming-crtbegin.c, cygming-crtend.c.
	Use $<.
	* config/i386/t-nto: New file.
	* config/ia64/crtbegin.S, config/ia64/crtend.S: New files.
	* config/ia64/crti.S, config/ia64/crtn.S: New files.
	* config/ia64/t-ia64 (crtbegin.o, crtend.o, crtbeginS.o,
	crtendS.o): Use $(srcdir) to refer to crtbegin.S, crtend.S.
	Use .S extension.
	Use $<.
	* config/ia64/t-vms (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set.
	(crtinitS.o): New rule.
	* config/ia64/vms-crtinit.S: New file.
	* config/lm32/t-elf ($(T)crti.o, $(T)crtn.o): Remove.
	* config/m32r/initfini.c: New file.
	* config/m32r/t-linux, config/m32r/t-m32r: New files.
	* config/m68k/crti.S, config/m68k/crtn.S: New files.
	* config/mcore/crti.S, config/mcore/crtn.S: New files.
	* config/mep/t-mep: New file.
	* config/microblaze/crti.S, config/microblaze/crtn.S: New files.
	* config/microblaze/t-microblaze (MULTILIB_OPTIONS): Remove.
	* config/mips/crti.S, config/mips/crtn.S: New files.
	* config/mips/t-crtstuff: New file.
	* config/mmix/crti.S, config/mmix/crtn.S: New files.
	* config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Set.
	(CUSTOM_CRTIN): Set.
	($(T)crti.o, $(T)crtn.o): Remove $(T),
	dependencies.
	Use $(srcdir) to refer to crti.S, crtn.S.
	Use .S extension, $<.
	* config/moxie/crti.asm: Rename to ...
	* config/moxie/crti.S: ... this.
	* config/moxie/crtn.asm: Rename to ...
	* config/moxie/crtn.S: ... this.
	* config/moxie/t-moxie: Remove.
	* config/pa/stublib.c: New file.
	* config/pa/t-stublib, config/pa/t-stublib64: New files.
	* config/rs6000/eabi-ci.S, config/rs6000/eabi-cn.S: New files.
	* config/rs6000/sol-ci.S, config/rs6000/sol-cn.S: New files.
	* config/rs6000/t-crtstuff: New file.
	* config/rs6000/t-ppccomm (EXTRA_PARTS): Remove.
	(ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
	(ecrti$(objext)): Depend on $(srcdir)/config/rs6000/eabi-ci.S.
	Make output file explicit.
	(ecrtn$(objext)): Depend on $(srcdir)/config/rs6000/eabi-cn.S.
	Make output file explicit.
	(ncrti$(objext): Depend on $(srcdir)/config/rs6000/sol-ci.S.
	Make output file explicit.
	(ncrtn$(objext)): Depend on $(srcdir)/config/rs6000/sol-cn.S.
	Make output file explicit.
	* config/score/crti.S, config/score/crtn.S: New files.
	* config/sh/crt1.S, config/sh/crti.S, config/sh/crtn.S: New files.
	* config/sh/lib1funcs-4-300.S, config/sh/lib1funcs-Os-4-200.S: New
	files.
	* config/sh/t-sh, config/sh/t-superh: New files.
	* config/sparc/t-linux64: New file.
	* config/spu/cache.S, config/spu/cachemgr.c: New files.
	* config/spu/t-elf (CRTSTUFF_T_CFLAGS): Set.
	(cachemgr.o, cachemgr_nonatomic.o, libgcc_%.a, cache8k.o)
	(cache16k.o, cache32k.o, cache64k.o, cache128k.o): New rules.
	* config/t-crtin: Remove.
	* config/t-crtstuff-pic: New file.
	* config/t-sol2 (CUSTOM_CRTIN): Set.
	(crti.o, crtn.o): New rules.
	* config/vms/t-vms: New file.
	* config/vms/vms-ucrt0.c: New file.
	* config/xtensa/t-elf: New file.

From-SVN: r180771
2011-11-02 14:33:56 +00:00
Rainer Orth
b040f2be65 Move shlib support to toplevel libgcc
gcc:
	PR translation/45116
	* Makefile.in (slibdir): Remove, don't export.
	(SHLIB_NM_FLAGS): Remove.
	(libgcc.mvars): Don't emit SHLIB_LINK, SHLIB_INSTALL,
	SHLIB_DLLDIR, SHLIB_EXT, SHLIB_MKMAP, SHLIB_MKMAP_OPTS,
	SHLIB_MAPFILES, SHLIB_NM_FLAGS.
	(DRIVER_DEFINES): Test SHLIB instead of SHLIB_LINK.
	(gcc.o): Pass SHLIB instead of SHLIB_LINK.
	(gccspec.o): Likewise.
	(installdirs): Don't create $(DESTDIR)$(slibdir).
	* configure.ac (slibdir): Remove.
	* configure: Regenerate.
	* libgcc-libsystem.ver: Move to ../libgcc/config.
	* mkmap-flat.awk, mkmap-symver.awk: Move to ../libgcc.
	* config/libgcc-glibc.ver: Move to ../libgcc/config.
	* config/t-libunwind (SHLIB_LC): Remove.
	* config/t-linux (SHLIB_MAPFILES): Remove.
	* config/t-slibgcc-dummy: Rename to config/t-slibgcc.
	* config/t-slibgcc-elf-ver: Remove.
	* config/t-slibgcc-libgcc, config/t-slibgcc-nolc-override: Move to
	../libgcc/config.
	* config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: Move
	to ../libgcc/config/alpha.
	* config/alpha/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
	SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_SYMVEC,
	SHLIB_SYMVECX2, SHLIB_LINK): Remove.
	* config/arm/libgcc-bpabi.ver: Move to ../libgcc/config/arm.
	* config/arm/t-bpabi (SHLIB_MAPFILES): Remove.
	* config/arm/t-netbsd (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME,
	SHLIB_OBJS, SHLIB_LINK, SHLIB_INSTALL): Remove.
	* config/arm/t-symbian (SHLIB_LC): Remove.
	* config/bfin/libgcc-bfin.ver: Move to
	../libgcc/config/bfin/libgcc-glibc.ver.
	* config/bfin/t-bfin-linux (SHLIB_MAPFILES): Remove.
	* config/c6x/libgcc-c6xeabi.ver: Move to
	../libgcc/config/c6x/libgcc-eabi.ver.
	* config/c6x/t-c6x-elf (SHLIB_MAPFILES): Remove.
	* config/cris/libgcc.ver: Move to
	../libgcc/config/cris/libgcc-glibc.ver.
	* config/cris/t-linux (SHLIB_MAPFILES): Remove.
	* config/frv/libgcc-frv.ver: Move to ../libgcc/config/frv.
	* config/frv/t-linux (SHLIB_MAPFILES): Remove.
	* config/i386/darwin-libgcc.10.4.ver: Move to
	../libgcc/config/i386/libgcc-darwin.10.4.ver.
	* config/i386/darwin-libgcc.10.5.ver: Move to
	../libgcc/config/i386/libgcc-darwin.10.5.ver.
	* config/i386/libgcc-glibc.ver: Move to ../libgcc/config/i386.
	* config/i386/t-cygming (SHLIB_EXT, SHLIB_IMPLIB, SHLIB_SOVERSION,
	SHLIB_SONAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_DIR, SHLIB_SLIBDIR_QUAL)
	SHLIB_PTHREAD_CFLAG, SHLIB_PTHREAD_LDFLAG, SHLIB_LINK,
	SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES):
	Remove.
	* config/i386/t-cygwin (SHLIB_LC, SHLIB_EH_EXTENSION,
	SHLIB_IMPLIB, SHLIB_SONAME, SHLIB_MKMAP_OPTS): Remove.
	* config/i386/t-dlldir, config/i386/t-dlldir-x: Move to
	../libgcc/config/i386.
	* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Move to
	../libgcc/config/i386.
	* config/i386/t-linux: Move to ../libgcc/config/i386.
	* config/i386/t-mingw-pthread: Move to ../libgcc/config/i386.
	* config/i386/t-mingw-w32 (SHLIB_LC): Remove.
	* config/i386/t-mingw-w64: Likewise.
	* config/i386/t-mingw32: Remove.
	* config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: Move
	to ../libgcc/config/ia64.
	* config/ia64/t-glibc: Remove.
	* config/ia64/t-hpux (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL): Remove.
	* config/ia64/t-ia64 (SHLIB_MAPFILES): Remove.
	* config/ia64/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
	SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_LINK): Remove.
	* config/ia64/vms_symvec_libgcc_s.opt: Remove.
	* config/m32r/libgcc-glibc.ver: Move to ../libgcc/config/m32r.
	* config/m32r/t-linux (SHLIB_MAPFILES): Remove.
	* config/m68k/t-slibgcc-elf-ver: Move to ../libgcc/config/m68k.
	* config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Remove.
	* config/pa/t-hpux-shlib: Move to ../libgcc/config/pa/t-slibgcc-hpux.
	* config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver:
	Move to ../libgcc/config/pa.
	* config/rs6000/darwin-libgcc.10.4.ver: Move to
	../libgcc/config/rs6000/libgcc-darwin.10.4.ver.
	* config/rs6000/darwin-libgcc.10.5.ver: Move to
	../libgcc/config/rs6000/libgcc-darwin.10.5.ver.
	* config/rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL,
	SHLIB_LIBS, SHLIB_MKMAP, SHLIB_NM_FLAGS, AR_FLAGS_FOR_TARGET): Remove.
	* config/rs6000/t-aix52: Likewise.
	* config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: Move to
	../libgcc/config/sh.
	* config/sparc/libgcc-sparc-glibc.ver: Move to
	../libgcc/config/sparc/libgcc-glibc.ver.
	* config/sparc/t-linux: Move to ../libgcc/config/sparc.
	* config/xtensa/t-linux (SHLIB_MAPFILES): Remove.
	* config/xtensa/libgcc-xtensa.ver: Move to
	../libgcc/config/xtensa/libgcc-glibc.ver.
	* config.gcc (*-*-freebsd*): Replace t-slibgcc-elf-ver with
	t-slibgcc in tmake_file.
	Remove t-slibgcc-nolc-override for *-*-freebsd[34],
	*-*-freebsd[34].* with pthreads.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu,
	*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Replace
	t-slibgcc-elf-ver with t-slibgcc in tmake_file.
	(*-*-netbsd*): Likewise.
	(*-*-solaris2*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file.
	(*-*-*vms*): Add t-slibgcc to tmake_file.
	(alpha*-*-linux*): Remove alpha/t-linux from tmake_file.
	(alpha*-dec-osf5.1*): Replace t-slibgcc-dummy with t-slibgcc in
	tmake_file.
	(arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for
	arm*-*-linux-*eabi.
	(bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in
	tmake_file.
	(crisv32-*-linux*, cris-*-linux*): Likewise.
	(hppa*-*-linux*): Remove t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
	pa/t-slibgcc-dwarf-ver from tmake_file.
	(hppa[12]*-*-hpux10*): Replace pa/t-hpux-shlib with t-slibgcc in
	tmake_file.
	Remove pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file.
	(hppa*64*-*-hpux11*): Likewise.
	(hppa[12]*-*-hpux11*): Likewise.
	(i[34567]86-*-darwin*): Replace t-slibgcc-dummy in t-slibgcc in
	tmake_file.
	(x86_64-*-darwin*): Likewise.
	(i[34567]86-*-cygwin*): Remove tmake_eh_file, tmake_dlldir_file.
	Add t-slibgcc to tmake_file.
	(i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
	Remove i386/t-mingw32 from tmake_file unless x86_64-w64-*,
	i[34567]86-w64-*.
	Remove i386/t-mingw-pthread from tmake_file.
	(ia64*-*-linux*): Remove ia64/t-glibc from tmake_file.
	(ia64*-*-hpux*): Add t-slibgcc to tmake_file.
	(ia64-hp-*vms*): Likewise.
	(m32r-*-linux*): Replace t-slibgcc-elf-ver with t-slibgcc in
	tmake_file.
	(m32rle-*-linux*): Likewise.
	(m68k-*-linux*): Remove m68k/t-slibgcc-elf-ver from tmake_file.
	(microblaze*-linux*): Remove t-slibgcc-elf-ver,
	t-slibgcc-nolc-override from tmake_file.
	(mips-sgi-irix6.5*): Replace t-slibgcc-dummy with t-slibgcc in
	tmake_file.
	(powerpc-*-darwin*): Likewise.
	(powerpc64-*-darwin*): Likewise.
	(powerpc-*-freebsd*): Remove t-slibgcc-libgcc from tmake_file.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
	t-slibgcc to tmake_file.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix5.2.*, powerpc-ibm-aix5.2.*): Likewise.
	(rs6000-ibm-aix5.3.*, powerpc-ibm-aix5.3.*): Likewise.
	(rs6000-ibm-aix[6789].*, powerpc-ibm-aix[6789].*): Likewise.
	(sparc-*-linux*): Remove sparc/t-linux from tmake_file.
	(sparc64-*-linux*): Likewise.
	(tic6x-*-uclinux): Replace t-slibgcc-elf-ver with t-slibgcc in
	tmake_file.
	(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu,
	x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Remove i386/t-linux
	from tmake_file.

	gcc/cp:
	* Make-lang.in (g++spec.o): Pass SHLIB instead of SHLIB_LINK.

	gcc/fortran:
	* Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK.

	gcc/go:
	* Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.

	gcc/java:
	* Make-lang.in (jvspec.o): Pass SHLIB instead of SHLIB_LINK.

	libgcc:
	* Makefile.in (SHLIB_NM_FLAGS): Set.
	* mkmap-flat.awk, mkmap-symver.awk: New files.
	* configure.ac (libgcc_cv_lib_sjlj_exceptions): Check for SjLj
	exceptions.
	* configure: Regenerate.
	* config/libgcc-glibc.ver: New file.
	* config/libgcc-libsystem.ver: New file.
	* config/t-libunwind (SHLIB_LC): Set.
	* config/t-linux: New file.
	* config/t-slibgcc (INSTALL_SHLIB): New.
	(SHLIB_INSTALL): Use it.
	* config/t-slibgcc-darwin (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-symver.awk.
	(SHLIB_MAPFILES): Don't append, adapt pathname.
	(SHLIB_VERPFX): Set.
	* config/t-slibgcc-elf-ver (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-symver.awk.
	* config/t-slibgcc-gld-nover, config/t-slibgcc-hpux,
	config/t-slibgcc-libgcc, config/t-slibgcc-vms: New files.
	* config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: New files.
	* config/alpha/t-slibgcc-osf (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-flat.awk.
	* config/arm/t-bpabi (SHLIB_MAPFILES): Set.
	* config/bfin/libgcc-glibc.ver, config/bfin/t-linux: New files.
	* config/c6x/libgcc-eabi.ver, config/c6x/t-elf: New files.
	* config/cris/libgcc-glibc.ver, config/cris/t-linux: New files.
	* config/frv/libgcc-frv.ver, config/frv/t-linux: New files.
	* config/i386/libgcc-darwin.10.4.ver,
	config/i386/libgcc-darwin.10.5.ver, config/i386/libgcc-glibc.ver:
	New files.
	* config/i386/t-darwin: Remove.
	* config/i386/t-darwin64: Likewise.
	* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: New files.
	* config/i386/t-slibgcc-cygming, config/i386/t-cygwin,
	config/i386/t-dlldir, config/i386/t-dlldir-x: New files.
	* config/i386/t-linux: New file.
	* config/i386/t-mingw32: New file.
	* config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: New files.
	* config/ia64/t-glibc: Rename to ...
	* config/ia64/t-linux: ... this.
	(SHLIB_MAPFILES): Set.
	* config/ia64/t-glibc-libunwind: Rename to ...
	* config/ia64/t-linux-libunwind: ... this.
	* config/ia64/t-ia64 (SHLIB_MAPFILES): Set.
	* config/ia64/t-slibgcc-hpux: New file.
	* config/m32r/libgcc-glibc.ver, config/m32r/t-linux: New files.
	* config/m68k/t-slibgcc-elf-ver: New file.
	* config/mips/t-mips16 (SHLIB_MAPFILES): Set.
	* config/mips/t-slibgcc-irix (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-flat.awk.
	* config/pa/t-slibgcc-hpux: New file.
	* config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver: New
	files.
	* config/rs6000/libgcc-darwin.10.4.ver,
	config/rs6000/libgcc-darwin.10.5.ver: New files.
	* config/rs6000/libgcc-ppc-glibc.ver: Rename to
	config/rs6000/libgcc-glibc.ver.
	* config/rs6000/libgcc-ppc64.ver: Rename to
	config/rs6000/libgcc-ibm-ldouble.ver.
	* config/rs6000/t-darwin (SHLIB_VERPFX): Remove.
	* config/rs6000/t-ibm-ldouble (SHLIB_MAPFILES): Adapt filename.
	* config/rs6000/t-ldbl128: Rename to ...
	* config/rs6000/t-linux: ... this.
	(SHLIB_MAPFILES): Adapt filename.
	* config/rs6000/t-slibgcc-aix: New file.
	* config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: New files.
	* config/sh/t-linux (SHLIB_MAPFILES): Use $(srcdir) to refer to
	libgcc-excl.ver, libgcc-glibc.ver.
	(SHLIB_LINK, SHLIB_INSTALL): Remove.
	* config/sparc/libgcc-glibc.ver: New file.
	* config/sparc/t-linux: New file.
	* config/xtensa/libgcc-glibc.ver, config/xtensa/t-linux: New files.
	* config.host (*-*-freebsd*): Add t-slibgcc, t-slibgcc-gld,
	t-slibgcc-elf-ver to tmake_file.
	Add t-slibgcc-nolc-override to tmake_file for posix threads on
	*-*-freebsd[34].
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*, *-*-kopensolaris*-gnu): Add t-slibgcc, t-slibgcc-gld,
	t-slibgcc-elf-ver, t-linux to tmake_file.
	(*-*-netbsd*): Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to
	tmake_file.
	(alpha*-*-linux*): Add alpha/t-linux to tmake_file.
	(alpha64-dec-*vms*): Add t-slibgcc-vms to tmake_file.
	(alpha*-dec-*vms*): Likewise.
	(arm*-*-freebsd*): Append to tmake_file.
	(arm*-*-netbsdelf*): Add t-slibgcc-gld-nover to tmake_file.
	(arm*-*-linux*): Add t-slibgcc-libgcc to tmake_file for
	arm*-*-linux-*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf*): Add t-slibgcc-nolc-override to
	tmake_file for arm*-*-symbianelf*.
	(bfin*-linux-uclibc*): Append to tmake_file, add bfin/t-linux.
	(cris-*-linux*, crisv32-*-linux*): Append to tmake_file, add
	cris/t-linux.
	(frv-*-*linux*): Append to tmake_file, add frv/t-linux.
	(hppa*-*-linux*): Add t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
	pa/t-slibgcc-dwarf-ver to tmake_file.
	(hppa[12]*-*-hpux10*): Add t-slibgcc, pa/t-slibgcc-sjlj-ver,
	pa/t-slibgcc-dwarf-ver, t-slibgcc-hpux, pa/t-slibgcc-hpux to tmake_file.
	(hppa*64*-*-hpux11*): Likewise.
	(hppa[12]*-*-hpux11*): Likewise.
	(x86_64-*-darwin*): Don't override tmake_file, but only keep
	i386/t-crtpc, i386/t-crtfm.
	(i[34567]86-*-cygwin*): Set tmake_eh_file, tmake_dlldir_file.
	Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
	to tmake_file.
	Add i386/t-cygwin to tmake_file.
	Prepent i386/t-mingw-pthread to tmake_file for posix threads.
	(i[34567]86-*-mingw*): Set tmake_eh_file, tmake_dlldir_file.
	Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
	to tmake_file.
	Add i386/t-mingw32 to tmake_file.
	(x86_64-*-mingw*): Likewise.
	(ia64*-*-freebsd*): Append to tmake_file.
	(ia64*-*-linux*): Append to tmake_file.
	Replace ia64/t-glibc by ia64/t-linux.
	Replace ia64/t-glibc-libunwind by ia64/t-linux-libunwind if using
	system libunwind.
	(ia64*-*-hpux*): Add t-slibgcc, ia64/t-slibgcc-hpux,
	t-slibgcc-hpux to tmake_file.
	(ia64-hp-*vms*): Add t-slibgcc-vms to tmake_file.
	(m32r-*-linux*): Append to tmake_file, add m32r/t-linux.
	(m32rle-*-linux*): Likewise.
	(m68k-*-linux*)): Add m68k/t-slibgcc-elf-ver to tmake_file unless
	sjlj exceptions.
	(microblaze*-linux*): New case.
	Append to tmake_file, add t-slibgcc-nolc-override.
	(powerpc-*-freebsd*): Add t-slibgcc-libgcc to tmake_file.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
	Replace rs6000/t-ldbl128 by rs6000/t-linux in tmake_file.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
	rs6000/t-slibgcc-aix to tmake_file.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file for
	sh*-*-linux*.
	(sparc-*-linux*): Append to tmake_file for *-leon*.
	Add sparc/t-linux to tmake_file for non-Leon targets.
	(sparc64-*-linux*): Add sparc/t-linux to tmake_file.
	(tic6x-*-uclinux): New case.
	Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to tmake_file.
	(tic6x-*-*): Add c6x/t-elf to tmake_file.
	(xtensa*-*-linux*): Append to tmake_file, add xtensa/t-linux.
	(am33_2.0-*-linux*): Append to tmake_file.
	(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
	(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Also handle
	x86_64-*-kfreebsd*-gnu.
	Add i386/t-linux to tmake_file.

From-SVN: r180767
2011-11-02 10:49:46 +00:00
Ian Lance Taylor
18b4bd7b6c morestack.S: Correct CFI information to do proper returns throughout function.
* config/i386/morestack.S: Correct CFI information to do proper
	returns throughout function.  In 32-bit mode, save %ebx so that it
	is restored on unwind.

From-SVN: r180633
2011-10-28 22:03:56 +00:00
Bernd Schmidt
0d53e34681 pr-support.c (pop_compact_frame, pop_frame): Correct logic for doubleword pops.
* config/c6x/pr-support.c (pop_compact_frame, pop_frame): Correct
	logic for doubleword pops.

From-SVN: r180435
2011-10-25 15:45:08 +00:00
Bernd Schmidt
5b2d9d9084 pr-support.c (__gnu_unwind_24bit): Correct logic for the case where B3 isn't the return register.
* config/c6x/pr-support.c (__gnu_unwind_24bit): Correct logic for the
	case where B3 isn't the return register.

From-SVN: r180434
2011-10-25 15:44:03 +00:00
Andreas Tobler
cbffbd59d6 t-freebsd: Add wildcard.
2011-10-25  Andreas Tobler  <andreast@fgznet.ch>

	* config/rs6000/t-freebsd: Add wildcard.

From-SVN: r180420
2011-10-25 07:13:12 +02:00
Paul Brook
56dc349e1a * unwind-arm-common.inc: Handle ID3/4 unwinding data.
From-SVN: r180313
2011-10-21 21:00:11 +00:00
Uros Bizjak
1e06b07d0c re PR target/50737 (FAIL: Throw_3 -O3 execution, generic dwarf2 EH problem?)
libgcc/ChangeLog:

2011-10-16  Uros Bizjak  <ubizjak@gmail.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	PR target/50737
	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
	fs->signal_frame to 1.

libjava/ChangeLog:

2011-10-16  Uros Bizjak  <ubizjak@gmail.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	PR target/50737
	* include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
	definition.


Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r180098
2011-10-17 17:36:28 +02:00
Ian Lance Taylor
b5204884b2 * generic-morestack-thread.c: #include <errno.h>.
From-SVN: r179703
2011-10-07 22:52:28 +00:00
Ian Lance Taylor
91a639a157 re PR target/46093 (code compiled with -fsplit-stack crashes when passing large struct)
PR target/46093
	* generic-morestack.c (__generic_morestack): Make sure the segment
	is large enough for both the stack frame and the copied
	parameters.

From-SVN: r179702
2011-10-07 22:51:11 +00:00
Rainer Orth
cc49116d66 Restore FreeBSD/SPARC bootstrap (PR bootstrap/49804)
From-SVN: r179610
2011-10-06 13:48:14 +00:00
Nick Clifton
2996d8c332 rx-lib.h: Always restrict doubles to the SF type when 64-bit doubles are not enabled.
* config/rx/rx-lib.h: Always restrict doubles to the SF type when
	64-bit doubles are not enabled.
	* config/rx/rx-abi.h: Fix extraneous renaming of the floatsisf
	and floatunsisf functions.

From-SVN: r179314
2011-09-28 13:56:19 +00:00
Paul Brook
1e874273f8 arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2011-09-13  Paul Brook  <paul@codesourcery.com>
 
	gcc/
	* config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
	(ARM_TARGET2_DWARF_FORMAT): Provide default definition.
	* config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h.
	* config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h.
	* config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code
	enabling unwind tables.
	(c6x_debug_unwind_info): New function.
	(TARGET_ARM_EABI_UNWINDER): Define.
	(TARGET_DEBUG_UNWIND_INFO): Define.
	* config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define.
	(TARGET_EXTRA_CFI_SECTION): Remove.
	* config/c6x/t-c6x-elf (EXTRA_HEADERS): Set.
	* ginclude/unwind-arm-common.h: New file.

	libgcc/
	* config.host (tic6x-*-*): Add c6x/t-c6x-elf.  Set unwind_header.
	* unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG.
	* unwind-arm-common.inc: New file.
	* config/arm/unwind-arm.c: Use unwind-arm-common.inc.
	* config/arm/unwind-arm.h: Use unwind-arm-common.h.
	(_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define.
	* config/c6x/libunwind.S: New file.
	* config/c6x/pr-support.c: New file.
	* config/c6x/unwind-c6x.c: New file.
	* config/c6x/unwind-c6x.h: New file.
	* config/c6x/t-c6x-elf: New file.


	libstdc++-v3/
	* libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation.
	* libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base.
	* libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove
	__ARM_EABI_UNWINDER__ check.
	(parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING.
	(get_ttype_entry): Use generic implementation on ARM EABI.
	(check_exception_spec): Use _Unwind_decode_typeinfo_ptr and
	UNWIND_STACK_REG.
	(PERSONALITY_FUNCTION): Set ttype_base.

From-SVN: r178808
2011-09-13 12:48:33 +00:00
Uros Bizjak
f70c879aa8 sfp-machine.h (ASM_INVALID): New define.
* config/i386/64/sfp-machine.h (ASM_INVALID): New define.
	(ASM_DIVZERO): Ditto.
	(FP_HANLDE_EXCEPTIONS): Use ASM_INVALID and ASM_DIVZERO.

From-SVN: r177978
2011-08-23 01:13:57 +02:00
Richard Sandiford
c55b374bd5 bpabi-lib.h (RENAME_LIBRARY_SET): Delete.
libgcc/
	* config/arm/bpabi-lib.h (RENAME_LIBRARY_SET): Delete.

From-SVN: r177854
2011-08-18 13:45:07 +00:00
Richard Sandiford
1e138510fa re PR target/50090 (ARM EABI symbols in libgcc.a have default visibility)
libgcc/
	PR target/50090
	* config/arm/bpabi-lib.h (RENAME_LIBRARY): Use a C-level alias
	instead of an assembly one.

From-SVN: r177826
2011-08-17 11:13:20 +00:00
Paolo Bonzini
1563503deb re PR bootstrap/50047 (Revision 177670 failed to bootstrap)
2011-08-12  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/50047
	* Makefile.in (install-unwind_h): Create
	$(gcc_objdir)/include/unwind.h atomically.

From-SVN: r177706
2011-08-12 17:13:04 +00:00