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
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
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
Rainer Orth
c6412d8676
sync.c: Move to ../libgcc.
...
gcc:
* config/sync.c: Move to ../libgcc.
* Makefile.in (libgcc.mvars): Remove LIBGCC_SYNC,
LIBGCC_SYNC_CFLAGS.
* config/mips/t-libgcc-mips16 (LIBGCC_SYNC, LIBGCC_SYNC_CFLAGS):
Remove.
libgcc:
* sync.c: New file.
* config/mips/t-mips16: New file.
* config.host (mips64*-*-linux*): Add mips/t-mips16 to tmake_file.
(mips*-*-linux*): Likewise.
(mips*-sde-elf*): Likewise.
(mipsisa32-*-elf*): Join with mipsisa32r2-*-elf*,
mipsisa64-*-elf*, mipsisa64r2-*-elf*.
Add mips/t-mips16 to tmake_file.
(mipsisa64sb1-*-elf*): Add mips/t-mips16 to tmake_file.
(mips-*-elf*): Likewise.
(mips64-*-elf*): Likewise.
(mips64orion-*-elf*): Likewise.
(mips*-*-rtems*): Likewise.
(mipstx39-*-elf*): Likewise.
* Makefile.in: Use SYNC instead of LIBGCC_SYNC.
($(libgcc-sync-size-funcs-o)): Use SYNC_CFLAGS instead of
LIBGCC_SYNC_CFLAGS.
Use $(srcdir) to refer to sync.c.
Use $<.
($(libgcc-sync-funcs-o)): Likewise.
($(libgcc-sync-size-funcs-s-o)): Likewise.
($(libgcc-sync-funcs-s-o)): Likewise.
From-SVN: r177601
2011-08-09 15:40:30 +00:00
H.J. Lu
cca2207a2d
Fix Dwarf unwind library for UNITS_PER_WORD > sizeof (void *)
...
gcc/
2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
PR other/48007
* config.gcc (libgcc_tm_file): Add i386/value-unwind.h for
Linux/x86.
* system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
(ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise.
* unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New.
(_Unwind_Context_Reg_Val): Likewise.
(_Unwind_Get_Unwind_Word): Likewise.
(_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
(_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
(_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT
for EXTENDED_CONTEXT_BIT.
(__frame_state_for): Likewise.
(uw_init_context_1): Likewise.
(_Unwind_GetGR): Updated.
(_Unwind_SetGR): Likewise.
(_Unwind_GetGRPtr): Likewise.
(_Unwind_SetGRPtr): Likewise.
(_Unwind_SetGRValue): Likewise.
(_Unwind_GRByValue): Likewise.
(uw_install_context_1): Likewise.
* doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and
ASSUME_EXTENDED_UNWIND_CONTEXT.
* doc/tm.texi: Regenerated.
libgcc/
2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
PR other/48007
* config/i386/value-unwind.h: New.
From-SVN: r177563
2011-08-08 06:26:06 -07:00
Rainer Orth
aca0b0b315
soft-fp: Move to ../libgcc.
...
gcc:
* config/soft-fp: Move to ../libgcc.
* Makefile.in (SFP_MACHINE): Remove.
(libgcc-support): Remove $(SFP_MACHINE) dependency.
* config/arm/sfp-machine.h: Move to ../libgcc/config/arm.
* config/arm/t-arm-softfp: Move to
../libgcc/config/arm/t-softfp.
* config/c6x/sfp-machine.h: Move to ../libgcc/config/c6x.
* config/c6x/t-c6x-softfp: Remove.
* config/i386/sfp-machine.h: Move to ../libgcc/config/i386.
* config/i386/t-fprules-softfp: Move to
../libgcc/config/t-softfp-tf.
* config/ia64/sfp-machine.h: Move to ../libgcc/config/ia64.
* config/ia64/t-fprules-softfp: Remove.
* config/lm32/sfp-machine.h: Move to ../libgcc/config/lm32.
* config/lm32/t-fprules-softfp: Remove.
* config/moxie/sfp-machine.h: Remove.
* config/moxie/t-moxie-softfp: Remove.
* config/rs6000/darwin-ldouble-format: Move to
../libgcc/config/rs6000/ibm-ldouble-format.
* config/rs6000/darwin-ldouble.c: Move to
../libgcc/config/rs6000/ibm-ldouble.c
* config/rs6000/libgcc-ppc-glibc.ver: Move to ../libgcc/config/rs6000.
* config/rs6000/libgcc-ppc64.ver: Likewise.
* config/rs6000/sfp-machine.h: Likewise.
* config/rs6000/t-aix43 (SHLIB_MAPFILES): Remove
$(srcdir)/config/rs6000/libgcc-ppc64.ver.
(LIB2FUNCS_EXTRA): Remove.
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/rs6000/t-aix52: Likewise
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/darwin-ldouble.c.
(SHLIB_MAPFILES): Remove.
* config/rs6000/t-darwin64 (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/darwin-ldouble.c.
* config/rs6000/t-fprules-softfp: Move to
../libgcc/config/t-softfp-sfdf.
* config/rs6000/t-freebsd: Move to ../libgcc/config/rs6000.
* config/rs6000/t-linux64 (softfp_wrap_start, softfp_wrap_end): Remove.
* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/darwin-ldouble.c.
* config/score/sfp-machine.h: Move to ../libgcc/config/score.
* config/score/t-score-softfp: Remove.
* config.gcc (arm*-*-linux*): Remove arm/t-arm-softfp,
soft-fp/t-softfp from tmake_file.
(arm*-*-uclinux*): Likewise.
(arm*-*-ecos-elf): Likewise.
(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
(arm*-*-rtems*): Likewise.
(arm*-*-elf): Likewise.
(moxie-*-elf): Remove moxie/t-moxie-softfp, soft-fp/t-softfp from
tmake_file.
(moxie-*-uclinux*): Likewise.
(moxie-*-rtems*): Likewise.
(lm32-*-elf*): Remove lm32/t-fprules-softfp, soft-fp/t-softfp from
tmake_file.
(lm32-*-rtems*): Likewise.
(lm32-*-uclinux*): Likewise.
(powerpc-*-freebsd*): Remove rs6000/t-freebsd,
rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
(powerpc-*-linux*, powerpc64-*-linux*): Remove
rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
(score-*-elf): Remove score/t-score-softfp, soft-fp/t-softfp from
tmake_file.
(tic6x-*-elf): Remove c6x/t-c6x-softfp, soft-fp/t-softfp from
tmake_file.
(tic6x-*-uclinux): Likewise.
(i[34567]86-*-darwin*, x86_64-*-darwin*): Remove i386/t-fprules-softfp,
soft-fp/t-softfp from tmake_file.
(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
(x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Likewise.
(i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Likewise.
(i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*):
Likewise.
(i[34567]86-*-freebsd*, x86_64-*-freebsd*): Likewise.
libgcc:
* config/t-softfp: Remove.
* soft-fp: Moved from ../gcc/config.
* soft-fp/README: Remove t-softfp reference.
* soft-fp/t-softfp: Move to config/t-softfp.
(softfp_machine_header): Remove.
(softfp_file_list): Remove config subdir.
(soft-fp-objects): New variable.
($(soft-fp-objects)): Set INTERNAL_CFLAGS.
(LIB2FUNCS_EXTRA): Add to LIB2ADD instead.
(SFP_MACHINE, $(SFP_MACHINE)): Remove.
* config/t-softfp-excl: New file.
* config/t-softfp-sfdf: New file.
* config/t-softfp-tf: New file.
* config/no-sfp-machine.h: New file.
* config/arm/sfp-machine.h: New file.
* config/arm/t-softfp: New file.
* config/c6x/sfp-machine.h: New file.
* config/i386/32/t-fprules-softfp: Rename to ...
* config/i386/32/t-softfp: ... this.
(tifunctions, LIB2ADD): Remove.
(softfp_int_modes): Override.
* config/i386/64/t-softfp-compat (tf-functions): Remove config
subdir.
* config/i386/64/eqtf2.c: Likewise.
* config/i386/64/getf2.c: Likewise.
* config/i386/64/letf2.c: Likewise.
* config/ia64/sft-machine.h: New file.
* config/ia64/t-fprules-softfp: Rename to ...
* config/ia64/t-softfp: ... this.
* config/lm32/sfp-machine.h: New file.
* config/moxie/t-moxie-softfp: Remove.
* config/rs6000/ibm-ldouble-format: New file.
* config/rs6000/ibm-ldouble.c: New file.
* config/rs6000/libgcc-ppc-glibc.ver: New file
* config/rs6000/libgcc-ppc64.ver: New file
* config/rs6000/sfp-machine.h: New file.
* config/rs6000/t-freebsd: New file.
* config/rs6000/t-ibm-ldouble: New file.
* config/rs6000/t-ldbl128: Use $(srcdir) to refer to
libgcc-ppc-glibc.ver.
* config/rs6000/t-linux64: New file.
* config/rs6000/t-ppccomm (LIB2ADD): Add
$(srcdir)/config/rs6000/ibm-ldouble.c.
* config/rs6000/t-ppccomm-ldbl: New file.
* config/score/sfp-machine.h: New file.
* config.host (sfp_machine_header): Explain.
(arm*-*-linux*): Add t-softfp-sfdf, t-softfp-excl, arm/t-softfp,
t-softfp to tmake_file.
(arm*-*-uclinux*): Likewise.
(arm*-*-ecos-elf): Likewise.
(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
(arm*-*-rtems*): Likewise.
(arm*-*-elf): Likewise.
(ia64*-*-linux*): Replace ia64/t-fprules-softfp by ia64/t-softfp
in tmake_file.
Add t-softfp-tf, t-softfp-excl, t-softfp to tmake_file.
(lm32-*-elf*, lm32-*-rtems*): Add t-softfp-sfdf, t-softfp to tmake_file.
(lm32-*-uclinux*): Likewise.
(moxie-*-*): Replace moxie/t-moxie-softfp by t-softfp-sfdf,
t-softfp-excl, t-softfp.
(powerpc-*-darwin*): Add rs6000/t-ibm-ldouble to tmake_file.
(powerpc64-*-darwin*): Likewise.
(powerpc-*-freebsd*): Add t-softfp-sfdf, t-softfp-excl, t-softfp
to tmake_file.
(powerpc-*-eabisimaltivec*): Add rs6000/t-ppccomm-ldbl to
tmake_file.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): Likewise.
(powerpc-*-rtems*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Add t-softfp-sfdf,
t-softfp-excl, t-softfp to tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add
rs6000/t-ppccomm-ldbl to tmake_file.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
rs6000/t-ibm-ldouble to tmake_file.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(score-*-elf): Add t-softfp-sfdf, t-softfp-excl, t-softfp to tmake_file.
(tic6x-*-*): Likewise.
(i[34567]86-*-darwin*, x86_64-*-darwin*,
i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu,
i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-gnu*,
i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*,
i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*,
i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add t-softfp-tf,
t-softfp to tmake_file.
* configure.ac (sfp_machine_header): Provide default if unset.
Substitute.
Link sfp-machine.h to config/$sfp_machine_header.
* configure: Regenerate.
From-SVN: r177452
2011-08-05 15:13:48 +00:00
Rainer Orth
569dc49461
Makefile.in (FPBIT_FUNCS, [...]): Remove.
...
gcc:
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove.
(libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT)
dependencies.
(libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS,
TPBIT, TPBIT_FUNCS.
* config/fp-bit.c, config/fp-bit.h: Move to ../libgcc.
* config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c):
Remove.
* config/arm/t-vxworks: Likewise.
* config/arm/t-wince-pe: Likewise.
* config/avr/t-avr (fp-bit.c, FPBIT): Remove.
* config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/bfin/t-bfin-elf: Likewise.
* config/bfin/t-bfin-linux: Likewise.
* config/bfin/t-bfin-uclinux: Likewise.
* config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c):
Remove.
* config/fr30/t-fr30: Likewise.
* config/frv/t-frv: Likewise.
* config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove.
* config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/m32c/t-m32c: Likewise.
* config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove.
* config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/mcore/t-mcore: Likewise.
* config/mep/t-mep: Likewise.
* config/microblaze/t-microblaze: Likewise.
* config/mips/t-linux64 (TPBIT, tp-bit.c): Remove.
* config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/mips/t-sdemtk (FPBIT, DPBIT): Remove.
* config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/mn10300/t-linux: Remove.
* config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/pdp11/t-pdp11: Likewise.
* config/picochip/t-picochip (FPBIT, fp-bit.c): Remove.
* config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000.
* config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
(LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c.
* config/rs6000/t-aix52: Likewise.
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/ppc64-fp.c.
* config/rs6000/t-fprules-fpbit: Remove.
* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove.
* config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/sh/t-netbsd (FPBIT, DPBIT): Remove.
* config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/sparc/t-elf: Likewise.
* config/sparc/t-leon: Likewise.
* config/sparc/t-leon3: Likewise.
* config/spu/t-spu-elf: Likewise.
(DPBIT_FUNCS): Remove.
* config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/v850/t-v850: Likewise.
* config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file.
(avr-*-*): Likewise.
(h8300-*-rtems*): Set libgcc_tm_file.
(h8300-*-elf*): Likewise.
(powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from
tmake_file.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): Likewise.
(powerpc-*-eabi*): Likewise.
(powerpc-*-rtems*): Likewise.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
(rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file.
(am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file.
* doc/fragments.texi (Target Fragment, Floating Point Emulation):
Remove.
gcc/po:
* EXCLUDES (config/fp-bit.c, config/fp-bit.h): Remove.
libgcc:
* Makefile.in (double_type_size, long_double_type_size): Set.
Remove $(fpbit-in-libgcc) support.
(FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): New variables.
(fpbit-src): New variable.
($(fpbit-o), $(fpbit-s-o)): Use $(fpbit-src) instead of $(FPBIT).
Compile with -DFLOAT $(FPBIT_CFLAGS).
Use $<.
($(dpbit-o), $(dpbit-s-o)): Use $(fpbit-src) instead of $(DPBIT).
Compile with $(FPBIT_CFLAGS).
Use $<.
($(tpbit-o), $(tpbit-s-o): Use $(fpbit-src) instead of $(TPBIT).
Compile with -DFLOAT $(TPBIT_CFLAGS).
Use $<.
* configure.ac (double_type_size, long_double_type_size):
Determine and substitute.
* configure: Regenerate.
* fp-bit.c, fp-bit.h: New files.
* config/avr/avr-lib.h, config/h8300/h8300-lib.h: New files.
* config/mips/t-irix6 (TPBIT, $(gcc_objdir)/tp-bit.c): Remove.
* config/mips/t-mips: New file.
* config/mips/t-sdemtk: New file.
* config/rs6000/ppc64-fp.c: New file.
* config/rs6000/t-darwin (LIB2ADD): Add
$(srcdir)/config/rs6000/ppc64-fp.c.
* config/rs6000/t-ppc64-fp: New file.
* config/rx/rx-lib.h: New file.
* config/rx/t-rx (FPBIT): Set to true.
($(gcc_objdir)/fp-bit.c): Remove.
(DPBIT): Set to true only with -m64bit-doubles.
($(gcc_objdir)/dp-bit.c): Remove.
* config/sparc/t-softfp: Remove.
* config/spu/t-elf: New file.
* config/t-fdpbit, config/t-fpbit: New files.
* config.host (m32c*-*-*): Add t-fdpbit to tmake_file.
(mips*-*-*): Likewise.
(arm-wrs-vxworks): Likewise.
(arm*-*-freebsd*): Likewise.
(avr-*-rtems*): Add t-fpbit to tmake_file.
(avr-*-*): Likewise.
(bfin*-elf*): Add t-fdpbit to tmake_file.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(bfin*-rtems*): New case.
Add t-fdpbit to tmake_file.
(bfin*-*): Add t-fdpbit to tmake_file.
(crisv32-*-elf): Likewise.
(cris-*-linux*): Likewise.
(fr30-*-elf): Likewise.
(frv-*-elf, frv-*-*linux*): Likewise.
(h8300-*-rtems*, h8300-*-elf*): Add t-fpbit to tmake_file.
(iq2000*-*-elf*): Add t-fdpbit to tmake_file.
(m32r-*-elf*): Likewise.
(m32rle-*-elf*): Likewise.
(m32r-*-linux*): Likewise.
(m32rle-*-linux*): Likewise.
(mcore-*-elf): Add t-fdpbit to tmake_file.
(microblaze*-*-*): Likewise.
(mips-sgi-irix6.5*): Add t-tpbit to tmake_file.
(mips*-*-netbsd*): Add mips/t-mips to tmake_file.
(mips64*-*-linux*): Also handle mipsisa64*-*-linux*.
Fix typo.
Add mips/t-tpbit to tmake-file.
(mips*-*-linux*): Fix typo.
(mips*-sde-elf*): New case
Add mips/t-sdemtk unless using newlib.
(mipsisa64sr71k-*-elf*): Add t-fdpbit to tmake_file.
(mipsisa64sb1-*-elf*): Add mips/t-mips to tmake_file.
(mn10300-*-*): Likewise.
(pdp11-*-*): Likewise.
(picochip-*-*): Add t-fpbit to tmake_file.
(powerpc-*-eabisimaltivec*): Likewise.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): New case.
Add t-fdpbit to tmake_file.
(powerpc-*-eabi*): Add t-fdpbit to tmake_file.
(powerpc-*-rtems*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-ppc64-fp to
tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add t-fdpbit to
tmake_file.
(powerpc-*-lynxos*): Likewise.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
t-fdpbit, rs6000/t-ppc64-fp to tmake_file.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(rx-*-elf): Add t-fdpbit to tmake_file.
(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
(sh64l*-*-netbsd*): Add t-fdpbit to tmake_file except on
sh*-*-netbsd*.
(sh-*-rtems*): Add t-fdpbit to tmake_file.
(sh-wrs-vxworks): Likewise.
(sparc-*-elf*): Replace sparc/t-softfp by t-fdpbit in tmake_file.
(sparc-*-linux*): Add t-fdpbit to tmake_file for *-leon*.
(sparc-*-rtems*, sparc64-*-rtems*): Split off ...
(sparc64-*-rtems*): ... new case.
(sparc-*-rtems*): Add t-fdpbit to tmake_file.
(spu-*-elf*): Likewise.
Add spu/t-elf to tmake_file.
(v850*-*-*): Add t-fdpbit to tmake_file.
(xstormy16-*-elf): Likewise.
(am33_2.0-*-linux*): Add t-fdpbit to tmake_file.
(mep*-*-*): Likewise.
From-SVN: r177448
2011-08-05 14:53:09 +00:00
Rainer Orth
201cdb7438
Makefile.in (UNWIND_H): Remove.
...
gcc:
* Makefile.in (UNWIND_H): Remove.
(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
../libgcc/Makefile.in.
(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
(LIBUNWINDDEP): Remove.
(libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
(libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
(stmp-int-hdrs): Remove $(UNWIND_H) dependency.
Don't copy $(UNWIND_H).
* config.gcc (ia64*-*-linux*): Remove with_system_libunwind
handling.
* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
* unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
* config/arm/libunwind.S, config/arm/pr-support.c,
config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
../libgcc/config/arm.
* config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
* config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
* config/frv/t-frv ($(T)frvbegin$(objext)): Use
$(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
($(T)frvend$(objext)): Likewise.
* config/ia64/t-glibc (LIB2ADDEH): Remove.
* config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
../libgcc/config/ia64.
* config/ia64/t-hpux (LIB2ADDEH): Remove.
* config/ia64/t-ia64 (LIB2ADDEH): Remove.
* config/ia64/t-vms (LIB2ADDEH): Remove.
* config/ia64/vms.h (UNW_IVMS_MODE,
MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
* config/picochip/t-picochip (LIB2ADDEH): Remove.
* config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
* config/rs6000/t-darwin (LIB2ADDEH): Remove.
* config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
$(srcdir)/../libgcc to refer to unwinder sources.
* config/spu/t-spu-elf (LIB2ADDEH): Remove.
* config/t-darwin (LIB2ADDEH): Remove.
* config/t-freebsd (LIB2ADDEH): Remove.
* config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
* config/t-libunwind-elf: Move to ../libgcc/config.
* config/t-linux (LIB2ADDEH): Remove.
* config/t-sol2 (LIB2ADDEH): Remove.
* config/xtensa/t-xtensa (LIB2ADDEH): Remove.
* system.h (MD_FROB_UPDATE_CONTEXT): Poison.
gcc/po:
* EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
(unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
(unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.
libgcc:
* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
variables.
(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
(install-unwind_h): New target.
(all): Depend on it.
* config.host (unwind_header): New variable.
(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
Set unwind_header.
(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
Set unwind_header.
(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
arm*-*-eabi*.
Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
Set unwind_header.
(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
tmake_file.
Add t-libunwind-elf, ia64/t-glibc-libunwind unless
$with_system_libunwind.
(ia64*-*-hpux*): Set tmake_file.
(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
(picochip-*-*): Set tmake_file.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
md_unwind_header.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
(xtensa*-*-elf*): Set tmake_file.
(xtensa*-*-linux*): Likewise.
* configure.ac: Include ../config/unwind_ipinfo.m4.
Call GCC_CHECK_UNWIND_GETIPINFO.
Link unwind.h to $unwind_header.
* configure: Regenerate.
* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
* config/unwind-dw2-fde-darwin.c: New file.
* config/arm/libunwind.S, config/arm/pr-support.c,
config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
config/arm/unwind-arm.h,: New files.
* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
config/ia64/t-eh-ia64, config/ia64/t-glibc,
config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
config/ia64/t-vms, config/ia64/unwind-ia64.c,
config/ia64/unwind-ia64.h: New files.
* config/picochip/t-picochip: New file.
* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
files.
* config/rs6000/t-darwin (LIB2ADDEH): Set.
* config/s390/t-tpf (LIB2ADDEH): Remove.
* config/t-darwin (LIB2ADDEH): Set.
* config/t-eh-dw2-dip: New file.
* config/t-libunwind, config/t-libunwind-elf: New files.
* config/t-sol2 (LIB2ADDEH): Remove.
* config/xtensa/t-xtensa: New file.
gcc/ada:
* gcc-interface/Makefile.in (raise-gcc.o): Search
$(srcdir)/../libgcc.
libgo:
* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
* Makefile.in: Regenerate.
libjava:
* configure.ac (GCC_UNWIND_INCLUDE): Rename to
LIBGCC_UNWIND_INCLUDE.
Point to $(multi_basedir)/./libjava/../libgcc.
* configure: Regenerate.
* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
* Makefile.in: Regenerate.
libobjc:
* Makefile.in (INCLUDES): Search
$(srcdir)/$(MULTISRCTOP)../libgcc.
libstdc++-v3:
* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
to $(toplevel_srcdir)/libgcc.
* configure: Regenerate.
From-SVN: r177447
2011-08-05 14:37:48 +00:00
H.J. Lu
40f2f11f1f
Update x32 __NR_rt_sigreturn system call number.
...
2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): New.
(x86_64_fallback_frame_state): Use RT_SIGRETURN_SYSCALL and
long long to check rt_sigreturn syscall.
From-SVN: r177229
2011-08-02 21:59:41 -07:00
Alan Modra
bd15e32c71
linux-unwind.h (frob_update_context <__powerpc64__>): Restore for indirect call bcrtl from correct stack slot...
...
libgcc/
* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
Restore for indirect call bcrtl from correct stack slot, and only
if cfa+40 isn't valid.
gcc/
* config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p): Delete.
* config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
(rs6000_emit_prologue): Don't prematurely return when
TARGET_SINGLE_PIC_BASE. Don't emit eh_frame info in
save_toc_in_prologue case.
(rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
calls_alloca.
From-SVN: r177041
2011-08-02 00:35:24 +09:30
Julian Brown
655b30bfde
configure.ac (fixed-point): Add ARM support.
...
gcc/
* configure.ac (fixed-point): Add ARM support.
* configure: Regenerate.
* config/arm/arm.c (arm_fixed_mode_set): New struct.
(arm_set_fixed_optab_libfunc): New.
(arm_set_fixed_conv_libfunc): New.
(arm_init_libfuncs): Initialise fixed-point helper libfuncs with
ARM-specific names.
(aapcs_libcall_value): Return sub-word-size fixed-point libcall
return values in SImode.
(arm_return_in_msb): Return fixed-point types in the msb.
(arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
upwards.
(arm_scalar_mode_supported_p): Support fixed-point modes.
(arm_vector_mode_supported_p): Support vector fixed-point modes.
* config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
(LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
(SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
(LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
* config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
New mode iterators.
(qaddsub_suf): New mode attribute.
* config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
vector modes.
* config/arm/predicates.md (sat_shift_operator): New predicate.
* config/arm/arm-fixed.md: New.
* config/arm/arm.md: Include arm-fixed.md.
* config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.
libgcc/
* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
(arm*-*-symbianelf*): Add t-fixedpoint-gnu-prefix makefile fragment.
* config/arm/bpabi-lib.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define.
gcc/testsuite/
* gcc.target/arm/fixed-point-exec.c: New test.
From-SVN: r177025
2011-08-01 12:41:30 +00:00
Julian Brown
247eb06fed
Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
...
libgcc/
* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
(libgcc-std.ver.in): Use above.
* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
LIBGCC2_GNU_PREFIX is defined. Use instead of LIBGCC2_GNU_PREFIX
throughout file.
* config/t-fixedpoint-gnu-prefix: New file.
* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
instead of __PFX__.
From-SVN: r177019
2011-08-01 12:02:45 +00:00
H.J. Lu
02a8fe00b5
Add x32 support to config/i386/morestack.S.
...
2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/morestack.S (X86_64_SAVE_NEW_STACK_BOUNDARY): New.
Use X86_64_SAVE_NEW_STACK_BOUNDARY to save the new stack boundary
for x86-64. Properly check __x86_64__ and __LP64__.
From-SVN: r176912
2011-07-28 21:09:17 -07:00
H.J. Lu
5fce91262c
Use long long for 64bit int.
...
2010-07-28 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/64/sfp-machine.h (_FP_W_TYPE): Always use _WIN64
version.
(_FP_WS_TYPE): Likewise.
(_FP_I_TYPE): Likewise.
From-SVN: r176894
2011-07-28 13:36:39 -07:00
Alan Modra
c35c943f68
update copyright
...
From-SVN: r176863
2011-07-28 17:55:26 +09:30
Alan Modra
2374a88acf
linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if stopped on the instruction that saves r2 in a plt call stub.
...
* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
Leave r2 REG_UNSAVED if stopped on the instruction that saves r2
in a plt call stub. Do restore r2 if stopped on bctrl.
From-SVN: r176861
2011-07-28 17:14:24 +09:30
Rainer Orth
e44dbbe18b
re PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const variables)
...
toplevel:
* configure: Regenerate.
config:
* elf.m4 (target_elf): Remove *-netware*.
contrib:
* config-list.mk (i586-netware): Remove.
(.PHONY): Remove make-script-dir dependency.
(make-script-dir): Remove.
($(LIST)): Remove make-script-dir dependency.
gcc:
* config.gcc (i[3456x]86-*-netware*): Remove.
* gthr-nks.h: Remove.
* configure.ac (enable_threads): Remove nks.
* configure: Regenerate.
* config/i386/i386.c (ix86_encode_section_info): Remove netware
reference.
* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove
<netware.h> reference.
* config/i386/netware-libgcc.c,
gcc/config/i386/netware-libgcc.def,
gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c,
gcc/config/i386/netware.h, gcc/config/i386/netware.opt,
gcc/config/i386/nwld.c, gcc/config/i386/nwld.h,
gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove
* doc/extend.texi (Function Attributes,
callee_pop_aggregate_return): Remove i?86-netware reference.
* doc/install.texi (Configuration, --enable-threads): Remove nks.
gcc/testsuite:
* g++.dg/ext/bitfield2.C: Remove i?86-*-netware support.
* g++.dg/ext/bitfield3.C: Likewise.
* g++.dg/ext/bitfield4.C: Likewise.
* g++.dg/ext/bitfield5.C: Likewise.
* g++.dg/other/PR23205.C: Remove *-*-netware* support.
* g++.dg/other/pr23205-2.C: Likewise.
* gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if.
* gcc.c-torture/compile/20001109-2.c: Likewise.
* gcc.dg/20040813-1.c: Remove *-*-netware* support.
* gcc.dg/bitfld-15.c: Remove i?86-*-netware support.
* gcc.dg/bitfld-16.c: Likewise.
* gcc.dg/bitfld-17.c: Likewise.
* gcc.dg/bitfld-18.c: Likewise.
* gcc.dg/builtins-config.h: Remove Netware support.
* gcc.dg/cdce1.c: Remove *-*-netware* support. Update line number.
* gcc.dg/cdce2.c: Likewise.
* gcc.dg/cpp/assert4.c: Remove netware support.
* gcc.dg/debug/pr35154.c: Remove *-*-netware* support.
* gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support.
* lib/target-supports.exp (check_visibility_available): Remove
NetWare support.
(check_profiling_available): Likewise.
libgcc:
* config.host (i[3456x]86-*-netware*): Remove.
* config/i386/netware-crt0.c, config/i386/t-nwld,
config/i386/t-slibgcc-nwld: Remove.
libstdc++-v3:
* crossconfig.m4 (*-netware): Remove.
* configure: Regenerate.
From-SVN: r176391
2011-07-18 11:04:18 +00:00
Bernd Schmidt
bcead286bf
invoke.texi (C6X Options): New section.
...
gcc/
* doc/invoke.texi (C6X Options): New section.
* doc/md.texi (TI C6X family): New section.
* config.gcc: Handle tic6x, in particular tic6x-*-elf and
tic6x-*-uclinux.
* longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
Provide C6X definitions.
* config/c6x/c6x.md: New file.
* config/c6x/constraints.md: New file.
* config/c6x/predicates.md: New file.
* config/c6x/c6x-sched.md.in: New file.
* config/c6x/c6x-sched.md: New file.
* config/c6x/gensched.sh: New file.
* config/c6x/c6x-mult.md.in: New file.
* config/c6x/genmult.sh: New file.
* config/c6x/c6x-mult.md: New file.
* config/c6x/sync.md: New file.
* config/c6x/c6x-protos.h: New file.
* config/c6x/sfp-machine.h: New file.
* config/c6x/c6x.c: New file.
* config/c6x/c6x.h: New file.
* config/c6x/crti.s: New file.
* config/c6x/crtn.s: New file.
* config/c6x/lib1funcs.asm: New file.
* config/c6x/c6x-modes.def: New file.
* config/c6x/genopt.sh: New file.
* config/c6x/c6x.opt: New file.
* config/c6x/c6x-tables.opt: New file.
* config/c6x/c6x-opts.h: New file.
* config/c6x/c6x-isas.def: New file.
* config/c6x/elf.h: New file.
* config/c6x/elf-common.h: New file.
* config/c6x/uclinux-elf.h: New file.
* config/c6x/t-c6x: New file.
* config/c6x/t-c6x-elf: New file.
* config/c6x/t-c6x-uclinux: New file.
* config/c6x/t-c6x-softfp: New file.
* config/c6x/gtd.c: New file.
* config/c6x/gtf.c: New file.
* config/c6x/ltd.c: New file.
* config/c6x/ltf.c: New file.
* config/c6x/ged.c: New file.
* config/c6x/gef.c: New file.
* config/c6x/led.c: New file.
* config/c6x/lef.c: New file.
* config/c6x/eqd.c: New file.
* config/c6x/eqf.c: New file.
* config/c6x/libgcc-c6xeabi.ver: New file.
contrib/
* gcc_update: Add C6X generated files.
* contrib/config-list.mk: Add c6x-elf and c6x-uclinux.
libgcc/
* config.host: Handle tic6x-*-*.
* config/c6x/c6x-abi.h: New file.
From-SVN: r176308
2011-07-15 09:36:40 +00:00
Rainer Orth
b3fe158425
crtprec.c: Move to ../libgcc/config/i386.
...
gcc:
* config/i386/crtprec.c: Move to ../libgcc/config/i386.
* config/i386/t-crtpc: Remove.
* config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
* config.gcc (i[34567]86-*-darwin*): Remove i386/t-crtpc from
tmake_file.
(x86_64-*-darwin*): Likewise.
(i[34567]86-*-linux*): Likewise.
(x86_64-*-linux*): Likewise.
* config/i386/sol2.h (ENDFILE_SPEC): Redefine.
Handle -mpc32, -mpc64, -mpc80.
libgcc:
* config/i386/crtprec.c: New file.
* config/i386/t-crtpc: Use $(srcdir) to refer to crtprec.c.
* config.host (i[34567]86-*-darwin*): Add i386/t-crtpc to tmake_file.
Add crtprec32.o, crtprec64.o, crtprec80.o to extra_parts.
(x86_64-*-darwin*): Likewise.
(i[34567]86-*-solaris2*: Likewise.
gcc/testsuite:
* gcc.c-torture/execute/990127-2.x: Use -mpc64 on i?86-*-darwin*,
i?86-*-solaris2*, x86_64-*-darwin*, x86_64-*-solaris2*.
From-SVN: r176242
2011-07-13 17:39:35 +00:00
Rainer Orth
35d8090d78
crtfastmath.c: Move to ../libgcc/config/alpha.
...
gcc:
* config/alpha/crtfastmath.c: Move to ../libgcc/config/alpha.
* config/alpha/t-crtfm: Remove.
* config/i386/crtfastmath.c: Move to ../libgcc/config/i386.
* config/i386/t-crtfm: Remove.
* config/ia64/crtfastmath.c: Move to ../libgcc/config/ia64.
* config/mips/crtfastmath.c: Move to ../libgcc/config/mips.
* config/sparc/crtfastmath.c: Move to ../libgcc/config/sparc.
* config/sparc/t-crtfm: Remove.
* config.gcc (alpha*-*-linux*): Remove alpha/t-crtfm from tmake_file.
(alpha*-*-freebsd*): Likewise.
(i[34567]86-*-darwin*): Remove i386/t-crtfm from tmake_file.
(x86_64-*-darwin*): Likewise.
(i[34567]86-*-linux*): Likewise.
(x86_64-*-linux*): Likewise.
(x86_64-*-mingw*): Likewise.
(ia64*-*-elf*): Remove crtfastmath.o from extra_parts.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Likewise.
(mips64*-*-linux*): Likewise.
(mips*-*-linux*): Likewise.
(sparc-*-linux*): Remove sparc/t-crtfm from tmake_file.
(sparc64-*-linux*): Likewise.
(sparc64-*-freebsd*): Likewise.
libgcc:
* config/alpha/crtfastmath.c: New file.
* config/i386/crtfastmath.c: New file.
* config/ia64/crtfastmath.c: New file.
* config/mips/crtfastmath.c: New file.
* config/sparc/crtfastmath.c: New file.
* config/t-crtfm (crtfastmath.o): Use $(srcdir) to refer to
crtfastmath.c.
Add -frandom-seed=gcc-crtfastmath.
* config/alpha/t-crtfm: Remove.
* config/i386/t-crtfm: Use $(srcdir) to refer to crtfastmath.c.
* config/ia64/t-ia64 (crtfastmath.o): Remove.
* config.host (alpha*-*-linux*): Replace alpha/t-crtfm by t-crtfm.
(alpha*-dec-osf5.1*): Likewise.
(alpha*-*-freebsd*): Add t-crtfm to tmake_file.
Add crtfastmath.o to extra_parts.
(i[34567]86-*-darwin*): Add i386/t-crtfm to tmake_file.
Add crtfastmath.o to extra_parts.
(x86_64-*-darwin*): Likewise.
(x86_64-*-mingw*): Likewise.
(ia64*-*-elf*): Add t-crtfm to tmake_file.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Likewise.
(sparc64-*-freebsd*): Add t-crtfm to tmake_file.
Add crtfastmath.o to extra_parts.
From-SVN: r176241
2011-07-13 17:33:38 +00:00
Rainer Orth
e141542e74
darwin-crt2.c: Move to ../libgcc/config/rs6000.
...
gcc:
* config/darwin-crt2.c: Move to ../libgcc/config/rs6000.
* config/darwin-crt3.c: Move to ../libgcc/config.
* config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
($(T)crt3$(objext)): Remove.
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Remove.
($(T)crt2$(objext)): Remove.
* config.gcc (powerpc-*-darwin*): Remove extra_parts.
(powerpc64-*-darwin*): Likewise.
gcc/po:
* EXCLUDES (config/darwin-crt2.c): Remove.
libgcc:
* config/darwin-crt3.o: New file.
* config/rs6000/darwin-crt2.c: New file.
* config/t-darwin: New file.
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New variable.
(crt2.o): New rule.
* config.host (*-*-darwin*): Add crt3.o to extra_parts.
(powerpc-*-darwin*): Add crt2.o to extra_parts.
(powerpc64-*-darwin*): Likewise.
From-SVN: r176239
2011-07-13 16:28:30 +00:00
Rainer Orth
2d1efe2d2d
Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
...
gcc:
* Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove.
* config/i386/netware-crt0.c: Move to ../libgcc/config/i386.
* config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove.
(CRT0_S, MCRT0_S): Remove.
($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def):
Remove.
(s-crt0): Remove.
* config.gcc (i[3456x]86-*-netware*): Remove extra_parts.
libgcc:
* config/i386/netware-crt0.c: New file.
* config/i386/t-nwld: Rename to ...
* config/i386/t-slibgcc-nwld: ... this.
* config/i386/t-nwld: New file.
* config.host (i[3456x]86-*-netware*): Add i386/t-slibgcc-nwld to
tmake_file.
Add crt0.o, libgcc.def, libc.def, libcpre.def, posixpre.def to
extra_parts.
From-SVN: r176225
2011-07-13 09:57:08 +00:00
Rainer Orth
2d8d59352b
dfp-bit.c, dfp-bit.h: Move to ../libgcc.
...
gcc:
* config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc.
* config/t-dfprules: Move to ../libgcc/config.
* config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
i[34567]86-*-kopensolaris*-gnu): Remove t-dfprules from tmake_file.
(x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
Likewise.
(i[34567]86-*-cygwin*): Likewise.
(i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
* Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): Remove.
(libgcc.mvars): Remove DFP_ENABLE, DFP_CFLAGS, D32PBIT_FUNCS,
D64PBIT_FUNCS, D128PBIT_FUNCS.
libgcc:
* dfp-bit.c, dfp-bit.h: New files.
* Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): New
variables.
($(d32pbit-o)): Use $(srcdir) to refer to dfp-bit.c
($(d64pbit-o)): Likewise.
($(d128pbit-o)): Likewise.
* config/t-dfprules: New file.
* config.host (i[34567]86-*-linux*): Add t-dfprules to tmake_file.
(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-*-cygwin*): Likewise.
(i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
From-SVN: r176156
2011-07-11 14:40:56 +00:00
Georg-Johann Lay
6dab9931f8
t-avr (intfuncs16): Add _clrsbXX2.
...
libgcc/
* config/avr/t-avr (intfuncs16): Add _clrsbXX2.
gcc/
* longlong.h (count_leading_zeros, count_trailing_zeros,
COUNT_LEADING_ZEROS_0): Define for target avr if W_TYPE_SIZE is 16
resp. 64.
From-SVN: r175800
2011-07-04 10:02:34 +00:00
Georg-Johann Lay
0ad8bb3bc0
re PR target/49313 (Inefficient libgcc implementations for avr)
...
gcc/
PR target/49313
PR target/29524
* longlong.h: Add AVR support:
(count_leading_zeros): New macro.
(count_trailing_zeros): New macro.
(COUNT_LEADING_ZEROS_0): New macro.
* config/avr/t-avr (LIB1ASMFUNCS): Add
_ffssi2, _ffshi2, _loop_ffsqi2,
_ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2,
_paritydi2, _paritysi2, _parityhi2,
_popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
_bswapsi2, _bswapdi2,
_ashldi3, _ashrdi3, _lshrdi3
(LIB2FUNCS_EXCLUDE): Add _clz.
* config/avr/libgcc.S (XCALL): Move up in file.
(XJMP): New C Macro.
(DEFUN): New asm macro.
(ENDF): New asm macro.
(__ffssi2): New function.
(__ffshi2): New function.
(__loop_ffsqi2): New function.
(__ctzsi2): New function.
(__ctzhi2): New function.
(__clzdi2): New function.
(__clzsi2): New function.
(__clzhi2): New function.
(__paritydi2): New function.
(__paritysi2): New function.
(__parityhi2): New function.
(__popcounthi2): New function.
(__popcountsi2): New function.
(__popcountdi2): New function.
(__popcountqi2): New function.
(__bswapsi2): New function.
(__bswapdi2): New function.
(__ashldi3): New function.
(__ashrdi3): New function.
(__lshrdi3): New function.
Fix suspicous lines.
libgcc/
PR target/49313
PR target/29524
* config/avr/t-avr: Fix line endings.
(intfuncs16): Remove _ffsXX2, _clzXX2, _ctzXX2, _popcountXX2,
_parityXX2.
From-SVN: r175097
2011-06-16 09:06:44 +00:00
Olivier Hainque
ea96399965
irix6-unwind.h: New file.
...
2011-06-14 Olivier Hainque <hainque@adacore.com>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/mips/irix6-unwind.h: New file.
* config.host (mips-sgi-irix6.5*): Set md_unwind_header.
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r175013
2011-06-14 12:20:08 +00:00
Eric Botcazou
b11b09048d
invoke.texi (SPARC options): Add -mflat.
...
gcc/
* doc/invoke.texi (SPARC options): Add -mflat.
* config/sparc/sparc.opt: Likewise.
* config/sparc/sparc-protos.h (sparc_expand_epilogue): Add parameter.
(sparc_flat_expand_prologue): Declare.
(sparc_flat_expand_epilogue): Likewise.
* config/sparc/sparc.h (CPP_CPU_SPEC): Do not handle -msoft-float.
(CPP_ENDIAN_SPEC): Replace with...
(CPP_OTHER_SPEC): ...this. Also handle -mflat and -msoft-float.
(CPP_SPEC): Adjust to above change.
(EXTRA_SPECS): Likewise.
(SPARC_INCOMING_INT_ARG_FIRST): Add TARGET_FLAT handling.
(INCOMING_REGNO): Likewise.
(OUTGOING_REGNO): Likewise.
(LOCAL_REGNO): Likewise.
(SETUP_FRAME_ADDRESSES): Likewise.
(FIXED_REGISTERS): Set 0 for %fp.
(CALL_USED_REGISTERS): Likewise.
(INITIAL_ELIMINATION_OFFSET): Pass current_function_is_leaf.
(EXIT_IGNORE_STACK): Define to 1 unconditionally.
(RETURN_ADDR_REGNUM): Define.
(RETURN_ADDR_RTX): Use it.
(INCOMING_RETURN_ADDR_REGNUM): Define.
(INCOMING_RETURN_ADDR_RTX): Use it.
(DWARF_FRAME_RETURN_COLUMN): Likewise.
(EH_RETURN_REGNUM): Define.
(EH_RETURN_STACKADJ_RTX): Use it.
(EH_RETURN_HANDLER_RTX): Delete.
(EPILOGUE_USES): Use them and add TARGET_FLAT handling.
* config/sparc/sparc.c (apparent_fsize, actual_fsize, num_gfregs):
Delete.
(struct machine_function): Add frame_size, apparent_frame_size,
frame_base_reg, frame_base_offset, n_global_fp_regs and
save_local_in_regs_p fields.
(sparc_frame_size, sparc_apparent_frame_size, sparc_frame_base_reg,
sparc_frame_base_offset, sparc_n_global_fp_regs,
sparc_save_local_in_regs_p): New macros.
(sparc_option_override): Error out if -fcall-saved-REG is specified
for Out registers.
(eligible_for_restore_insn): Fix formatting.
(eligible_for_return_delay): Likewise. Add TARGET_FLAT handling.
(eligible_for_sibcall_delay): Likewise.
(RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Add MODE parameter.
(sparc_legitimate_address_p): Adjust to above change.
(save_global_or_fp_reg_p): New predicate.
(return_addr_reg_needed_p): Likewise.
(save_local_or_in_reg_p): Likewise.
(sparc_compute_frame_size): Use them. Add TARGET_FLAT handling.
(SORR_SAVE, SORR_RESTORE): Delete.
(sorr_pred_t): New typedef.
(sorr_act_t): New enum.
(save_or_restore_regs): Rename to...
(emit_save_or_restore_regs): ...this. Change type of LOW and HIGH
parameters, remove ACTION parameter, add LEAF_FUNCTION_P, SAVE_P,
ACTION_TRUE and ACTION_FALSE parameters. Implement more general
mechanism. Add CFI information for double-word saves in 32-bit mode.
(emit_adjust_base_to_offset): New function extracted from...
(emit_save_or_restore_regs): ...this. Rename the rest to...
(emit_save_or_restore_regs_global_fp_regs): ...this.
(emit_save_or_restore_regs_local_in_regs): New function.
(gen_create_flat_frame_[123]): New functions.
(sparc_expand_prologue): Use SIZE local variable. Adjust.
(sparc_flat_expand_prologue): New function.
(sparc_asm_function_prologue): Add TARGET_FLAT handling.
(sparc_expand_epilogue): Use SIZE local variable. Adjust.
(sparc_flat_expand_epilogue): New function.
(sparc_can_use_return_insn_p): Add TARGET_FLAT handling.
(output_return): Likewise.
(output_sibcall): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_frame_pointer_required): Likewise.
(sparc_conditional_register_usage): If TARGET_FLAT, disable the leaf
function optimization.
* config/sparc/sparc.md (flat): New attribute.
(prologue): Add TARGET_FLAT handling.
(save_register_window): Disable if TARGET_FLAT.
(create_flat_frame_[123]): New patterns.
(epilogue): Add TARGET_FLAT handling.
(sibcall_epilogue): Likewise.
(eh_return): New expander.
(eh_return_internal): New insn and splitter.
(return_internal): Add TARGET_FLAT handling.
(untyped_return): Remove bogus test and use RETURN_ADDR_REGNUM.
(save_stack_nonlocal): Use RETURN_ADDR_REGNUM.
(nonlocal_goto): Add TARGET_FLAT handling.
* config/sparc/t-elf: Add -mflat multilib.
* config/sparc/t-leon: Likewise.
libgcc/
* config/sparc/linux-unwind.h (STACK_BIAS): Define.
(sparc64_fallback_frame_state): Use it.
(sparc64_frob_update_context): Further adjust context.
* config/sparc/sol2-unwind.h (sparc64_frob_update_context): Likewise.
* config/sparc/sol2-ci.S: Add TARGET_FLAT handling.
* config/sparc/sol2-cn.S: Likewise.
Co-Authored-By: Laurent Rougé <laurent.rouge@menta.fr>
From-SVN: r174897
2011-06-10 10:50:20 +00:00
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
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
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
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
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
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
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
Michael Eager
809201325a
Check in support for Xilinx MicroBlaze processor.
...
From-SVN: r164756
2010-09-30 18:21:57 +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
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
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
Kazu Hirata
48b09a925e
config.gcc (mips64*-*-linux*, [...]): Add crtfastmath.o to extra_parts.
...
gcc/
* config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*,
mips*-*-linux*): Add crtfastmath.o to extra_parts.
* config/mips/crtfastmath.c: New.
* config/mips/linux.h (ENDFILE_SPEC): New.
libgcc/
* config.host (mips64*-*-linux*, mips*-*-linux*): Add mips/t-crtfm
to tmake_file. Add crtfastmath.o to extra_parts.
* config/mips/t-crtfm: New.
From-SVN: r160655
2010-06-12 07:44:51 +00:00
Rainer Orth
ed1041376a
sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun assembler syntax.
...
libgcc:
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
assembler syntax.
gcc:
* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
pentiumpro on Solaris 8/x86 with Sun as.
* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
hidden alias bug.
(gcc_cv_as_ix86_quad): Check for .quad directive.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
From-SVN: r159569
2010-05-19 15:31:00 +00:00
Rainer Orth
f128db92ae
re PR target/39048 (gcc 4.4.0 20090131 - Extra underscore hides libgcc's soft-fp functions from Testsuite causing FAILs + naming error in libgcc)
...
gcc:
PR target/39048
* config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
and soft-fp/t-softfp to tmake_file.
* config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
(LIBGCC2_TF_CEXT): Define.
(TF_SIZE): Define.
libgcc:
PR target/39048
* config.host (i[34567]86-*-solaris2): Handle 32-bit Solaris 2/x86
like other remaining 32-bit x86 OSes.
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
assembler syntax.
* config/i386/libgcc-sol2.ver: New file.
* config/i386/t-sol2 (SHLIB_MAPFILES): Add it.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r157854
2010-03-31 09:03:29 +00:00
Tarik Graba
15baf7f802
t-lm32: New file.
...
2010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
gcc/
* config/lm32/t-lm32: New file.
* config.gcc: Use the above file when targetting lm32.
libgcc/
* config/lm32/t-lm32: Remove misplaced MULTILIB_OPTIONS.
From-SVN: r157817
2010-03-30 10:26:24 +00:00
Rainer Orth
7f5441df09
re PR target/38085 (gcc -m64 -pg generates invalid assembler code on Solaris 10/x86)
...
gcc:
PR target/38085
* config/i386/i386.c (x86_function_profiler)
[!NO_PROFILE_COUNTERS]: Fix typo.
* config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
instead of callq.
libgcc:
PR target/38085
* config/i386/t-sol2 ($(T)gmon.o): Use CFLAGS instead of
MULTILIB_CFLAGS.
($(T)gcrt1.o): Likewise.
($(T)crt1.o): Likewise.
($(T)crti.o): Likewise.
($(T)crtn.o): Likewise.
From-SVN: r157648
2010-03-22 20:12:34 +00:00
Hans-Peter Nilsson
e7c914db61
Migrate from broken pre-libgcc legacy support to libgcc-centric rules.
...
* config/mmix/t-mmix: New file.
* config.host <mmix-knuth-mmixware> (extra_parts, tmake_file): Set.
From-SVN: r156946
2010-02-22 00:37:30 +00:00
Jack Howarth
1bcb71c459
re PR java/41991 (gcj segfaults on i686-apple-darwin9 and x86_64-apple-darwin9)
...
2010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
PR java/41991
* config/t-slibgcc-darwin: Add libgcc-libsystem.ver to
SHLIB_MAPFILES.
From-SVN: r156445
2010-02-02 09:18:48 +01:00
Anthony Green
e6e50811a7
Fix libgcc build for moxie.
...
From-SVN: r155609
2010-01-04 08:29:53 +00:00
Iain Sandoe
ca8520ad53
re PR other/39888 (TLS emutls not linked to automatically on Darwin)
...
2009-11-18 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
PR other/39888
* config/t-slibgcc-darwin: Fix embedded rpaths for
--enable-version-specific-runtime-libs, build extension stub
libs exposing features available from current libgcc_s.
From-SVN: r154282
2009-11-18 08:36:12 +01:00
Jon Beniston
aa4945c138
config.gcc: Add lm32 elf and uclinux targets.
...
gcc/
2009-11-11 Jon Beniston <jon@beniston.com>
* config.gcc: Add lm32 elf and uclinux targets.
* config/lm32: New directory.
* config/lm32/lm32.c: New file.
* config/lm32/lm32.h: New file.
* config/lm32/lm32.md: New file.
* config/lm32/lm32.opt: New file.
* config/lm32/lm32-protos.h: New file.
* config/lm32/constraints.md: New file.
* config/lm32/predicates.md: New file.
* config/lm32/sfp-machine.h: New file.
* config/lm32/t-fprules-softfp: New file.
* config/lm32/uclinux-elf.h: New file.
* doc/invoke.texi: Document lm32 options.
* doc/contrib.texi: Document lm32 porter.
* doc/install.texi: Document lm32 targets.
gcc/testsuite/
2009-11-11 Jon Beniston <jon@beniston.com>
* lib/target-supports.exp (check_profiling_available): lm32 target
doesn't support profiling.
* gcc.dg/20020312-2.c: Add lm32 support.
* g++.dg/other/packed1.C: Expect to fail on lm32.
* g++.old-deja/g++.jason/thunk3.C: Likewise.
libgcc/
2009-11-11 Jon Beniston <jon@beniston.com>
* config.host: Add lm32 targets.
* config/lm32: New directory.
* config/lm32/libgcc_lm32.h: New file.
* config/lm32/_mulsi3.c: New file.
* config/lm32/_udivmodsi4.c: New file.
* config/lm32/_divsi3.c: New file.
* config/lm32/_modsi3.c: New file.
* config/lm32/_udivsi3.c: New file.
* config/lm32/_umodsi3.c: New file.
* config/lm32/_lshrsi3.S: New file.
* config/lm32/_ashrsi3.S: New file.
* config/lm32/_ashlsi3.S: New file.
* config/lm32/crti.S: New file.
* config/lm32/crtn.S: New file.
* config/lm32/t-lm32: New file.
* config/lm32/t-elf: New file.
* config/lm32/t-uclinux: New file.
From-SVN: r154096
2009-11-11 16:43:06 +00:00
Nick Clifton
65a324b459
MAINTAINERS: Add myself as a maintainer for the RX port.
...
* MAINTAINERS: Add myself as a maintainer for the RX port.
gcc
* config.gcc: Add support for RX target.
* config/rx: New directory.
* config/rx/constraints.md: New file.
* config/rx/predicates.md: New file.
* config/rx/rx.c: New file.
* config/rx/rx.h: New file.
* config/rx/rx.md: New file.
* config/rx/rx.opt: New file.
* config/rx/rx-protos.h: New file.
* config/rx/t-rx: New file.
* doc/extend.texi: Document RX function attributes.
* doc/invoke.texi: Document RX specific command line options.
* doc/contrib.texi: Document RX contribution.
* doc/md.texi: Document RX constraints.
* doc/install.texi: Document RX support.
libgcc
* config.host: Add support for RX target.
* config/rx: New directory.
* config/rx/rx-abi-functions.c: New file. Supplementary
functions for libgcc to support the RX ABI.
* config/rx/rx-abi.h: New file. Supplementary header file for
libgcc RX ABI functions.
* config/rx/t-rx: New file: Makefile fragment for building
libgcc for the RX.
gcc/testsuite
* lib/target-supports.exp (check_profiling_available):
Profiling is not, currently, available for the RX port.
(check_effective_target_hard_float): Add support for RX
target.
* gcc.target/rx: New directory.
* gcc.target/rx/builtins.c: New test file.
* gcc.target/rx/interrupts.c: New test file.
* gcc.target/rx/rx-abi-function-tests.c: New test file.
* gcc.target/rx/zero-width-bitfield.c: New test file.
* gcc.target/rx/i272091.c: New test file.
* gcc.target/rx/packed-struct.c: New test file.
* gcc.target/rx/rx.exp: New file: Drives RX tests.
From-SVN: r153557
2009-10-26 16:30:15 +00:00
Uros Bizjak
dfb3b0e3b8
sfp-machine.h (__FP_FRAC_SUB_4): Change operand constraint of y0 to "g".
...
* config/i386/32/sfp-machine.h (__FP_FRAC_SUB_4): Change operand
constraint of y0 to "g".
From-SVN: r152594
2009-10-09 19:30:56 +02:00
Andreas Krebbel
81dd9fd798
config.gcc: Don't include the makefile fragments intended for libgcc.
...
2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.gcc: Don't include the makefile fragments intended for
libgcc.
* config/s390/fixdfdi.h: File removed.
* config/s390/libgcc-glibc.ver: File removed.
* config/s390/s390.h: Remove the fixdfdi.h hack.
* config/s390/t-crtstuff: File moved to libgcc dir.
* config/s390/t-linux: Likewise.
* config/s390/t-tpf: libgcc specific parts removed.
* config/s390/t-linux64: Likewise.
2009-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.host: Include the s390 makefile fragments.
* config/s390/32/_fixdfdi.c: New file.
* config/s390/32/_fixsfdi.c: New file.
* config/s390/32/_fixtfdi.c: New file.
* config/s390/32/_fixunsdfdi.c: New file.
* config/s390/32/_fixunssfdi.c: New file.
* config/s390/32/_fixunstfdi.c: New file.
* config/s390/32/t-floattodi: New file.
* config/s390/libgcc-glibc.ver: New file.
* config/s390/t-crtstuff: New file.
* config/s390/t-linux: New file.
* config/s390/t-tpf: New file.
From-SVN: r152515
2009-10-07 08:26:47 +00:00
Kaz Kojima
79052be3d6
t-sh (TARGET_LIBGCC2_CFLAGS): Define.
...
* config/sh/t-sh (TARGET_LIBGCC2_CFLAGS): Define.
* config/sh/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -mieee.
* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Add -mieee.
From-SVN: r151017
2009-08-22 21:43:07 +00:00
Kai Tietz
f0375e7861
ChangeLog for gcc
...
2009-06-22 Kai Tietz <kai.tietz@onevision.com>
* config.gcc: Add for x86 and x64 mingw targets t-fprules-soft
and t-softfp support.
* config/i386/mingw32.h (LIBGCC2_HAS_TF_MODE): Enable TFmode.
(LIBGCC2_TF_CEXT): Define.
(TF_SIZE): Define.
ChangeLog for libgcc
2009-06-22 Kai Tietz <kai.tietz@onevision.com>
* config.host: Add soft emulation for x86 and x64 mingw targets.
* config/i386/64/_divtc3.c: Disable for mingw targets usage of
.symver assembly symbol.
* config/i386/64/_multc3.c: Likewise.
* config/i386/64/_powitf2.c: Likewise.
* config/i386/64/eqtf2.c: Likewise.
* config/i386/64/getf2.c: Likewise.
* config/i386/64/letf2.c: Likewise.
* config/i386/64/letf2.c: Likewise.
* config/i386/64/sfp-machine.h (_FP_W_TYPE): Define it
for x64 mingw target as unsigned long long.
(_FP_WS_TYPE): Define it for x64 mingw target as signed long
long.
(_FP_I_TYPE): Define it for x64 mingw target as long long.
From-SVN: r148798
2009-06-22 16:04:19 +02:00
Jakub Jelinek
748086b7b2
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
...
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Uros Bizjak
c634c1ef52
* libgcc/config/i386/t-cygming: Remove executable property.
...
From-SVN: r144742
2009-03-10 11:37:33 +01:00
Uros Bizjak
ba18104976
config.host (ia64*-*-linux*): Add t-softfp to tmake_file.
...
* config.host (ia64*-*-linux*): Add t-softfp to tmake_file.
* config/ia64/tf-signs.c (__copysigntf3, __fabstf2): Prototype.
From-SVN: r144138
2009-02-12 23:03:44 +01:00
H.J. Lu
c252db2030
longlong.h (sub_ddmmss): New for ia64.
...
gcc/
2009-02-12 Uros Bizjak <ubizjak@gmail.com>
* longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
(umul_ppmm): Likewise.
(count_leading_zeros): Likewise.
(count_trailing_zeros): Likewise.
(UMUL_TIME): Likewise.
2009-02-12 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc: Add ia64/t-fprules-softfp soft-fp/t-softfp to
tmake_file for ia64*-*-linux*.
* config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
(ia64_expand_compare): Use HPUX library for TFmode only for
HPUX.
(ia64_builtins): Add IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ
and IA64_BUILTIN_INFQ.
(ia64_init_builtins): Initialize __builtin_infq,
__builtin_fabsq and __builtin_copysignq if not HPUX.
(ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
* config/ia64/lib1funcs.asm (__divtf3): Define only if
SHARED is defined.
(__fixtfti): Likewise.
(__fixunstfti): Likewise.
(__floattitf): Likewise.
* config/ia64/libgcc-glibc.ver: New.
* config/ia64/t-fprules-softfp: Likewise.
* config/ia64/sfp-machine.h: Likewise.
* config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
(LIBGCC2_TF_CEXT): Likewise.
(TF_SIZE): Likewise.
(TARGET_INIT_LIBFUNCS): Likewise.
* config/ia64/t-glibc: Add $(srcdir)/config/ia64/libgcc-glibc.ver
to SHLIB_MAPFILES.
libgcc/
2009-02-12 H.J. Lu <hongjiu.lu@intel.com>
* config.host: Add ia64/t-fprules-softfp ia64/t-softfp-compat
to tmake_file for ia64*-*-linux*.
* Makefile.in (gen-hide-list): Ignore .*_compat and .*@.*.
* config/ia64/__divxf3.asm: New.
* config/ia64/_fixtfdi.asm: Likewise.
* config/ia64/_fixunstfdi.asm: Likewise.
* config/ia64/_floatditf.asm: Likewise.
* config/ia64/t-fprules-softfp: Likewise.
* config/ia64/t-softfp-compat: Likewise.
* config/ia64/tf-signs.c: Likewise.
From-SVN: r144130
2009-02-12 08:30:53 -08:00
Ben Elliston
c60535f966
* config/i386/32/tf-signs.c (__copysigntf3, __fabstf2): Prototype.
...
From-SVN: r143475
2009-01-18 10:41:31 +11:00
Ben Elliston
bcf4713bec
t-softfp: New file.
...
* config/t-softfp: New file.
* config.host (powerpc64-*-linux*, powerpc64-*-gnu*): Add t-softfp.
(powerpc-*-linux*spe*, powerpc-*-linux*): Likewise.
From-SVN: r143334
2009-01-13 22:53:41 +11:00
Rainer Orth
19523300a0
re PR bootstrap/33100 (on bootstrap getting section .eh_frame: bad cie version 0: offset 0x0)
...
gcc:
PR bootstrap/33100
* config.gcc (i[34567]86-*-solaris2*): Don't include
i386/t-crtstuff here.
Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host.
* config/i386/t-sol2: Move to libgcc/config/i386.
libgcc:
PR bootstrap/33100
* configure.ac (i?86-*-solaris2.1[0-9]*): Only include
i386/t-crtstuff if linker supports ZERO terminator unwind entries.
* configure: Regenerate.
* config.host (i[34567]86-*-solaris2*): Move i386/t-sol2 in
tmake_file here from gcc/config.gcc.
Move extra_parts here from gcc/config.gcc.
* config/i386/t-sol2: Move here from gcc/config/i386.
Use gcc_srcdir instead of srcdir.
From-SVN: r142050
2008-11-20 17:13:01 +00:00
H.J. Lu
d134955712
t-softfp-compat: Update comments.
...
2008-07-08 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/64/t-softfp-compat: Update comments.
From-SVN: r137619
2008-07-08 06:13:13 -07:00
H.J. Lu
dd7b73c0a6
_divtc3-compat.c: Moved to ...
...
2008-07-07 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/64/_divtc3-compat.c: Moved to ...
* config/i386/64/_divtc3.c: Here.
* config/i386/64/_multc3-compat.c: Moved to ...
* config/i386/64/_multc3.c: Here.
* config/i386/64/_powitf2-compat.c: Moved to ...
* config/i386/64/_powitf2.c: Here.
* config/i386/64/t-softfp-compat (libgcc2-tf-compats): Add
.c suffix instead of -compat.c.
From-SVN: r137579
2008-07-07 10:02:43 -07:00
Uros Bizjak
6e1fab3d87
sfp-machine.h (_FP_MUL_MEAT_S): Remove.
...
* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Remove.
(_FP_MUL_MEAT_D): Ditto.
(_FP_DIV_MEAT_S): Ditto.
(_FP_DIV_MEAT_D): Ditto.
From-SVN: r137508
2008-07-05 18:45:55 +02:00
H.J. Lu
c174f11c1b
re PR bootstrap/36702 (Bootstrap fails at revision 137369 on i686-apple-darwin9)
...
2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
PR boostrap/36702
* config.host: Only include 32bit t-fprules-softfp for Darwin/x86
and Linux/x86. Include 64bit t-softfp-compat for Linux/x86.
* config/i386/64/t-fprules-softfp: Moved to ...
* config/i386/64/t-softfp-compat: This. New.
From-SVN: r137380
2008-07-02 12:31:53 -07:00
Uros Bizjak
5f464fa299
sfp-machine.h (FP_HANDLE_EXCEPTIONS): Initialize f with 0.0.
...
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS) [FP_EX_INVALID]:
Initialize f with 0.0.
* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS) [FP_EX_INVALID]:
Initialize f with 0.0.
From-SVN: r137379
2008-07-02 21:16:59 +02:00
H.J. Lu
ff47328005
re PR target/36669 (Wrong versioning for __float128)
...
gcc/
2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
PR target/36669
* config/libgcc-glibc.ver: Add %exclude.
* config/m32r/libgcc-glibc.ver: Likwise.
* config/s390/libgcc-glibc.ver: Likwise.
* config/sh/libgcc-glibc.ver: Likwise.
* config/sparc/libgcc-sparc-glibc.ver: Likwise.
* config/i386/libgcc-glibc.ver: New.
* config/i386/libgcc-x86_64-glibc.ver: Removed.
2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc: Remove i386/t-fprules-softfp64 soft-fp/t-softfp
from tmake_file from i[34567]86-*-darwin*, x86_64-*-darwin*,
i[34567]86-*-linux*, x86_64-*-linux*. Add
i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file for
i[34567]86-*-darwin*, x86_64-*-darwin*, i[34567]86-*-linux*,
x86_64-*-linux*. Add i386/t-linux to tmake_file for
i[34567]86-*-linux*, x86_64-*-linux*.
* libgcc-std.ver: Add empty GCC_4.4.0.
* mkmap-symver.awk: Support multiple versions per symbol.
* config/i386/i386.c (ix86_init_builtins): Always define
__builtin_fabsq and __builtin_copysignq with fallbacks.
(ix86_expand_builtin): Emit normal call for __builtin_fabsq
and __builtin_copysignq if SSE2 isn't available.
* config/i386/linux.h (LIBGCC2_HAS_TF_MODE): Defined.
(LIBGCC2_TF_CEXT): Likwise.
(TF_SIZE): Likwise.
* config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): Defined as 1.
* config/i386/sfp-machine.h: Moved to libgcc.
* config/i386/sfp-machine.h: New.
* config/i386/t-linux: Likwise.
* config/i386/t-darwin: Remove softfp_wrap_start and
softfp_wrap_end.
* config/i386/t-darwin64: Likewise.
* config/i386/t-fprules-softfp64: Renamed to ...
* config/i386/t-fprules-softfp: This.
* config/i386/t-linux64: Remove SHLIB_MAPFILES, softfp_wrap_start
and softfp_wrap_end.
libgcc/
2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
PR target/36669
* shared-object.mk ($(base)_s$(objext)): Add -DSHARED.
* config/i386/64/_divtc3-compat.c: New.
* config/i386/64/_multc3-compat.c: Likewise.
* config/i386/64/_powitf2-compat.c: Likewise.
* config/i386/64/eqtf2.c: Likewise.
* config/i386/64/getf2.c: Likewise.
* config/i386/64/letf2.c: Likewise.
* config/i386/64/t-fprules-softfp: Likewise.
2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
* config.host: Add i386/${host_address}/t-fprules-softfp to
tmake_file for i[34567]86-*-darwin*, x86_64-*-darwin*,
i[34567]86-*-linux*, x86_64-*-linux*.
* configure.ac: Set host_address to 64 or 32 for x86.
* configure: Regenerated.
* Makefile.in (config.status): Also depend on
$(srcdir)/config.host.
* config/i386/32/t-fprules-softfp: New.
* config/i386/32/tf-signs.c: Likewise.
* config/i386/64/sfp-machine.h: New. Moved from gcc.
2008-07-02 H.J. Lu <hongjiu.lu@intel.com>
Uros Bizjak <ubizjak@gmail.com>
* config/i386/32/sfp-machine.h: New.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r137369
2008-07-02 08:59:19 -07:00
Nathan Froyd
30551d999a
t-ppccomm: Remove rules that conflict with auto-generated rules.
...
* config/rs6000/t-ppccomm: Remove rules that conflict with
auto-generated rules.
From-SVN: r137148
2008-06-26 14:15:49 +00:00
Nathan Froyd
18724e30ac
t-ppccomm: Add build rules for new files.
...
libgcc/
* config/rs6000/t-ppccomm: Add build rules for new files.
(LIB2ADD_ST): New variable.
gcc/
* config/rs6000/crtresgpr.asm, config/rs6000/crtresxgpr.asm,
config/rs6000/crtsavgpr.asm, config/rs6000/crtresfpr.asm,
config/rs6000/crtresxfpr.asm, config/rs6000/crtsavfpr.asm: Break out
from...
* config/rs6000/crtsavres.asm: ...here. Remove unneeded file.
* config/rs6000/e500crtres32gpr.asm,
config/rs6000/e500crtres64gpr.asm
config/rs6000/e500crtres64gprctr.asm,
config/rs6000/e500crtrest32gpr.asm
config/rs6000/e500crtrest64gpr.asm,
config/rs6000/e500crtresx32gpr.asm
config/rs6000/e500crtresx64gpr.asm,
config/rs6000/e500crtsav32gpr.asm
config/rs6000/e500crtsav64gpr.asm,
config/rs6000/e500crtsav64gprctr.asm
config/rs6000/e500crtsavg32gpr.asm,
config/rs6000/e500crtsavg64gpr.asm
config/rs6000/e500crtsavg64gprctr.asm: New files.
* config/rs6000/t-ppccomm: Add build rules for new files.
(LIB2FUNCS_STATIC_EXTRA): Add new files.
* config/rs6000/t-netbsd: Add build rules for new files.
(LIB2FUNCS_STATIC_EXTRA): New variable.
* config/rs6000/sysv4.h (ENDFILE_SPEC): Don't include crtsavres.o
(CRTSAVRES_DEFAULT_SPEC): Likewise.
* config/rs6000/netbsd.h (ENDFILE_SPEC): Likewise.
From-SVN: r134828
2008-04-30 16:10:21 +00:00
Andy Hutchinson
47583040f7
PR target/34210 PR target/35508 * config.host (avr-*-*): Add avr cpu_type and avr tmake_file. * config/t-avr: New file. Build 16bit libgcc functions.
...
From-SVN: r133993
2008-04-07 23:15:35 +00:00
Jakub Jelinek
cf8e67feb2
re PR target/35401 (libstdc++ linked to system /usr/lib/libgcc_s.1.dylib not new gcc4.3 libgcc_s.1.dylib)
...
PR target/35401
* config/t-slibgcc-darwin: Make install-leaf dependent on
install-darwin-libgcc-stubs instead of install.
From-SVN: r132819
2008-03-02 23:06:32 +01:00
Etsushi Kato
89deeaffbb
re PR target/30572 (target libraries links against /libgcc_s.1.dylib instead of $(prefix)/lib/libgcc_s.1.dylib)
...
2007-12-19 Etsushi Kato <ek.kato@gmail.com>
Paolo Bonzini <bonzini@gnu.org>
PR target/30572
* Makefile.in: Use @shlib_slibdir@ substitution to get correct install name
on darwin.
* config/t-slibgcc-darwin: Use @shlib_slibdir@ for -install_name.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r131062
2007-12-19 14:28:32 +00:00
H.J. Lu
b2a00c8984
Makefile.in (dfp-filenames): Replace decimal_globals...
...
libgcc/
2007-09-27 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (dfp-filenames): Replace decimal_globals,
decimal_data, binarydecimal and convert_data with
bid_decimal_globals, bid_decimal_data, bid_binarydecimal
and bid_convert_data, respectively.
libgcc/config/libbid/
2007-09-27 H.J. Lu <hongjiu.lu@intel.com>
* bid128_fromstring.c: Removed.
* bid_dpd.c: New from libbid 2007-09-26.
* bid128_to_int16.c: Likewise.
* bid128_to_int8.c: Likewise.
* bid128_to_uint8.c: Likewise.
* bid128_to_uint16.c: Likewise.
* bid64_to_int16.c: Likewise.
* bid64_to_int8.c: Likewise.
* bid64_to_uint16.c: Likewise.
* bid64_to_uint8.c: Likewise.
* bid128_2_str.h: Updated from libbid 2007-09-26.
* bid128_2_str_macros.h: Likewise.
* bid128_2_str_tables.c: Likewise.
* bid128_add.c: Likewise.
* bid128.c: Likewise.
* bid128_compare.c: Likewise.
* bid128_div.c: Likewise.
* bid128_fma.c: Likewise.
* bid128_logb.c: Likewise.
* bid128_minmax.c: Likewise.
* bid128_mul.c: Likewise.
* bid128_next.c: Likewise.
* bid128_noncomp.c: Likewise.
* bid128_quantize.c: Likewise.
* bid128_rem.c: Likewise.
* bid128_round_integral.c: Likewise.
* bid128_scalb.c: Likewise.
* bid128_sqrt.c: Likewise.
* bid128_string.c: Likewise.
* bid128_to_int32.c: Likewise.
* bid128_to_int64.c: Likewise.
* bid128_to_uint32.c: Likewise.
* bid128_to_uint64.c: Likewise.
* bid32_to_bid128.c: Likewise.
* bid32_to_bid64.c: Likewise.
* bid64_add.c: Likewise.
* bid64_compare.c: Likewise.
* bid64_div.c: Likewise.
* bid64_fma.c: Likewise.
* bid64_logb.c: Likewise.
* bid64_minmax.c: Likewise.
* bid64_mul.c: Likewise.
* bid64_next.c: Likewise.
* bid64_noncomp.c: Likewise.
* bid64_quantize.c: Likewise.
* bid64_rem.c: Likewise.
* bid64_round_integral.c: Likewise.
* bid64_scalb.c: Likewise.
* bid64_sqrt.c: Likewise.
* bid64_string.c: Likewise.
* bid64_to_bid128.c: Likewise.
* bid64_to_int32.c: Likewise.
* bid64_to_int64.c: Likewise.
* bid64_to_uint32.c: Likewise.
* bid64_to_uint64.c: Likewise.
* bid_b2d.h: Likewise.
* bid_binarydecimal.c: Likewise.
* bid_conf.h: Likewise.
* bid_convert_data.c: Likewise.
* bid_decimal_data.c: Likewise.
* bid_decimal_globals.c: Likewise.
* bid_div_macros.h: Likewise.
* bid_flag_operations.c: Likewise.
* bid_from_int.c: Likewise.
* bid_functions.h: Likewise.
* bid_gcc_intrinsics.h: Likewise.
* bid_inline_add.h: Likewise.
* bid_internal.h: Likewise.
* bid_round.c: Likewise.
* bid_sqrt_macros.h: Likewise.
* _addsub_dd.c: Likewise.
* _addsub_sd.c: Likewise.
* _addsub_td.c: Likewise.
* _dd_to_df.c: Likewise.
* _dd_to_di.c: Likewise.
* _dd_to_sd.c: Likewise.
* _dd_to_sf.c: Likewise.
* _dd_to_si.c: Likewise.
* _dd_to_td.c: Likewise.
* _dd_to_tf.c: Likewise.
* _dd_to_udi.c: Likewise.
* _dd_to_usi.c: Likewise.
* _dd_to_xf.c: Likewise.
* _df_to_dd.c: Likewise.
* _df_to_sd.c: Likewise.
* _df_to_td.c: Likewise.
* _di_to_dd.c: Likewise.
* _di_to_sd.c: Likewise.
* _di_to_td.c: Likewise.
* _div_dd.c: Likewise.
* _div_sd.c: Likewise.
* _div_td.c: Likewise.
* _eq_dd.c: Likewise.
* _eq_sd.c: Likewise.
* _eq_td.c: Likewise.
* _ge_dd.c: Likewise.
* _ge_sd.c: Likewise.
* _ge_td.c: Likewise.
* _gt_dd.c: Likewise.
* _gt_sd.c: Likewise.
* _gt_td.c: Likewise.
* _isinfd128.c: Likewise.
* _isinfd32.c: Likewise.
* _isinfd64.c: Likewise.
* _le_dd.c: Likewise.
* _le_sd.c: Likewise.
* _le_td.c: Likewise.
* _lt_dd.c: Likewise.
* _lt_sd.c: Likewise.
* _lt_td.c: Likewise.
* _mul_dd.c: Likewise.
* _mul_sd.c: Likewise.
* _mul_td.c: Likewise.
* _ne_dd.c: Likewise.
* _ne_sd.c: Likewise.
* _ne_td.c: Likewise.
* _sd_to_dd.c: Likewise.
* _sd_to_df.c: Likewise.
* _sd_to_di.c: Likewise.
* _sd_to_sf.c: Likewise.
* _sd_to_si.c: Likewise.
* _sd_to_td.c: Likewise.
* _sd_to_tf.c: Likewise.
* _sd_to_udi.c: Likewise.
* _sd_to_usi.c: Likewise.
* _sd_to_xf.c: Likewise.
* _sf_to_dd.c: Likewise.
* _sf_to_sd.c: Likewise.
* _sf_to_td.c: Likewise.
* _si_to_dd.c: Likewise.
* _si_to_sd.c: Likewise.
* _si_to_td.c: Likewise.
* _td_to_dd.c: Likewise.
* _td_to_df.c: Likewise.
* _td_to_di.c: Likewise.
* _td_to_sd.c: Likewise.
* _td_to_sf.c: Likewise.
* _td_to_si.c: Likewise.
* _td_to_tf.c: Likewise.
* _td_to_udi.c: Likewise.
* _td_to_usi.c: Likewise.
* _td_to_xf.c: Likewise.
* _tf_to_dd.c: Likewise.
* _tf_to_sd.c: Likewise.
* _tf_to_td.c: Likewise.
* _udi_to_dd.c: Likewise.
* _udi_to_sd.c: Likewise.
* _udi_to_td.c: Likewise.
* _unord_dd.c: Likewise.
* _unord_sd.c: Likewise.
* _unord_td.c: Likewise.
* _usi_to_dd.c: Likewise.
* _usi_to_sd.c: Likewise.
* _usi_to_td.c: Likewise.
* _xf_to_dd.c: Likewise.
* _xf_to_sd.c: Likewise.
* _xf_to_td.c: Likewise.
2007-09-27 H.J. Lu <hongjiu.lu@intel.com>
* b2d.h: Renamed to ...
* bid_b2d.h: This.
* bid128_to_string.c: Renamed to ...
* bid128_string.c: This.
* bid_intrinsics.h: Renamed to ...
* bid_gcc_intrinsics.h: This.
* bid_string.c: Renamed to ...
* bid64_string.c: This.
* binarydecimal.c: Renamed to ...
* bid_decimal_globals.c: This.
* convert_data.c: Renamed to ...
* bid_convert_data.c: This.
* decimal_data.c: Renamed to ...
* bid_decimal_data.c: This.
* decimal_globals.c: Renamed to ...
* bid_decimal_globals.c: This.
* div_macros.h: Renamed to ...
* bid_div_macros.h: This.
* inline_bid_add.h: Renamed to ...
* bid_inline_add.h: This.
* sqrt_macros.h: Renamed to ...
* bid_sqrt_macros.h: This.
From-SVN: r128841
2007-09-27 10:47:23 -07:00
H.J. Lu
6f461e76da
tls.m4 (GCC_CHECK_CC_TLS): New.
...
config/
2007-07-06 H.J. Lu <hongjiu.lu@intel.com>
* tls.m4 (GCC_CHECK_CC_TLS): New.
libgcc/
2007-07-06 H.J. Lu <hongjiu.lu@intel.com>
* config.host (tmake_file): Add t-tls for i[34567]86-*-linux*
and x86_64-*-linux*.
* config/t-tls: New file.
* Makefile.in (INTERNAL_CFLAGS): Add @set_have_cc_tls@.
* configure.ac: Include ../config/enable.m4 and
../config/tls.m4. Use GCC_CHECK_CC_TLS to check if assembler
supports TLS and substitute set_have_cc_tls.
* configure: Regenerated.
libbid/
2007-07-06 H.J. Lu <hongjiu.lu@intel.com>
Updated from Intel BID library:
* bid_conf.h (BID_THREAD): Defined only if both HAVE_CC_TLS
and USE_TLS are defined.
From-SVN: r126416
2007-07-06 07:00:46 -07:00
H.J. Lu
6fd2892a68
Updated from Intel BID library:
...
2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
Updated from Intel BID library:
* bid_conf.h (BID_THREAD): Defined.
(__bid_IDEC_glbround): Add BID_THREAD in declaration.
(__bid_IDEC_glbflags): Likewise.
* decimal_globals.c (__bid_IDEC_glbround): Add BID_THREAD in
declaration.
(__bid_IDEC_glbflags): Likewise.
From-SVN: r126369
2007-07-05 06:19:38 -07:00
H.J. Lu
200359e888
Merged with libbbid branch at revision 126349.
...
From-SVN: r126353
2007-07-04 22:36:50 -07:00
Danny Smith
76f5e2005d
config.host (*-cygwin* |*-mingw* ): Add crtbegin.o, crtend.o to extra_parts.
...
ChangeLog/libgcc
2007-06-14 Danny Smith <dannysmith@users.sourceforge.net>
* config.host(*-cygwin* |*-mingw* ): Add crtbegin.o, crtend.o to
extra_parts. Add config/i386/t-cygming to tmake_file.
* config/i386/t-cygming: New file with rules for crtbegin.o, crtend.o.
ChangeLog/gcc
2007-06-14 Danny Smith <dannysmith@users.sourceforge.net>
* config/i386/cygming.h (DWARF_FRAME_REGNUM): Define.
(DWARF2_UNWIND_INFO): Override default if configured with
SJLJ EH disabled.
* config/i386/cygwin.h (STARTFILE_SPEC): Add crtbegin.o.
(ENDFILE_SPEC): Add crtend.o.
* config/i386/mingw32.h (STARTFILE_SEC): Add crtbegin.o.
(ENDFILE_SPEC): Add crtend.o.
(TARGET_USE_JCR_SECTION): Define.
(MD_UNWIND_SUPPORT): Define for 32-bit target.
* config/i386/cygming-crtbegin.c: New file.
* config/i386/cygming-crtend.c: New file.
2007-06-14 Pascal Obry Pascal Obry <obry@adacore.com>
* config/i386/w32-unwind.h: New file.
From-SVN: r125696
2007-06-14 02:38:37 +00:00
Zuxy Meng
9bd196f0e3
re PR target/29498 (FTZ/DAZ for SSE should be ported to mingw32)
...
libgcc
PR target/29498
* config.host (i[34567]86-*-cygwin* | i[34567]86-*-mingw*) Add
crtfastmath.o to extra_parts. Add i386/t-crtfm to tmake_file.
* config/i386/t-crtfm: Compile crtfastmath.o with
-minline-all-stringops.
gcc
PR target/29498
* config/i386/t-crtfm: Compile crtfastmath.o with
-minline-all-stringops.
* config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o.
* config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o.
Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net>
From-SVN: r125160
2007-05-29 08:09:16 +00:00
Uros Bizjak
577565f934
config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
...
* config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
(x86_64-*-linux*): Ditto.
* config/i386/i386.opt (mpc): New option.
* config/i386/i386.c (overrride_options): Handle
ix87_precision_string.
* config/i386/crtprec.c: New file.
* config/i386/t-crtpc: Ditto.
* config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64
and -mpc80 options.
* config/i386/linux64.h (ENDFILE_SPEC): Ditto.
* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
crtprec32.o, crtprec64.o and crtprec80.o.
* doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64
and -mpc80 options.
(i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options.
libgcc/ChangeLog:
* config/i386/t-crtpc: New file.
* config.host (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
(x86_64-*-linux*): Ditto.
From-SVN: r123450
2007-04-03 09:37:56 +02:00
Joseph Myers
17caeff262
rs6000-c.c (rs6000_cpu_cpp_builtins): Define _SOFT_DOUBLE if doubles use software floating-point.
...
gcc:
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
_SOFT_DOUBLE if doubles use software floating-point.
* config/rs6000/libgcc-ppc-glibc.ver: Export additional long
double functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
* config/rs6000/darwin-ldouble.c: Also compile functions for
hard-float without FPRs. Use fmsub function for all __NO_FPRS__
cases. Compile extra functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove
commented-out long double override.
(CPP_LONGDOUBLE_DEFAULT_SPEC): Likewise.
* config/rs6000/eabispe.h: Likewise.
* config/rs6000/rs6000.c (rs6000_override_options): Don't override
long double for non-SPE.
(rs6000_handle_option): Likewise.
(invalid_e500_subreg): Disallow more subregs involding DImode,
DFmode, TImode or TFmode.
(rs6000_legitimate_offset_address_p): Check TFmode offsets for
E500 double.
(legitimate_lo_sum_address_p): Also check for TFmode for E500
double.
(rs6000_legitimize_address): Also handle TFmode for E500 double.
(rs6000_legitimize_reload_address): Also handle TFmode for E500
double.
(rs6000_legitimate_address): Also check for TFmode for E500
double.
(rs6000_emit_move): Use DFmode subregs of TFmode for E500 double.
(spe_build_register_parallel): Handle TFmode and TCmode.
(rs6000_spe_function_arg): Handle TFmode and TCmode for E500
double.
(function_arg): Handle TFmode and TCmode for E500 double.
(rs6000_init_libfuncs): Initialize extra libfuncs for soft double
in general.
(print_operand): Handle TFmode and TImode for %y.
(rs6000_generate_compare): Handle TFmode comparisons for E500
double.
(spe_func_has_64bit_regs_p): Check for TFmode for E500 double.
(rs6000_function_value): Handle TFmode and TCmode for E500 double.
(rs6000_libcall_value): Handle TFmode and TCmode for E500 double.
* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Check for
TFmode for E500 double.
* config/rs6000/rs6000.md (FP): Allow TF for E500 double.
(floatsidf2): Enable for E500 double.
(movtf_softfloat): Use rs6000_nonimmediate_operand.
(extenddftf2): Change to extenddftf2_fprs.
(extenddftf2): Call gen_spe_extenddftf2 or gen_extenddftf2_fprs
depending on TARGET_E500_DOUBLE.
(extendsftf2): Enable for E500 double.
(trunctfdf2): Enable for E500 double.
(trunctfsf2): Change to trunctfsf2_fprs.
(trunctfsf2): Call gen_spe_trunctfsf2 or gen_trunctfsf2_fprs
depending on TARGET_E500_DOUBLE.
(floatsitf2): Enable for E500 double.
(fix_trunctfsi2): Change to fix_trunctfsi2_fprs.
(fix_trunctfsi2): Call gen_spe_fix_trunctfsi2 or
gen_fix_trunctfsi2_fprs depending on TARGET_E500_DOUBLE.
(negtf2): Change to negtf2_internal.
(negtf2): New expander.
(abstf2): Enable for E500 double. Call gen_spe_abstf2_tst,
gen_spe_abstf2_cmp or gen_abstf2_internal depending on
TARGET_E500_DOUBLE and flag_unsafe_math_optimizations.
(movdi_internal32): Use rs6000_nonimmediate_operand.
(unnamed splitter): Likewise.
* config/rs6000/spe.md (CMPTFEQ_GPR, TSTTFEQ_GPR, CMPTFGT_GPR,
TSTTFGT_GPR, CMPTFLT_GPR, TSTTFLT_GPR): New unspecs.
(SPE64TF, DITI): New mode macros.
(frob_df_di): Change to frob_<SPE64:mode>_<DITI:mode>; allow more
modes.
(frob_tf_ti): New.
(frob_<mode>_di_2): New.
(frob_tf_di_8_2): New.
(frob_di_df): Change to frob_di_<mode>; allow more modes.
(frob_ti_tf): New.
(frob_di_df_2): Change to frob_<DITI:mode>_<SPE64:mode>_2; allow
more modes.
(frob_ti_<mode>_8_2): New.
(frob_ti_tf_2): New.
(mov_si<mode>_e500_subreg0, mov_si<mode>_e500_subreg0_2,
mov_si<mode>_e500_subreg4, mov_si<mode>_e500_subreg4_2): Allow
TFmode.
(mov_sitf_e500_subreg8, mov_sitf_e500_subreg8_2,
mov_sitf_e500_subreg12, mov_sitf_e500_subreg12_2): New.
(spe_trunctfdf2_internal1, spe_trunctfsf2, spe_extenddftf2,
spe_fix_trunctfsi2, spe_fix_trunctfsi2_internal,
spe_negtf2_internal, spe_abstf2_cmp, spe_abstf2_tst): New.
(cmptfeq_gpr, tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr,
tsttflt_gp): New.
libgcc:
* config/rs6000/t-ldbl128: Always use -mlong-double-128.
From-SVN: r121085
2007-01-23 19:38:33 +00:00
Kaz Kojima
269008262e
t-linux (TARGET_LIBGCC2_CFLAGS): Delete.
...
gcc/
* config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete.
(SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise.
libgcc/
* config/sh/t-linux: New.
* config.host (sh*-*-linux*): Set tmake_file.
From-SVN: r120619
2007-01-09 10:50:23 +00:00
Daniel Jacobowitz
fa9585134f
Makefile.def (target_modules): Add libgcc.
...
./ * Makefile.def (target_modules): Add libgcc.
(lang_env_dependencies): Remove default items. Use no_c and no_gcc.
* Makefile.tpl (clean-target-libgcc): Delete.
(configure-target-[+module+]): Emit --disable-bootstrap dependencies
on gcc even for bootstrapped modules. Rewrite handling of
lang_env_dependencies to loop over target_modules.
* configure.in (target_libraries): Add target-libgcc.
* Makefile.in, configure: Regenerated.
gcc/
* config.gcc: Mention libgcc/config.host.
* Makefile.in: Update comments mentioning libgcc.
(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
(all.cross, start.encap, rest.encap, rest.cross): Update
dependencies for libgcc move.
(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
(clean-target, clean-target-libgcc): Delete.
(srcdirify, GCC_EXTRA_PARTS): New macros.
(libgcc-support, libgcc.mvars): New rules.
(distclean): Remove mention of mklibgcc.
(install): Don't reference INSTALL_LIBGCC.
(install-common): Don't reference EXTRA_PARTS.
(install-libgcc, install-multilib): Delete rules.
* mklibgcc.in: Delete file.
* doc/configfiles.texi: Don't mention mklibgcc.
* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
(mklibgcc, ldblspecs): Likewise.
* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
(posixpre.def): Use $(T).
(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
(SHLIB_SRC, SHLIB_INSTALL): Delete.
(SHLIB_LINK): Make dummy.
* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.
* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
config/rs6000/t-newas, config/sparc/t-elf: Likewise.
* configure.ac (all_outputs): Remove mklibgcc.
* configure: Regenerated.
libgcc/
* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
config/sparc/t-crtfm, config/t-slibgcc-darwin,
config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
shared-object.mk, siditi-object.mk, static-object.mk: New files.
* configure: Generated.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r120429
2007-01-04 04:22:37 +00:00