Kai Tietz
5c7dac8aa1
re PR libgcc/61585 (Subscript-out-of-range in unwind-seh.c?)
...
PR libgcc/61585
* unwind-seh.c (_Unwind_GetGR): Check for proper
index range.
(_Unwind_SetGR): Likewise.
From-SVN: r211900
2014-06-23 18:20:31 +02:00
Charles Baylis
4b9fcb37ba
bpabi.c (__gnu_uldivmod_helper): Remove.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.
From-SVN: r211797
2014-06-18 15:44:45 +00:00
Charles Baylis
a7a7d3c8f0
bpabi-v6m.S (__aeabi_uldivmod): Perform division using __udivmoddi4.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
__udivmoddi4.
From-SVN: r211796
2014-06-18 15:44:10 +00:00
Charles Baylis
158ef346fd
bpabi.S (__aeabi_ldivmod, [...]): Use .cfi_* directives for DWARF annotations.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
annotations. Fix DWARF information.
From-SVN: r211795
2014-06-18 15:43:35 +00:00
Charles Baylis
1338118928
bpabi.S (__aeabi_ldivmod): Perform division using __udivmoddi4, and fixups for negative operands.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
__udivmoddi4, and fixups for negative operands.
From-SVN: r211794
2014-06-18 15:42:53 +00:00
Charles Baylis
f493def153
bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
From-SVN: r211793
2014-06-18 15:42:21 +00:00
Charles Baylis
0b227df4e5
bpabi.S (__aeabi_uldivmod): Perform division using call to __udivmoddi4.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
to __udivmoddi4.
From-SVN: r211792
2014-06-18 15:41:27 +00:00
Charles Baylis
c9dae335f5
bpabi.S (__aeabi_uldivmod): Optimise stack pointer manipulation.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
manipulation.
From-SVN: r211791
2014-06-18 15:40:31 +00:00
Charles Baylis
6857b807c2
bpabi.S (__aeabi_uldivmod, [...]): Add comment describing register usage on function entry and exit.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
describing register usage on function entry and exit.
From-SVN: r211790
2014-06-18 15:39:56 +00:00
Charles Baylis
f21d8faab0
bpabi.S (__aeabi_uldivmod): Fix whitespace.
...
2014-06-18 Charles Baylis <charles.baylis@linaro.org>
* config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
(__aeabi_ldivmod): Fix whitespace.
From-SVN: r211789
2014-06-18 15:38:48 +00:00
Uros Bizjak
0b6df8243c
bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.
...
* bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.
Call __mul_128x128_high instead of __mul_128x128_full.
(TYPE0_FUNCTION_ARGTYPE1_ARGTYPE2): Ditto.
(BID128_FUNCTION_ARGTYPE1_ARG128): Ditto.
(BID128_FUNCTION_ARG128_ARGTYPE2): Ditto.
* bid64_div.c (TYPE0_FUNCTION_ARGTYPE1_ARG128): Ditto.
(TYPE0_FUNCTION_ARG128_ARGTYPE2): Ditto.
(TYPE0_FUNCTION_ARG128_ARG128): Ditto.
From-SVN: r211424
2014-06-10 20:27:02 +02:00
Nick Clifton
161c931207
t-msp430 (HOST_LIBGCC2_CFLAGS): Add -mhwmult=none.
...
* config/msp430/t-msp430 (HOST_LIBGCC2_CFLAGS): Add
-mhwmult=none.
From-SVN: r210811
2014-05-22 15:15:36 +00:00
Teresa Johnson
e3f0315f88
gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
...
2014-05-22 Teresa Johnson <tejohnson@google.com>
* gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
(gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
(gcov_rewrite): Use gcov_nonruntime_assert.
(gcov_open): Ditto.
(gcov_write_words): Ditto.
(gcov_write_length): Ditto.
(gcov_read_words): Use gcov_nonruntime_assert, and remove
gcc_assert from IN_LIBGCOV code.
(gcov_read_summary): Use gcov_error to flag profile corruption.
(gcov_sync): Use gcov_nonruntime_assert.
(gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
(gcov_histo_index): Use gcov_nonruntime_assert.
(static void gcov_histogram_merge): Ditto.
(compute_working_sets): Ditto.
* gcov-io.h (gcov_nonruntime_assert): Define.
(gcov_error): Define for !IN_LIBGCOV
* libgcov-driver.c (gcov_error): Move declaration before gcov-io.c
include.
From-SVN: r210805
2014-05-22 14:06:08 +00:00
John Marino
dbed5a9bff
config.gcc (*-*-dragonfly*): New target.
...
2014-05-21 John Marino <gnugcc@marino.st>
gcc:
* config.gcc (*-*-dragonfly*): New target.
* configure.ac: Detect dl_iterate_phdr (*freebsd*, *dragonfly*).
* configure: Regenerate.
* config/dragonfly-stdint.h: New.
* config/dragonfly.h: New.
* config/dragonfly.opt: New.
* config/i386/dragonfly.h: New.
* ginclude/stddef.h: Detect _PTRDIFF_T_DECLARED for DragonFly.
include:
* liberty.h: Use basename function on DragonFly.
libcilkrts:
* runtime/os-unix.c (__DragonFly__): New target.
libgcc:
* config.host (*-*-dragonfly*): New target.
* crtstuff.c: Make dl_iterate_support generic on *bsd.
* enable-execute-stack-mprotect.c: Always mprotect on FreeBSD.
* unwind-dw2-fde-dip.c: Add dl_iterate_phr support for DragonFly.
* config/i386/dragonfly-unwind.h: New.
libitm:
* configure.tgt (*-*-dragonfly*): New target.
libstdc++-v3:
* acinclude.m4 (*-*-dragonfly*): New target.
* configure: Regenerate.
* configure.host (*-*-dragonfly*): New target.
* config/locale/dragonfly/c_locale.cc: New.
* config/locale/dragonfly/ctype_members.cc: New.
* config/os/bsd/dragonfly/ctype_base.h: New.
* config/os/bsd/dragonfly/ctype_configure_char.cc: New.
* config/os/bsd/dragonfly/ctype_inline.h: New.
* config/os/bsd/dragonfly/os_defines.h: New.
From-SVN: r210694
2014-05-21 12:08:58 +01:00
Maciej W. Rozycki
1ec380e5f5
re PR libgcc/60166 (ARM default NAN encoding violates EABI)
...
PR libgcc/60166
* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANFRAC_S)
(_FP_NANFRAC_D, _FP_NANSIGN_Q): Set the quiet bit.
From-SVN: r210668
2014-05-21 01:24:05 +00:00
Bernd Edlinger
54fde020cc
Enable Java on Cygwin-64
...
Currently it is not possible to build GCC's libjava support on Cygwin-64.
This patch fixes the current build-problems on Cygwin-64 and the most
fundamental bugs on that platform.
Note you must still add --enable-threads=posix to successfully build the
java language support.
boehm-gc/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* include/gc_config_macros.h (GC_PTHREADS): Use __CYGWIN__ instead
of __CYGWIN32__ here.
* win32_threads.c (GC_push_all_stacks): Push all X86_64 registers.
(GC_get_thread_stack_base): Get the stack base for X86_64.
libffi/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API).
* src/x86/ffi.c: Add if defined(__CYGWIN__).
* src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added
handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT.
Added SEH information. Fixed formatting.
libgcc/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
* unwind-seh.c (_Unwind_Backtrace): Uncommented, finished
implementation.
libjava/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* configure.host: Added handling for x86_64-*-cygwin/mingw.
* boehm.cc (_Jv_GCAttachThread, _Jv_GCDetachThread): Don't compile if
GC_WIN32_THREADS is defined.
* java/lang/natClass.cc (_Jv_InterfaceAssignableFrom): Rename interface
to source_interface.
libjava/classpath/ChangeLog:
2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix current cygwin-64 build problems.
* native/fdlibm/mprec.c (_REENT_CHECK_MP, _REENT_MP_FREELIST,
_REENT_MP_P5S, __ULong, __Long): Undefine previous definitions.
From-SVN: r210386
2014-05-13 16:23:11 +00:00
Georg-Johann Lay
999db1252c
arm.h (License): Add GCC Runtime Library Exception.
...
gcc/
* config/arm/arm.h (License): Add GCC Runtime Library Exception.
* config/arm/aout.h (License): Same.
* config/arm/bpabi.h (License): Same.
* config/arm/elf.h (License): Same.
* config/arm/linux-elf.h (License): Same.
* config/arm/linux-gas.h (License): Same.
* config/arm/netbsd-elf.h (License): Same.
* config/arm/uclinux-eabi.h (License): Same.
* config/arm/uclinux-elf.h (License): Same.
* config/arm/vxworks.h (License): Same.
libgcc/
* config/arm/bpabi-lib.h (License): Add GCC Runtime Library Exception.
From-SVN: r210322
2014-05-12 09:02:36 +00:00
Rainer Orth
cceaf54a4a
Don't build libgcc-unwind.map with --disable-shared (PR libgcc/61097)
...
PR libgcc/61097
* config/t-slibgcc-sld: Only build and install libgcc-unwind.map
if --enable-shared.
From-SVN: r210210
2014-05-08 12:11:14 +00:00
Bernd Edlinger
e3fe9b5b5a
Work around for current cygwin32 build problems.
...
2014-04-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
Work around for current cygwin32 build problems.
* config/i386/cygming-crtbegin.c (__register_frame_info,
__deregister_frame_info, _Jv_RegisterClasses): Compile weak default
functions only for 64-bit systems.
From-SVN: r209942
2014-04-30 16:53:51 +00:00
Rainer Orth
54cf37e9bf
Remove SSE execution test in crtfastmath.c
...
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
(sigill_caught, sigill_hdlr): Remove.
From-SVN: r209783
2014-04-25 08:01:09 +00:00
Rainer Orth
d9f069ab4f
Remove obsolete Solaris 9 support
...
libstdc++-v3:
* configure.host: Remove solaris2.9 handling.
Change os_include_dir to os/solaris/solaris2.10.
* acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
* crossconfig.m4: Remove *-solaris2.9 handling, simplify.
* configure: Regenerate.
* config/abi/post/solaris2.9: Remove.
* config/os/solaris/solaris2.9: Rename to ...
* config/os/solaris/solaris2.10: ... this.
* config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
Remove.
* doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
Remove Solaris 9 reference.
* doc/html/manual/configure.html: Regenerate.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Remove *-*-solaris2.9 xfail.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
xfail.
libjava:
* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
handling.
* configure: Regenerate.
libgfortran:
* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
check.
libgcc:
* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
check.
* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
Solaris 9 single-threaded support.
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
Solaris 9 single-threaded support. Add call_user_handler code
sequences.
(sparc_is_sighandler): Likewise.
libcpp:
* lex.c: Remove Solaris 9 reference.
gcc/testsuite:
* gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if.
* gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9.
* gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for
*-*-solaris2.9.
* gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9.
* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling
from dg-options.
* gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling
from dg-additional-options.
* gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling
from dg-options.
* gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2
execution check.
* gcc.target/i386/sse-os-support.h [__sun__ && __svr4__]
(sigill_hdlr): Remove.
(sse_os_support) [__sun__ && __svr4__]: Remove SSE execution
check.
* gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling.
* gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling.
* gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling.
* lib/target-supports.exp (add_options_for_tls): Remove
*-*-solaris2.9* handling.
gcc:
* config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
(*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
(*-*-solaris2*): Simplify.
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
*-*-solaris2.9* handling.
* configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
as bug.
(gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
(ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
handling, simplify.
(gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
* configure: Regenerate.
* config/i386/sol2-9.h: Remove.
* doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
(Specific, *-*-solaris2*): Mention Solaris 9 support removal.
Remove Solaris 9 references.
fixincludes:
* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
(solaris_int_types): Remove.
(solaris_longjmp_noreturn): Remove.
(solaris_mutex_init_2): Remove.
(solaris_once_init_2): Remove.
(solaris_sys_va_list): Remove.
* fixincl.x: Regenerate.
* tests/base/iso/setjmp_iso.h: Remove.
* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
solaris_once_init_2.
[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
* tests/base/sys/int_types.h: Remove.
* tests/base/sys/va_list.h: Remove.
contrib:
* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.
From-SVN: r209621
2014-04-22 12:30:59 +00:00
Andreas Krebbel
59976ef878
config.host: Append t-floattodi to tmake_file depending on host_address.
...
2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.host: Append t-floattodi to tmake_file depending on
host_address.
From-SVN: r208868
2014-03-27 15:40:31 +00:00
Joel Sherrill
31466bc083
ChangeLog: Fix typo
...
From-SVN: r208714
2014-03-20 16:15:39 +00:00
Joel Sherrill
d02bbcf3f1
config.host (v850*-*-*): Add to tmake_file instead of resetting it.
...
2014-03-20 Joel Sherrill <joel.sherrill@oarcorp.com>
* config.host (v850*-*-*): Add to tmake_file instead of resetting
it. This was removing the v850*-*-rtems* settings.
From-SVN: r208708
2014-03-20 16:11:10 +00:00
Uros Bizjak
c2e7e5974b
re PR libgcc/60472 (Warning: array subscript is above array bounds when compiling crtstuff.c)
...
PR libgcc/60472
* crtstuff.c (frame_dummy): Use void **jcr_list temporary
variable to avoid array subscript is above array bounds warnings.
Use __builtin_expect when checking *jcr_list for NULL.
From-SVN: r208457
2014-03-10 19:31:20 +01:00
Rainer Orth
227a7dc8fb
Don't install vtv_*.o unless --enable-vtable-verify (PR libgcc/59339)
...
PR libgcc/59339
* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
vtv_*.o to extra_parts if enable_vtable_verify.
From-SVN: r208381
2014-03-06 12:24:11 +00:00
Nick Clifton
df2b279c5c
t-msp430 (LIB2ADD): Add lib2hw_mul.S
...
* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.
From-SVN: r208374
2014-03-06 08:35:40 +00:00
Joey Ye
dc11d79b74
re PR libgcc/60166 (ARM default NAN encoding violates EABI)
...
2014-02-28 Joey Ye <joey.ye@arm.com>
PR libgcc/60166
* config/arm/sfp-machine.h (_FP_NANFRAC_H,
_FP_NANFRAC_S, _FP_NANFRAC_D, _FP_NANFRAC_Q):
Set to zero.
From-SVN: r208229
2014-02-28 21:53:40 +00:00
Walter Lee
341c653c70
TILE-Gx big endian support.
...
/:
* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
(tilegx-*-*): Change to tilegx*-*-*.
* configure: Regenerate.
contrib/:
* config-list.mk (LIST): Add tilegxbe-linux-gnu.
libcpp/:
* configure.ac: Change "tilepro" triplet to "tilepro*".
* configure: Regenerate.
libgcc/:
* config.host: Support "tilegx*" and "tilepro*" triplets.
* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.
gcc/:
* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
triplet.
* common/config/tilegx/tilegx-common.c
(TARGET_DEFAULT_TARGET_FLAGS): Define.
* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
(LINK_SPEC): Ditto.
* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
(tilegx_gimplify_va_arg_expr): Handle big endian.
(tilegx_expand_unaligned_load): Ditto.
(tilegx_expand_unaligned_store): Ditto.
(TARGET_RETURN_IN_MSB): New.
* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
(TARGET_ENDIAN_DEFAULT): New.
(TARGET_BIG_ENDIAN): Handle big endian.
(BYTES_BIG_ENDIAN): Ditto.
(WORDS_BIG_ENDIAN): Ditto.
(FLOAT_WORDS_BIG_ENDIAN): Ditto.
(ENDIAN_SPEC): New.
(EXTRA_SPECS): New.
* config/tilegx/tilegx.md (extv): Handle big endian.
(extzv): Ditto.
(insn_st<n>): Ditto.
(insn_st<n>_add<bitsuffix>): Ditto.
(insn_stnt<n>): Ditto.
(insn_stnt<n>_add<bitsuffix>):Ditto.
(vec_interleave_highv8qi): Handle big endian.
(vec_interleave_highv8qi_be): New.
(vec_interleave_highv8qi_le): New.
(insn_v1int_h): Handle big endian.
(vec_interleave_lowv8qi): Handle big endian.
(vec_interleave_lowv8qi_be): New.
(vec_interleave_lowv8qi_le): New.
(insn_v1int_l): Handle big endian.
(vec_interleave_highv4hi): Handle big endian.
(vec_interleave_highv4hi_be): New.
(vec_interleave_highv4hi_le): New.
(insn_v2int_h): Handle big endian.
(vec_interleave_lowv4hi): Handle big endian.
(vec_interleave_lowv4hi_be): New.
(vec_interleave_lowv4hi_le): New.
(insn_v2int_l): Handle big endian.
(vec_interleave_highv2si): Handle big endian.
(vec_interleave_highv2si_be): New.
(vec_interleave_highv2si_le): New.
(insn_v4int_h): Handle big endian.
(vec_interleave_lowv2si): Handle big endian.
(vec_interleave_lowv2si_be): New.
(vec_interleave_lowv2si_le): New.
(insn_v4int_l): Handle big endian.
* config/tilegx/tilegx.opt (mbig-endian): New option.
(mlittle-endian): New option.
* doc/install.texi: Document tilegxbe-linux.
* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
From-SVN: r208069
2014-02-24 15:08:00 +00:00
Chung-Lin Tang
95ce7613d5
nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
...
2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
* config/nios2/nios2.c (nios2_function_profiler):
Add -fPIC (flag_pic == 2) support.
(nios2_handle_custom_fpu_cfg): Fix warning parameter.
(nios2_large_offset_p): New function.
(nios2_unspec_reloc_p): Move up position, update to use
nios2_large_offset_p.
(nios2_unspec_address): Remove function.
(nios2_unspec_offset): New function.
(nios2_large_got_address): New function.
(nios2_got_address): Add large offset support.
(nios2_legitimize_tls_address): Update usage of removed and new
functions.
(nios2_symbol_binds_local_p): New function.
(nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
(nios2_legitimize_address): Update to use nios2_large_offset_p.
(nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
(nios2_print_operand): Merge H/L processing, add hiadj/lo
processing for (const (unspec ...)).
(nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
gcc/testsuite/
* gcc.target/nios2/biggot-1.c: New.
* gcc.target/nios2/biggot-2.c: New.
libgcc/
* config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt.
* config/nios2/crti.S: Remove .file directive.
* config/nios2/crtn.S: Likewise.
From-SVN: r207965
2014-02-20 16:35:10 +00:00
Kai Tietz
0bb4fc0517
re PR objc/56870 (@catch handler broken with SEH)
...
2014-02-18 Kai Tietz <ktietz@redhat.com>
Jonathan Schleifer <js@webkeks.org>
PR objc/56870
* unwind-seh.c (_GCC_specific_handler): Pass proper
value to unwind-handler.
Co-Authored-By: Jonathan Schleifer <js@webkeks.org>
From-SVN: r207849
2014-02-18 18:02:54 +01:00
Joseph Myers
9acf28f153
float128-mul-underflow.c, [...]: New tests.
...
gcc/testsuite:
* gcc.dg/torture/float128-mul-underflow.c,
gcc.dg/torture/float128-truncdf-underflow.c,
gcc.dg/torture/float128-truncsf-underflow.c: New tests.
libgcc:
* soft-fp/adddf3.c: Update from glibc.
* soft-fp/addsf3.c: Likewise.
* soft-fp/addtf3.c: Likewise.
* soft-fp/divdf3.c: Likewise.
* soft-fp/divsf3.c: Likewise.
* soft-fp/divtf3.c: Likewise.
* soft-fp/double.h: Likewise.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/fixdfdi.c: Likewise.
* soft-fp/fixdfsi.c: Likewise.
* soft-fp/fixdfti.c: Likewise.
* soft-fp/fixsfdi.c: Likewise.
* soft-fp/fixsfsi.c: Likewise.
* soft-fp/fixsfti.c: Likewise.
* soft-fp/fixtfdi.c: Likewise.
* soft-fp/fixtfsi.c: Likewise.
* soft-fp/fixtfti.c: Likewise.
* soft-fp/fixunsdfdi.c: Likewise.
* soft-fp/fixunsdfsi.c: Likewise.
* soft-fp/fixunsdfti.c: Likewise.
* soft-fp/fixunssfdi.c: Likewise.
* soft-fp/fixunssfsi.c: Likewise.
* soft-fp/fixunssfti.c: Likewise.
* soft-fp/fixunstfdi.c: Likewise.
* soft-fp/fixunstfsi.c: Likewise.
* soft-fp/fixunstfti.c: Likewise.
* soft-fp/floatdidf.c: Likewise.
* soft-fp/floatdisf.c: Likewise.
* soft-fp/floatditf.c: Likewise.
* soft-fp/floatsidf.c: Likewise.
* soft-fp/floatsisf.c: Likewise.
* soft-fp/floatsitf.c: Likewise.
* soft-fp/floattidf.c: Likewise.
* soft-fp/floattisf.c: Likewise.
* soft-fp/floattitf.c: Likewise.
* soft-fp/floatundidf.c: Likewise.
* soft-fp/floatundisf.c: Likewise.
* soft-fp/floatunditf.c: Likewise.
* soft-fp/floatunsidf.c: Likewise.
* soft-fp/floatunsisf.c: Likewise.
* soft-fp/floatunsitf.c: Likewise.
* soft-fp/floatuntidf.c: Likewise.
* soft-fp/floatuntisf.c: Likewise.
* soft-fp/floatuntitf.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/muldf3.c: Likewise.
* soft-fp/mulsf3.c: Likewise.
* soft-fp/multf3.c: Likewise.
* soft-fp/negdf2.c: Likewise.
* soft-fp/negsf2.c: Likewise.
* soft-fp/negtf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/subdf3.c: Likewise.
* soft-fp/subsf3.c: Likewise.
* soft-fp/subtf3.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
* config/aarch64/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): New
macro.
* config/arm/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/c6x/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/cris/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/i386/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/ia64/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/lm32/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/mips/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/moxie/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/nds32/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/nios2/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/rs6000/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/score/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/tilegx/sfp-machine32.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/tilegx/sfp-machine64.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
* config/tilepro/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Likewise.
From-SVN: r207742
2014-02-12 23:24:49 +00:00
Andreas Krebbel
ce245ec69e
_fixdfdi.c: Throw invalid exception if number cannot be represented.
...
2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/32/_fixdfdi.c: Throw invalid exception if number
cannot be represented.
* config/s390/32/_fixsfdi.c: Likewise.
* config/s390/32/_fixtfdi.c: Likewise.
* config/s390/32/_fixunsdfdi.c: Likewise.
* config/s390/32/_fixunssfdi.c: Likewise.
* config/s390/32/_fixunstfdi.c: Likewise.
2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/fp2int1.c: New testcase.
From-SVN: r207596
2014-02-07 10:14:24 +00:00
Richard Sandiford
1c51d6883a
configure.ac (libgcc_cv_mips_hard_float): New.
...
libgcc/
* configure.ac (libgcc_cv_mips_hard_float): New.
* configure: Regenerate.
* config.host (mips*-*-*): Use t-hardfp-sfdf rather than
t-softfp-sfdf for hard-float targets.
* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Reinstate.
(softfp_float_modes, softfp_int_modes, softfp_extensions)
(softfp_truncations, softfp_exclude_libgcc2): New.
* config/t-hardfp: New file.
* config/t-hardfp-sfdf: Likewise.
* config/hardfp.c: Likewise.
From-SVN: r207593
2014-02-07 07:46:34 +00:00
Andreas Krebbel
bbf391dbf7
config.host: Include t-floattodi also for s390x.
...
2014-02-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.host: Include t-floattodi also for s390x.
* config/s390/32/_fixdfdi.c: Omit in 64 bit mode.
* config/s390/32/_fixsfdi.c: Likewise.
* config/s390/32/_fixtfdi.c: Likewise.
* config/s390/32/_fixunsdfdi.c: Likewise.
* config/s390/32/_fixunssfdi.c: Likewise.
* config/s390/32/_fixunstfdi.c: Likewise.
From-SVN: r207507
2014-02-05 15:02:50 +00:00
Rainer Orth
91da048112
Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)
...
gcc:
PR target/59788
* config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
(LINK_SPEC): Use it for -shared, -shared-libgcc.
libgcc:
PR target/59788
* config/t-slibgcc-sld (libgcc-unwind.map): New target.
(install-libgcc-unwind-map-forbuild): New target.
(all): Depend on install-libgcc-unwind-map-forbuild.
(install-libgcc-unwind-map): New target.
(install): Depend on install-libgcc-unwind-map.
gcc/testsuite:
PR target/59788
* g++.dg/eh/unwind-direct.C: New test.
toplevel:
PR target/59788
* ltmain.sh (opt_duplicate_compiler_generated_deps): Enable on
*solaris2*.
From-SVN: r207454
2014-02-04 09:31:38 +00:00
Sandra Loosemore
02b677311e
nios2.md (load_got_register): Initialize GOT pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
...
2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.md (load_got_register): Initialize GOT
pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
* config/nios2/nios2.c (nios2_function_profiler): Likewise.
libgcc/
* config/nios2/crti.S (_init): Initialize GOT pointer from
_gp_got instead of _GLOBAL_OFFSET_TABLE_.
From-SVN: r207409
2014-02-02 17:12:17 -05:00
Richard Sandiford
1ea0a6515f
configure.ac: Check __mips64 when setting host_address.
...
libgcc/
* configure.ac: Check __mips64 when setting host_address.
* configure: Regenerate.
* config.host (mips*-*-*): Add t-softfp-sfdf, mips/t-softfp-tf,
mips/t-mips64 and t-softfp.
(mips*-*-linux*): Don't add mips/t-tpbit.
* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS, FPBIT, FPBIT_CFLAGS)
(DPBIT, DPBIT_CFLAGS): Delete.
* config/mips/sfp-machine.h: New file.
* config/mips/t-mips64: Likewise.
* config/mips/t-softfp-tf: Likewise.
* config/mips/t-tpbit: Delete.
From-SVN: r207403
2014-02-02 16:17:15 +00:00
Marcus Shawcroft
f32b006110
[AArch64] Fix sfp-machine.h _FP_I_TYPE.
...
2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/sfp-machine.h (_FP_I_TYPE): Define
as long long.
From-SVN: r207259
2014-01-29 15:45:20 +00:00
Walter Lee
a5420aa44e
atomic.c: Include tconfig.h.
...
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilepro/atomic.c: Include tconfig.h. Don't include
config.h or system.h.
(bool) Define.
From-SVN: r207088
2014-01-25 20:37:01 +00:00
Walter Lee
24534912f7
atomic.c (pre_atomic_barrier): Mark inline.
...
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
(post_atomic_barrier): Ditto.
(__fetch_and_do): New macro.
(__atomic_fetch_and_do): Use __fetch_and_do.
(__sync_fetch_and_do): New macro.
(__sync_fetch_and_add_4): New function.
(__sync_fetch_and_sub_4): New function.
(__sync_fetch_and_or_4): New function.
(__sync_fetch_and_and_4): New function.
(__sync_fetch_and_xor_4): New function.
(__sync_fetch_and_nand_4): New function.
(__sync_fetch_and_add_8): New function.
(__sync_fetch_and_sub_8): New function.
(__sync_fetch_and_or_8): New function.
(__sync_fetch_and_and_8): New function.
(__sync_fetch_and_xor_8): New function.
(__sync_fetch_and_nand_8): New function.
(__do_and_fetch): New macro.
(__atomic_do_and_fetch): Use __do_and_fetch.
(__sync_do_and_fetch): New macro.
(__sync_add_and_fetch_4): New function.
(__sync_sub_and_fetch_4): New function.
(__sync_or_and_fetch_4): New function.
(__sync_and_and_fetch_4): New function.
(__sync_xor_and_fetch_4): New function.
(__sync_nand_and_fetch_4): New function.
(__sync_add_and_fetch_8): New function.
(__sync_sub_and_fetch_8): New function.
(__sync_or_and_fetch_8): New function.
(__sync_and_and_fetch_8): New function.
(__sync_xor_and_fetch_8): New function.
(__sync_nand_and_fetch_8): New function.
(__sync_exchange_methods): New macro.
(__sync_val_compare_and_swap_4): New function.
(__sync_bool_compare_and_swap_4): New function.
(__sync_lock_test_and_test_4): New function.
(__sync_val_compare_and_swap_8): New function.
(__sync_bool_compare_and_swap_8): New function.
(__sync_lock_test_and_test_8): New function.
(__subword_cmpxchg_body): New macro.
(__atomic_compare_exchange_1): Use __subword_cmpxchg_body.
(__atomic_compare_exchange_2): Ditto.
(__sync_subword_cmpxchg): New macro.
(__sync_val_compare_and_swap_1): New function.
(__sync_bool_compare_and_swap_1): New function.
(__sync_val_compare_and_swap_2): New function.
(__sync_bool_compare_and_swap_2): New function.
(__atomic_subword): Rename to ...
(__subword): ... New name.
(__atomic_subword_fetch): Use __subword.
(__sync_subword_fetch): New macro.
(__sync_fetch_and_add_1): New function.
(__sync_fetch_and_sub_1): New function.
(__sync_fetch_and_or_1): New function.
(__sync_fetch_and_and_1): New function.
(__sync_fetch_and_xor_1): New function.
(__sync_fetch_and_nand_1): New function.
(__sync_fetch_and_add_2): New function.
(__sync_fetch_and_sub_2): New function.
(__sync_fetch_and_or_2): New function.
(__sync_fetch_and_and_2): New function.
(__sync_fetch_and_xor_2): New function.
(__sync_fetch_and_nand_2): New function.
(__sync_add_and_fetch_1): New function.
(__sync_sub_and_fetch_1): New function.
(__sync_or_and_fetch_1): New function.
(__sync_and_and_fetch_1): New function.
(__sync_xor_and_fetch_1): New function.
(__sync_nand_and_fetch_1): New function.
(__sync_add_and_fetch_2): New function.
(__sync_sub_and_fetch_2): New function.
(__sync_or_and_fetch_2): New function.
(__sync_and_and_fetch_2): New function.
(__sync_xor_and_fetch_2): New function.
(__sync_nand_and_fetch_2): New function.
(__atomic_subword_lock): Use __subword.
(__sync_subword_lock): New macro.
(__sync_lock_test_and_set_1): New function.
(__sync_lock_test_and_set_2): New function.
From-SVN: r207087
2014-01-25 20:35:56 +00:00
Walter Lee
4d6d3bc532
atomic.c (BIT_OFFSET): Define.
...
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilepro/atomic.c (BIT_OFFSET): Define.
(__atomic_subword_cmpxchg): Use BIT_OFFSET.
(__atomic_subword): Ditto.
From-SVN: r207086
2014-01-25 20:34:42 +00:00
Walter Lee
cbd9890e93
atomic.c (__atomic_do_and_fetch): Add a prefix op argument.
...
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilepro/atomic.c (__atomic_do_and_fetch): Add a
prefix op argument.
(__atomic_nand_fetch_4): Add prefix op.
(__atomic_nand_fetch_8): Ditto.
From-SVN: r207085
2014-01-25 20:33:28 +00:00
Sterling Augustine
8fc36b1593
Fix typo.
...
From-SVN: r206900
2014-01-21 19:30:08 +00:00
Baruch Siach
800d8bd547
config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
...
libgcc/
* config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.
From-SVN: r206895
2014-01-21 19:06:32 +00:00
H.J. Lu
46dd124249
Move libgcc ChangeLog entries to libgcc/ChangeLog
...
From-SVN: r206486
2014-01-09 11:41:54 -08:00
Rong Xu
2c973ee7b3
libgcov-driver.c (this_prg): make it local to save bss space.
...
2014-01-09 Rong Xu <xur@google.com>
* libgcc/libgcov-driver.c (this_prg): make it local to save
bss space.
(gcov_exit_compute_summary): Ditto.
(gcov_exit_merge_gcda): Ditto.
(gcov_exit_merge_summary): Ditto.
(gcov_exit_dump_gcov): Ditto.
From-SVN: r206483
2014-01-09 19:13:47 +00:00
Rong Xu
40d6b7535c
gcov-io.c (gcov_var): Move from gcov-io.h.
...
2014-01-08 Rong Xu <xur@google.com>
* gcc/gcov-io.c (gcov_var): Move from gcov-io.h.
(gcov_position): Ditto.
(gcov_is_error): Ditto.
(gcov_rewrite): Ditto.
* gcc/gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
only part to libgcc/libgcov.h.
* libgcc/libgcov-driver.c: Use libgcov.h.
(buffer_fn_data): Use xmalloc instead of malloc.
(gcov_exit_merge_gcda): Ditto.
* libgcc/libgcov-driver-system.c (allocate_filename_struct): Ditto.
* libgcc/libgcov.h: New common header files for libgcov-*.h.
* libgcc/libgcov-interface.c: Use libgcov.h
* libgcc/libgcov-merge.c: Ditto.
* libgcc/libgcov-profiler.c: Ditto.
* libgcc/Makefile.in: Add dependence to libgcov.h
From-SVN: r206435
2014-01-08 16:37:08 +00:00
Joseph Myers
a02e7bddb8
ibm-ldouble.c (__gcc_qdiv): Scale up arguments in case of small numerator and finite nonzero result.
...
libgcc:
* config/rs6000/ibm-ldouble.c (__gcc_qdiv): Scale up arguments in
case of small numerator and finite nonzero result.
gcc/testsuite:
* gcc.target/powerpc/rs6000-ldouble-3.c: New test.
From-SVN: r206310
2014-01-03 02:05:44 +00:00
Richard Sandiford
ac1dca3cab
Update copyright years in libgcc/
...
From-SVN: r206295
2014-01-02 22:25:22 +00:00