Georg-Johann Lay
3ffc195810
fixed-bit.c (SATFRACT): Only declare / set min_low, min_high if TO_MODE_UNSIGNED == 0.
...
* fixed-bit.c (SATFRACT) <FROM_TYPE=1, TO_TYPE=4>: Only
declare / set min_low, min_high if TO_MODE_UNSIGNED == 0.
(SATFRACT) <FROM_TYPE=TO_TYPE=4>: Only declare / set min_low,
min_high if FROM_MODE_UNSIGNED == 0 and TO_MODE_UNSIGNED == 0.
From-SVN: r195141
2013-01-14 10:19:00 +00:00
Mark Kettenis
25c210f9bd
config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*): Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets.
...
libgcc/
* config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*):
Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets.
gcc/
* config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
TF_SIZE): Define.
From-SVN: r194999
2013-01-07 22:49:56 +00:00
Nick Clifton
db59befb09
lib1funcs.S: Only provide CALLT support functions if the CALLT instruction is supported.
...
* config/v850/lib1funcs.S: Only provide CALLT support functions if
the CALLT instruction is supported.
From-SVN: r194898
2013-01-04 10:21:55 +00:00
Jonathan Wakely
5aa12dbf6c
gthr.h (__gthread_cond_timedwait_recursive): Do not require.
...
* gthr.h (__gthread_cond_timedwait_recursive): Do not require.
* gthr-posix.h (__gthread_cond_timedwait_recursive): Remove.
From-SVN: r194652
2012-12-20 22:19:57 +00:00
John Tytgat
65f141179f
fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexp is 25.
...
* config/arm/fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexp
is 25.
From-SVN: r194474
2012-12-13 12:05:30 +00:00
Jakub Jelinek
ee3ae4f768
re PR libgcc/55451 (FAIL: gcc.dg/fixed-point/unary.c)
...
PR libgcc/55451
* fixed-bit.c (FIXED_SSADD, FIXED_SSSUB, FIXED_SSNEG): Avoid
undefined signed overflows.
From-SVN: r194439
2012-12-12 10:38:56 +01:00
Uros Bizjak
2fcfba3d65
re PR target/55344 (Cross compiling for alpha-linux fails because <signal.h> doesn't exist)
...
PR target/55344
* config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.
From-SVN: r194334
2012-12-09 19:15:59 +01:00
Uros Bizjak
4f2b3dc2b4
sfp-machine.h (FP_EX_ALL): Define.
...
* config/i386/sfp-machine.h (FP_EX_ALL): Define.
(FP_TRAPPING_EXCEPTIONS): Define.
* config/i386/32/sfp-machine.h (FP_EX_SHIFT): Define.
* config/i386/64/sfp-machine.h (FP_EX_SHIFT): Ditto.
From-SVN: r194243
2012-12-06 10:49:43 +01:00
Richard Henderson
066161a2aa
re PR bootstrap/55571 (PR48076 fix broke bootstrap on armv5tel-linux-gnueabi)
...
PR bootstrap/55571
* Makefile.in (libgcc_s.so): Depend on and link with libgcc.a.
From-SVN: r194159
2012-12-04 11:08:18 -08:00
Marcus Shawcroft
2562618148
AArch64: Define FP_TRAPPING_EXCEPTIONS.
...
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/sfp-machine.h (FP_EX_ALL): Define.
(FP_EX_SHIFT): Define.
(FP_TRAPPING_EXCEPTIONS): Define.
From-SVN: r194151
2012-12-04 15:51:55 +00:00
Marcus Shawcroft
868395e87f
aarch64: Refactor aarch64 sfp-machine.h
...
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/aarch64/sfp-machine.h (FP_RND_MASK): Define.
(FP_ROUNDMODE): Use FP_RND_MASK.
* config/aarch64/sfp-exceptions.c: New.
* config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS):
Use __sfp_handle_exceptions.
From-SVN: r194142
2012-12-04 14:16:17 +00:00
Richard Earnshaw
5005fe220a
config.host: (arm*-*-freebsd*): Remove.
...
* config.host: (arm*-*-freebsd*): Remove.
(arm*-*-linux*, arm*-*-uclinux*): Simplify logic.
(arm*-*-elf*): Remove.
(arm*-*-wince-pe*): Remove.
* arm/unwind-arm.c (struct fpa_reg): Delete.
(struct fpa_regs): Delete.
(phase1_vrs): Remove fpa element.
(_Unwind_VRS_Get): Remove _UVRSC_FPA.
(_Unwind_VRS_Set, _Unwind_VRS_Pop): Likewise.
* arm/pr-support.c (__gnu_unwind_execute): Remove FPA support.
* ieee754-sf.S (floatundisf): Remove FPA support.
(floatdisf): Likewise.
* ieee75f-df.S (floatundidf): Likewise.
(floatdidf): Likewise.
From-SVN: r194138
2012-12-04 13:49:09 +00:00
Kai Tietz
e5a81c8e46
re PR target/55445 (Always defined __SEH__ when build from trunk)
...
PR target/55445
* unwind-c.c (__SEH__): Make sure SjLj isn't active.
* unwind-generic.h: Likewise.
* unwind-seh.c: Likewise.
From-SVN: r193928
2012-11-29 10:36:41 +01:00
Richard Henderson
f4919e4a82
re PR libgcc/48076 (Unsafe double checked locking in __emutls_get_address)
...
PR libgcc/48076
* emutls.c (__emutls_get_address): Avoid race condition between
obj->loc.offset read and emutls_key initialization.
From-SVN: r193907
2012-11-28 13:01:26 -08:00
Georg-Johann Lay
e13d9d5aeb
Adjust decimal point of signed accum mode to GCC default.
...
libgcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
_divqq_helper.
* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
(__mulha3, __mulsa3)
(__divqq3, __divha3, __divsa3): Adjust to new position of
decimal point of signed accum types.
(__mulusa3_round): New function.
(__mulusa3): Use it.
(__divqq_helper): New function.
(__udivuqq3): Use it.
gcc/
Adjust decimal point of signed accum mode to GCC default.
PR target/54222
* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
(TA): Move decimal point one bit to the right.
* config/avr/avr.c (avr_out_fract): Rewrite.
From-SVN: r193721
2012-11-22 10:00:13 +00:00
Jakub Jelinek
1b845c6e70
re PR bootstrap/55370 (Bad libgcc.map)
...
PR bootstrap/55370
* libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it.
From-SVN: r193648
2012-11-20 09:36:31 +01:00
Teresa Johnson
822a258a98
This patch addresses the bogus "Invocation mismatch" messages seen in parallel profiledbootstrap builds of gcc.
...
This patch addresses the bogus "Invocation mismatch" messages seen in parallel
profiledbootstrap builds of gcc. See PR bootstrap/55051 for a discussion of
why this is occurring and why this checking is inaccurate. Leave it in when
!GCOV_LOCKED, to warn about concurrent update issues requiring locking.
2012-11-18 Teresa Johnson <tejohnson@google.com>
PR bootstrap/55051
* libgcov.c (gcov_exit): Remove merged program summary
comparison unless !GCOV_LOCKED.
From-SVN: r193612
2012-11-19 05:20:59 +00:00
Marcus Shawcroft
54f4eaf08d
soft-fp updated from GLIBC upstream.
...
From-SVN: r193540
2012-11-15 18:39:47 +00:00
Ian Lance Taylor
e808687a8c
generic-morestack.c (__generic_morestack): Align the returned stack pointer to a 32 byte boundary.
...
* generic-morestack.c (__generic_morestack): Align the returned
stack pointer to a 32 byte boundary.
* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
increment the return address until we have decided that we don't
have a varargs function.
(__morestack) [32-bit]: Align stack correctly when calling C
functions.
(__morestack) [64-bit]: Likewise.
From-SVN: r193264
2012-11-06 23:04:28 +00:00
Thomas Schwinge
460277e023
bid_functions.h: Check for __GLIBC__ additionally to LINUX when defining format specifiers.
...
libgcc/config/libbid/
* bid_functions.h: Check for __GLIBC__ additionally to LINUX when
defining format specifiers.
config/
* dfp.m4 (enable_decimal_float): Enable for i?86*-*-gnu*.
gcc/
* configure: Regenerate.
libdecnumber/
* configure: Regenerate.
libgcc/
* configure: Regenerate.
From-SVN: r193143
2012-11-05 00:08:42 +01:00
Uros Bizjak
73edb27727
re PR target/55175 (i386/sfp-exceptions.c:52:7: error: impossible constraint in 'asm')
...
PR target/55175
* config/i386/sfp-exceptions.c: Guard with _SOFT_FLOAT.
* config/i386/sfp-machine.h: Guard exception handling
code with _SOFT_FLOAT.
* config/i386/32/sfp-machine.h: Guard rounding handling
code with _SOFT_FLOAT.
* config/i386/64/sfp-machine.h: Ditto.
From-SVN: r193095
2012-11-02 15:09:02 +01:00
Joel Sherrill
c1d4fa04ce
config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o as extra_parts.
...
2012-10-31 Joel Sherrill <joel.sherrill@oarcorp.com>
* config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o
as extra_parts.
From-SVN: r193010
2012-10-31 03:17:37 +01:00
Uros Bizjak
eff6ca85db
crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
...
* config/i386/crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
Clear only fxsave.mxcsr_mask. Use saved mxcsr from fxsave structure
when appropriate. Correct structure element types.
* config/i386/t-crtfm (crtfastmath.o): Compile with -mfxsr, remove
-minline-all-stringops from compile flags.
From-SVN: r192855
2012-10-26 19:54:50 +02:00
Ralf Corsepius
43a8f1a1c3
config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
...
2012-10-25 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
From-SVN: r192805
2012-10-25 14:06:06 +02:00
Ralf Corsepius
76c7836112
config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
...
2012-10-25 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.
From-SVN: r192799
2012-10-25 10:08:04 +02:00
Sebastian Huber
6f28886030
config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to tmake_file.
...
2012-10-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to
tmake_file.
From-SVN: r192795
2012-10-25 05:30:23 +02:00
Ian Bolton
1e3d5096a3
AArch64 [8/10]
...
2012-10-23 Ian Bolton <ian.bolton@arm.com>
Jim MacArthur <jim.macarthur@arm.com>
Marcus Shawcroft <marcus.shawcroft@arm.com>
Nigel Stephens <nigel.stephens@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Richard Earnshaw <rearnsha@arm.com>
Sofiane Naci <sofiane.naci@arm.com>
Stephen Thomas <stephen.thomas@arm.com>
Tejas Belagod <tejas.belagod@arm.com>
Yufeng Zhang <yufeng.zhang@arm.com>
* config.host (aarch64*-*-elf, aarch64*-*-linux*): New.
* config/aarch64/crti.S: New file.
* config/aarch64/crtn.S: New file.
* config/aarch64/linux-unwind.h: New file.
* config/aarch64/sfp-machine.h: New file.
* config/aarch64/sync-cache.c: New file.
* config/aarch64/t-aarch64: New file.
* config/aarch64/t-softfp: New file.
Co-Authored-By: Jim MacArthur <jim.macarthur@arm.com>
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>
Co-Authored-By: Nigel Stephens <nigel.stephens@arm.com>
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
Co-Authored-By: Stephen Thomas <stephen.thomas@arm.com>
Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
Co-Authored-By: Yufeng Zhang <yufeng.zhang@arm.com>
From-SVN: r192729
2012-10-23 17:27:13 +00:00
Hans-Peter Nilsson
8a740f0731
crti.S: Mark program and data addresses using PRELD.
...
* config/mmix/crti.S: Mark program and data addresses using PRELD.
Remove typo'd and unnecessary alignment-LOC for .data. Remove
no-longer-needed LDBU insns.
From-SVN: r192646
2012-10-21 03:16:47 +00:00
Sebastian Huber
153c839726
config.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm*-*-rtemseabi*" to "arm*-*-rtems*".
...
2012-10-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.host
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
"arm*-*-rtemseabi*" to "arm*-*-rtems*".
From-SVN: r192599
2012-10-19 01:17:53 +00:00
Matthew Gretton-Dann
595fefee5d
Add basic armv8-a support
...
2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/lib1funcs.S (__ARM_ARCH__): Define for ARMv8-A.
2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* gcc.target/arm/ftest-armv8a-arm.c: New testcase.
* gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
* gcc.target/arm/ftest-support-arm.h (feature_matrix): Add
ARMv8-A row.
* gcc.target/arm/ftest-support-thumb.h (feature_matrix):
Likewise.
* gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
* lib/target-supports.exp: Add ARMv8-A architecture expectation.
2012-10-17 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config.gcc: Add support for ARMv8 for arm*-*-* targets.
* config/arm/arm-arches.def: Add armv8-a
* config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
crypto-neon-fp-armv8. Add crypto field.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
(arm_arch8): New global variable.
(ARM_FPU): Add crypto parameter.
(arm_option_override): Set arm_arch8, update comments.
* config/arm/arm.h (TARGET_CRYPTO): New macro.
(arm_fpu_desc): Add crypto field.
(base_architecture): Add ARMv8 entry.
(arm_arch8): New variable declaration.
* config/arm/bpabi.h: ARMv8 supports BE8.
* doc/invoke.texi: Document ARMv8 options.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r192558
2012-10-18 10:49:23 +00:00
Matthias Klose
9945a87681
config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
...
gcc/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
* doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
gcc/testsuite/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* lib/target-supports.exp (check_profiling_available): Match
arm*-*-linux-* for ARM Linux/GNU.
* g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
* gfortran.dg/enum_10.f90: Likewise.
* gfortran.dg/enum_9.f90: Likewise.
* gcc.target/arm/synchronize.c: Likewise.
* g++.old-deja/g++.jason/enum6.C: Likewise.
* g++.old-deja/g++.other/enum4.C: Likewise.
* g++.old-deja/g++.law/enum9.C: Likewise.
gcc/ada/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
ARM Linux/GNU.
libgcc/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* config.host: Match arm*-*-linux-* for ARM Linux/GNU.
libstdc++-v3/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
libjava/
2012-10-15 Matthias Klose <doko@ubuntu.com>
* configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
* configure: Regenerate.
From-SVN: r192475
2012-10-15 21:12:23 +00:00
Pavel Chupin
1183dc2cd8
gthr.m4: New.
...
* config/gthr.m4: New. Define GCC_AC_THREAD_HEADER.
* libgcc/configure: Regenerate.
* libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use.
* libstdc++-v3/Makefile.in: Regenerate.
* libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
* libstdc++-v3/configure: Regenerate.
* libstdc++-v3/doc/Makefile.in: Regenerate.
* libstdc++-v3/include/Makefile.am: Regenerate.
* libstdc++-v3/include/Makefile.in: Rename variable.
* libstdc++-v3/libsupc++/Makefile.in: Regenerate.
* libstdc++-v3/po/Makefile.in: Regenerate.
* libstdc++-v3/python/Makefile.in: Regenerate.
* libstdc++-v3/src/Makefile.in: Regenerate.
* libstdc++-v3/src/c++11/Makefile.in: Regenerate.
* libstdc++-v3/src/c++98/Makefile.in: Regenerate.
* libstdc++-v3/testsuite/Makefile.in: Regenerate.
From-SVN: r192458
2012-10-15 13:10:30 +00:00
Uros Bizjak
945a9c1f6d
sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets only.
...
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
instructions for 64bit targets only.
From-SVN: r192355
2012-10-11 13:44:51 +02:00
Uros Bizjak
fb8bf47a34
sfp-machine.h (FP_RND_NEAREST, [...]): Move to ...
...
* config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ...
* config/i386/32/sfp-machine.h: ... here.
* config/i386/64/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX):
New defines.
From-SVN: r192324
2012-10-10 20:35:32 +02:00
Matthias Klose
acb72498a7
unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
...
2012-10-07 Matthias Klose <doko@ubuntu.com>
* config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
as unused.
(_Unwind_decode_typeinfo_ptr): Mark base as unused.
From-SVN: r192181
2012-10-07 10:06:30 +00:00
Mark Kettenis
8eaee0f0f1
config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
...
* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
(ElfW): Likewise.
From-SVN: r192148
2012-10-05 23:35:55 +00:00
Jonathan Wakely
5e3e4fe874
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
...
PR other/53889
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Fix parameter names.
From-SVN: r192114
2012-10-05 08:35:12 +01:00
Oleg Endo
8608637610
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
...
PR target/33135
* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.
From-SVN: r192097
2012-10-04 18:32:20 +00:00
Oleg Endo
9597375a25
re PR target/50457 (SH2A atomic functions)
...
PR target/50457
* config/sh/sh.c (parse_validate_atomic_model_option): Handle name
strings in sh_atomic_model.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
to ...
* config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
Add __SH1__ and __SH2__ defines. Add __SH_ATOMIC_MODEL_*__ define.
* config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
variables.
(sh_cpu_cpp_builtins): Declare new function.
PR target/50457
* config/sh/linux-atomic.S: Delete.
* config/sh/linux-atomic.c: New.
* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with
linux-atomic.c. Add cflags to disable warnings.
From-SVN: r192051
2012-10-03 21:36:14 +00:00
Jonathan Wakely
1504e3e1c4
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
...
libgcc:
PR other/53889
* gthr.h (__gthread_recursive_mutex_destroy): Document new required
function.
* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
Likewise.
* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.
libstdc++-v3:
PR other/53889
* include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex_base::_S_destroy): Remove.
(__recursive_mutex_base::_S_destroy_win32): Likewise.
* include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
Use __gthread_recursive_mutex_destroy.
(__recursive_mutex::_S_destroy): Remove.
(__recursive_mutex::_S_destroy_win32): Likewise.
From-SVN: r192002
2012-10-02 21:22:32 +01:00
Mark Kettenis
17f293b014
config.host (hppa-*-openbsd*): New target.
...
libgcc/:
* config.host (hppa-*-openbsd*): New target.
* config/pa/t-openbsd: New file.
gcc:/
* config.gcc (hppa*-*-openbsd*): New target.
* config/pa/pa-openbsd.h: New file.
* config/pa/pa32-openbsd.h: New file.
* config/host-openbsd.c: Update copyright year.
(TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.
From-SVN: r191508
2012-09-20 01:20:34 +00:00
Georg-Johann Lay
51526856a1
re PR target/54222 ([avr] Implement fixed-point support)
...
gcc/
PR target/54222
* config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
ALL124U): New mode iterators.
(<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS.
(<code_stdname><mode>3): New insns for US_PLUS, US_MINUS.
(usneg<mode>2): New insns.
(<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS.
(*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS.
* config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
(avr_out_plus64, avr_out_minus64): Use avr_out_plus instead.
(<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS.
(<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS.
(<code_stdname><mode>3_insn): New insns.
(<code_stdname><mode>3_const_insn): New insns.
* config/avr/avr.md (cc): Add: plus. Remove: out_plus,
out_plus_noclobber, minus.
(length): Add: plus. Remove: out_plus, out_plus_noclobber,
plus64, minus, minus64.
(abelian): New code_attr.
(code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs,
us_plus, us_minus, us_neg.
(*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3):
Use avr_out_plus to output.
* config/avr/avr-protos.h (avr_out_plus): Change prototype.
(avr_out_plus_noclobber, avr_out_minus): Remove.
(avr_out_plus64, avr_out_minus64): Remove.
* config/avr/avr.c (avr_out_plus_1): Add new default arguments
code_sat, sign. Saturate after operation if code_sat != UNKNOWN.
(avr_out_plus_symbol): New static function.
(avr_out_plus): Rewrite.
(adjust_insn_length): Handle: ADJUST_LEN_PLUS. Remove handling
of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS,
ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
(notice_update_cc): Handle: CC_PLUS. Remove handling of: CC_MINUS,
CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
(avr_out_plus_noclobber, avr_out_minus): Remove.
(avr_out_plus64, avr_out_minus64): Remove.
(avr_print_operand): Print raw REGNO if 'r' is used with REG.
libgcc/
PR target/54222
* config/avr/lib1funcs-fixed.S (__ssneg_2, __ssabs_2, __ssneg_4,
__ssabs_4, __clr_8, __ssneg_8, __ssabs_8,
__usadd_8, __ussub_8, __ssadd_8, __sssub_8): New functions.
(__divsa3): Use __negsi2 to negate r_quoL.
* config/avr/lib1funcs.S (FALIAS): New macro.
(__divmodsi4): Break out and use __divmodsi4_neg1 as...
(__negsi2): ...this new function.
* config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2, _clr_8,
_ssneg_2, _ssneg_4, _ssneg_8, _ssabs_2, _ssabs_4,
_ssabs_8, _ssadd_8, _sssub_8, _usadd_8, _ussub_8.
(LIB2FUNCS_EXCLUDE): Fix typo for _add _sub.
Add: _ssadd*, _sssub*, _ssneg*, _ssabs* for signed fixed modes.
Add: _usadd*, _ussub*, _usneg* for unsigned fixed modes.
gcc/testsuite/
PR target/54222
* gcc.target/avr/torture/fix-types.h: New.
* gcc.target/avr/torture/vals-hr.def: New.
* gcc.target/avr/torture/vals-r.def: New.
* gcc.target/avr/torture/vals-k.def: New.
* gcc.target/avr/torture/vals-ur.def: New.
* gcc.target/avr/torture/vals-uk.def: New.
* gcc.target/avr/torture/vals-uhr.def: New.
* gcc.target/avr/torture/vals-llk.def: New.
* gcc.target/avr/torture/vals-ullk.def: New.
* gcc.target/avr/torture/sat-hr-plus-minus.c: New.
* gcc.target/avr/torture/sat-r-plus-minus.c: New.
* gcc.target/avr/torture/sat-k-plus-minus.c: New.
* gcc.target/avr/torture/sat-ur-plus-minus.c: New.
* gcc.target/avr/torture/sat-uk-plus-minus.c: New.
* gcc.target/avr/torture/sat-uhr-plus-minus.c: New.
* gcc.target/avr/torture/sat-llk-plus-minus.c: New.
* gcc.target/avr/torture/sat-ullk-plus-minus.c: New.
From-SVN: r191345
2012-09-15 15:52:28 +00:00
Oleg Endo
aadb5b43ae
re PR target/54089 ([SH] Refactor shift patterns)
...
PR target/54089
* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
dynamic shifts are available.
(SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment.
* config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
* config/sh/predicates.md (shift_count_operand): Allow
arith_reg_operand even if TARGET_DYNSHIFT is false.
* config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
if needed.
(ashlsi3_d_call, lshrsi3_d_call): New insns.
PR target/54089
* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
(lshrsi3): Reimplement as lshrsi3_r0.
PR target/54089
* gcc.target/sh/pr54089-3.c: New.
From-SVN: r191161
2012-09-10 20:35:25 +00:00
Andreas Schwab
d5d66749a3
re PR target/46191 (Non-absolute names in libgcc_s.so)
...
PR target/46191
* config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead
of libgcc.a.
From-SVN: r191160
2012-09-10 20:14:47 +00:00
Teresa Johnson
c6c36e7310
This fixes part of the issue described in PR gcov-profile/54487 where there...
...
This fixes part of the issue described in PR gcov-profile/54487 where
there were warnings about mismatches due to slight differences in the
merged histograms in different object files. This can happen due to
the truncating integer division in the merge routine, which could result
in slightly different histograms when summaries are merged in different
orders.
2012-09-07 Teresa Johnson <tejohnson@google.com>
PR gcov-profile/54487
* libgcc/libgcov.c (gcov_exit): Avoid warning on histogram
differences.
From-SVN: r191074
2012-09-07 13:49:47 +00:00
Georg-Johann Lay
b588ae3074
re PR target/54461 ([avr] add configure option for better AVR-Libc integration)
...
PR target/54461
* configure.ac (noconfigdirs,target=avr-*-*): Add target-newlib,
target-libgloss if not configured --with-avrlibc=no.
* configure: Regenerate.
libgcc/
PR target/54461
* config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
not configured --with-avrlibc=no.
* config/avr/t-avrlibc: New file.
* Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE.
(DPBIT_FUNCS): Ditto.
(TPBIT_FUNCS): Ditto.
gcc/
PR target/54461
* config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
not configured --with-avrlibc=no.
(tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
--with-avrlibc=no.
* config/avr/avrlibc.h: New file.
* config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
not configured --with-avrlibc=no.
* doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
From-SVN: r190967
2012-09-05 08:47:50 +00:00
Teresa Johnson
abd16fb112
Adding change log entries for r190952:
...
Enhances the gcov program summary by adding a histogram of arc counter
entries. This is used to compute working set information in the compiler
for use by optimizations that need information on hot vs cold counter
values or the rough working set size in terms of the number of counters.
Each working set data point is the minimum counter value and number of
counters required to reach a given percentage of the cumulative counter
sum across the profiled execution (sum_all in the program summary).
2012-09-04 Teresa Johnson <tejohnson@google.com>
* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
(gcov_histogram_insert): New function.
(gcov_compute_histogram): Ditto.
(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
histograms during summary merging.
* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
entries to function summary along with an occupancy bit vector.
(gcov_read_summary): Read in the histogram entries.
(gcov_histo_index): New function.
(void gcov_histogram_merge): Ditto.
* gcc/gcov-io.h (gcov_type_unsigned): New type.
(struct gcov_bucket_type): Ditto.
(struct gcov_ctr_summary): Include histogram.
(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
(GCOV_HISTOGRAM_SIZE): New macro.
(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
(gcov_working_sets): New global variable.
(compute_working_sets): New function.
(find_working_set): Ditto.
(get_exec_counts): Invoke compute_working_sets.
* gcc/coverage.c (read_counts_file): Merge histograms, and
fix bug with accessing summary info for non-summable counters.
* gcc/basic-block.h (gcov_type_unsigned): New type.
(struct gcov_working_set_info): Ditto.
(find_working_set): Declare.
* gcc/gcov-dump.c (tag_summary): Dump out histogram.
From-SVN: r190953
2012-09-04 21:20:30 +00:00
Mark Kettenis
613061fdd0
config.host (x86_64-*-openbsd*): New target.
...
libgcc/
* config.host (x86_64-*-openbsd*): New target.
gcc/
* config.gcc (x86_64-*-openbsd*): New target.
* config.host (*-*-openbsd*): New target.
* config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
* config/i386/openbsdelf.h: Remove some superfluous defines and
group things together in a more logical fashion.
(DBX_REGISTER_NUMBER): Provide a
definition that works on both 32-bit and 64-bit targets.
(WCHAR_TYPE_SIZE): Hardcode as 32.
(NO_DOLLAR_IN_LABEL): Remove undef.
(TARGET_DEFAULT): Remove.
(SET_ASM_OP): Remove.
(DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
(ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
(DWARF2_UNWIND_INFO): Remove define.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/host-openbsd.c: New file.
* config/t-openbsd (USER_H): Add EXTRA_HEADERS.
* config/x-openbsd: New file.
From-SVN: r190863
2012-09-02 14:13:21 +00:00
Chung-Lin Tang
867a834534
crtfastmath.c (set_fast_math): Add 'nomips16' attribute.
...
2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
libgcc/
* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
attribute.
From-SVN: r190773
2012-08-29 09:31:52 +00:00
Georg-Johann Lay
4aeaaca35f
re PR target/54222 ([avr] Implement fixed-point support)
...
PR target/54222
* config/avr/t-avr (conv_X): Rename to func_X.
From-SVN: r190646
2012-08-24 13:01:54 +00:00