Commit Graph

161 Commits

Author SHA1 Message Date
Rainer Orth 10e48e3927 netbsd.h (ENABLE_EXECUTE_STACK): Remove.
2011-05-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
	    Joseph Myers  <joseph@codesourcery.com>

	gcc:
	* config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/alpha/osf5.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/darwin.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/i386/mingw32.h (MINGW_ENABLE_EXECUTE_STACK): Remove.
	(ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	[IN_LIBGCC2]: Don't include <windows.h>.
	* config/i386/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/i386/netbsd64.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Remove.
	* config/openbsd.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/sol2.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/sparc/freebsd.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/sparc/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/alpha/alpha.c (alpha_trampoline_init): Test
	HAVE_ENABLE_EXECUTE_STACK.
	* config/i386/i386.c (ix86_trampoline_init): Likewise.
	* config/sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
	(sparc64_initialize_trampoline): Likewise.
	* libgcc2.c [L_enable_execute_stack]: Remove.
	* system.h (ENABLE_EXECUTE_STACK): Poison.
	* doc/tm.texi.in (Trampolines, ENABLE_EXECUTE_STACK): Remove.
	* doc/tm.texi: Regenerate.
	* Makefile.in (LIBGCC2_CFLAGS): Add -fbuilding-libgcc.

	gcc/c-family:
	* c.opt (fbuilding-libgcc): New option.
	* c-cppbuiltin.c (c_cpp_builtins): Define
	__LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.

	libgcc:
	* enable-execute-stack-empty.c: New file.
	* enable-execute-stack-mprotect.c: New file.
	* config/i386/enable-execute-stack-mingw32.c: New file.
	* config.host (enable_execute_stack): New variable.
	Select appropriate variants.
	* configure.ac: Link enable-execute-stack.c to
	$enable_execute_stack.
	* configure: Regenerate.
	* Makefile.in (LIB2ADD): Add enable-execute-stack.c.
	(lib2funcs): Remove _enable_execute_stack.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r174843
2011-06-09 12:30:46 +00:00
David S. Miller 10c4cabcde config.host (sparc-*-linux*): Correct md_unwind_header filename.
2011-06-09  David S. Miller  <davem@davemloft.net>
	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (sparc-*-linux*): Correct md_unwind_header
	filename.
	(s390x-ibm-tpf*): Fix typo.

Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>

From-SVN: r174838
2011-06-09 07:31:44 +00:00
Rainer Orth aa4203e734 iris6.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math etc.
gcc:
	* config/mips/iris6.h (ENDFILE_SPEC): Use crtfastmath.o if
	-ffast-math etc.

	libgcc:
	* config.host (mips-sgi-irix6.5*): Add t-crtfm to tmake_file.
	Add crtfastmath.o to extra_parts.
	(mips64*-*-linux*, mips*-*-linux*): Use t-crtfm instead of
	mips/t-crtfm.
	* config/mips/t-crtfm: Remove.

From-SVN: r174686
2011-06-06 09:49:47 +00:00
John David Anglin 0defd78663 config.host (hppa*-*-linux*): Correct md_unwind_header name.
* config.host (hppa*-*-linux*): Correct md_unwind_header name.

From-SVN: r174640
2011-06-04 15:21:01 +00:00
Kaz Kojima 82f247af45 config.host (sh*-*-linux*): Fix typo.
* config.host (sh*-*-linux*): Fix typo.

From-SVN: r174631
2011-06-04 02:38:24 +00:00
Rainer Orth 58cd1d70dd linux.h (MD_UNWIND_SUPPORT): Remove.
gcc:
	* config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
	* config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
	* config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
	* config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
	* config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
	* config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
	* config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
	* config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
	* config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
	* config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
	* config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
	* config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
	* config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
	* config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
	* config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
	* config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
	* config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
	* config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
	* config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
	* config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
	* config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
	* config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
	* config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
	* config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
	* config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
	* config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
	* config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
	* config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
	* config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
	* config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
	* config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
	* config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
	* config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
	* config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
	* system.h (MD_UNWIND_SUPPORT): Poison.
	* doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
	* doc/tm.texi: Regenerate.
	* unwind-dw2.c: Include md-unwind-support.h instead of
	MD_UNWIND_SUPPORT.
	* config/ia64/unwind-ia64.c: Likewise.
	* config/xtensa/unwind-dw2-xtensa.c: Likewise.

	libgcc:
	* config/alpha/linux-unwind.h: Move from ../gcc/config/alpha.
	* config/alpha/osf5-unwind.h: Move from ../gcc/config/alpha.
	* config/alpha/vms-unwind.h: Move from ../gcc/config/alpha.
	* config/bfin/linux-unwind.h: Move from ../gcc/config/bfin.
	* config/i386/linux-unwind.h: Move from ../gcc/config/i386.
	* config/i386/sol2-unwind.h: Move from ../gcc/config/i386.
	* config/i386/w32-unwind.h: Move from ../gcc/config/i386.
	Wrap in !__MINGW64__.
	* config/ia64/linux-unwind.h: Move from ../gcc/config/ia64.
	* config/ia64/vms-unwind.h: Move from ../gcc/config/ia64.
	* config/m68k/linux-unwind.h: Move from ../gcc/config/m68k.
	* config/mips/linux-unwind.h: Move from ../gcc/config/mips.
	* config/pa/hpux-unwind.h: Move from ../gcc/config/pa.
	* config/pa/linux-unwind.h: Move from ../gcc/config/pa.
	* config/rs6000/darwin-unwind.h: Move from ../gcc/config/rs6000.
	Wrap in !__LP64__.
	* config/rs6000/linux-unwind.h: Move from ../gcc/config/rs6000.
	* config/s390/linux-unwind.h: Move from ../gcc/config/s390.
	* config/s390/tpf-unwind.h: Move from ../gcc/config/s390.
	* config/sh/linux-unwind.h: Move from ../gcc/config/sh.
	* config/sparc/linux-unwind.h: Move from ../gcc/config/sparc.
	* config/sparc/sol2-unwind.h: Move from ../gcc/config/sparc.
	* config/xtensa/linux-unwind.h: Move from ../gcc/config/xtensa.
	* config/no-unwind.h: New file.
	* config.host (md_unwind_header): Document.
	Define.
	(alpha*-*-linux*, alpha*-dec-osf5.1*, alpha64-dec-*vms*,
	alpha*-dec-*vms*, bfin*-uclinux*, bfin*-linux-uclibc*,
	hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
	hppa[12]*-*-hpux11*): Set md_unwind_header.
	(i[34567]86-*-linux*): Handle i[34567]86-*-kopensolaris*-gnu.
	Set md_unwind_header.
	(x86_64-*-linux*, i[34567]86-*-solaris2*): Set md_unwind_header.
	(i[34567]86-*-cygwin*): Split from i[34567]86-*-mingw*.
	(i[34567]86-*-mingw*, ia64*-*-linux*, ia64-hp-*vms*,
	m68k-*-uclinux*, m68k-*-linux*, mips64*-*-linux*, mips*-*-linux*,
	powerpc-*-darwin*, powerpc-*-linux*, s390-*-linux*,
	s390x-*-linux*,  s390x-ibm-tpf*, sh*-*-linux*, sparc-*-linux*,
	sparc*-*-solaris2*, sparc64-*-linux*, xtensa*-*-linux*): Set
	md_unwind_header.
	* configure.ac: Link md-unwind-support.h to $md_unwind_header.
	* configure: Regenerate.

From-SVN: r174613
2011-06-03 18:30:39 +00:00
Rainer Orth 737346fa24 config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6 t-slibgcc-dummy.
gcc:
	* config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6
	t-slibgcc-dummy.
	* config/mips/irix-crti.asm: Move to ../libgcc/config/mips/irix-crti.S.
	* config/mips/irix-crtn.asm: Move to ../libgcc/config/mips/irix-crtn.S.
	* config/mips/t-iris: Remove.
	* config/mips/t-irix6: New file.
	* config/mips/t-slibgcc-irix: Move to ../libgcc/config/mips.

	libgcc:
	* config.host (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
	Set tmake_file, extra_parts.
	* config/mips/irix-crti.S: Move from ../gcc/config/mips/irix-crti.asm.
	Remove O32 support.
	* config/mips/irix-crtn.S: Move from ../gcc/config/mips/irix-crtn.asm.
	Remove O32 support.
	* config/mips/t-irix6: New file.
	* config/mips/t-slibgcc-irix: New file.

From-SVN: r174608
2011-06-03 17:16:44 +00:00
Rainer Orth c192cee683 Makefile.in (LIB2ADDEHDEP): Remove.
gcc:
	* Makefile.in (LIB2ADDEHDEP): Remove.
	* config/arm/t-bpabi (LIB2ADDEHDEP): Remove.
	* config/arm/t-symbian (LIB2ADDEHDEP): Remove.
	* config/picochip/t-picochip (LIB2ADDEHDEP): Remove.
	* config/t-darwin (LIB2ADDEHDEP): Remove.
	* config/t-freebsd (LIB2ADDEHDEP): Remove.
	* config/t-linux (LIB2ADDEHDEP): Remove.

	libgcc:
	* config/s390/t-tpf (LIB2ADDEHDEP): Remove.
	* config/t-sol2 (LIB2ADDEH): Use gcc_srcdir, add emutls.c.

From-SVN: r174606
2011-06-03 16:07:21 +00:00
Rainer Orth ee33b5f0b2 t-osf5: Remove.
gcc:
	* config/alpha/t-osf5: Remove.
	* config/alpha/t-osf-pthread: Remove.
	* config.gcc (alpha*-dec-osf5.1*): Set tmake_file to t-slibgcc-dummy.
	* mkmap-flat.awk: Handle osf_export for Tru64 UNIX linker -input file.

	libgcc:
	* configure.ac (target_thread_file): Determine thread model.
	* configure: Regenerate.
	* config.host (alpha*-dec-osf5.1*): Set tmake_file, extra_parts.
	* config/alpha/t-alpha: New file.
	* config/alpha/t-crtfm: Use $<.
	* config/alpha/t-ieee: New file.
	* config/alpha/t-osf-pthread: New file.
	* config/alpha/t-slibgcc-osf: New file.
	* config/alpha/libgcc-osf5.ver: New file.

From-SVN: r174603
2011-06-03 13:23:35 +00:00
Rainer Orth 0699e415bc crtfastmath.c: Include <signal.h>, <ucontext.h>.
gcc:
	* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
	Include <signal.h>, <ucontext.h>.
	(sigill_caught): Define.
	(sigill_hdlr): New function.
	(set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
	insns can be executed.
	* config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math
	etc.
	* config/sparc/sol2.h (ENDFILE_SPEC): Remove.

	libgcc:
	* config.host (i[34567]86-*-solaris2*): Add i386/t-crtfm to
	tmake_file.
	Add crtfastmath.o to extra_parts.

From-SVN: r174532
2011-06-01 14:49:21 +00:00
Rainer Orth a3fab9c2a9 gmon-sol2.c: Reindent.
* config/gmon-sol2.c: Reindent.
	Cleanup comments.
	Remove, correct casts.
	Use STDERR_FILENO, NULL.
	(BASEADDRESS): Remove.
	(minbrk): Remove.
	(errno, sbrk): Remove declarations.
	(monstartup) [hp300]: Remove.
	(mcount): Remove.

From-SVN: r174531
2011-06-01 14:46:24 +00:00
Rainer Orth ca24c5ad73 t-slibgcc-darwin: Move to ...
gcc:
	* config/t-slibgcc-darwin: Move to ...
	* config/t-slibgcc-dummy: .. this.
	Clarify comments.
	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
	powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
	(i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
	(i[34567]86-*-rtems*): Remove extra_parts.
	Use i386/t-rtems.
	Remove i386/t-crtstuff from tmake_file.
	(i[34567]86-*-solaris2*): Remove t-svr4,
	t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
	t-slibgcc-dummy.
	(sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
	(sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
	sparc/t-crtfm from tmake_file.
	(sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
	t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
	Remove extra_parts.
	* config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
	* config/i386/t-nwld (SHLIB_LINK): Remove.
	* config/i386/t-rtems-i386: Rename to ...
	* config/i386/t-rtems: ... this.
	($(T)crti.o, $(T)crtn.o): Remove.
	(FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
	(dp-bit.c, fp-bit.c, xp-bit.c): Remove.
	(EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
	* config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
	EXTRA_MULTILIB_PARTS): Remove.
	* config/sparc/t-sol2-64: Likewise.
	* config/sparc/t-sol2: Remove.
	* config/sparc/t-crtin: Remove.
	* config/sparc/gmon-sol2.c: Move to ../libgcc/config.
	* config/i386/gmon-sol2.c: Remove.
	* config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
	* config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
	* config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
	* config/i386/sol2-gc1.asm: Remove.
	* config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
	* config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
	* config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
	* config/t-slibgcc-sld: Remove.

	libgcc:
	* Makefile.in (cpu_type): Define.
	* config.host (i[34567]86-*-rtems*): Handle it.
	(i[34567]86-*-solaris2*): Move body ...
	(*-*-solaris2*): ... here.
	New case, generalize.
	(sparc-*-elf*): Handle it.
	(sparc-*-linux*, sparc64-*-linux*): Replace sparc/t-crtfm by t-crtfm.
	(sparc-*-rtems*, sparc64-*-rtems*); Handle it.
	(sparc64-*-solaris2*, sparcv9-*-solaris2*, sparc-*-solaris2*):
	Fold into ...
	(sparc*-*-solaris2*): ... this.
	New case.
	(sparc64-*-elf*): Handle it.
	* config/gmon-sol2.c: Move from ../gcc/config/sparc.
	Merge ../gcc/config/i386/gmon-sol2.c.
	* config/i386/sol2-c1.S: Move from ../gcc/config/i386/sol2-c1.asm.
	Use C comments.
	Merge ../gcc/config/i386/sol2-gc1.asm.
	* config/i386/sol2-ci.S: Move from ../gcc/config/i386/sol2-ci.asm.
	Use C comments.
	* config/i386/sol2-cn.S: Move from ../gcc/config/i386/sol2-cn.asm.
	Use C comments.
	* config/i386/t-crtfm (crtfastmath.o): Use $<.
	* config/i386/t-crtstuff: New file.
	* config/i386/t-softfp: New file.
	* config/i386/t-sol2 ($(T)gmon.o, $(T)gcrt1.o, $(T)crt1.o),
	$(T)crti.o, $(T)crtn.o): Remove.
	(gcrt1.o): New rule.
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/sparc/sol2-c1.S: Move from ../gcc/config/sparc/sol2-c1.asm.
	* config/sparc/sol2-ci.S: Move from ../gcc/config/sparc/sol2-ci.asm.
	* config/sparc/sol2-cn.S: Move from ../gcc/config/sparc/sol2-cn.asm.
	* config/sparc/t-sol2: New file.
	* config/sparc/t-crtfm: Move to ...
	* config/t-crtfm: ... this.
	Use $(cpu_type), $<.
	* config/t-crtin: New file.
	* config/sparc/t-softfp: New file.
	* config/sparc/t-softmul: New file.
	* config/t-rtems: New file.
	* config/t-slibgcc: New file.
	* config/t-slibgcc-elf-ver: New file.
	* config/t-slibgcc-gld: New file.
	* config/t-slibgcc-sld: New file.
	* config/t-sol2: New file.
	* configure.ac: Include ../config/lib-ld.m4.
	Call AC_LIB_PROG_LD_GNU.
	Substitute cpu_type.
	* configure: Regenerate.

From-SVN: r174529
2011-06-01 14:39:17 +00:00
Bernd Schmidt ad5f3d7b39 re PR bootstrap/49173 (No rule to make target `../../../../work/libgcc/../gcc/libgcc-std.ver', needed by `libgcc.map'.)
PR bootstrap/49173
	* config/t-slibgcc-darwin (SHLIB_MAPFILES): Look for
	libgcc-std.ver in the build directory.
	* config/s390/t-linux (SHLIB_MAPFILES): Likewise.
	* config/sh/t-linux (SHLIB_MAPFILES): Likewise.

From-SVN: r174321
2011-05-27 07:53:51 +00:00
Bernd Schmidt cdbf45414a libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined.
gcc/
	* libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
	LIBGCC2_GNU_PREFIX is defined.
	(__N): New macro.
	(__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
	__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
	__divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
	__clz_tab): Define using __N.
	(__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
	* target.def (libfunc_gnu_prefix): New hook.
	* doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
	(TARGET_LIBFUNC_GNU_PREFIX): Add hook.
	* doc/tm.texi: Regenerate.
	* system.h (LIBGCC2_GNU_PREFIX): Poison.
	* optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
	account.
	(gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
	(init_optabs): Likewise for the bswap libfuncs.
	* tree.c (build_common_builtin_nodes): Likewise for complex multiply
	and divide.
	* config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
	* config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
	* libgcc-std.ver: Remove.
	* Makefile.in (srcdirify): Handle $$(libgcc_objdir).
	* config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
	libgcc-std.ver.
	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
	* config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
	* config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
	* config/fixed-bit.h (FIXED_OP): Define differently depending on
	LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
	(FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.

	libgcc/
	* libgcc-std.ver.in: New file.
	* Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New
	variables.
	(libgcc-std.ver): New rule.
	* config/t-gnu-prefix: New file.

From-SVN: r174187
2011-05-25 12:11:42 +00:00
Rainer Orth c80286502f gthr-gnat.c: Remove.
gcc:
	* gthr-gnat.c: Remove.
	* gthr-gnat.h: Remove.
	* Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
	* config/t-freebsd (LIB2ADDEH): Likewise.
	* config/t-linux (LIB2ADDEH): Likewise.
	* config/t-sol2 (LIB2ADDEH): Likewise.
	* config/ia64/t-vms (LIB2ADDEH): Likewise.
	* configure.ac (target_thread_file): Remove gnat handling.
	* configure: Regenerate.
	* doc/install.texi (Configuration, --enable-threads): Remove gnat.

	gcc/po:
	* EXCLUDES: Remove gthr-gnat.c, gthr-gnat.h.

	libgcc:
	* config/s390/t-tpf (LIB2ADDEH): Remove $(gcc_srcdir)/gthr-gnat.c.

From-SVN: r174064
2011-05-23 11:12:25 +00:00
Joseph Myers 4a68b4ca4e config.gcc (i[34567]86-*-darwin*, [...]): Add i386/darwin-lib.h to $libgcc_tm_file.
gcc:
	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
	i386/darwin-lib.h to $libgcc_tm_file.
	* config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.

libgcc:
	* config/i386/darwin-lib.h: New file.

From-SVN: r173622
2011-05-10 17:40:55 +01:00
Joseph Myers 80cf2e08cc config.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc/config/ in tm_file.
gcc:
	* config.gcc (libgcc_tm_file): Define instead of including files
	from ../../libgcc/config/ in tm_file.
	* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
	Define.
	* configure: Regenerate.
	* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
	libgcc_tm.h, cs-libgcc_tm.h): New.
	(TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
	(clean): Remove libgcc_tm.h.
	* config/arm/symbian.h (RENAME_LIBRARY): Remove.
	* mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
	* system.h (DECLARE_LIBRARY_RENAMES): Poison.

libgcc:
	* config/arm/symbian-lib.h: New.

From-SVN: r173619
2011-05-10 15:41:47 +01:00
Chris Demetriou a3330c9d55 morestack.S (__i686.get_pc_thunk.bx): Rename to...
2011-05-04  Chris Demetriou  <cgd@google.com>

        * config/i386/morestack.S (__i686.get_pc_thunk.bx): Rename to...
        (__x86.get_pc_thunk.bx): ...this.
        (__morestack): Adjust for rename, remove undef of __i686.

From-SVN: r173391
2011-05-04 11:59:31 -07:00
Chris Demetriou 6ace0756af morestack.S (__i686.get_pc_thunk.bx): New.
2011-05-03  Chris Demetriou  <cgd@google.com>

        * config/i386/morestack.S (__i686.get_pc_thunk.bx): New.

From-SVN: r173345
2011-05-03 16:22:03 -07:00
Joseph Myers ebb9f8b03b MAINTAINERS (crx port, [...]): Remove.
* MAINTAINERS (crx port, m68hc11 port): Remove.  Move maintainers
	to Write After Approval.
	* config-ml.in: Don't handle arc-*-elf*.
	* configure.ac (arc-*-*, crx-*-*, i[[3456789]]86-*-pe,
	m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, mcore-*-pe*): Don't
	handle GCC libraries.
	* configure: Regenerate.

contrib:
	* compare-all-tests (all_targets): Remove crx and m68hc11.

fixincludes:
	* mkfixinc.sh: Don't handle i?86-moss-msdos* or i?86-*-pe.

gcc:
	* config/alpha/gnu.h: Remove.
	* config/arc: Remove directory.
	* config/arm/netbsd.h: Remove.
	* config/arm/t-pe: Remove.
	* config/crx: Remove directory.
	* config/i386/netbsd.h: Remove.
	* config/m68hc11: Remove directory.
	* config/m68k/uclinux-oldabi.h: Remove.
	* config/mcore/mcore-pe.h: Remove.
	* config/mcore/t-mcore-pe: Remove.
	* config/netbsd-aout.h: Remove.
	* config/rs6000/gnu.h: Remove.
	* config/sh/sh-symbian.h: Remove.
	* config/sh/symbian-base.c: Remove.
	* config/sh/symbian-c.c: Remove.
	* config/sh/symbian-cxx.c: Remove.
	* config/sh/symbian-post.h: Remove.
	* config/sh/symbian-pre.h: Remove.
	* config/sh/t-symbian: Remove.
	* config/svr3.h: Remove.
	* config/vax/netbsd.h: Remove.
	* config.build: Don't handle i[34567]86-*-pe.
	* config.gcc: Remove handling of deprecations for most deprecated
	targets.
	(m68k-*-uclinuxoldabi*): Add to second deprecated list.
	(alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
	i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
	m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
	powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
	sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
	Remove cases.
	* config.host: Don't handle i[34567]86-*-pe.
	* config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
	(ASM_SPEC32): Don't handle -mcall-gnu.
	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
	-mcall-gnu.
	(ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
	STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
	(LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
	LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
	(SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
	* config/sh/sh-protos.h, config/sh/sh.c: Remove all code
	conditional on SYMBIAN.
	* configure.ac: Don't handle powerpc*-*-gnu*.
	* configure: Regenerate.
	* doc/extend.texi (interrupt attribute): Don't mention CRX.
	* doc/install-old.texi (m6811, m6812): Don't mention.
	* doc/install.texi (arc-*-elf*): Don't document multilib option.
	(arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
	(m68k-uclinuxoldabi): Don't mention.
	* doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
	Remove.
	(-mcall-gnu): Remove.
	* doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
	families): Remove constraint documentation.

gcc/testsuite:
	* gcc.c-torture/execute/920501-8.x: Remove.
	* gcc.c-torture/execute/930513-1.x: Remove.
	* gcc.c-torture/execute/960312-1.x: Remove.
	* gcc.c-torture/compile/20000804-1.c,
	gcc.c-torture/compile/20001205-1.c,
	gcc.c-torture/compile/20001226-1.c,
	gcc.c-torture/compile/20010518-2.c,
	gcc.c-torture/compile/20020312-1.c,
	gcc.c-torture/compile/20020604-1.c,
	gcc.c-torture/compile/920501-12.c,
	gcc.c-torture/compile/920501-4.c,
	gcc.c-torture/compile/920520-1.c,
	gcc.c-torture/compile/980506-1.c,
	gcc.c-torture/execute/980709-1.x,
	gcc.c-torture/execute/990826-0.x: Don't XFAIL or use special
	options for m68hc11.
	* gcc.dg/cpp/assert4.c: Don't handle ARC.
	* gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c: Don't XFAIL for arc or
	m68hc11.

libgcc:
	* config.host (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*,
	arm-*-pe*, crx-*-elf, i[34567]86-*-netbsd*, i[34567]86-*-pe,
	m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*, mcore-*-pe*,
	powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
	sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
	Remove cases.

libstdc++-v3:
	* configure.ac: Don't handle powerpc*-*-gnu*.
	* configure: Regenerate.

From-SVN: r171302
2011-03-22 19:58:18 +00:00
Andreas Tobler 9cfa14995f config.host (cpu_type): Add FreeBSD PowerPC specific parts.
2011-03-14  Andreas Tobler  <andreast@fgznet.ch>

	* config.host (cpu_type): Add FreeBSD PowerPC specific parts.
	Adjust copyright year.

From-SVN: r170931
2011-03-14 07:06:23 +01:00
Ian Lance Taylor 457186f6d5 generic-morestack.c (__splitstack_find): Adjust returned stack pointer to include all registers pushed by __morestack.
* generic-morestack.c (__splitstack_find): Adjust returned stack
	pointer to include all registers pushed by __morestack.

From-SVN: r170757
2011-03-07 21:47:10 +00:00
Dave Korn 58c741a62e re PR target/40125 (libgcc_s DLL installed in wrong directory in cross toolchain)
gcc/ChangeLog:

	PR target/40125
	* config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
	t-dlldir{,-x} fragment for build and add it to tmake_file.
	(i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
	* Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
	* config/i386/t-dlldir: New file.
	(SHLIB_DLLDIR): Define.
	* config/i386/t-dlldir-x: New file.
	(SHLIB_DLLDIR): Define.
	* config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
	(SHLIB_INSTALL): Use it.

libgcc/ChangeLog:

	PR target/40125
	* configure.ac: Call ACX_NONCANONICAL_TARGET.
	(toolexecdir): Calculate and AC_SUBST.
	(toolexeclibdir): Likewise.
	* Makefile.in (target_noncanonical): Import.
	(toolexecdir): Likewise.
	(toolexeclibdir): Likewise.
	* configure: Regenerate.

From-SVN: r169274
2011-01-26 04:19:58 +00:00
Jakub Jelinek d652f226fc Update Copyright years for files modified in 2010.
From-SVN: r168438
2011-01-03 21:52:22 +01:00
Nathan Froyd 26716c44a3 re PR target/46040 (crtstuff.c:308:26: error: '__DTOR_LIST__' undeclared)
gcc/
	PR target/46040
	* config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
	(arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.

libgcc/
	PR target/46040
	* config/arm/bpabi.h: Rename to...
	* config/arm/bpabi-lib.h: ...this.

From-SVN: r167751
2010-12-13 16:23:50 +00:00
Rainer Orth b595b1a11e configure.ac: Use i386/t-crtstuff on i?86-*-solaris2* if appropriate.
* configure.ac: Use i386/t-crtstuff on i?86-*-solaris2* if
	appropriate.
	* configure: Regenerate.

From-SVN: r167696
2010-12-10 17:03:53 +00:00
Nathan Froyd a3abe41c30 cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
gcc/
	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
	__FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
	* config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
	* doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
	* system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.

libgcc/
	* config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of
	__FLOAT_WORD_ORDER__.
	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN):
	Delete.

libdecnumber/
	* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
	(WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__.

From-SVN: r167129
2010-11-24 23:29:41 +00:00
Ralf Wildenhues 455c8f4873 PR other/46202: implement install-strip.
/:
	PR other/46202
	* configure.ac: Fix just-built in-tree STRIP name to be
	binutils/strip-new.
	* configure: Regenerate.
	* Makefile.def (install-strip-gcc, install-strip-binutils)
	(install-strip-opcodes, install-strip-ld, install-strip-itcl)
	(install-strip-sid): Mirror dependencies on non-strip variants
	of these targets on the respective -strip prerequisites.
	* Makefile.tpl (install-strip, install-strip-host)
	(install-strip-target): New targets.
	(install-strip-[+module+], install-strip-target-[+module+]):
	New targets.
	* Makefile.in: Regenerate.

gcc/:
	PR other/46202
	* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New
	variables.
	(AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
	shell quoting.
	(STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
	(install-strip): New target.
	(STRIPPROG): New variable, exported if STRIP is set.
	* doc/install.texi (Final install): Minor markup and code style
	fixes.  Document install-strip target.

fixincludes/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(all, check, install): Also mark as phony.

libgcc/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.

libiberty/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(install): Also mark as phony.

gnattools/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(check, installcheck, info, dvi, pdf, html, install)
	(install-info, install-pdf, install-html, mostlyclean)
	(clean, distclean, maintainer-clean): Mark phony.

libada/:
	PR other/46202
	* Makefile.in (install-strip): New phony target.
	(check, installcheck, info, dvi, pdf, html, install)
	(install-info, install-pdf, install-html, mostlyclean)
	(clean, distclean, maintainer-clean): Mark phony.

From-SVN: r166980
2010-11-20 19:37:08 +00:00
Ian Lance Taylor f3824a8b6c re PR target/46089 (ICE: in gen_reg_rtx, at emit-rtl.c:861 with -mcmodel=large -fsplit-stack)
gcc/:
	PR target/46089
	* config/i386/i386.c (split_stack_fn_large): New static variable.
	(ix86_expand_split_stack_prologue): Handle large model.
libgcc/:
	* config/i386/morestack.S (__morestack_large_model): New
	function.

From-SVN: r166427
2010-11-08 04:34:32 +00:00
Nathan Froyd 18ed6ee4bf cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__...
gcc/
	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
	__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
	__ORDER_PDP_ENDIAN__.
	* libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	(struct DWstruct): Define based on __BYTE_ORDER__.
	* config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	(struct INTstruct): Define based on __BYTE_ORDER__.
	* config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
	* system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
	* config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	* doc/tm.texi: Regenerate.
	* doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
	(__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.

libdecnumber/
	* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.

libgcc/
	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN):
	Delete.
	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.

From-SVN: r165881
2010-10-23 03:05:47 +00:00
Nathan Froyd 8ac7fdcb39 config.gcc (arm*-*-linux-*eabi): Add bpabi.h from libgcc.
gcc/
	* config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from
	libgcc.
	(arm*-*-uclinux*eabi) <tm_file>: Likewise.
	(arm*-*-eabi*) <tm_file>: Likewise.
	(frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
	(frv-*-*linux*) <tm_file>: Likewise.
	* config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
	and associated helper macros.
	* config/frv/frv-abi.h: Delete.

libgcc/
	* config/arm/bpabi.h: New file.
	* config/frv/frv-abi.h: New file.

From-SVN: r165463
2010-10-14 12:35:43 +00:00
Ian Lance Taylor cdb388c24a t-stack (LIB2ADD_ST): Set instead of LIB2ADD.
* config/t-stack(LIB2ADD_ST): Set instead of LIB2ADD.
	* config/i386/t-stack-i386 (LIB2ADD_ST): Likewise.

From-SVN: r164893
2010-10-01 19:31:49 +00:00
H.J. Lu ca007d11d6 Remove the extra `$'.
From-SVN: r164878
2010-10-01 04:57:44 -07:00
H.J. Lu ef7c141c38 Add the missing `$'.
2010-10-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45858
	* config.host: Add the missing `$'.

From-SVN: r164876
2010-10-01 04:31:26 -07:00
Michael Eager 809201325a Check in support for Xilinx MicroBlaze processor.
From-SVN: r164756
2010-09-30 18:21:57 +00:00
Ian Lance Taylor 6dace308de configure.ac: Adjust CFI test to test assembler directly rather than checking gcc...
* configure.ac: Adjust CFI test to test assembler directly rather
	than checking gcc preprocessor macro.
	* configure: Rebuild.

From-SVN: r164713
2010-09-29 00:54:08 +00:00
Ian Lance Taylor b6110d6d19 i386.c (ix86_supports_split_stack): -fsplit-stack requires assembler support for CFI directives.
gcc/:
	* config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
	requires assembler support for CFI directives.
libgcc/:
	* configure.ac: Test whether assembler supports CFI directives.
	* config.host: Only add t-stack and i386/t-stack-i386 to
	tmake_file if libgcc_cv_cfi is "yes".
	* configure: Rebuild.

From-SVN: r164671
2010-09-28 00:07:12 +00:00
Ian Lance Taylor 7458026b01 common.opt (fsplit-stack): New option.
gcc/:
	* common.opt (fsplit-stack): New option.
	* opts.c (decode_options): Set flag_split_stack to final value.
	* target.def (supports_split_stack): New hook.
	* gcc.c (STACK_SPLIT_SPEC): Define.
	(LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
	* doc/invoke.texi (Option Summary): Mention -fsplit-stack.
	(Code Gen Options): Document -fsplit-stack.
	* doc/extend.texi (Function Attributes): Mention no_split_stack.
	(Function Attributes): Document no_split_stack.
	* doc/tm.texi.in (Stack Smashing Protection): Add @hook
	TARGET_SUPPORTS_SPLIT_STACK.
	* doc/tm.texi: Rebuild.
	* function.c (thread_prologue_and_epilogue_insns): If
	flag_split_stack, add split stack prologue.
	* explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
	* varasm.c (saw_no_split_stack): New static variable.
	(assemble_start_function): Set saw_no_split_stack if the function
	has the no_split_stack attribute.
	(file_end_indicate_split_stack): New function.
	* output.h (file_end_indicate_split_stack): Declare.
	* libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
	and function.
	* doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
	routines.
	* config/i386/i386.c (ix86_option_override_internal): Don't set
	expand_builtin_va_start to NULL if -fsplit-stack.
	(ix86_function_regparm): Reduce local regparm by 1 for 32-bit
	-fsplit-stack.
	(ix86_va_start): If -fsplit-stack, get overflow pointer	from
	scratch register set by prologue.
	(ix86_code_end): If -fsplit-stack, call
	file_end_indicate_split_stack.
	(ix86_supports_split_stack): New static function.
	(SPLIT_STACK_AVAILABLE): Define.
	(split_stack_prologue_scratch_regno): New static function.
	(split_stack_fn): New static variable.
	(ix86_expand_split_stack_prologue): New function.
	(ix86_live_on_entry): New static function.
	(ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
	(output_pic_addr_const): Likewise.
	(i386_asm_output_addr_const_extra): Likewise.
	(ix86_expand_call): Change return type to rtx.  Return the new
	call instruction.
	(TARGET_SUPPORTS_SPLIT_STACK): Define.
	(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
	* config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
	(split_stack_prologue, split_stack_return): New insns.
	(split_stack_space_check): New insn.
	* config/i386/i386.h (struct machine_function): Add
	split_stack_varargs_pointer field.
	* config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
	(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
	* config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
	(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
	* config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
	Declare.
	(ix86_expand_call): Update declaration.
gcc/c-family/:
	* c-common.c (c_common_attribute_table): Add no_split_stack.
	(handle_no_split_stack_attribute): New static function.
gcc/testsuite/:
	* lib/target-supports.exp (check_effective_target_split_stack):
	New procedure.
	* gcc.dg/split-1.c: New test.
	* gcc.dg/split-2.c: New test.
	* gcc.dg/split-3.c: New test.
	* gcc.dg/split-4.c: New test.
libgcc/:
	* generic-morestack.h: New file.
	* generic-morestack.c: New file.
	* generic-morestack-thread.c: New file.
	* config/i386/morestack.S: New file.
	* config/t-stack: New file.
	* config/i386/t-stack-i386: New file.
	* config.host (i[34567]86-*-linux* and friends): Add t-stack and
	i386/t-stack-i386 to tmake_file.

From-SVN: r164661
2010-09-27 19:48:20 +00:00
Iain Sandoe 5b50fc0c88 Makefile.in (libgcc-extra-parts): Check for static archives and invoke ranlib after installing them.
* Makefile.in (libgcc-extra-parts):  Check for static archives and
	invoke ranlib after installing them.
	(gcc-extra-parts): Likewise.
	(install-leaf): Likewise.

From-SVN: r164482
2010-09-21 14:43:59 +00:00
H.J. Lu b93cf3427d Regenerate libgcc/configure.
2010-09-14  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

From-SVN: r164284
2010-09-14 09:48:05 -07:00
Kai Tietz 996b42ef6a ChangeLog config
2010-09-10  Jonathan Yong  <jon_y@users.sourceforge.net>

	* dfp.m4: Enable decimal float for i?86 cygwin
	and mingw, and for x86_64 mingw.

ChangeLog libgcc

2010-09-10  Kai Tietz  <kai.tietz@onevision.com>

       * configure: Regenerated.

ChangeLog libdecnumber

2010-09-10  Kai Tietz  <kai.tietz@onevision.com>

       * configure: Regenerated.


ChangeLog gcc

2010-09-10  Kai Tietz  <kai.tietz@onevision.com>

	* configure: Regenerated.
	* config.gcc: Add for x86_64 and i?86 mingw t-dfprule.

From-SVN: r164167
2010-09-10 13:39:49 +02:00
Gerald Pfeifer be1c764ef4 re PR target/40959 (FreeBSD/ia64 build fails: No rule to make target `/usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by `T_TARGET'.)
2010-09-09  Gerald Pfeifer  <gerald@pfeifer.com>
	    Andrew Pinski  <pinskia@gmail.com>

	PR target/40959
	* config.host (ia64*-*-freebsd*): Set extra_parts.  Set tmake_file.

Co-Authored-By: Andrew Pinski <pinskia@gmail.com>

From-SVN: r164132
2010-09-09 22:19:33 +00:00
H.J. Lu cc0ae0cacb Don't set enable_decimal_float to dpd if DFP is disabled.
config/

2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45524
	* dfp.m4: Don't set enable_decimal_float to dpd if DFP is
	disabled.  Set default_decimal_float.

gcc/

2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45524
	* configure.ac (enable_decimal_float): Set to
	$default_decimal_float.
	* configure: Regenerated.

libdecnumber/

2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45524
	* configure.ac (enable_decimal_float): Set to
	$default_decimal_float.
	* configure: Regenerated.

libgcc/

2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45524
	* configure: Regenerated.

From-SVN: r163921
2010-09-06 07:52:54 -07:00
Andreas Schwab 84f47d20bb dfp.m4: Quote argument of AC_MSG_WARN.
config/:
	* dfp.m4: Quote argument of AC_MSG_WARN.

gcc/:
	* configure.ac: Quote argument of AC_MSG_WARN.
	* configure: Regenerate.

libdecnumber/:
	* configure: Regenerate.

libgcc/:
	* configure: Regenerate.

From-SVN: r163909
2010-09-06 10:35:22 +00:00
Uros Bizjak 4159fb8dd2 t-sol2 (__copysigntf3, __fabstf3): Disable for 64bit targets.
* config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
	64bit targets.
	(__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
	for 64bit targets.

From-SVN: r163820
2010-09-03 16:33:48 +02:00
Uros Bizjak 0df8fcc8d1 re PR target/45476 (libgcc should contain TCmode functions)
libgcc/ChangeLog:

	PR target/45476
	* Makefile.in (sifuncs, difuncs, tifuncs): Filter out
	LIB2FUNCS_EXCLUDE functions.

gcc/ChangeLog:

	PR target/45476
	* config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
	* config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
	LIBGCC2_TF_CEXT, TF_SIZE): New defines.

gcc/testsuite/ChangeLog:

	PR target/45476
	* gcc.target/i386/float128-1.c: Enable for all x86 targets.
	* gcc.target/i386/float128-2.c: Ditto.

From-SVN: r163819
2010-09-03 16:23:05 +02:00
Andreas Krebbel f4dae9fcc0 configure: Regenerate.
gcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libdecnumber/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libgcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.

From-SVN: r163816
2010-09-03 13:16:24 +00:00
Andreas Krebbel 3c39bca6bb configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
gcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

config/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * dfp.m4: New file.

libdecnumber/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libgcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    Include dfp.m4.
	    * configure: Regenerate.

From-SVN: r163815
2010-09-03 13:14:14 +00:00
Uros Bizjak d78552bd0f config.gcc (i[34567]86-*-freebsd*, [...]): Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
gcc/ChangeLog:

	* config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
	i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.

	* libgcc-std.ver (GCC_4.6.0): Define version.

libgcc/ChangeLog:

	* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
	i386/t-freebsd to tmake_file.
	* config/i386/t-freebsd: New file.
	* config/i386/libgcc-bsd.ver: New file.

From-SVN: r163718
2010-09-01 08:42:53 +02:00
Nathan Froyd c5b79d4eb8 config.host (powerpc*-eabispe*): Set tmake_file.
* config.host (powerpc*-eabispe*): Set tmake_file.
	(powerpc*-eabi*): Likewise.
	* config/rs6000/t-ppccomm (EXTRA_PARTS): Add crtbegin, crtend,
	crtbeginS, crtendS, crtbeginT.

From-SVN: r162474
2010-07-23 16:53:48 +00:00