blob: 79ce55c6293312d49399ed97065c3ec63f5b432d [file] [log] [blame]
2024-04-10 Andre Vieira <>
* config/aarch64/t-softfp (softfp_extras): Add floatbitinthf,
floatbitintbf, floatbitinttf and fixtfbitint.
* config/aarch64/libgcc-softfp.ver (GCC_14.0.0): Add __floatbitinthf,
__floatbitintbf, __floatbitinttf and __fixtfbitint.
2024-04-09 Sergey Bugaev <>
* Recognize aarch64*-*-gnu* hosts.
* config/aarch64/gnu-unwind.h: New file.
* config/aarch64/heap-trampoline.c
(allocate_trampoline_page): Support GNU/Hurd.
2024-04-04 Jørgen Kvalsvik <>
* libgcov-merge.c (__gcov_merge_ior): New.
2024-04-03 Wilco Dijkstra <>
* config/aarch64/cpuinfo.c: Add HWCAP_EVTSTRM, HWCAP_CRC32, HWCAP_CPUID,
2024-04-02 Jakub Jelinek <>
* unwind-dw2-fde.c (struct fde_accumulator): Fix duplicated
words in comment; is is -> is.
2024-03-25 Max Filippov <>
* (__gnu_personality_sigframe_fdpic): Cast
last argument of _Unwind_VRS_Set to void *.
2024-03-22 Thomas Neumann <>
PR libgcc/111731
* unwind-dw2-fde.c: Split unwind ranges if they contain the
unwind table.
2024-03-21 Jakub Jelinek <>
PR libgcc/114397
* libgcc2.c (__divmodbitint4): Don't assume un < vn always means
abs(v) > abs(u), check for a special case of un + 1 == vn where
u is non-negative and v negative and after v's negation vn could
be reduced by 1.
2024-03-20 Flavio Cruz <>
* config/i386/gnu-unwind.h: Support unwinding x86_64 signal frames.
2024-03-15 Jakub Jelinek <>
PR libgcc/114327
* libgcc2.c (bitint_negate): Return UWtype bitwise or of all the limbs
before negation rather than void.
(__divmodbitint4): Determine whether to fill in the upper limbs after
negation based on whether bitint_negate returned 0 or non-zero, rather
then always filling with -1.
2024-02-22 Kewen Lin <>
PR target/109987
* config/rs6000/t-float128-hw: Replace options -mpower{8,9}-vector
with -mcpu=power9.
* Update use of option -mpower9-vector with
* configure: Regenerate.
2024-02-21 Iain Sandoe <>
* config/aarch64/heap-trampoline.c
(aarch64_trampoline_insns): Arrange to encode instructions as a
byte array so that the order is independent of memory byte order.
(struct aarch64_trampoline): Likewise.
2024-02-20 Iain Sandoe <>
PR target/113971
* config/aarch64/heap-trampoline.c: Allow all linux variants.
2024-02-16 Matteo Italia <>
PR libgcc/113850
* config/i386/gthr-win32-cond.c (__gthr_win32_abs_to_rel_time):
fix absolute timespec to relative milliseconds count
conversion (it incorrectly returned seconds instead of
milliseconds); this avoids spurious wakeups in
2024-02-14 Jakub Jelinek <>
H.J. Lu <>
PR target/113855
* config/i386/heap-trampoline.c (trampoline_insns): Add IBT
support and pad to the multiple of 4 bytes. Use movabsq
instead of movabs in comments. Add -mx32 variant.
2024-02-13 Jakub Jelinek <>
* soft-fp/bitint.h (FP_FROM_BITINT): If iprec < 0 and msb is all ones,
just set n to 1 instead of using __builtin_clzll (~msb).
2024-02-12 Iain Sandoe <>
PR target/113855
* Add trampoline support to x?86-linux.
* config/i386/heap-trampoline.c (trampoline_insns): Provide
a variant for IA32.
(union ix86_trampoline): Likewise.
(__gcc_nested_func_ptr_created): Implement a basic trampoline
for IA32.
2024-02-10 Jakub Jelinek <>
* soft-fp/floatbitintdd.c (__bid_floatbitintdd): Or in all remainder
limbs into inexact rather than just first two.
* soft-fp/floatbitintsd.c (__bid_floatbitintsd): Likewise.
* soft-fp/floatbitinttd.c (__bid_floatbitinttd): Likewise.
2024-02-10 Jakub Jelinek <>
* soft-fp/fixddbitint.c (__bid_fixddbitint): Fix up
BIL_TYPE_SIZE == 32 shifts.
* soft-fp/fixsdbitint.c (__bid_fixsdbitint): Likewise.
* soft-fp/fixtdbitint.c (__bid_fixtdbitint): Likewise.
* soft-fp/floatbitintdd.c (__bid_floatbitintdd): Likewise.
* soft-fp/floatbitinttd.c (__bid_floatbitinttd): Likewise.
2024-02-09 Iain Sandoe <>
* config/i386/libgcc-darwin.ver: Export bf and bitint-related
2024-02-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/113700
* config/i386/libgcc-sol2.ver (GCC_14.0.0): Added all symbols from
i386/libgcc-glibc.ver (GCC_12.0.0, GCC_13.0.0, GCC_14.0.0).
* config/i386/libgcc-glibc.ver: Request notifications on updates.
2024-02-06 Matteo Italia <>
PR libgcc/113337
* unwind-seh.c (_Unwind_Resume_or_Rethrow): forward
_Unwind_RaiseException return code back to caller instead of
calling abort, allowing __cxa_rethrow to invoke std::terminate
in case of uncaught rethrown exception
2024-02-02 Jakub Jelinek <>
PR libgcc/113604
* libgcc2.c (__divmodbitint4): If uv1 >= vv1, subtract
vv1 from uv1:uv0 once or twice as needed, rather than
subtracting vv1:vv1.
2024-02-02 Khem Raj <>
* config/i386/enable-execute-stack-mingw32.c: Include
stdlib.h for abort() definition.
2024-02-02 Jakub Jelinek <>
PR target/113700
* config/i386/libgcc-glibc.ver (GCC_14.0.0): Remove __PFX prefixes
from symbol names.
2024-02-01 Jakub Jelinek <>
PR libgcc/113402
* libgcc2.h (__gcc_nested_func_ptr_created): Change type of last
argument from void ** to void *.
* config/i386/heap-trampoline.c (__gcc_nested_func_ptr_created):
Change type of dst from void ** to void * and cast dst to void **
before dereferencing it.
* config/aarch64/heap-trampoline.c (__gcc_nested_func_ptr_created):
2024-02-01 Jakub Jelinek <>
PR libgcc/113403
* config/i386/t-heap-trampoline: Add to LIB2ADDEHSHARED
i386/heap-trampoline.c rather than aarch64/heap-trampoline.c.
2024-02-01 Szabolcs Nagy <>
* config/aarch64/crti.S: Remove stack marking.
* config/aarch64/crtn.S: Remove stack marking, include aarch64-asm.h
* config/aarch64/lse.S: Remove stack and GNU property markings.
2024-01-30 Iain Sandoe <>
PR libgcc/113403
* Build libheap_t.a for i686/x86_64 Darwin.
* config/aarch64/heap-trampoline.c (HEAP_T_ATTR): New.
(allocate_tramp_ctrl): Allow a target to build this as a weak def.
(__gcc_nested_func_ptr_created): Likewise.
* config/i386/heap-trampoline.c (HEAP_T_ATTR): New.
(allocate_tramp_ctrl): Allow a target to build this as a weak def.
(__gcc_nested_func_ptr_created): Likewise.
* config/t-darwin: Build libheap_t.a (a CRT with heap trampoline
2024-01-30 Iain Sandoe <>
PR libgcc/113403
* config/aarch64/t-heap-trampoline: Move the heap trampoline
support functions from libgcc.a to libgcc_eh.a.
* config/i386/t-heap-trampoline: Likewise.
2024-01-28 Iain Sandoe <>
Jakub Jelinek <>
PR libgcc/113402
* config/aarch64/heap-trampoline.c: Rename
__builtin_nested_func_ptr_created to __gcc_nested_func_ptr_created and
__builtin_nested_func_ptr_deleted to __gcc_nested_func_ptr_deleted.
* config/i386/heap-trampoline.c: Likewise.
* libgcc2.h: Likewise.
* (GCC_7.0.0): Likewise and then move
__gcc_nested_func_ptr_created and
__gcc_nested_func_ptr_deleted from this symbol version to ...
(GCC_14.0.0): ... this one.
2024-01-26 Andrew Stubbs <>
* config/gcn/amdgcn_veclib.h (CDNA3_PLUS): Handle RDNA3.
2024-01-23 Zac Walker <>
* config/aarch64/aarch64-asm.h (HIDDEN, SYMBOL_SIZE, SYMBOL_TYPE)
* config/aarch64/__arm_sme_state.S: Use them.
* config/aarch64/__arm_tpidr2_save.S: Likewise.
* config/aarch64/__arm_za_disable.S: Likewise.
* config/aarch64/crti.S: Likewise.
* config/aarch64/lse.S: Likewise.
2024-01-12 Jakub Jelinek <>
* libgcc2.h (UBILtype): New typedef with may_alias attribute.
(__mulbitint3, __divmodbitint4): Use UBILtype * instead of
UWtype * and const UBILtype * instead of const UWtype *.
* libgcc2.c (bitint_reduce_prec, bitint_mul_1, bitint_addmul_1,
__mulbitint3, bitint_negate, bitint_submul_1, __divmodbitint4):
* soft-fp/bitint.h (UBILtype): Change define into a typedef with
may_alias attribute.
2024-01-12 Sandra Loosemore <>
* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Do not try to use
_dl_find_object on nios2; it doesn't work.
2023-12-23 Thomas Schwinge <>
* c++-minimal/README: New.
* c++-minimal/guard.c: New.
* config/gcn/t-amdgcn (LIB2ADD): Add it.
* config/nvptx/t-nvptx (LIB2ADD): Likewise.
2023-12-20 Alexandre Oliva <>
PR middle-end/112917
* (sparc, sparc64): Enable...
* config/sparc/t-sparc: ... this new fragment.
2023-12-20 Alexandre Oliva <>
* strub.c (ATTRIBUTE_NOINLINE): New.
(__strub_dummy_force_no_leaf): Drop it.
2023-12-16 Andrew Carlotti <>
* config/aarch64/cpuinfo.c (enum CPUFeatures): Move to shared
copy in gcc/common
2023-12-16 Andrew Carlotti <>
Pavel Iliin <>
* config/aarch64/t-aarch64: Include cpuinfo.c
* config/aarch64/cpuinfo.c: New file
(__init_cpu_features_constructor) New.
(__init_cpu_features_resolver) New.
(__init_cpu_features) New.
2023-12-11 Lipeng Zhu <>
* gthr-posix.h (__GTHREAD_RWLOCK_INIT): New macro.
(__gthrw): New function.
(__gthread_rwlock_rdlock): New function.
(__gthread_rwlock_tryrdlock): New function.
(__gthread_rwlock_wrlock): New function.
(__gthread_rwlock_trywrlock): New function.
(__gthread_rwlock_unlock): New function.
2023-12-08 Florian Weimer <>
* libgcov-interface.c (__gcov_fork): Use __builtin_fork instead
of fork.
2023-12-08 Szabolcs Nagy <>
* Regenerate.
2023-12-08 Szabolcs Nagy <>
* config/aarch64/__arm_za_disable.S: Add hidden alias.
* config/aarch64/aarch64-unwind.h: Reset the SME state before
EH return via the _Unwind_Frames_Extra hook.
2023-12-08 Szabolcs Nagy <>
* config/aarch64/t-aarch64: Add sources to the build.
* config/aarch64/__aarch64_have_sme.c: New file.
* config/aarch64/__arm_sme_state.S: New file.
* config/aarch64/__arm_tpidr2_restore.S: New file.
* config/aarch64/__arm_tpidr2_save.S: New file.
* config/aarch64/__arm_za_disable.S: New file.
* config/aarch64/aarch64-asm.h: New file.
* config/aarch64/libgcc-sme.ver: New file.
2023-12-08 Szabolcs Nagy <>
* configure: Regenerate.
* Check for __getauxval.
2023-12-08 Szabolcs Nagy <>
* configure: Regenerate.
* Check for .variant_pcs.
2023-12-07 Alexandre Oliva <>
* Check for strub support.
* configure: Rebuilt.
* Compile strub.c conditionally.
2023-12-06 Thomas Schwinge <>
Jakub Jelinek <>
PR libgcc/109289
* emutls.c: Add GCC diagnostic ignored "-Wbuiltin-declaration-mismatch"
2023-12-06 Alexandre Oliva <>
* (LIB2ADD): Add strub.c.
* libgcc2.h (__strub_enter, __strub_update, __strub_leave):
* strub.c: New.
* (__strub_enter): Add to GCC_14.0.0.
(__strub_update, __strub_leave): Likewise.
2023-12-03 Jeff Law <>
* unwind-pe.h (_Unwind_gnu_Find_got): Add prototype.
2023-12-03 Jeff Law <>
* config/rx/rx-abi-functions.c (__ltdf2, __gtdf2): Add prototype.
(__ledf2, __gedf2, __eqdf2, __nedf2): Likewise.
(__ltsf2, __gtsf2, __lesf2, __gesf2, __eqsf2, __nesf2): Likewise.
2023-12-03 Jeff Law <>
* config/frv/frvbegin.c (atexit): Add prototype.
2023-12-01 Alexandre Oliva <>
* (__hardcfr_check): Add to GCC_14.0.0.
2023-12-01 Sebastian Huber <>
PR target/112777
always defined as either 0 or 1.
2023-12-01 Florian Weimer <>
* config/aarch64/linux-unwind.h
(aarch64_fallback_frame_state): Add cast to the expected type
in sc assignment.
2023-11-30 Wilco Dijkstra <>
PR target/111404
* config/aarch64/lse.S (__aarch64_cas16_acq_rel): Execute STLXP using
either new value or loaded value.
2023-11-27 Richard Earnshaw <>
* config/arm/lib1funcs.S (__sync_synchronize): Adjust warning message.
2023-11-24 Richard Earnshaw <>
* (arm*-*-eabi* | arm*-*-rtems*):
Add arm/t-sync to the makefile rules.
* config/arm/lib1funcs.S (__sync_synchronize_none)
(__sync_synchronize_cp15dmb, __sync_synchronize_dmb)
(__sync_synchronize): New functions.
* config/arm/t-sync: New file.
* config/arm/sync-none.specs: Likewise.
* config/arm/sync-dmb.specs: Likewise.
* config/arm/sync-cp15dmb.specs: Likewise.
2023-11-23 Jose E. Marchesi <>
* hardcfr.c (__hardcfr_check_fail): Mark as always_inline.
2023-11-21 Jakub Jelinek <>
* libgcov.h (GCOV_SUPPORTS_ATOMIC): Formatting fixes.
2023-11-18 Sebastian Huber <>
* libgcov.h (GCOV_SUPPORTS_ATOMIC): Always define it.
Set it also to 1, if __LIBGCC_HAVE_LIBATOMIC is defined.
2023-11-18 Sebastian Huber <>
2023-11-18 Sebastian Huber <>
* libgcov.h (gcov_type): Define using __LIBGCC_GCOV_TYPE_SIZE.
(gcov_type_unsigned): Likewise.
2023-11-10 Keith Packard <>
* config/m68k/lb1sf68.S (__adddf3): Properly check for non-zero denorm.
(__divdf3): Restore sign bit properly.
(__addsf3): Correct exponent check.
* config/m68k/fpgnulib.c (EXPMASK): Define.
(__extendsfdf2): Handle Inf and NaN properly.
(__truncdfsf2): Handle underflow and overflow correctly.
(__extenddfxf2): Handle underflow, denorms, Inf and NaN correctly.
(__truncxfdf2): Handle underflow and denorms correctly.
(__fixxfsi): Reimplement.
2023-11-09 Jakub Jelinek <>
PR libgcc/65833
* config/t-softfp (softfp_bid_list): Add
{U,}TItype <-> _Decimal{32,64,128} conversions.
* soft-fp/floattisd.c: New file.
* soft-fp/floattidd.c: New file.
* soft-fp/floattitd.c: New file.
* soft-fp/floatuntisd.c: New file.
* soft-fp/floatuntidd.c: New file.
* soft-fp/floatuntitd.c: New file.
* soft-fp/fixsdti.c: New file.
* soft-fp/fixddti.c: New file.
* soft-fp/fixtdti.c: New file.
* soft-fp/fixunssdti.c: New file.
* soft-fp/fixunsddti.c: New file.
* soft-fp/fixunstdti.c: New file.
2023-11-07 Kwok Cheung Yeung <>
(__offload_ind_func_table): New.
(__offload_ind_funcs_end): New.
(__OFFLOAD_TABLE__): Add entries for indirect functions.
2023-11-03 Thomas Schwinge <>
* config/gcn/gthr-gcn.h (__gthread_getspecific): 's%NULL%0'.
2023-10-31 Alexandre Oliva <>
* hardcfr.c: Adjust copyright year.
2023-10-24 Sergei Trofimovich <>
* config/aarch64/heap-trampoline.c: Disable when libc is not
* config/i386/heap-trampoline.c: Ditto.
2023-10-22 Iain Sandoe <>
* config/t-slibgcc-darwin: Generate libgcc_s
with an @rpath name.
* Handle Darwin rpaths.
* config/t-darwin-rpath: New file.
2023-10-22 Andrew Burgess <>
Maxim Blinov <>
Iain Sandoe <>
Francois-Xavier Coudert <>
* libgcc2.h (__builtin_nested_func_ptr_created): Declare.
(__builtin_nested_func_ptr_deleted): Declare.
* Add the new symbols.
* config/aarch64/heap-trampoline.c: Implement heap-based
trampolines for aarch64.
* config/aarch64/t-heap-trampoline: Add rule to build
* config/i386/heap-trampoline.c: Implement heap-based
trampolines for x86_64.
* config/i386/t-heap-trampoline: Add rule to build
* Handle --enable-heap-trampolines on
x86_64-*-linux*, aarch64-*-linux*, x86_64-*-darwin*.
2023-10-20 Andrew Stubbs <>
* config/gcn/amdgcn_veclib.h (CDNA3_PLUS): Set false for __RDNA2__.
2023-10-20 Alexandre Oliva <>
* (LIB2ADD): Add hardcfr.c.
* hardcfr.c: New.
2023-10-13 Florian Weimer <>
* config/or1k/linux-unwind.h (or1k_fallback_frame_state): Add
missing cast.
2023-10-13 Florian Weimer <>
* config/arc/linux-unwind.h (arc_fallback_frame_state): Add
missing cast.
2023-10-13 Florian Weimer <>
* config/riscv/linux-unwind.h (riscv_fallback_frame_state): Add
missing cast.
2023-10-13 Florian Weimer <>
* config/csky/linux-unwind.h (csky_fallback_frame_state): Add
missing cast.
2023-10-13 Florian Weimer <>
* config/m68k/fpgnulib.c (__cmpdf2): Declare.
2023-09-26 Wilco Dijkstra <>
* config/aarch64/lse.S (BTI_C): Remove define.
2023-09-20 Pekka Seppänen <>
* config/aarch64/aarch64-unwind.h (aarch64_cie_signed_with_b_key):
Use const unsigned type and a builtin.
2023-09-06 Jakub Jelinek <>
PR c/102989
* libgcc2.c (bitint_negate): Add function comment.
* soft-fp/bitint.h (bitint_negate): Add function comment.
(FP_TO_BITINT, FP_FROM_BITINT): Add comment explaining the macros.
2023-09-06 Jakub Jelinek <>
PR c/102989
* config/aarch64/t-softfp (softfp_extras): Use += rather than :=.
* config/i386/64/t-softfp (softfp_extras): Likewise.
* config/i386/libgcc-glibc.ver (GCC_14.0.0): Export _BitInt support
* config/i386/t-softfp (softfp_extras): Add fixxfbitint and
bf, hf and xf mode floatbitint.
(CFLAGS-floatbitintbf.c, CFLAGS-floatbitinthf.c): Add -msse2.
* config/riscv/t-softfp32 (softfp_extras): Use += rather than :=.
* config/rs6000/t-e500v1-fp (softfp_extras): Likewise.
* config/rs6000/t-e500v2-fp (softfp_extras): Likewise.
* config/t-softfp (softfp_floatbitint_funcs): New.
(softfp_bid_list): New.
(softfp_func_list): Add sf and df mode from and to _BitInt libcalls.
(softfp_bid_file_list): New.
(LIB2ADD_ST): Add $(softfp_bid_file_list).
* config/t-softfp-sfdftf (softfp_extras): Add fixtfbitint and
* config/t-softfp-tf (softfp_extras): Likewise.
* libgcc2.c (bitint_reduce_prec): New inline function.
(bitint_mul_1, bitint_addmul_1): New helper functions.
(__mulbitint3): New function.
(bitint_negate, bitint_submul_1): New helper functions.
(__divmodbitint4): New function.
* libgcc2.h (LIBGCC2_UNITS_PER_WORD): When building _BitInt support
libcalls, redefine depending on __LIBGCC_BITINT_LIMB_WIDTH__.
(__mulbitint3, __divmodbitint4): Declare.
* (GCC_14.0.0): Export _BitInt support routines.
* (lib2funcs): Add _mulbitint3.
(LIB2_DIVMOD_FUNCS): Add _divmodbitint4.
* soft-fp/bitint.h: New file.
* soft-fp/fixdfbitint.c: New file.
* soft-fp/fixsfbitint.c: New file.
* soft-fp/fixtfbitint.c: New file.
* soft-fp/fixxfbitint.c: New file.
* soft-fp/floatbitintbf.c: New file.
* soft-fp/floatbitintdf.c: New file.
* soft-fp/floatbitinthf.c: New file.
* soft-fp/floatbitintsf.c: New file.
* soft-fp/floatbitinttf.c: New file.
* soft-fp/floatbitintxf.c: New file.
* soft-fp/op-common.h (_FP_FROM_INT): Add support for rsize up to
4 * _FP_W_TYPE_SIZE rather than just 2 * _FP_W_TYPE_SIZE.
* soft-fp/bitintpow10.c: New file.
* soft-fp/fixsdbitint.c: New file.
* soft-fp/fixddbitint.c: New file.
* soft-fp/fixtdbitint.c: New file.
* soft-fp/floatbitintsd.c: New file.
* soft-fp/floatbitintdd.c: New file.
* soft-fp/floatbitinttd.c: New file.
2023-09-06 Jakub Jelinek <>
PR c/102989
* soft-fp/bitintpow10.h: New file.
2023-09-05 Yang Yujie <>
* add loongarch*-elf target.
2023-08-11 Thomas Neumann <>
PR libgcc/110956
* unwind-dw2-fde.c: Associate object with address of unwinding
2023-08-07 John Ericson <>
* configure: Regenerate.
2023-08-07 Alan Modra <>
* configure: Regenerate.
2023-07-23 Andrew Pinski <>
* (riscv*-*-linux*): Add t-crtstuff to tmake_file.
(riscv*-*-freebsd*): Likewise.
* config/riscv/t-crtstuff: New file.
2023-07-19 liuhongt <>
* config/i386/t-softfp: Add -msse2 to libbid HFtype related
2023-07-11 Florian Weimer <>
PR libgcc/110179
* unwind-dw2-fde-dip.c (find_fde_tail): Add cast to avoid
implicit conversion of pointer value to integer.
2023-07-06 Kito Cheng <>
* config/riscv/sfp-machine.h (FP_INIT_ROUNDMODE): Check zfinx.
2023-06-19 Andrew Stubbs <>
* config/gcn/lib2-divmod-di.c: Reimplement like lib2-divmod.c.
* config/gcn/lib2-divmod.c: Likewise.
* config/gcn/lib2-gcn.h: Add new types and prototypes for all the
new vector libfuncs.
* config/gcn/t-amdgcn: Add new files.
* config/gcn/amdgcn_veclib.h: New file.
* config/gcn/lib2-vec_divmod-di.c: New file.
* config/gcn/lib2-vec_divmod-hi.c: New file.
* config/gcn/lib2-vec_divmod-qi.c: New file.
* config/gcn/lib2-vec_divmod.c: New file.
2023-06-19 Andrew Stubbs <>
* config/gcn/lib2-gcn.h (QItype, UQItype, HItype, UHItype): Delete.
(__divhi3, __modhi3, __udivhi3, __umodhi3): Delete.
* config/gcn/t-amdgcn: Don't build lib2-divmod-hi.c.
* config/gcn/lib2-divmod-hi.c: Removed.
2023-06-07 Florian Weimer <>
PR libgcc/109712
* unwind-dw2-fde-dip.c (find_fde_tail): Correct fast path for
parsing eh_frame.
2023-06-05 Kewen Lin <>
* config/i386/morestack.S: Use @init_array rather than
@progbits for section type of section .init_array.
* config/rs6000/morestack.S: Likewise.
* config/s390/morestack.S: Likewise.
2023-06-05 YunQiang Su <>
* config/mips/lib1funcs.S: New file.
define __speculation_barrier and include mips16.S.
* config/mips/t-mips: define LIB1ASMSRC as mips/lib1funcs.S.
define LIB1ASMFUNCS as _speculation_barrier.
set version info for __speculation_barrier.
* config/mips/libgcc-mips.ver: New file.
* config/mips/t-mips16: don't define LIB1ASMSRC as mips16.S
included in lib1funcs.S now.
2023-06-03 Thomas Neumann <>
PR libgcc/109670
* unwind-dw2-fde.c: Fix radix sort buffer management.
2023-06-03 Thomas Neumann <>
PR libgcc/109685
* unwind-dw2-fde.c: Free sort array in atomic fast path.
2023-05-19 Iain Sandoe <>
* Arrange to set min Darwin OS versions from
the configured host version.
* config/darwin10-unwind-find-enc-func.c: Do not use current
headers, but declare the nexessary structures locally to the
versions in use for Mac OSX 10.6.
* config/t-darwin: Amend to handle configured min OS
* config/t-darwin-min-1: New.
* config/t-darwin-min-5: New.
* config/t-darwin-min-8: New.
2023-05-15 Thomas Neumann <>
* unwind-dw2-fde.c: Fix assert in non-atomic path.
2023-05-15 Sören Tempel <>
* unwind-dw2-fde.c: Accept empty ranges when deregistering frames.
2023-05-02 Patrick O'Neill <>
* config/riscv/atomic.c: Change pairs into
sequentially consistent LR.aqrl/SC.rl pairs.
2023-05-01 Dimitar Dimitrov <>
* config/pru/t-pru (HOST_LIBGCC2_CFLAGS): Add
2023-04-27 Hans-Peter Nilsson <>
* config/cris/t-cris (HOST_LIBGCC2_CFLAGS): Add
2023-04-26 Patrick O'Neill <>
PR target/104338
* config/riscv/atomic.c: Add reference to duplicate logic.
2023-04-08 Tetsuma Hoshino <>
PR target/109402
* config/v850/lib1funcs.S (___muldi3): Remove unnecessary
stack manipulations.
2023-04-05 John David Anglin <>
PR target/109374
* config/pa/milli64.S (RETURN_COLUMN): Define.
($$divI): Add CFI directives.
($$divU): Likewise.
($$remI): Likewise.
($$remU): Likewise.
2023-03-19 Stafford Horne <>
* config/or1k/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Remove
statement clearing existing exceptions.
2023-03-13 Max Filippov <>
* config/xtensa/crti.S: Add .note.GNU-stack section on linux.
* config/xtensa/crtn.S: Likewise.
* config/xtensa/lib1funcs.S: Likewise.
* config/xtensa/lib2funcs.S: Likewise.
2023-03-12 Jakub Jelinek <>
* config/aarch64/t-softfp (softfp_extensions): Add bfsf.
(softfp_truncations): Add tfbf dfbf sfbf hfbf.
(softfp_extras): Add floatdibf floatundibf floattibf floatuntibf.
* config/aarch64/libgcc-softfp.ver (GCC_13.0.0): Export
__extendbfsf2 and __trunc{s,d,t,h}fbf2.
* config/aarch64/sfp-machine.h (_FP_NANFRAC_B, _FP_NANSIGN_B): Define.
* soft-fp/floatundibf.c: New file.
* soft-fp/floatdibf.c: New file.
2023-03-10 Jakub Jelinek <>
PR target/107703
* soft-fp/floattibf.c: New file.
* soft-fp/floatuntibf.c: New file.
* config/i386/libgcc-glibc.ver: Export __float{,un}tibf @ GCC_13.0.0.
* config/i386/64/t-softfp (softfp_extras): Add floattibf and
(CFLAGS-floattibf.c, CFLAGS-floatunstibf.c): Add -msse2.
2023-03-08 Kewen Lin <>
PR libgcc/108727
* config/rs6000/morestack.S (__morestack): Use PARAMS for new stack
bump size.
2023-03-06 Michael Meissner <>
PR target/107299
* config/rs6000/_divkc3.c (COPYSIGN): Use the correct built-in based on
whether long double is IBM or IEEE.
(INFINITY): Likewise.
(FABS): Likewise.
* config/rs6000/_mulkc3.c (COPYSIGN): Likewise.
(INFINITY): Likewise.
* config/rs6000/quad-float128.h (TF): Remove definition.
(TFtype): Define to be long double or _Float128.
(TCtype): Define to be _Complex long double or _Complex _Float128.
* libgcc2.h (TFtype): Allow machine config files to override this.
(TCtype): Likewise.
* soft-fp/quad.h (TFtype): Likewise.
2023-02-13 Kito Cheng <>
* (riscv*-*-*): Add config/riscv/value-unwind.h.
* config/riscv/value-unwind.h: New.
2023-02-03 Christophe Lyon <>
* config/arm/pr-support.c (__gnu_unwind_execute): Use
TARGET_HAVE_PACBTI to define set_pac and set_pac_sp.
2023-01-30 Flavio Cruz <>
* Recognize x86_64-*-gnu* targets.
* config/i386/gnu-unwind.h: Update to handle __x86_64__ with a
TODO for now.
2023-01-23 Srinath Parvathaneni <>
* config/arm/pr-support.c (__gnu_unwind_execute): Decode opcode
2023-01-23 Andrea Corallo <>
Tejas Belagod <>
Srinath Parvathaneni <>
* config/arm/pr-support.c (__gnu_unwind_execute): Decode
exception opcode (0xb4) for saving RA_AUTH_CODE and authenticate
with AUTG if found.
* config/arm/unwind-arm.c (struct pseudo_regs): New.
(phase1_vrs): Introduce new field to store pseudo-reg state.
(phase2_vrs): Likewise.
(_Unwind_VRS_Get): Load pseudo register state from virtual reg set.
(_Unwind_VRS_Set): Store pseudo register state to virtual reg set.
(_Unwind_VRS_Pop): Load pseudo register value from stack into VRS.
2023-01-18 Wilco Dijkstra <>
PR target/107678
* unwind-dw2.h (REG_UNSAVED_ARCHEXT): Add new enum.
* unwind-dw2.c (uw_update_context_1): Add REG_UNSAVED_ARCHEXT case.
* unwind-dw2-execute_cfa.h: Use REG_UNSAVED_ARCHEXT/REG_UNSAVED to
encode the return address signing state.
* config/aarch64/aarch64-unwind.h (aarch64_demangle_return_addr)
Check current return address signing state.
(aarch64_frob_update_contex): Remove.
2023-01-13 John David Anglin <>
* (hppa*64*-*-linux*): Adjust tmake_file to use
(hppa*64*-*-hpux11*): Adjust tmake_file to use pa/t-pa64-hpux
instead of pa/t-hpux and pa/t-pa64.
* config/pa/linux-atomic.c: Define u32 type.
(ATOMIC_LOAD): Define new macro to implement atomic_load_1,
atomic_load_2, atomic_load_4 and atomic_load_8. Update sync
defines to use atomic_load calls for type.
(SYNC_LOCK_LOAD_2): New macro to implement __sync_lock_load_8.
* config/pa/sync-libfuncs.c: New file.
* config/pa/t-netbsd (LIB2ADD_ST): Define.
* config/pa/t-openbsd (LIB2ADD_ST): Define.
* config/pa/t-pa64-hpux: New file.
* config/pa/t-pa64-linux: New file.
2023-01-13 Jonathan Wakely <>
PR libstdc++/108331
* config/i386/gthr-win32.h (__gthr_win32_legacy_mutex_t): New
struct matching the previous __gthread_mutex_t struct.
2023-01-13 Seija Kijin <>
* config/arm/lib1funcs.S (clear_cache): Use SVC to conform to
unified syntax.
2023-01-07 LIU Hao <>
PR middle-end/108300
* config/i386/enable-execute-stack-mingw32.c: Define
`WIN32_LEAN_AND_MEAN` before <windows.h>.
* libgcc2.c: Likewise.
* unwind-generic.h: Likewise.
2023-01-03 Florian Weimer <>
* unwind-dw2-execute_cfa.h: New file. Extracted from
the execute_cfa_program function in unwind-dw2.c.
* unwind-dw2.c (execute_cfa_program_generic): New function.
(execute_cfa_program_specialized): Likewise.
(execute_cfa_program): Call execute_cfa_program_specialized
or execute_cfa_program_generic, as appropriate.
2023-01-03 Florian Weimer <>
2023-01-03 Florian Weimer <>
* unwind-dw2.c (dwarf_reg_size): New function.
(_Unwind_GetGR, _Unwind_SetGR, _Unwind_SetGRPtr)
(_Unwind_SetSpColumn, uw_install_context_1): Use it.
(uw_init_context_1): Do not initialize dwarf_reg_size_table
if not in use.
2023-01-03 Florian Weimer <>
2023-01-03 Florian Weimer <>
* unwind-dw2-execute_cfa.h: New file. Extracted from
the execute_cfa_program function in unwind-dw2.c.
* unwind-dw2.c (execute_cfa_program_generic): New function.
(execute_cfa_program_specialized): Likewise.
(execute_cfa_program): Call execute_cfa_program_specialized
or execute_cfa_program_generic, as appropriate.
2023-01-02 Florian Weimer <>
* unwind-dw2-execute_cfa.h: New file. Extracted from
the execute_cfa_program function in unwind-dw2.c.
* unwind-dw2.c (execute_cfa_program_generic): New function.
(execute_cfa_program_specialized): Likewise.
(execute_cfa_program): Call execute_cfa_program_specialized
or execute_cfa_program_generic, as appropriate.
2023-01-02 Florian Weimer <>
* unwind-dw2.c (dwarf_reg_size): New function.
(_Unwind_GetGR, _Unwind_SetGR, _Unwind_SetGRPtr)
(_Unwind_SetSpColumn, uw_install_context_1): Use it.
(uw_init_context_1): Do not initialize dwarf_reg_size_table
if not in use.
2022-12-25 Jonathan Yong <>
* config/i386/gthr-win32.h: undef CC_NONE
2022-12-24 Iain Sandoe <>
* config/t-slibgcc-darwin (install-darwin-libgcc-stubs): Skip the
install of libgcc_s.1.dylib when the installation is into the build
gcc directory.
2022-12-23 Eric Botcazou <>
* (i[34567]86-*-mingw*): Add thread fragment after EH one
as well as new i386/t-slibgcc-mingw fragment.
(x86_64-*-mingw*): Likewise.
* config/i386/gthr-win32.h: If _WIN32_WINNT is at least 0x0600, define
Include stdlib.h instead of errno.h and do not include _mingw.h.
(CONST_CAST2): Add specific definition for C++.
(__UNUSED_PARAM): Delete.
Define WIN32_LEAN_AND_MEAN before including windows.h.
(__gthread_objc_data_tls): Use TLS_OUT_OF_INDEXES instead of (DWORD)-1.
(__gthread_objc_init_thread_system): Likewise.
(__gthread_objc_thread_get_data): Minor tweak.
(__gthread_objc_condition_allocate): Use ATTRIBUTE_UNUSED.
(__gthread_objc_condition_deallocate): Likewise.
(__gthread_objc_condition_wait): Likewise.
(__gthread_objc_condition_broadcast): Likewise.
(__gthread_objc_condition_signal): Likewise.
Include sys/time.h.
(__gthr_win32_DWORD): New typedef.
(__gthr_win32_HANDLE): Likewise.
(__gthr_win32_CRITICAL_SECTION): Likewise.
(__gthr_win32_CONDITION_VARIABLE): Likewise.
(__gthread_t): Adjust.
(__gthread_key_t): Likewise.
(__gthread_mutex_t): Likewise.
(__gthread_recursive_mutex_t): Likewise.
(__gthread_cond_t): New typedef.
(__gthread_time_t): Likewise.
(__GTHREAD_TIME_INIT): Likewise.
(__gthr_i486_lock_cmp_xchg): Delete.
(__gthr_win32_create): Declare.
(__gthr_win32_join): Likewise.
(__gthr_win32_self): Likewise.
(__gthr_win32_detach): Likewise.
(__gthr_win32_equal): Likewise.
(__gthr_win32_yield): Likewise.
(__gthr_win32_mutex_destroy): Likewise.
(__gthr_win32_cond_init_function): Likewise if __GTHREADS_HAS_COND is 1.
(__gthr_win32_cond_broadcast): Likewise.
(__gthr_win32_cond_signal): Likewise.
(__gthr_win32_cond_wait): Likewise.
(__gthr_win32_cond_timedwait): Likewise.
(__gthr_win32_recursive_mutex_init_function): Delete.
(__gthr_win32_recursive_mutex_lock): Likewise.
(__gthr_win32_recursive_mutex_unlock): Likewise.
(__gthr_win32_recursive_mutex_destroy): Likewise.
(__gthread_create): New inline function.
(__gthread_join): Likewise.
(__gthread_self): Likewise.
(__gthread_detach): Likewise.
(__gthread_equal): Likewise.
(__gthread_yield): Likewise.
(__gthread_cond_init_function): Likewise if __GTHREADS_HAS_COND is 1.
(__gthread_cond_broadcast): Likewise.
(__gthread_cond_signal): Likewise.
(__gthread_cond_wait): Likewise.
(__gthread_cond_timedwait): Likewise.
(__GTHREAD_WIN32_INLINE): New macro.
(__GTHREAD_WIN32_ACTIVE_P): Likewise.
Define WIN32_LEAN_AND_MEAN before including windows.h.
(__gthread_once): Minor tweaks.
(__gthread_key_create): Use ATTRIBUTE_UNUSED and TLS_OUT_OF_INDEXES.
(__gthread_key_delete): Minor tweak.
(__gthread_getspecific): Likewise.
(__gthread_setspecific): Likewise.
(__gthread_mutex_init_function): Reimplement.
(__gthread_mutex_destroy): Likewise.
(__gthread_mutex_lock): Likewise.
(__gthread_mutex_trylock): Likewise.
(__gthread_mutex_unlock): Likewise.
(__gthr_win32_abs_to_rel_time): Declare.
(__gthread_recursive_mutex_init_function): Reimplement.
(__gthread_recursive_mutex_destroy): Likewise.
(__gthread_recursive_mutex_lock): Likewise.
(__gthread_recursive_mutex_trylock): Likewise.
(__gthread_recursive_mutex_unlock): Likewise.
(__gthread_cond_destroy): New inline function.
(__gthread_cond_wait_recursive): Likewise.
* config/i386/gthr-win32.c: Delete everything.
Include gthr-win32.h to get the out-of-line version of inline routines.
Add compile-time checks for the local version of the Win32 types.
* config/i386/gthr-win32-cond.c: New file.
* config/i386/gthr-win32-thread.c: Likewise.
* config/i386/t-gthr-win32: Add config/i386/gthr-win32-thread.c to the
EH part, config/i386/gthr-win32-cond.c and config/i386/gthr-win32.c to
the static version of libgcc.
* config/i386/t-slibgcc-mingw: New file.
* config/i386/libgcc-mingw.ver: Likewise.
2022-12-16 Thomas Neumann <>
* unwind-dw2-fde.c: Initialize fde object lazily when
the first exception tries to pass through.
2022-12-16 Thomas Neumann <>
* unwind-dw2-fde.c: Use radix sort instead of split+sort+merge.
2022-12-08 Max Filippov <>
* config/xtensa/xtensa-config-builtin.h (XCHAL_NUM_AREGS)
(XSHAL_ABI): Remove stray symbols from macro definitions.
2022-12-07 Max Filippov <>
* config/xtensa/crti.S (xtensa-config.h): Replace #inlcude with
* config/xtensa/crtn.S: Likewise.
* config/xtensa/lib1funcs.S: Likewise.
* config/xtensa/lib2funcs.S: Likewise.
* config/xtensa/xtensa-config-builtin.h: New File.
2022-11-04 Florian Weimer <>
* unwind-dw2-fde-dip.c (find_fde_tail): Special-case encoding
values actually used by BFD ld.
2022-10-23 LIU Hao <>
* config/i386/gthr-mcf.h: Include 'gthr_libobjc.h' when building
libobjc, instead of 'gthr.h'
2022-10-19 LIU Hao <>
* Add new cases for `mcf` thread model
* config/i386/gthr-mcf.h: New file
* config/i386/t-mingw-mcfgthread: New file
* config/i386/t-slibgcc-cygming: Add mcfgthread for libgcc DLL
* configure: Regenerate
2022-10-18 Jonathan Wakely <>
* Quote variable.
2022-10-17 H.J. Lu <>
* unwind-generic.h (_Unwind_Frames_Increment): Add the EXC
* (_Unwind_RaiseException_Phase2): Pass EXC to
(_Unwind_ForcedUnwind_Phase2): Likewise.
* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
Take the EXC argument. Return _URC_FATAL_PHASE2_ERROR if the
return address on normal stack doesn't match the return address
on shadow stack.
2022-10-17 Florian Weimer <>
* unwind-dw2.h (struct frame_state_reg_info): Move cfa_how member
and reduce its size.
2022-10-14 Jakub Jelinek <>
* config/i386/t-softfp (softfp_extensions): Add bfsf.
(softfp_truncations): Add tfbf xfbf dfbf sfbf hfbf.
(CFLAGS-extendbfsf2.c, CFLAGS-truncsfbf2.c, CFLAGS-truncdfbf2.c,
CFLAGS-truncxfbf2.c, CFLAGS-trunctfbf2.c, CFLAGS-trunchfbf2.c): Add
* config/i386/libgcc-glibc.ver (GCC_13.0.0): Export
__extendbfsf2 and __trunc{s,d,x,t,h}fbf2.
* config/i386/sfp-machine.h (_FP_NANSIGN_B): Define.
* config/i386/64/sfp-machine.h (_FP_NANFRAC_B): Define.
* config/i386/32/sfp-machine.h (_FP_NANFRAC_B): Define.
* soft-fp/brain.h: New file.
* soft-fp/truncsfbf2.c: New file.
* soft-fp/truncdfbf2.c: New file.
* soft-fp/truncxfbf2.c: New file.
* soft-fp/trunctfbf2.c: New file.
* soft-fp/trunchfbf2.c: New file.
* soft-fp/truncbfhf2.c: New file.
* soft-fp/extendbfsf2.c: New file.
2022-10-12 Martin Liska <>
* libgcov-driver.c: Use new function.
* libgcov.h (gcov_write_summary): Rename to ...
(gcov_write_object_summary): ... this.
2022-10-11 Olivier Hainque <>
* (*vxworks*): When enable_shared, add
libgcc and crtstuff "shared" fragments for rtp except
large code model.
(aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from
the list of fragments.
2022-10-06 Jakub Jelinek <>
* config/arc/linux-unwind.h (arc_fallback_frame_state): Use
fs->[X] instead of fs->regs.reg[X].how.
2022-10-06 Jakub Jelinek <>
REG_UNDEFINED): New anonymous enum, moved from inside of
struct frame_state_reg_info.
(struct frame_state_reg_info): Remove reg[].how element and the
anonymous enum there. Add how element.
* unwind-dw2.c: Include stddef.h.
(uw_frame_state_for): Don't clear first
offsetof (_Unwind_FrameState,[0]) bytes of *fs.
(execute_cfa_program, __frame_state_for, uw_update_context_1,
uw_update_context): Use fs->[X] instead of fs->regs.reg[X].how
or[X] instead of fs.regs.reg[X].how.
* config/sh/linux-unwind.h (sh_fallback_frame_state): Likewise.
* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
* config/pa/hpux-unwind.h (UPDATE_FS_FOR_SAR, UPDATE_FS_FOR_GR,
UPDATE_FS_FOR_FR, UPDATE_FS_FOR_PC, pa_fallback_frame_state):
* config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state):
* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Likewise.
* config/arc/linux-unwind.h (arc_fallback_frame_state,
arc_frob_update_context): Likewise.
* config/riscv/linux-unwind.h (riscv_fallback_frame_state): Likewise.
* config/nios2/linux-unwind.h (NIOS2_REG): Likewise.
* config/nds32/linux-unwind.h (NDS32_PUT_FS_REG): Likewise.
* config/s390/tpf-unwind.h (s390_fallback_frame_state): Likewise.
* config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
* config/sparc/sol2-unwind.h (sparc64_frob_update_context,
* config/sparc/linux-unwind.h (sparc64_fallback_frame_state,
sparc64_frob_update_context, sparc_fallback_frame_state): Likewise.
* config/i386/sol2-unwind.h (x86_64_fallback_frame_state,
x86_fallback_frame_state): Likewise.
* config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Likewise.
* config/i386/linux-unwind.h (x86_64_fallback_frame_state,
x86_fallback_frame_state): Likewise.
* config/i386/freebsd-unwind.h (x86_64_freebsd_fallback_frame_state):
* config/i386/dragonfly-unwind.h
(x86_64_dragonfly_fallback_frame_state): Likewise.
* config/i386/gnu-unwind.h (x86_gnu_fallback_frame_state): Likewise.
* config/csky/linux-unwind.h (csky_fallback_frame_state): Likewise.
* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state):
* config/aarch64/freebsd-unwind.h
(aarch64_freebsd_fallback_frame_state): Likewise.
* config/aarch64/aarch64-unwind.h (aarch64_frob_update_context):
* config/or1k/linux-unwind.h (or1k_fallback_frame_state): Likewise.
* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
* config/loongarch/linux-unwind.h (loongarch_fallback_frame_state):
* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Likewise.
* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state):
* config/rs6000/darwin-fallback.c (set_offset): Likewise.
* config/rs6000/aix-unwind.h (MD_FROB_UPDATE_CONTEXT): Likewise.
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
* config/rs6000/freebsd-unwind.h (frob_update_context): Likewise.
2022-10-02 Olivier Hainque <>
* config/t-vxworks (LIBGCC2_INCLUDE): Augment comment. Move
-I options for gcc/include and gcc/include-fixed at the end
and make them -isystem.
2022-10-02 Olivier Hainque <>
* config/gthr-vxworks.h: Prevent Wpragma warning for the
pragma diagnostics on Wstrict-prototypes.
2022-09-29 Olivier Hainque <>
* config/vxcrtstuff.c: Improve the comment attached to the use
of auto-host.h and of __dso_handle. Remove redundant guard on
2022-09-26 Thomas Neumann <>
* unwind-dw2-fde.c: Introduce a constant for in_shutdown
for the non-fast-path case. Drop destructor priority.
2022-09-22 Thomas Neumann <>
* unwind-dw2-fde.c: (release_register_frames) Remember
when the btree has been destroyed.
(__deregister_frame_info_bases) Disable the assert when
shutting down.
2022-09-18 Thomas Neumann <>
* unwind-dw2-fde.c: Replace uintptr_t with typedef
* unwind-dw2-btree.h: Likewise.
2022-09-16 Thomas Neumann <>
* unwind-dw2-fde.c (release_registered_frames): Cleanup at shutdown.
(__register_frame_info_table_bases): Use btree in atomic fast path.
(__deregister_frame_info_bases): Likewise.
(_Unwind_Find_FDE): Likewise.
(base_from_object): Make parameter const.
(classify_object_over_fdes): Add query-only mode.
(get_pc_range): Compute PC range for lookup.
* unwind-dw2-fde.h (last_fde): Make parameter const.
* unwind-dw2-btree.h: New file.
2022-08-31 Martin Liska <>
* Remove hppa.
2022-08-30 Martin Liska <>
* Remove the port.
2022-08-26 Martin Liska <>
* Remove cr16 related stuff.
* config/cr16/crti.S: Removed.
* config/cr16/crtlibid.S: Removed.
* config/cr16/crtn.S: Removed.
* config/cr16/divmodhi3.c: Removed.
* config/cr16/lib1funcs.S: Removed.
* config/cr16/t-cr16: Removed.
* config/cr16/t-crtlibid: Removed.
* config/cr16/unwind-cr16.c: Removed.
* config/cr16/unwind-dw2.h: Removed.
2022-08-16 Kito Cheng <>
* config/riscv/sfp-machine.h (_FP_NANFRAC_H): New.
(_FP_NANFRAC_H): Ditto.
(_FP_NANSIGN_H): Ditto.
* config/riscv/t-softfp32 (softfp_extensions): Add HF related
(softfp_truncations): Ditto.
(softfp_extras): Ditto.
* config/riscv/t-softfp64 (softfp_extras): Add HF related routines.
2022-08-16 Kito Cheng <>
* soft-fp/fixhfdi.c: New.
* soft-fp/fixhfsi.c: Likewise.
* soft-fp/fixunshfdi.c: Likewise.
* soft-fp/fixunshfsi.c: Likewise.
* soft-fp/floatdihf.c: Likewise.
* soft-fp/floatsihf.c: Likewise.
* soft-fp/floatundihf.c: Likewise.
* soft-fp/floatunsihf.c: Likewise.
* soft-fp/adddf3.c: Updating copyright years, removing "Contributed by"
lines and update URL for license.
* 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/eqhf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendhfdf2.c: Likewise.
* soft-fp/extendhfsf2.c: Likewise.
* soft-fp/extendhftf2.c: Likewise.
* soft-fp/extendhfxf2.c: 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/fixhfti.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/fixunshfti.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/floattihf.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/floatuntihf.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/half.h: 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/truncdfhf2.c: Likewise.
* soft-fp/truncdfsf2.c: Likewise.
* soft-fp/truncsfhf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfhf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* soft-fp/truncxfhf2.c: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
2022-07-18 Claudiu Zissulescu <>
* config/arc/lib2funcs.c (udivmodsi4): Update AND mask.
* config/arc/lib1funcs.S (umodsi3): Don't use it for RF16
2022-06-25 Jeff Law <>
* Removed tilegx and tilepro entries.
* config/tilegx/sfp-machine.h: Removed.
* config/tilegx/sfp-machine32.h: Removed.
* config/tilegx/sfp-machine64.h: Removed.
* config/tilegx/t-crtstuff: Removed.
* config/tilegx/t-softfp: Removed.
* config/tilegx/t-tilegx: Removed.
* config/tilepro/atomic.c: Removed.
* config/tilepro/atomic.h: Removed.
* config/tilepro/linux-unwind.h: Removed.
* config/tilepro/sfp-machine.h: Removed.
* config/tilepro/softdivide.c: Removed.
* config/tilepro/softmpy.S: Removed.
* config/tilepro/t-crtstuff: Removed.
* config/tilepro/t-tilepro: Removed.
2022-06-09 Takayuki 'January June' Suwa <>
* config/xtensa/lib1funcs.S (__clrsbsi2): New function.
* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _clrsbsi2.
2022-06-01 H.J. Lu <>
PR libgcc/27576
* crtstuff.c (__EH_FRAME_BEGIN__): Aligned to pointer size.
2022-05-25 Wilco Dijkstra <>
PR libgcc/105708
* config/aarch64/lse-init.c: Increase constructor priority.
2022-05-25 Szabolcs Nagy <>
PR target/104689
* config/aarch64/aarch64-unwind.h (aarch64_frob_update_context):
Handle the !REG_UNSAVED case.
* unwind-dw2.c (execute_cfa_program): Fail toggle if !REG_UNSAVED.
2022-05-20 Christophe Lyon <>
* (D32PBIT_FUNCS): Add _hf_to_sd and _sd_to_hf.
(D64PBIT_FUNCS): Add _hf_to_dd and _dd_to_hf.
(D128PBIT_FUNCS): Add _hf_to_td _td_to_hf.
2022-05-20 Christophe Lyon <>
* Add t-dfprules to AArch64 targets.
2022-05-20 Christophe Lyon <>
* configure: Regenerate.
2022-05-13 Sebastian Pop <>
PR target/105162
* config/aarch64/lse.S: Define BARRIER and handle memory MODEL 5.
* config/aarch64/t-lse: Add a 5th memory model for _sync functions.
2022-05-10 Martin Liska <>
Hans-Peter Helfert <>
PR gcov-profile/105535
* libgcov.h (struct gcov_info): Use gcov_unsigned_t for
2022-05-02 Martin Liska <>
* libgcov-driver.c: Add ATTRIBUTE_UNUSED.
2022-04-28 Sebastian Huber <>
* libgcov-util.c (ftw_read_file): Improve notice using xstrerror().
(gcov_profile_merge_stream): Likewise.
2022-04-28 Sebastian Huber <>
* libgcov-util.c (consume_stream): New.
(get_target_profiles_for_merge): Likewise.
(gcov_profile_merge_stream): Likewise.
2022-04-28 Sebastian Huber <>
* libgcov-util.c (ftw_read_file): Use size_t for strlen() variables.
2022-04-28 Sebastian Huber <>
* libgcov-util.c (read_gcda_file): Do not open file.
(ftw_read_file): Open file here.
2022-04-28 Sebastian Huber <>
* libgcov-util.c (read_gcda_file): Prepend new info object to global
(ftw_read_file): Remove list append here.
2022-04-28 Sebastian Huber <>
* libgcov-util.c (read_gcda_file): Do not duplicate filename.
(ftw_read_file): Duplicate filename for read_gcda_file().
2022-04-28 Sebastian Huber <>
* gcov.h (__gcov_info_to_gcda): Mention __gcov_filename_to_gcfn().
(__gcov_filename_to_gcfn): Declare and document.
* libgcov-driver.c (dump_string): New.
(__gcov_filename_to_gcfn): Likewise.
(__gcov_info_to_gcda): Adjust comment to match C11 standard language.
2022-04-28 Sebastian Huber <>
* libgcov.h (gcov_seek): Remove define and declaration.
2022-04-28 Sebastian Huber <>
* libgcov-driver-system.c (gcov_exit_open_gcda_file): Add mode
parameter. Pass mode to gcov_open() calls.
* libgcov-driver.c (dump_one_gcov): Add mode parameter. Pass mode to
gcov_exit_open_gcda_file() call.
(gcov_do_dump): Add mode parameter. Pass mode to dump_one_gcov()
(__gcov_dump_one): Open file for reading and writing.
2022-04-28 Sebastian Huber <>
* libgcov-driver-system.c (gcov_exit_open_gcda_file): Open file for
reading and writing.
* libgcov-util.c (read_gcda_file): Open file for reading.
* libgcov.h (gcov_open): Delete declaration.
2022-04-28 Sebastian Huber <>
* libgcov-util.c (gcov_profile_merge): Return the list of merged
profiles. Accept empty target and source profile lists.
2022-04-08 Sergei Trofimovich <>
* config/ia64/fde-glibc.c: Make a no-op in inhibit_libc mode.
2022-03-29 Chenghua Xu <>
Lulu Cheng <>
* configure: Regenerate file.
2022-03-29 Chenghua Xu <>
Lulu Cheng <>
* config/loongarch/crtfastmath.c: New file.
* config/loongarch/linux-unwind.h: Like wise.
* config/loongarch/sfp-machine.h: Like wise.
* config/loongarch/t-crtstuff: Like wise.
* config/loongarch/t-loongarch: Like wise.
* config/loongarch/t-loongarch64: Like wise.
* config/loongarch/t-softfp-tf: Like wise.
* Add LoongArch tuples.
* Add LoongArch support.
2022-03-19 Sergei Trofimovich <slyfox at gentoo dot org>
PR libgcc/86224
* config/m68k/lb1sf68.S (__mulsi3_internal): Internal, hidden alias
for __mulsi3.
(__udivsi3_internal, __divsi3_internal): Similarly.
(__umodsi3, __modsi3): Use the internal function names.
2022-03-09 Tobias Burnus <>
PR target/102215
* config/gcn/atomic.c (__sync_val_compare_and_swap_##SIZE): Move
a line up to non-arg-dependent value first.
(__ATOMIC_COMPARE_EXCHANGE): Define + call to generate
2022-03-04 Iain Sandoe <>
* config/rs6000/t-darwin-ehs: Add darwin-fallback.o.
* config/t-darwin-ehs: Add dependency on unwind.h.
2022-02-24 Xi Ruoyao <>
* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Call find_fde_tail
with 0 instead of NULL.
2022-02-24 Jose E. Marchesi <>
PR target/104656
* --disable-gcov if targetting bpf-*.
* configure: Regenerate.
2022-01-25 Florian Weimer <>
PR libgcc/104207
* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Add NULL check.
2022-01-17 Martin Liska <>
* libgcov-driver.c: Rename .c names to .cc.
2022-01-15 David <>
* config/i386/gthr-win32.c (__gthr_i486_lock_cmp_xchg):
Remove inlined version, Windows 95 is no longer relevant.
* config/i386/gthr-win32.h
2022-01-14 Claudiu Zissulescu <>
* config/arc/linux-unwind.h (arc_fallback_frame_state): Use
2022-01-04 Florian Weimer <>
* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Call _dl_find_object
if available.
2022-01-02 John David Anglin <>
* config/pa/linux-atomic.c (_ASM_EFAULT): Define.
(__kernel_cmpxchg): Nullify illegal iitlbp instruction if error
return is not equal _ASM_EFAULT.
(__kernel_cmpxchg2): Likewise.
2021-12-17 Iain Sandoe <>
* Add shim declaration header to powerpc*-darwin builds.
* config/rs6000/t-darwin-ehs: Remove dependency on the powerpc end
* config/t-darwin-ehs: Add dependencies to the shared unwinder
* config/t-slibgcc-darwin: Add extra_parts to the dependencies for
the shared EH lib. Add all-multi to the dependencies for the
libgcc_s.1.dylib redirections.
2021-12-13 Olivier Hainque <>
* (powerpc*-*-vxworks7*): Remove
rs6000/t-linux and t-slibgcc-libgcc from tmake_file.
2021-12-13 Olivier Hainque <>
* (*vxworks*): Remove special case for
arm on the use of vxcrtstuff.
2021-12-13 Fred Konrad <>
Olivier Hainque <>
* config/t-vxcrtstuffS: New Makefile fragment.
* config/vxcrtstuff.c: Provide __dso_handle. Provide _init/_fini
functions for INITFINI_ARRAY support in shared libs and guard
the definition of eh table registration functions on conditions
indicating they are needed.
2021-12-13 Olivier Hainque <>
* (powerpc*-wrs-vxworks7*): Place t-crtstuff
ahead of the other files in tmake_files.
* config/t-vxworks: Add to CRTSTUFF_T_CFLAGS instead of
overriding it.
2021-12-13 Olivier Hainque <>
* config/t-vxworks (LIBGCC2_INCLUDES): Simplify and handle
both VxWorks7 and earlier.
* config/t-vxworks7: Remove.
* Remove special case for vxworks7.
2021-12-11 Rasmus Villemoes <>
* config/vxcrtstuff.c: Make constructor and destructor
functions static when possible.
2021-12-11 Rasmus Villemoes <>
* config/vxcrtstuff.c: Remove constructor/destructor
2021-12-10 Iain Sandoe <>
* config/t-darwin: Add libgcc_tm.h to the dependencies
for darwin10-unwind-find-enc-func.
2021-12-10 Rasmus Villemoes <>
* config/rs6000/t-vxworks: New file.
* (powerpc*-*-vxworks*): Use it instead of
2021-12-09 Fred Konrad <>
* (powerpc*-wrs-vxworks7*): Fix path to
rs6000/t-ppc64-fp, relative to config/ not libgcc/.
2021-12-09 Olivier Hainque <>
Rasmus Villemoes <>
* config/t-vxworks: Set CRTSTUFF_T_CFLAGS to
* config/t-vxworks7: Likewise.
2021-12-08 Iain Sandoe <>
* (*-*-darwin*): Add logic to build a shared
unwinder library for Darwin8-10.
* config/i386/t-darwin: Build legacy libgcc_s.1.
* config/rs6000/t-darwin: Likewise.
* config/t-darwin: Reorganise the EH fragments to place
them for inclusion in a shared EH lib.
* config/t-slibgcc-darwin: Build a legacy libgcc_s.1 and
the supporting pieces (all FAT libs).
* config/t-darwin-noeh: Removed.
* config/darwin-unwind.ver: New file.
* config/rs6000/t-darwin-ehs: New file.
* config/t-darwin-ehs: New file.
2021-12-06 Nelson Chu <>
* config/riscv/div.S: Add the hidden alias symbol for __udivdi3, and
then use HIDDEN_JUMPTARGET to target it since it is non-preemptible.
* config/riscv/riscv-asm.h: Added new macros HIDDEN_JUMPTARGET and
2021-11-30 Rasmus Villemoes <>
* config/vxcrtstuff.c: Undefine caddr_t, pid_t, rlim_t,
ssize_t and vfork after including auto-host.h.
2021-11-29 Rasmus Villemoes <>
* (powerpc-wrs-vxworks): Do not add crtbegin.o and
crtend.o to extra_parts.
2021-11-27 John David Anglin <>
* config/pa/t-dimode (lib2difuncs): Fix typo.
2021-11-25 Florian Weimer <>
* unwind-dw2-fde-dip.c (struct unw_eh_callback_data): Add hdr.
Remove func, ret.
(find_fde_tail): New function. Split from
_Unwind_IteratePhdrCallback. Move the result initialization
from _Unwind_Find_FDE.
(_Unwind_Find_FDE): Updated to call find_fde_tail.
2021-11-22 Florian Weimer <>
* unwind-dw2-fde-dip.c (NEED_DBASE_MEMBER): Define.
(struct unw_eh_callback_data): Make dbase member conditional.
(unw_eh_callback_data_dbase): New function.
(base_from_cb_data): Simplify for the non-dbase case.
(_Unwind_IteratePhdrCallback): Adjust.
(_Unwind_Find_FDE): Likewise.
2021-11-22 Florian Weimer <>
* unwind-dw2-fde-dip.c (struct unw_eh_callback_data): Remove
tbase member.
(base_from_cb_data): Adjust.
(_Unwind_IteratePhdrCallback): Likewise.
(_Unwind_Find_FDE): Likewise.
2021-11-19 Iain Sandoe <>
* Add weak emutls crt to the extra_parts.
* config/i386/darwin-lib.h (DECLARE_LIBRARY_RENAMES): Remove
* config/libgcc-libsystem.ver: Add exclude list for the system-
provided unwinder.
* config/t-slibgcc-darwin: Bump SO version, remove stubs code.
* config/i386/libgcc-darwin.10.4.ver: Removed.
* config/i386/libgcc-darwin.10.5.ver: Removed.
* config/rs6000/libgcc-darwin.10.4.ver: Removed.
* config/rs6000/libgcc-darwin.10.5.ver: Removed.
* config/t-darwin-noeh: New file.
2021-11-19 Iain Sandoe <>
* config/t-darwin: Build weak-defined emutls objects.
* emutls.c (__emutls_get_address): Add optional attributes.
(__emutls_register_common): Likewise.
2021-11-11 Raphael Moreira Zinsly <>
PR libgcc/103044
* config/rs6000/linux-unwind.h (ppc_backchain_fallback): Check if it's
called with a null argument or at the end of the backtrace and return.
* (_Unwind_ForcedUnwind_Phase2): Treat _URC_NORMAL_STOP.
2021-11-10 Jakub Jelinek <>
* config/rs6000/linux-unwind.h (ppc_back_fallback): Make it static,
formatting fix.
2021-11-05 Iain Sandoe <>
* config/darwin10-unwind-find-enc-func.c: Include libgcc_tm.h.
* config/i386/darwin-lib.h: Declare Darwin10 crt function.
2021-11-05 John David Anglin <>
PR libgomp/96661
* (hppa*64*-*-linux*): Revise tmake_file.
(hppa*64*-*-hpux11*): Likewise.
* config/pa/sfp-exceptions.c: New.
* config/pa/sfp-machine.h: New.
* config/pa/t-dimode: New.
* config/pa/t-softfp-sfdftf: New.
2021-10-27 John David Anglin <>
* (hppa*64*-*-linux*): Don't add pa/t-linux to
* config/pa/linux-atomic.c: Define u8, u16 and u64 types.
* config/pa/t-linux64 (LIB1ASMSRC): New define.
2021-10-22 Stafford Horne <>
* config/or1k/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
Change to 0.
2021-10-14 Raphael Moreira Zinsly <>
* config/rs6000/linux-unwind.h (struct rt_sigframe): Move it to
outside of get_regs() in order to use it in another function, this
is done twice: for __powerpc64__ and for !__powerpc64__.
(struct trace_arg): New struct.
(struct layout): New struct.
(ppc_backchain_fallback): New function.
* (_Unwind_Backtrace): Look for _URC_NORMAL_STOP code
2021-10-13 Martin Liska <>
PR gcov-profile/90364
* libgcov-driver.c (merge_one_data): Skip timestamp and verify
(write_one_data): Write also checksum.
* libgcov-util.c (read_gcda_file): Read also checksum field.
* libgcov.h (struct gcov_info): Add new field.
2021-10-08 Ian Lance Taylor <>
* config/i386/morestack.S: Use .init_array for constructor if
* config/rs6000/morestack.S: Likewise.
* config/s390/morestack.S: Likewise.
2021-10-03 Patrick McGehearty <>
PR target/101104
* libgcc2.c (RMIN2, RMINSCAL, RMAX2):
Use more correct values for native IBM 128-bit.
2021-09-28 Iain Sandoe <>
* config/i386/libgcc-darwin.ver: Add Symbols for
__cpu_model, __cpu_indicator_init.
2021-09-22 Iain Sandoe <>
* config/i386/sfp-machine.h: Guard Mach-O-specific code
using __APPLE__.
2021-09-19 Iain Sandoe <>
* config/t-slibgcc-darwin: Delete unused code.
2021-09-19 Iain Sandoe <>
* config/i386/t-darwin: Add in a vers file for X86-specific
* config/t-darwin: Add the generic symbol maps here...
* config/t-slibgcc-darwin: ... removing from here.
* config/i386/libgcc-darwin.ver: New file.
2021-09-19 Iain Sandoe <>
* config/i386/t-softfp: Exclude libgcc2 versions of __divhc3
and __mulhc3.
2021-09-19 Iain Sandoe <>
* Use convenience library for Darwin10
unwinder shim.
* config/t-darwin: Build Darwin10 unwinder shim as a
convenience library.
2021-09-13 Andrew Pinski <>
* Remove m32r-*-linux* and m32rle-*-linux*.
* config/m32r/libgcc-glibc.ver: Removed.
* config/m32r/t-linux: Removed.
2021-09-08 liuhongt <>
* config/i386/t-softfp: Compile __{mul,div}hc3 into
2021-09-08 Jakub Jelinek <>
Iain Sandoe <>
* config/i386/libgcc-glibc.ver: Add %inherit GCC_12.0.0 GCC_7.0.0
and export *hf* and *hc* functions at GCC_12.0.0.
2021-09-06 liuhongt <>
* Adjust to support specific CFLAGS for each
libgcc source file.
* config/i386/64/t-softfp: Explicitly add -msse2 for HF
related libgcc source files.
* config/i386/t-softfp: Ditto.
* config/i386/_divhc3.c: New file.
* config/i386/_mulhc3.c: New file.
2021-09-03 Iain Sandoe <>
* config/i386/sfp-machine.h (alias_HFtype, alias_SFtype
alias_DFtype, alias_TFtype): New.
(strong_alias): Use __typeof and a _Generic selector to
provide the type to the synthesized function.
2021-09-02 liuhongt <>
* config/i386/32/sfp-machine.h (_FP_NANFRAC_H): New macro.
* config/i386/64/sfp-machine.h (_FP_NANFRAC_H): Ditto.
* config/i386/sfp-machine.h (_FP_NANSIGN_H): Ditto.
* config/i386/t-softfp: Add hf soft-fp.
* Add i386/64/t-softfp.
* config/i386/64/t-softfp: New file.
2021-09-02 liuhongt <>
* soft-fp/eqhf2.c: New file.
* soft-fp/extendhfdf2.c: New file.
* soft-fp/extendhfsf2.c: New file.
* soft-fp/half.h (FP_CMP_EQ_H): New marco.
* soft-fp/truncdfhf2.c: New file
* soft-fp/truncsfhf2.c: New file
2021-09-01 Sebastian Huber <>
* (abort): Remove.
2021-08-31 Richard Sandiford <>
* config/aarch64/value-unwind.h: Add missing runtime exception
* config/frv/frv-abi.h: Likewise.
* config/i386/value-unwind.h: Likewise.
* config/pa/pa64-hpux-lib.h: Likewise.
2021-08-26 David Edelsohn <>
* config/rs6000/ibm-ldouble.c (ldouble_qadd_internal): Rename from
(__gcc_qadd): Call ldouble_qadd_internal.
(__gcc_qsub): Call ldouble_qadd_internal with second long double
argument negated.
2021-08-26 Jonathan Yong <>
* config/i386/cygming-crtend.c: Fix register_frame_ctor
and register_frame_dtor warnings.
2021-08-24 Richard Earnshaw <>
PR target/102035
* config/arm/cmse_nonsecure_call.S (__gnu_cmse_nonsecure_call):
Add vlldm erratum work-around.
2021-08-21 John David Anglin <>
* Remove extra_parts from hppa[12]*-*-hpux11* case.
2021-08-16 Sebastian Huber <>
* libgcov.h (gcov_type): Define using __LIBGCC_GCOV_TYPE_SIZE.
(gcov_type_unsigned): Likewise.
2021-08-14 Stafford Horne <>
PR target/99783
* (or1k-*, tmake_file): Add or1k/t-crtstuff.
* config/or1k/t-crtstuff: New file.
2021-08-06 Sebastian Huber <>
* libgcov-driver.c (#include <stdint.h>): Remove.
(write_topn_counters): Use __INTPTR_TYPE__ instead of intptr_t.
2021-08-06 Sebastian Huber <>
* (LIBGCOV_DRIVER): Add _gcov_info_to_gcda.
* gcov.h (gcov_info): Declare.
(__gcov_info_to_gdca): Likewise.
* libgcov.h (gcov_write_counter): Remove.
(gcov_write_tag_length): Likewise.
* libgcov-driver.c (#include <stdint.h>): New.
(#include <string.h>): Remove.
(NEED_L_GCOV): Conditionally define.
(are_all_counters_zero): New.
(gcov_dump_handler): Likewise.
(gcov_allocate_handler): Likewise.
(dump_unsigned): Likewise.
(dump_counter): Likewise.
(write_topn_counters): Add dump_fn, allocate_fn, and arg parameters.
Use dump_unsigned() and dump_counter().
(write_one_data): Add dump_fn, allocate_fn, and arg parameters. Use
dump_unsigned(), dump_counter(), and are_all_counters_zero().
(__gcov_info_to_gcda): New.
2021-08-05 Jakub Jelinek <>
* config/t-slibgcc (SHLIB_LINK): Add $(LDFLAGS).
* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
* config/t-slibgcc-vms (SHLIB_LINK): Likewise.
* config/t-slibgcc-fuchsia (SHLIB_LDFLAGS): Remove $(LDFLAGS).
2021-08-04 Jakub Jelinek <>
* config/t-slibgcc-fuchsia: Undo doubly applied patch.
2021-07-15 Alan Modra <>
* config/rs6000/morestack.S (R2_SAVE): Define.
(__morestack): Save and restore r2. Set up r2 for called
2021-07-01 H.J. Lu <>
* soft-fp/extendhfxf2.c: New file.
* soft-fp/truncxfhf2.c: Likewise.
2021-06-29 Julian Brown <>
* config/gcn/lib2-bswapti2.c: New file.
* config/gcn/lib2-divmod-di.c: New file.
* config/gcn/lib2-gcn.h (DItype, UDItype, TItype, UTItype): Add
(__divdi3, __moddi3, __udivdi3, __umoddi3): Add prototypes.
* config/gcn/t-amdgcn (LIB2ADD): Add lib2-divmod-di.c and
2021-06-29 Julian Brown <>
* config/gcn/lib2-divmod.c (__udivsi3, __umodsi3): Change argument and
return types to USItype.
* config/gcn/lib2-gcn.h (__udivsi3, __umodsi3): Update prototypes.
2021-06-23 Kewen Lin <>
* configure: Regenerate.
* (test for libgcc_cv_powerpc_3_1_float128_hw): Fix
typos among the name, CFLAGS and the test.
* config/rs6000/t-float128-hw (fp128_3_1_hw_funcs, fp128_3_1_hw_src,
fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj, fp128_3_1_hw_obj):
* config/rs6000/t-float128-p10-hw (FLOAT128_HW_INSNS): Append
macro FLOAT128_HW_INSNS_ISA3_1.
(FP128_3_1_CFLAGS_HW): Fix option typo.
* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): Guard this with
(__floattikf_resolve): Likewise.
(__floatuntikf_resolve): Likewise.
(__fixkfti_resolve): Likewise.
(__fixunskfti_resolve): Likewise.
(__floattikf): Likewise.
(__floatuntikf): Likewise.
(__fixkfti): Likewise.
(__fixunskfti): Likewise.
2021-06-11 Srinath Parvathaneni <>
PR target/99939
* config/arm/cmse_nonsecure_call.S: Add __ARM_FEATURE_MVE
* config/arm/t-arm: To link cmse.o and cmse_nonsecure_call.o
on passing -mcmse option.
2021-06-10 Segher Boessenkool <>
* config/rs6000/quad-float128.h: Guard all uses of [U]TItype_ppc by
2021-06-09 Carl Love <>
* Add if test and set for
* config/rs6000/fixkfti.c: Renamed to fixkfti-sw.c.
Change calls of __fixkfti to __fixkfti_sw.
* config/rs6000/fixunskfti.c: Renamed to fixunskfti-sw.c.
Change calls of __fixunskfti to __fixunskfti_sw.
* config/rs6000/float128-p10.c (__floattikf_hw,
__floatuntikf_hw, __fixkfti_hw, __fixunskfti_hw): New file.
* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): New macro.
(__floattikf_resolve, __floatuntikf_resolve, __fixkfti_resolve,
__fixunskfti_resolve): Add resolve functions.
(__floattikf, __floatuntikf, __fixkfti, __fixunskfti): New functions.
* config/rs6000/float128-sed (floattitf, __floatuntitf,
__fixtfti, __fixunstfti): Add editor commands to change names.
* config/rs6000/float128-sed-hw (__floattitf,
__floatuntitf, __fixtfti, __fixunstfti): Add editor commands to
change names.
* config/rs6000/floattikf.c: Renamed to floattikf-sw.c.
* config/rs6000/floatuntikf.c: Renamed to floatuntikf-sw.c.
* config/rs6000/quad-float128.h (__floattikf_sw,
__floatuntikf_sw, __fixkfti_sw, __fixunskfti_sw, __floattikf_hw,
__floatuntikf_hw, __fixkfti_hw, __fixunskfti_hw, __floattikf,
__floatuntikf, __fixkfti, __fixunskfti): New extern declarations.
* config/rs6000/t-float128 (floattikf, floatuntikf,
fixkfti, fixunskfti): Remove file names from fp128_ppc_funcs.
(floattikf-sw, floatuntikf-sw, fixkfti-sw, fixunskfti-sw): Add
file names to fp128_ppc_funcs.
* config/rs6000/t-float128-hw(fp128_3_1_hw_funcs,
fp128_3_1_hw_src, fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj,
fp128_3_1_hw_obj): Add variables for ISA 3.1 support.
* config/rs6000/t-float128-p10-hw: New file.
* configure: Update script for isa 3.1 128-bit float support.
* Add check for 128-bit float hardware support.
* config/rs6000/fixkfti-sw.c: New file.
* config/rs6000/fixunskfti-sw.c: New file.
* config/rs6000/floattikf-sw.c: New file.
* config/rs6000/floatuntikf-sw.c: New file.
2021-05-13 Dimitar Dimitrov <>
* config/pru/mpyll.S (__pruabi_mpyll): Place into own section.
2021-05-13 Martin Liska <>
* libgcov-driver.c: Fix GNU coding style.
2021-05-10 Martin Liska <>
* libgcov-driver.c (gcov_version): Use different name that does
not clash with newly introduced macro.
2021-04-29 Eric Botcazou <>
* libgcov.h: For the target, define GCOV_LOCKED_WITH_LOCKING
if __MSVCRT__ and, for the host, define it if HOST_HAS_LK_LOCK.
* libgcov-driver.c: Add directives if GCOV_LOCKED_WITH_LOCKING.
2021-04-28 Patrick McGehearty <>
(__divsc3, __divdc3, __divxc3, __divtc3): Improve complex divide.
* config/rs6000/_divkc3.c (RBIG, RMIN, RMIN2, RMINSCAL, RMAX2):
(__divkc3): Improve complex divide.
2021-04-23 Michael Meissner <>
PR target/98952
* config/rs6000/tramp.S (__trampoline_setup, elfv1 #ifdef): Fix
trampoline size comparison in 32-bit by reversing test and
combining load immediate with compare.
(__trampoline_setup, elfv2 #ifdef): Fix trampoline size comparison
in 32-bit by reversing test and combining load immediate with
2021-04-05 Florian Weimer <>
Michael Meissner <>
* config/rs6000/t-float128 (fp128_ppc_funcs): Add decimal floating
point functions for $(decimal_float) only.
2021-04-03 Jakub Jelinek <>
PR target/97653
* config/rs6000/t-linux (IBM128_STATIC_OBJS): Fix spelling, use
$(objext) instead of $(object). Use _floatunditf instead of
_floatunsditf. Add tf <-> ti conversion objects.
(IBM128_SHARED_OBJS): Use proper substitution reference syntax.
2021-03-29 Michael Meissner <>
* config/rs6000/t-float128 (fp128_decstr_funcs): Delete.
(fp128_ppc_funcs): Do not add $(fp128_decstr_funcs).
(fp128_decstr_objs): Delete.
* dfp-bit.h: Call __sprintfieee128 to do conversions from
_Float128 to a Decimal type. Call __strtoieee128 to do
conversions from a Decimal type to _Float128.
* config/rs6000/_sprintfkf.c: Delete file.
* config/rs6000/_sprintfkf.h: Delete file.
* config/rs6000/_strtokf.c: Delete file.
* config/rs6000/_strtokf.h: Delete file.
2021-03-23 Marcus Comstedt <>
* config/riscv/sfp-machine.h (__BYTE_ORDER): Set according
to __BYTE_ORDER__.
2021-03-06 Jakub Jelinek <>
PR gcov-profile/99406
defined, define these macros if not defined already.
2021-03-04 Martin Liska <>
PR gcov-profile/99105
* libgcov-driver.c (write_top_counters): Rename to ...
(write_topn_counters): ... this.
(write_one_data): Pre-allocate buffer for number of items
in the corresponding linked lists.
* libgcov.h (malloc_mmap): New function.
(allocate_gcov_kvp): Use it.
2021-03-04 Martin Liska <>
PR gcov-profile/99385
* libgcov.h (allocate_gcov_kvp): Call mmap with fd equal to -1.
2021-03-03 Martin Liska <>
PR gcov-profile/97461
* Regenerate.
* configure: Likewise.
* Check sys/mman.h header file
* libgcov-driver.c (struct gcov_kvp): Remove static
pre-allocated pool and use a dynamic one.
* libgcov.h (MMAP_CHUNK_SIZE): New.
(gcov_counter_add): Use mmap to allocate pool for struct
2021-03-02 Michael Meissner <>
* config/rs6000/_sprintfkf.h (__sprintfkf): Fix prototype to match
the function.
* config/rs6000/_sprintfkf.c: Include _sprintfkf.h.
2021-02-24 Jakub Jelinek <>
PR libgcc/99236
* libgcc2.c (__powisf2, __powidf2, __powitf2, __powixf2): Perform
negation of m in unsigned type.
2021-02-24 Christophe Lyon <>
Hau Hsu <>
PR target/99157
* config/arm/t-arm: Fix cmse support detection.
2021-02-22 Michael Meissner <>
* dfp-bit.c (BFP_TO_DFP): Fix a comment line that was too long.
2021-02-22 Michael Meissner <>
* config/rs6000/_dd_to_kf.c: New file.
* config/rs6000/_kf_to_dd.c: New file.
* config/rs6000/_kf_to_sd.c: New file.
* config/rs6000/_kf_to_td.c: New file.
* config/rs6000/_sd_to_kf.c: New file.
* config/rs6000/_sprintfkf.c: New file.
* config/rs6000/_sprintfkf.h: New file.
* config/rs6000/_strtokf.h: New file.
* config/rs6000/_strtokf.c: New file.
* config/rs6000/_td_to_kf.c: New file.
* config/rs6000/quad-float128.h: Add new declarations.
* config/rs6000/t-float128 (fp128_dec_funcs): New macro.
(fp128_decstr_funcs): New macro.
(ibm128_dec_funcs): New macro.
(fp128_ppc_funcs): Add the new conversions.
(fp128_dec_objs): Force Decimal <-> __float128 conversions to be
compiled with -mabi=ieeelongdouble.
(fp128_decstr_objs): Force __float128 <-> string conversions to be
compiled with -mabi=ibmlongdouble.
(ibm128_dec_objs): Force Decimal <-> __float128 conversions to be
compiled with -mabi=ieeelongdouble.
(FP128_CFLAGS_DECIMAL): New macro.
(IBM128_CFLAGS_DECIMAL): New macro.
* dfp-bit.c (DFP_TO_BFP): Add PowerPC _Float128 support.
(BFP_TO_DFP): Add PowerPC _Float128 support.
* dfp-bit.h (BFP_KIND): Add new binary floating point kind for
IEEE 128-bit floating point.
(DFP_TO_BFP): Add PowerPC _Float128 support.
(BFP_TO_DFP): Add PowerPC _Float128 support.
(BFP_SPRINTF): New macro.
2021-01-27 Jakub Jelinek <>
* config/i386/savms64.h: Add .note.GNU-stack section on Linux.
* config/i386/savms64f.h: Likewise.
* config/i386/resms64.h: Likewise.
* config/i386/resms64f.h: Likewise.
* config/i386/resms64x.h: Likewise.
* config/i386/resms64fx.h: Likewise.
2021-01-26 Martin Liska <>
PR gcov-profile/98739
* libgcov.h (gcov_topn_add_value): Do not train when
we have a merged profile with a negative number of total
2021-01-25 Martin Liska <>
PR gcov-profile/98739
* libgcov-merge.c (__gcov_merge_topn): Mark when merging
ends with a dropped counter.
* libgcov.h (gcov_topn_add_value): Add return value.
2021-01-13 Stafford Horne <>
* config/or1k/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
FP_EX_ALL): New constant macros.
2021-01-13 Samuel Thibault <>
* config/i386/gnu-unwind.h (x86_gnu_fallback_frame_state): Add the
posix siginfo case to struct handler_args. Detect between legacy
and siginfo from the second parameter, which is a small sigcode in
the legacy case, and a pointer in the siginfo case.
2020-12-20 Max Filippov <>
* config/xtensa/lib1funcs.S (__bswapsi2, __bswapdi2): New
* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _bswapsi2 and
2020-12-08 Ian Lance Taylor <>
* generic-morestack-thread.c (free_segments): Block signals during
thread exit.
2020-12-03 Michael Meissner <>
PR libgcc/97543
PR libgcc/97643
* config/rs6000/t-linux (IBM128_STATIC_OBJS): New make variable.
(IBM128_SHARED_OBJS): New make variable.
(IBM128_OBJS): New make variable. Set all objects to use the
explicit IBM format, and disable gnu attributes.
(IBM128_CFLAGS): New make variable.
(gcc_s_compile): Add -mno-gnu-attribute to all shared library
2020-12-03 Alexandre Oliva <>
* config/t-vxworks (LIB2ADD): Drop.
* config/t-vxworks7 (LIB2ADD): Likewise.
* config/vxcache.c: Remove.
2020-11-30 Stefan Kanthak <>
* libgcc2.c (bswapsi2): Make constants unsigned.
2020-11-25 Stefan Kanthak <>
* libgcc2.c (absvSI2): Simplify/improve implementation by using
(absvsi2, absvDI2): Likewise.
2020-11-20 Maciej W. Rozycki <>
* unwind-dw2-fde-dip.c [__OpenBSD__ || __NetBSD__]
2020-11-18 Jozef Lawrynowicz <>
* config/msp430/lib2hw_mul.S (mult64_hw): New.
(if MUL_32): Use mult64_hw for __muldi3.
(if MUL_F5): Use mult64_hw for __muldi3.
* config/msp430/lib2mul.c (__muldi3): New.
* config/msp430/t-msp430 (LIB2FUNCS_EXCLUDE): Define.
2020-11-17 Alan Modra <>
* config/rs6000/t-ppc64-fp (LIB2ADD): Delete.
* config/rs6000/ppc64-fp.c: Delete file.
2020-11-15 Jozef Lawrynowicz <>
* config/msp430/lib2hw_mul.S: Omit _hw* suffix from GCC names for
hwmult library functions.
2020-11-10 Jeff Law <>
* libgcc2.c: Fix whitespace issues in most recent change.
2020-11-10 Stefan Kanthak <>
* libgcc2.c (__addvSI3): Use overflow builtins.
(__addvsi3, __addvDI3 ,__subvSI3, __subvsi3): Likewise.
(__subvDI3 __mulvSI3, __mulvsi3, __negvSI2): Likewise.
(__negvsi2, __negvDI2): Likewise.
(__cmpdi2, __ucmpdi2): Adjust implementation to improve
generated code.
* libgcc2.h (__ucmpdi2): Adjust prototype.
2020-11-03 Pat Bernardi <>
Olivier Hainque <>
* (aarch64-vxworks7*, tmake_file): Add
${cpu_type}/t-lse and t-slibgcc-libgcc.
2020-11-03 Martin Storsjö <>
* unwind-seh.c (_Unwind_Backtrace): Set the ra and cfa pointers
before calling the callback.
2020-10-30 Olivier Hainque <>
Douglas Rupp <>
Pat Bernardi <>
* Adjust the ix86/x86_64-wrs-vxworks filters
to apply to VxWorks 7 as well.
2020-10-29 Olivier Hainque <>
* config/gthr-vxworks-tls.c: Fix preprocessor logic
controlling the definition of VX_ENTER_TLS_DTOR and
VX_LEAVE_TLS_DTOR based on a version major check.
2020-10-29 Olivier Hainque <>
* config/gthr-vxworks-thread.c: Fix name of macro used
to condition the inclusion of an actual implementation.
2020-10-27 Martin Liska <>
PR gcov-profile/97461
* libgcov.h (gcov_counter_add): Use first static counters
as it should help to have malloc wrappers set up.
2020-10-23 Rasmus Villemoes <>
* config/gthr-vxworks-thread.c: #include gthr.h before
testing the guard defined there.
* config/gthr-vxworks-cond.c: Likewise.
2020-10-21 Douglas Rupp <>
Olivier Hainque <>
* (powerpc*-wrs-vxworks7*): New case.
* Handle powerpc*-*-vxworks7* as
powerpc*-*-linux* for ppc-fp_type.
* configure: Regenerate.
2020-10-16 Rasmus Villemoes <>
* config/gthr-vxworks.h: Condition the ___GTHREADS_CXX0X
section on VxWorks >= 6.
* config/gthr-vxworks-thread.c: Condition the entire
implementation on __GTHREAD_CXX0X.
2020-10-16 Rasmus Villemoes <>
* config/gthr-vxworks.h: Condition the __GTHREAD_HAS_COND
section on VxWorks >= 6.
* config/gthr-vxworks-cond.c: Condition the entire
implementation on __GTHREAD_HAS_COND.
2020-10-16 Rasmus Villemoes <>
* config/gthr-vxworks.c: #include <taskLib.h>.
2020-10-16 Rasmus Villemoes <>
* config/gthr-vxworks.h: Rewrite remaining occurrence
of _VXW_PRE_69 as _VXWORKS_PRE(6,9).
2020-10-16 Rasmus Villemoes <>
Olivier Hainque <>
* config/gthr-vxworks-tls.c (VX_ENTER_TLS_DTOR): Nil
except on VxWorks 6.
2020-10-16 Olivier Hainque <>
* config/t-vxcrtstuff: Remove the -kernel/-rtp specialization.
2020-10-14 Alexandre Oliva <>
* config/gthr-vxworks-thread.c: Include stdlib.h.
(tls_delete_hook): Prototype it.
(__gthread_cond_signal): Return early if no waiters. Consume
signal in case the semaphore got full. Use semInfoGet instead
of kernel-mode-only semInfo.
(__gthread_cond_timedwait): Use semExchange. Always take the
mutex again before returning.
* config/gthr-vxworks-cond.c (__ghtread_cond_wait): Likewise.
2020-10-14 Olivier Hainque <>
* config/t-vxworks (LIBGCC2_INCLUDES): Append
$(MULTISUBDIR) to the -I path for fixed headers, as we
arrange to have different sets of such headers for different
multilibs when they are activated.
* config/t-vxworks7: Likewise.
2020-10-14 Olivier Hainque <>
* config/t-vxworks: Add include-fixed to include search
paths for libgcc on VxWorks.
* config/t-vxworks7: Likewise.
2020-10-09 H.J. Lu <>
PR target/97148
* config/i386/shadow-stack-unwind.h: Include <x86gprintrin.h>
instead of <cetintrin.h>.
2020-10-01 Alan Modra <>
* config/rs6000/morestack.S,
* config/rs6000/tramp.S: Support __PCREL__ code.
2020-10-01 Alan Modra <>
* config/rs6000/t-linux: Document purpose of -mno-minimal-toc.
2020-09-29 Maciej W. Rozycki <>
* config/riscv/t-elf (LIB2_DIVMOD_EXCEPTION_FLAGS): New
2020-09-28 Richard Sandiford <>
* config/aarch64/libgcc-softfp.ver: New file.
* config/aarch64/t-softfp (SHLIB_MAPFILES): Add it.
2020-09-27 Clement Chigot <>
* config/rs6000/t-slibgcc-aix: Use $(AR) without -X32_64.
2020-09-22 Sergei Trofimovich <>
PR gcov-profile/96913
* libgcov-driver.c (write_one_data): Avoid function pointer
comparison in TOP streaming decision.
2020-09-17 Torbjörn SVENSSON <>
Christophe Lyon <>
* config/arm/fp16.c (__gnu_h2f_internal): Add 'static inline'
(__gnu_f2h_ieee, __gnu_h2f_ieee, __gnu_f2h_alternative)
(__gnu_h2f_alternative,__gnu_d2h_ieee, __gnu_d2h_alternative): Add
missing prototypes.
2020-09-17 Wei Wentao <>
* config/aarch64/aarch64-unwind.h (aarch64_demangle_return_addr): Fix
unused variable warning.
2020-09-16 Jojo R <>
* (C-SKY): Enable crtbegin/crtend.o of libgcc for elf target.
2020-09-09 Tom de Vries <>
* config/nvptx/atomic.c (__SYNC_SUBWORD_COMPARE_AND_SWAP): Fix
2020-08-26 Jozef Lawrynowicz <>
* config/msp430/slli.S (__gnu_mspabi_sllp): New.
* config/msp430/srai.S (__gnu_mspabi_srap): New.
* config/msp430/srli.S (__gnu_mspabi_srlp): New.
2020-08-13 Kwok Cheung Yeung <>
* config/nvptx/atomic.c: New.
* config/nvptx/t-nvptx (LIB2ADD): Add atomic.c.
2020-08-03 Ian Lance Taylor <>
* config/i386/morestack.S (BACKOFF) [x86_64]: Add 2048 bytes.
2020-08-03 Jakub Jelinek <>
PR target/96402
* config/aarch64/lse.S (__aarch64_cas16_acq_rel): Use x2, x3 instead
of x(tmp0), x(tmp1) in STXP arguments.
2020-07-31 Maciej W. Rozycki <>
* config/riscv/save-restore.S [__riscv_xlen == 64]
(__riscv_save_10, __riscv_save_8, __riscv_save_6, __riscv_save_4)
(__riscv_save_2): Replace negative immediates used for the final
stack pointer adjustment with positive ones, right-shifted by 4.
2020-07-31 Martin Liska <>
* libgcov-driver.c: Add __gcov_kvp_pool
and __gcov_kvp_pool_index variables.
* libgcov.h (allocate_gcov_kvp): New.
(gcov_topn_add_value): Use it.
2020-07-24 Szabolcs Nagy <>
* config/aarch64/lse.S: Add PAC property note.
2020-07-23 Martin Liska <>
PR gcov-profile/96035
* libgcov-driver-system.c: Create gcov folders with 0777
so that it respects a system umask.
2020-07-14 David Edelsohn <>
* config/rs6000/t-slibgcc-aix: Set BITS from compiler cpp macro.
2020-07-13 Szabolcs Nagy <>
PR target/94891
* config/aarch64/aarch64-unwind.h (MD_POST_EXTRACT_ROOT_ADDR): Remove.
(aarch64_post_extract_frame_addr): Rename to ...
(aarch64_demangle_return_addr): This.
(aarch64_post_frob_eh_handler_addr): Remove.
* unwind-dw2.c (uw_update_context): Demangle return address.
(uw_frob_return_addr): Remove.
2020-07-09 Szabolcs Nagy <>
PR target/96001
* config/aarch64/lse.S: Add BTI marking and related definitions,
and add BTI c to function entries.
2020-07-09 Szabolcs Nagy <>
* config/aarch64/lse.S: Add stack note.
2020-07-02 Martin Liska <>
PR gcov-profile/95348
* libgcov-driver.c (merge_one_data): Merge only profiles
that are not of non-zero type.
(write_one_data): Write counters only if there's one non-zero
* libgcov-util.c (tag_function): Change signature from unsigned
to int.
(tag_blocks): Likewise.
(tag_arcs): Likewise.
(tag_counters): Likewise.
(tag_summary): Likewise.
(tag_lines): Read only if COUNTERS is non-zero.
(read_gcda_file): Handle negative length for COUNTERS type.
2020-06-25 Martin Liska <>
* libgcov-driver.c (merge_summary): Remove function as its name
is misleading and doing something different.
(dump_one_gcov): Add ATTRIBUTE_UNUSED for 2 args. Take read summary
in gcov-tool.
* libgcov-util.c (curr_object_summary): Remove.
(read_gcda_file): Remove unused curr_object_summary.
(gcov_merge): Merge summaries.
* libgcov.h: Add summary argument for gcov_info struct.
2020-06-24 H.J. Lu <>
PR target/95259
* config/i386/cpuinfo.c: Don't include "cpuinfo.h". Include
"common/config/i386/i386-cpuinfo.h" and
(__cpu_features2): Changed to array.
(get_amd_cpu): Removed.
(get_intel_cpu): Likewise.
(get_available_features): Likewise.
(__cpu_indicator_init): Call cpu_indicator_init.
* config/i386/cpuinfo.h: Removed.
2020-06-23 David Edelsohn <>
* Remove uses of Use -include.
* config/avr/t-avr: Use -include.
* Delete.
2020-06-21 David Edelsohn <>
* (extra_parts): Add crtcxa_64 and crtdbase_64.
* config/rs6000/t-aix-cxa: Explicitly compile 32 bit with -maix32
and 64 bit with -maix64.
* config/rs6000/t-slibgcc-aix: Remove extra @multilib_dir@ level.
Build and install AIX-style FAT libraries.
2020-06-17 Samuel Thibault <>
* (md_unwind_header) <i[34567]86-*-gnu*>: Set to
* config/i386/gnu-unwind.h: New file.
2020-06-17 Martin Liska <>
* libgcov-util.c (read_gcda_finalize): Remove const operator.
(merge_wrapper): Add both counts and use them properly.
(topn_to_memory_representation): New function.
(gcov_merge): Covert on disk representation to in memory
* libgcov.h: Remove const operator.
2020-06-15 Max Filippov <>
* configure: Regenerate.
* Use AC_COMPILE_IFELSE instead of manual
preprocessor invocation to check for __XTENSA_CALL0_ABI__.
2020-06-09 Martin Liska <>
PR gcov-profile/95494
* libgcov-driver.c (write_top_counters): Cast first to
intptr_t as sizeof(*) != sizeof(gcov_type).
* libgcov.h (gcov_counter_set_if_null): Remove.
(gcov_topn_add_value): Cast first to intptr_t and update
linked list directly.
2020-06-09 Max Filippov <>
* config/xtensa/unwind-dw2-xtensa.c (uw_install_context): Merge
with uw_install_context_1.
2020-06-04 Andreas Schwab <>
PR target/59230
PR libfortran/59227
* config/ia64/t-softfp-compat (softfp_file_list): Filter out
(LIB2ADD): Add config/ia64/divtf3.c.
* config/ia64/divtf3.c: New file.
2020-06-03 Martin Liska <>
PR gcov-profile/95480
* libgcov-profiler.c (GCOV_SUPPORTS_ATOMIC): Move to...
(gcov_counter_add): Use GCOV_SUPPORTS_ATOMIC guard.
(gcov_counter_set_if_null): Likewise.
2020-06-02 Jim Wilson <>
* config/riscv/div.S (__divdi3): For negative arguments, change bgez
to bgtz.
2020-06-02 Martin Liska <>
* libgcov.h (gcov_topn_add_value): Use xcalloc instead
of xmalloc.
2020-06-02 Martin Liska <>
* libgcov-driver.c (prune_topn_counter): Remove.
(prune_counters): Likewise.
(merge_one_data): Special case TOP N counters
as they have variable length.
(write_top_counters): New.
(write_one_data): Special case TOP N.
(dump_one_gcov): Do not prune TOP N counters.
* libgcov-merge.c (merge_topn_values_set): Remove.
(__gcov_merge_topn): Use gcov_topn_add_value.
* libgcov-profiler.c (__gcov_topn_values_profiler_body):
Likewise here.
* libgcov.h (gcov_counter_add): New.
(gcov_counter_set_if_null): Likewise.
(gcov_topn_add_value): New.
2020-06-01 Uroš Bizjak <>
* config/i386/sfp-exceptions.c (struct fenv):
Add __attribute__ ((gcc_struct)).
2020-05-29 H.J. Lu <>
PR bootstrap/95413
* configure: Regenerated.
2020-05-28 Dong JianQiang <>
PR gcov-profile/95332
* libgcov-util.c (read_gcda_file): Call gcov_magic.
* libgcov.h (gcov_magic): Disable GCC poison.
2020-05-21 H.J. Lu <>
PR target/95212
* config/i386/cpuinfo.h (processor_features): Move
2020-05-20 H.J. Lu <>
PR target/91695
* config/i386/cpuinfo.c (get_available_features): Fix VPCLMULQDQ
2020-05-19 H.J. Lu <>
PR target/95212
PR target/95220
* config/i386/cpuinfo.c (get_available_features): Fix
* config/i386/cpuinfo.h (processor_features): Add
2020-05-15 H.J. Lu <>
PR bootstrap/95147
* configure: Regenerated.
2020-05-14 H.J. Lu <>
* configure: Regenerated.
2020-05-09 Hans-Peter Nilsson <>
* Remove support for crisv32-*-* and cris*-*-linux.
* config/cris/libgcc-glibc.ver, config/cris/t-linux: Remove.
2020-05-06 Uroš Bizjak <>
* config/i386/sfp-exceptions.c (__math_force_eval): Remove.
(__math_force_eval_div): New define.
(__sfp_handle_exceptions): Use __math_force_eval_div to use
generic division to generate INVALID, DIVZERO and INEXACT
2020-05-06 Kyrylo Tkachov <>
* config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval
instead of getauxval.
(AT_HWCAP): Define.
Guard detection on __gnu_linux__.
2020-05-05 Michael Meissner <>
* Delete changes meant for a private branch.
* config/rs6000/t-float128: Likewise.
* Likewise.
* configure: Likewise.
2020-05-05 Martin Liska <>
PR gcov-profile/93623
* Remove __gcov_flush.
* gcov.h (__gcov_flush): Remove.
* libgcov-interface.c (__gcov_flush): Remove.
(init_mx): Use renamed mutex.
(__gcov_lock): Likewise.
(__gcov_unlock): Likewise.
(__gcov_fork): Likewise.
(__gcov_flush): Remove.
2020-05-05 Martin Liska <>
PR gcov-profile/93623
* libgcov-interface.c (__gcov_fork): Do not flush
and reset only in child process.
(__gcov_execl): Dump counters only and reset them
only if exec* fails.
(__gcov_execlp): Likewise.
(__gcov_execle): Likewise.
(__gcov_execv): Likewise.
(__gcov_execvp): Likewise.
(__gcov_execve): Likewise.
2020-05-05 Martin Liska <>
PR gcov-profile/93623
* Add _gcov_lock_unlock to LIBGCOV_INTERFACE.
* libgcov-interface.c (ALIAS_void_fn): Remove.
(__gcov_lock): New.
(__gcov_unlock): New.
(__gcov_flush): Use __gcov_lock and __gcov_unlock.
(__gcov_reset): Likewise.
(__gcov_dump): Likewise.
* libgcov.h (__gcov_lock): New declaration.
(__gcov_unlock): Likewise.
2020-05-01 Uroš Bizjak <>
* config/i386/sfp-exceptions.c (__math_force_eval): New define.
(__sfp_handle_exceptions): Use __math_force_eval to evaluate
generic division to generate INVALID and DIVZERO exceptions.
2020-04-27 Sebastian Huber <>
* config/rs6000/crtresfpr.S: Use .machine ppc.
* config/rs6000/crtresxfpr.S: Likewise.
* config/rs6000/crtsavfpr.S: Likewise.
2020-04-21 Szabolcs Nagy <>
PR target/94514
* config/aarch64/aarch64-unwind.h (aarch64_frob_update_context):
Update context->flags accroding to the frame state.
2020-04-19 Uroš Bizjak <>
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions) [__SSE_MATH__]:
Remove unneeded assignments to volatile memory.
2020-04-15 Jakub Jelinek <>
PR target/93053
* config/aarch64/lse.S: Include auto-target.h, if HAVE_AS_LSE
is not defined, use just .arch armv8-a.
(B, M, N, OPN): Define.
(COMMENT): New .macro.
(CAS, CASP, SWP, LDOP): Use .inst directive if HAVE_AS_LSE is not
defined. Otherwise, move the operands right after the glue? and
comment out operands where the macros are used.
* configure: Regenerated.
* Regenerated.
2020-04-07 Ian Lance Taylor <>
PR libgcc/94513
* generic-morestack.c: Give up trying to use __mmap/__munmap, use
syscall instead.
2020-04-04 Ian Lance Taylor <>
* generic-morestack.c: Only use __mmap on glibc >= 2.26.
2020-04-03 Ian Lance Taylor <>
* generic-morestack.c: On GNU/Linux use __mmap/__munmap rather
than mmap/munmap, to avoid hooks.
2020-04-03 Jim Johnston <>
* config/s390/tpf-unwind.h (MIN_PATRANGE, MAX_PATRANGE)
(TPFRA_OFFSET): Macros removed.
(PG3_SKIPPING_OFFSET): New macros.
(__isPATrange): Use cinfc_fast for the check.
(__isSkipResetAddr): New function.
(s390_fallback_frame_state): Check for skip trace addresses. Use
either ICST_CRET or ICST_SRET to calculate return address
(__tpf_eh_return): Handle skip trace addresses.
2020-03-26 Richard Earnshaw <>
PR target/94220
* config/arm/lib1funcs.asm (COND): Use a single definition for
unified syntax.
(aeabi_uidivmod): Unified syntax when optimizing Thumb for size.
(aeabi_idivmod): Likewise.
(divsi3_skip_div0_test): Likewise.
2020-03-17 Mihail Ionescu <>
* config/arm/t-arm: Do not compile cmse_nonsecure_call.S for v8.1-m.
2020-03-04 Andreas Krebbel <>
* Include the new makefile fragment.
* config/s390/t-tpf: New file.
2020-03-03 Richard Earnshaw <>
* config/arm/bpabi-v6m.S (aeabi_lcmp): Convert thumb1 code to unified
(aeabi_ulcmp, aeabi_ldivmod, aeabi_uldivmod): Likewise.
(aeabi_frsub, aeabi_cfcmpeq, aeabi_fcmpeq): Likewise.
(aeabi_fcmp, aeabi_drsub, aeabi_cdrcmple): Likewise.
(aeabi_cdcmpeq, aeabi_dcmpeq, aeabi_dcmp): Likewise.
* config/arm/lib1funcs.S (Lend_fde): Convert thumb1 code to unified
(divsi3, modsi3): Likewise.
(clzdi2, ctzsi2): Likewise.
* config/arm/libunwind.S (restore_core_regs): Convert thumb1 code to
unified syntax.
2020-03-02 Martin Liska <>
* libgcov-interface.c: Remove duplicate
declaration of __gcov_flush_mx.
2020-02-18 Martin Liska <>
PR ipa/92924
* libgcov-merge.c (merge_topn_values_set): Record
when a TOP N counter becomes invalid. When merging
remove a smallest value if the space is needed.
2020-02-12 Sandra Loosemore <>
PR libstdc++/79193
PR libstdc++/88999
* configure: Regenerated.
2020-02-10 Jeff Law <>
* config/frv/frvbegin.c: Use right flags for .ctors and .dtors
* config/frv/frvend.c: Similarly.
2020-02-10 H.J. Lu <>
PR libgcc/85334
* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
2020-02-10 Christophe Lyon <>
PR target/93615
* Replace uses of gnu_Unwind_Find_got with
* unwind-pe.h: Likewise.
2020-02-07 Jakub Jelinek <>
PR target/93615
* config/arm/unwind-arm.h (gnu_Unwind_Find_got): Rename to ...
(_Unwind_gnu_Find_got): ... this. Use __asm instead of asm. Remove
trailing :s in asm. Formatting fixes.
(_Unwind_decode_typeinfo_ptr): Adjust caller.
2020-01-31 Sandra Loosemore <>
nios2: Support for GOT-relative DW_EH_PE_datarel encoding.
* [nios2-*-linux*] (tmake_file, tm_file): Adjust.
* config/nios2-elf-lib.h: New.
* unwind-dw2-fde-dip.c (_Unwind_IteratePhdrCallback): Use existing
code for finding GOT base for nios2.
2020-01-27 Martin Liska <>
PR gcov-profile/93403
* libgcov-profiler.c (__gcov_indirect_call_profiler_v4):
Call __gcov_indirect_call_profiler_body.
(__gcov_indirect_call_profiler_body): New.
(__gcov_indirect_call_profiler_v4_atomic): New.
* libgcov.h (__gcov_indirect_call_profiler_v4_atomic):
New declaration.
2020-01-27 Claudiu Zissulescu <>
* config/arc/crti.S: Add RF16 object attribute.
* config/arc/crtn.S: Likewise.
* config/arc/crttls.S: Likewise.
* config/arc/lib1funcs.S: Likewise.
* config/arc/fp-hack.h (ARC_OPTFPE): Define.
* config/arc/lib2funcs.c: New file.
* config/arc/t-arc: Add lib2funcs to LIB2ADD.
2020-01-24 Maciej W. Rozycki <>
* (configure_deps): Add `toolexeclibdir.m4'.
* Handle `--with-toolexeclibdir='.
* configure: Regenerate.
2020-01-23 Dragan Mladjenovic <>
* config/mips/gnustack.h: Check for TARGET_LIBC_GNUSTACK also.
2020-01-23 Dragan Mladjenovic <>
* config/mips/gnustack.h: New file.
* config/mips/crti.S: Include gnustack.h.
* config/mips/crtn.S: Likewise.
* config/mips/mips16.S: Likewise.
* config/mips/vr4120-div.S: Likewise.
2020-01-23 Martin Liska <>
* libgcov-driver.c (prune_topn_counter): Remove
check for -1 as we only prune run-time counters
that do not generate an invalid state.
2020-01-22 Martin Liska <>
PR tree-optimization/92924
* libgcov-profiler.c (__gcov_topn_values_profiler_body): First
try to find an existing value, then find an empty slot
if not found.
2020-01-22 Martin Liska <>
PR tree-optimization/92924
* libgcov-driver.c (prune_topn_counter): New.
(prune_counters): Likewise.
(dump_one_gcov): Prune a run-time counter.
* libgcov-profiler.c (__gcov_topn_values_profiler_body):
For a known value, add GCOV_TOPN_VALUES to value.
Otherwise, decrement all counters by one.
2020-01-18 Hans-Peter Nilsson <>
* config/cris/arit.c (DS): Apply attribute __fallthrough__.
2020-01-18 John David Anglin <>
PR libgcc/92988
* crtstuff.c (__do_global_dtors_aux): Only call __cxa_finalize if
2020-01-16 Mihail-Calin Ionescu <>
Thomas Preud'homme <>
* config/arm/t-arm: Check return value of gcc rather than lack of
2020-01-14 Georg-Johann Lay <>
* config/avr/lib1funcs.S (skip): Simplify.
2020-01-10 Kwok Cheung Yeung <>
* config/gcn/atomic.c: Remove include of stdint.h.
(__sync_val_compare_and_swap_##SIZE): Replace uintptr_t with
2020-01-09 Kwok Cheung Yeung <>
* config/gcn/atomic.c: New.
* config/gcn/t-amdgcn (LIB2ADD): Add atomic.c.
2020-01-08 Georg-Johann Lay <>
Implement 64-bit double functions.
PR target/92055
* (tmake_file) [target=avr]: Add t-libf7,
t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=.
* config/avr/t-avrlibc: Don't copy libgcc.a if there are modules
depending on sizeof (double) or sizeof (long double).
* config/avr/libf7: New folder.
2020-01-05 Olivier Hainque <>
* config/gthr-vxworks.h: Guard #include vxAtomicLib.h
2020-01-01 Jakub Jelinek <>
Update copyright years.
2019-12-30 Olivier Hainque <>
* config/gthr-vxworks.h: Use _vxworks-versions.h.
* config/gthr-vxworks-tls.c: Likewise.
2019-12-30 Olivier Hainque <>
* config/gthr-vxworks.h (GTHREAD_ONCE_INIT): Use
standard zero-initializer syntax.
2019-12-30 Olivier Hainque <>
* config/gthr-vxworks-tls.c (__gthread_getspecific): Fix
reference to the internal VX_GET_TLS_DATA interface.
2019-12-30 Olivier Hainque <>
* config/vxcrtstuff.c: Fix incorrect spelling of
2019-12-16 Jozef Lawrynowicz <>
* s/msp430*-*-elf/msp430-*-elf*.
Override default "extra_parts" variable.
* configure: Regenerate.
* Disable TM clone registry by default for
2019-12-11 Jozef Lawrynowicz <>
* (msp430*-*-elf): Add crt{begin,end}_no_eh.o to
* config/msp430/t-msp430: Add rules to build crt{begin,end}_no_eh.o.
2019-12-11 Jozef Lawrynowicz <>
* crtstuff.c: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is
2019-12-09 Jozef Lawrynowicz <>
* crtstuff.c (__do_global_dtors_aux): Check if USE_EH_FRAME_REGISTRY is
defined instead of its value.
2019-12-09 Jozef Lawrynowicz <>
* crtstuff.c (__do_global_dtors_aux): Wrap in #if so it's only defined
if it will have contents.
2019-12-05 Georg-Johann Lay <>
PR target/92055
* config/avr/t-avrlibc (MULTISUBDIR): Search for double, not double64.
2019-11-18 Szabolcs Nagy <>
PR libgcc/91737
* Add t-gthr-noweak on *-*-musl*.
* config/t-gthr-noweak: New file.
2019-11-17 John David Anglin <>
* config/pa/linux-atomic.c (__kernel_cmpxchg): Change argument 1 to
volatile void *. Remove trap check.
(__kernel_cmpxchg2): Likewise.
(FETCH_AND_OP_2): Adjust operand types.
(OP_AND_FETCH_2): Likewise.
(FETCH_AND_OP_WORD): Likewise.
(OP_AND_FETCH_WORD): Likewise.
(COMPARE_AND_SWAP_2): Likewise.
(__sync_val_compare_and_swap_4): Likewise.
(__sync_bool_compare_and_swap_4): Likewise.
(__sync_lock_test_and_set_4): Likewise.
(SYNC_LOCK_RELEASE_1): Likewise. Use __kernel_cmpxchg2 for release.
(__sync_lock_release_4): Adjust operand types. Use __kernel_cmpxchg
for release.
(__sync_lock_release_8): Remove.
2019-11-15 Szabolcs Nagy <>
* config/m68k/linux-unwind.h (struct uw_ucontext): Use sigset_t instead
of __sigset_t.
2019-11-14 Jerome Lambourg <>
Doug Rupp <>
Olivier Hainque <>
* Collapse the arm-vxworks entries into
a single arm-wrs-vxworks7* one.
* config/arm/unwind-arm-vxworks.c: Update comments. Provide
__gnu_Unwind_Find_exidx and a weak dummy __cxa_type_match for
kernel modules, to be overriden by libstdc++ when we link with
it. Rely on externally provided __exidx_start/end.
2019-11-14 Doug Rupp <>
Olivier Hainque <>
* Handle aarch64*-wrs-vxworks7*.
2019-11-12 Olivier Hainque <>
* config/t-gthr-vxworksae: New file, add all the gthr-vxworks
sources except the cxx0x support to LIB2ADDEH. We don't support
cxx0x on AE/653.
* config/t-vxworksae: New file.
* Handle *-*-vxworksae: Add the two aforementioned
Makefile fragment files at their expected position in the tmake_file
list, in accordance with what is done for other VxWorks variants.
2019-11-12 Corentin Gay <>
Jerome Lambourg <>
Olivier Hainque <>
* config/t-gthr-vxworks: New file, add all the gthr-vxworks
sources to LIB2ADDEH.
* config/t-vxworks: Remove adjustments to LIB2ADDEH.
* config/t-vxworks7: Likewise.
* Append a block at the end of the file to add the
t-gthr files to the tmake_file list for VxWorks after everything
* config/vxlib.c: Rename as gthr-vxworks.c.
* config/vxlib-tls.c: Rename as gthr-vxworks-tls.c.
* config/gthr-vxworks.h: Simplify a few comments. Expose a TAS
API and a basic error checking API, both internal. Simplify the
__gthread_once_t type definition and initializers. Add sections
for condition variables support and for the C++0x thread support,
conditioned against Vx653 for the latter.
* config/gthr-vxworks.c (__gthread_once): Simplify comments and
implementation, leveraging the TAS internal API.
* config/gthr-vxworks-tls.c: Introduce an internal TLS data access
API, leveraging the general availability of TLS services in VxWorks7
post SR6xxx.
(__gthread_setspecific, __gthread_setspecific): Use it.
(tls_delete_hook): Likewise, and simplify the enter/leave dtor logic.
* config/gthr-vxworks-cond.c: New file. GTHREAD_COND variable
support based on VxWorks primitives.
* config/gthr-vxworks-thread.c: New file. GTHREAD_CXX0X support
based on VxWorks primitives.
2019-11-06 Jerome Lambourg <>
Olivier Hainque <>
* config/vxcrtstuff.c: New file.
* config/t-vxcrtstuff: New Makefile fragment.
* Append t-vxcrtstuff to the tmake_file list
on all VxWorks ports using dwarf for table based EH.
2019-11-07 Georg-Johann Lay <>
Support 64-bit double and 64-bit long double configurations.
PR target/92055
* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Only add -DF=SF if
long double is a 32-bit type.
* config/avr/t-avrlibc: Copy double64 and long-double64
multilib(s) from the vanilla one.
* config/avr/t-copy-libgcc: New Makefile snip.
2019-11-04 Jozef Lawrynowicz <>
* crtstuff.c: Define USE_TM_CLONE_REGISTRY to 0 if it's undefined and
the target output object format is not ELF.
2019-11-03 Oleg Endo <>
PR libgcc/78804
* fp-bit.h: Remove FLOAT_BIT_ORDER_MISMATCH.
* fp-bit.c (pack_d, unpack_d): Remove special cases for
* config/arc/t-arc: Remove FLOAT_BIT_ORDER_MISMATCH.
2019-11-01 Jim Wilson <>
* config/riscv/t-softfp32 (softfp_extra): Add FP divide routines
2019-10-23 Jozef Lawrynowicz <>
* config/msp430/lib2hw_mul.S: Fix wrong syntax in branch instruction.
Define symbols for 32-bit and f5series hardware multiply
register addresses.
Replace hard-coded register addresses with symbols.
Fix "_mspabi*" typo.
Fix whitespace.
* config/msp430/lib2mul.c: Add comment.
2019-10-15 John David Anglin <>
* config/pa/fptr.c (_dl_read_access_allowed): Change argument to
unsigned int. Adjust callers.
(__canonicalize_funcptr_for_compare): Change plabel type to volatile
unsigned int *. Load relocation offset before function pointer.
Add barrier to ensure ordering.
2019-10-12 John David Anglin <>
* config/pa/lib2funcs.S (__gcc_plt_call): Load branch target to %r21.
Load PIC register after branch target. Fix white space.
* config/pa/milli64.S ($$dyncall): Separate LINUX and non LINUX
implementations. Load PIC register after branch target. Don't
clobber function pointer when it points to function descriptor.
Use nullification instead of branch in LINUX implementation.
2019-10-03 John David Anglin <>
* config/pa/fptr.c: Disable -Warray-bounds warning.
2019-09-25 Richard Henderson <>
*, configure: Re-rebuild with stock autoconf 2.69,
not the ubuntu modified 2.69.
PR target/91833
* config/aarch64/lse-init.c: Include auto-target.h. Disable
initialization if !HAVE_SYS_AUXV_H.
* (AC_CHECK_HEADERS): Add sys/auxv.h.
*, configure: Rebuild.
PR target/91834
* config/aarch64/lse.S (LDNM): Ensure STXR output does not
overlap the inputs.
2019-09-25 Shaokun Zhang <>
* config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Add support for
2019-09-20 Christophe Lyon <>
2019-09-10 Christophe Lyon <>
Mickaël Guêné <>
* config/arm/unwind-arm.c (_Unwind_VRS_Set): Handle thumb-only
2019-09-19 Richard Henderson <>
* config/aarch64/lse-init.c: New file.
* config/aarch64/lse.S: New file.
* config/aarch64/t-lse: New file.
* Add t-lse to all aarch64 tuples.
2019-09-10 Christophe Lyon <>
Mickaël Guêné <>
* config/arm/unwind-arm.c (_Unwind_VRS_Set): Handle thumb-only
2019-09-10 Christophe Lyon <>
Mickaël Guêné <>
(__gnu_personality_sigframe_fdpic): New.
(get_eit_entry): Add FDPIC signal frame support.
2019-09-10 Christophe Lyon <>
Mickaël Guêné <>
* config/arm/linux-atomic.c (__kernel_cmpxchg): Add FDPIC support.
(__kernel_dmb): Likewise.
(__fdpic_cmpxchg): New function.
(__fdpic_dmb): New function.
* config/arm/unwind-arm.h (FDPIC_REGNUM): New define.
(gnu_Unwind_Find_got): New function.
(_Unwind_decode_typeinfo_ptr): Add FDPIC support.
* (UCB_PR_GOT): New.
(funcdesc_t): New struct.
(get_eit_entry): Add FDPIC support.
(unwind_phase2): Likewise.
(unwind_phase2_forced): Likewise.
(__gnu_Unwind_RaiseException): Likewise.
(__gnu_Unwind_Resume): Likewise.
(__gnu_Unwind_Backtrace): Likewise.
* unwind-pe.h (read_encoded_value_with_base): Likewise.
2019-09-10 Christophe Lyon <>
Mickaël Guêné <>
* libgcc/crtstuff.c: Add support for FDPIC.
2019-09-10 Christophe Lyon <>
* Handle *-*-uclinuxfdpiceabi.
2019-09-09 Jose E. Marchesi <>
* Set cpu_type for bpf-*-* targets.
* config/bpf/t-bpf: Likewise.
* config/bpf/crtn.S: Likewise.
* config/bpf/crti.S: New file.
2019-09-06 Jim Wilson <>
* (riscv*-*-linux*): Add t-slibgcc-libgcc to tmake_file.
(riscv*-*-freebsd*): Likewise.
2019-09-03 Ulrich Weigand <>
* Remove references to spu.
* config/spu/: Remove directory.
2019-08-23 Jozef Lawrynowicz <>
PR target/91306
* crtstuff.c (__CTOR_LIST__): Align to the "__alignof__" the array
element type, instead of "sizeof" the element type.
(__DTOR_LIST__): Likewise.
(__TMC_LIST__): Likewise.
(__do_global_dtors_aux_fini_array_entry): Likewise.
(__frame_dummy_init_array_entry): Likewise.
(__CTOR_END__): Likewise.
(__DTOR_END__): Likweise.
(__FRAME_END__): Likewise.
(__TMC_END__): Likewise.
2019-08-20 Lili Cui <>
* config/i386/cpuinfo.h: Add INTEL_COREI7_TIGERLAKE and
2019-07-31 Matt Thomas <>
Nick Hudson <>
Matthew Green <>
Maya Rashish <>
* (hppa*-*-netbsd*): New case.
* config/pa/t-netbsd: New file.
2019-07-31 Joel Hutton <>
* config/arm/cmse.c (cmse_check_address_range): Add
warn_unused_result attribute.
2019-07-22 Martin Liska <>
* config/pa/stublib.c: Remove stub symbol __gnu_lto_v1.
* config/pa/t-stublib: Likewise.
2019-07-22 Stafford Horne <>
PR target/90362
* config/or1k/lib1funcs.S (__udivsi3): Change l.sfeqi
to l.sfeq and l.sfltsi to l.sflts equivalents as the immediate
instructions are not available on every processor. Change a
l.bnf to to fix logic issue.
2019-07-04 Iain Sandoe <>
* Remove reference to t-darwin8.
2019-07-03 Iain Sandoe <>
* (powerpc-*-darwin*,powerpc64-*-darwin*): Revise crt
* config/rs6000/t-darwin: Build crt3_2 for older systems. Revise
mmacosx-version-min for crts to run across all system versions.
* config/rs6000/t-darwin64 (LIB2ADD): Remove.
* config/t-darwin: Revise mmacosx-version-min for crts to run across
system versions >= 10.4.
2019-07-03 Martin Liska <>
* Use topn_values instead of one_value names.
* libgcov-merge.c (__gcov_merge_single): Move to ...
(__gcov_merge_topn): ... this.
(merge_single_value_set): Move to ...
(merge_topn_values_set): ... this.
* libgcov-profiler.c (__gcov_one_value_profiler_body): Move to
(__gcov_topn_values_profiler_body): ... this.
(__gcov_one_value_profiler_v2): Move to ...
(__gcov_topn_values_profiler): ... this.
(__gcov_one_value_profiler_v2_atomic): Move to ...
(__gcov_topn_values_profiler_atomic): ... this.
(__gcov_indirect_call_profiler_v4): Remove.
* libgcov-util.c (__gcov_single_counter_op): Move to ...
(__gcov_topn_counter_op): ... this.
* libgcov.h (L_gcov_merge_single): Remove.
(L_gcov_merge_topn): New.
(__gcov_merge_single): Remove.
(__gcov_merge_topn): New.
(__gcov_one_value_profiler_v2): Move to ..
(__gcov_topn_values_profiler): ... this.
(__gcov_one_value_profiler_v2_atomic): Move to ...
(__gcov_topn_values_profiler_atomic): ... this.
2019-07-03 Martin Liska <>
* libgcov-merge.c (merge_single_value_set): Support N values.
* libgcov-profiler.c (__gcov_one_value_profiler_body): Likewise.
2019-06-27 Ilia Diachkov <>
* Add --disable-tm-clone-registry option.
* configure: Regenerate.
2019-06-27 Martin Liska <>
* libgcov-driver-system.c (gcov_exit_open_gcda_file): Remove obviously
dead assignments.
* libgcov-util.c: Likewise.
2019-06-27 Martin Liska <>
* libgcov-util.c (gcov_profile_merge): Release allocated
(calculate_overlap): Likewise.
2019-06-25 Iain Sandoe <>
* Add libef_ppc.a to the extra files for powerpc-darwin.
* config/rs6000/t-darwin: (PPC_ENDFILE_SRC, PPC_ENDFILE_OBJS): New.
Build objects for the out of line save/restore register functions
so that they can be used for any supported Darwin version.
* config/t-darwin: Default the build Darwin version to Darwin8
(MacOS 10.4).
2019-06-25 Martin Liska <>
* libgcov-driver-system.c (replace_filename_variables): Do not
call strlen with NULL argument.
2019-06-25 Andrew Stubbs <>
* config/gcn/t-amdgcn (LIB2ADD): Add unwind-gcn.c.
* config/gcn/unwind-gcn.c: New file.
2019-06-25 Kwok Cheung Yeung <>
Andrew Stubbs <>
* configure: Regenerate.
* config/gcn/gthr-gcn.h: New.
2019-06-18 Tom de Vries <>
* config/nvptx/crt0.c (__main): Declare.
2019-06-17 Matthew Green <>
Maya Rashish <>
* (aarch64*-*-netbsd*): New case.
2019-06-16 Jozef Lawrynowicz <>
* config/msp430/slli.S (__mspabi_sllll): New library function for
performing a logical left shift of a 64-bit value.
* config/msp430/srai.S (__mspabi_srall): New library function for
performing a arithmetic right shift of a 64-bit value.
* config/msp430/srll.S (__mspabi_srlll): New library function for
performing a logical right shift of a 64-bit value.
2019-06-14 Matt Thomas <>
Matthew Green <>
Nick Hudson <>
Maya Rashish <>
* (arm*-*-netbsdelf*): Add support for EABI configurations.
* config/arm/t-netbsd (LIB1ASMFUNCS): Add some additional assembler
functions to build.
* config/arm/t-netbsd-eabi: New file.
2019-06-12 Dimitar Dimitrov <>
* Add PRU target.
* config/pru/asri.c: New file.
* config/pru/eqd.c: New file.
* config/pru/eqf.c: New file.
* config/pru/ged.c: New file.
* config/pru/gef.c: New file.
* config/pru/gtd.c: New file.
* config/pru/gtf.c: New file.
* config/pru/led.c: New file.
* config/pru/lef.c: New file.
* config/pru/lib2bitcountHI.c: New file.
* config/pru/lib2divHI.c: New file.
* config/pru/lib2divQI.c: New file.
* config/pru/lib2divSI.c: New file.
* config/pru/libgcc-eabi.ver: New file.
* config/pru/ltd.c: New file.
* config/pru/ltf.c: New file.
* config/pru/mpyll.S: New file.
* config/pru/pru-abi.h: New file.
* config/pru/pru-asm.h: New file.
* config/pru/pru-divmod.h: New file.
* config/pru/sfp-machine.h: New file.
* config/pru/t-pru: New file.
2019-06-11 Jakub Jelinek <>
* libgcov-merge.c (__gcov_merge_single): Revert previous change.
2019-06-10 Martin Liska <>
PR bootstrap/90808
* libgcov.h: Add ATTRIBUTE_UNUSED.
2019-06-10 Martin Liska <>
* Add __gcov_one_value_profiler_v2,
__gcov_one_value_profiler_v2_atomic and
* libgcov-merge.c (__gcov_merge_single): Change
function signature.
(merge_single_value_set): New.
* libgcov-profiler.c (__gcov_one_value_profiler_body):
Update functionality.
(__gcov_one_value_profiler): Remove.
(__gcov_one_value_profiler_v2): ... this.
(__gcov_one_value_profiler_atomic): Rename to ...
(__gcov_one_value_profiler_v2_atomic): this.
(__gcov_indirect_call_profiler_v3): Rename to ...
(__gcov_indirect_call_profiler_v4): ... this.
* libgcov.h (__gcov_one_value_profiler): Remove.
(__gcov_one_value_profiler_atomic): Remove.
(__gcov_one_value_profiler_v2_atomic): New.
(__gcov_indirect_call_profiler_v3): Remove.
(__gcov_one_value_profiler_v2): New.
(__gcov_indirect_call_profiler_v4): New.
(gcov_get_counter_ignore_scaling): New function.
2019-06-07 Martin Liska <>
* Remove usage of
* libgcov-driver.c (gcov_sort_n_vals): Remove.
(gcov_sort_icall_topn_counter): Likewise.
(gcov_sort_topn_counter_arrays): Likewise.
(dump_one_gcov): Remove call to gcov_sort_topn_counter_arrays.
* libgcov-merge.c (__gcov_merge_icall_topn): Remove.
* libgcov-profiler.c (__gcov_topn_value_profiler_body):
(struct indirect_call_tuple): Remove.
(__gcov_indirect_call_topn_profiler): Remove.
* libgcov-util.c (__gcov_icall_topn_counter_op): Remove.
* libgcov.h (gcov_sort_n_vals): Remove.
(L_gcov_merge_icall_topn): Likewise.
(__gcov_merge_icall_topn): Likewise.
(__gcov_indirect_call_topn_profiler): Likewise.
2019-06-06 Iain Sandoe <>
* config/rs6000/t-darwin: Ensure that the unwinder is built with
altivec enabled.
2019-06-06 Jozef Lawrynowicz <>
* config/msp430/slli.S (__mspabi_slli_n): Put function in its own
(__mspabi_slli): Likewise.
(__mspabi_slll_n): Likewise.
(__mspabi_slll): Likewise.
* config/msp430/srai.S (__mspabi_srai_n): Likewise.
(__mspabi_srai): Likewise.
(__mspabi_sral_n): Likewise.
(__mspabi_sral): Likewise.
* config/msp430/srli.S (__mspabi_srli_n): Likewise.
(__mspabi_srli): Likewise.
(__mspabi_srll_n): Likewise.
(__mspabi_srll): Likewise.
2019-06-05 Yoshinori Sato <>
* (rx-*-linux*): Add t-fdpbit to tmake_file
Add appropriate tm_file clause as well.
* config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Remove.
2019-06-05 James Clarke <>
* config/ia64/crtbegin.S (__dso_handle): Put in .sdata/.sbss
rather than .data/.bss so it can be accessed via gp-relative
2019-06-05 David Edelsohn <>
* config/rs6000/aix-unwind.h (LR_REGNO): Rename to R_LR.
(CR2_REGNO): Rename to R_CR2.
(XER_REGNO): Rename to R_XER.
2019-05-29 Yoshinori Sato <>
* (rx-*-linux*): Add new case.
* config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Force DFmode to SFmode.
2019-05-29 Sam Tebbs <>
* config/aarch64/aarch64-unwind.h (aarch64_cie_signed_with_b_key): New
* config/aarch64/aarch64-unwind.h (aarch64_post_extract_frame_addr,
aarch64_post_frob_eh_handler_addr): Add check for b-key.
* config/aarch64/aarch64-unwind-h (aarch64_post_extract_frame_addr,
aarch64_post_frob_eh_handler_addr, aarch64_post_frob_update_context):
* unwind-dw2-fde.c (get_cie_encoding): Add check for 'B' in augmentation
* unwind-dw2.c (extract_cie_info): Add check for 'B' in augmentation
2019-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/sparc/sol2-unwind.h [__arch64__] (sparc64_is_sighandler):
Remove Solaris 9 and 10 support.
(sparc_is_sighandler): Likewise.
2019-05-26 John David Anglin <>
* config/pa/linux-unwind.h (pa32_fallback_frame_state): Add cast.
2019-05-17 H.J. Lu <>
* soft-fp/extenddftf2.c: Use "_FP_W_TYPE_SIZE < 64" to check if
4_FP_W_TYPEs are used for IEEE quad precision.
* soft-fp/extendhftf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/trunctfdf2.c: Likewise.
* soft-fp/trunctfhf2.c: Likewise.
* soft-fp/trunctfsf2.c: Likewise.
* soft-fp/trunctfxf2.c: Likewise.
* config/rs6000/ibm-ldouble.c: Likewise.
2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* Simplify various *-*-solaris2.1[0-9]* to
* Likewise.
* configure: Regenerate.
* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
Solaris 10 and Solaris 11 < snv_125 handling.
2019-05-12 Iain Sandoe <>
* config/rs6000/darwin-vecsave.S: Set .machine appropriately.
2019-05-07 Hongtao Liu <>
* config/i386/cpuinfo.c (get_available_features): Detect BF16.
* config/i386/cpuinfo.h (enum processor_features): Add
2019-04-23 Ramana Radhakrishnan <>
Bernd Edlinger <>
Jakub Jelinek <>
PR target/89093
* config/arm/pr-support.c: Add #pragma GCC target("general-regs-only").
* config/arm/unwind-arm.c: Likewise.
* unwind-c.c (PERSONALITY_FUNCTION): Add general-regs-only target
attribute for ARM.
2019-04-15 Monk Chiang <>
* config/nds32/linux-unwind.h (SIGRETURN): Remove.
(nds32_fallback_frame_state): Update.
2019-02-21 Martin Sebor <>
* libgcc2.h (__clear_cache): Correct signature.
* libgcc2.c (__clear_cache): Same.
2019-02-20 Uroš Bizjak <>
* config/alpha/linux-unwind.h (alpha_fallback_frame_state):
Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'.
2019-02-19 Uroš Bizjak <>
* unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare
regno instead of index to DWARF_ZERO_REG.
2019-02-15 Eric Botcazou <>
* config/visium/lib2funcs.c (__set_trampoline_parity): Replace
2019-01-31 Uroš Bizjak <>
* config/alpha/t-linux: Add -mfp-rounding-mode=d
2019-01-23 Joseph Myers <>
PR libgcc/88931
* libgcc2.c (FSTYPE FUNC (DWtype u)): Correct no leading bits case.
2019-01-18 Martin Liska <>
* libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Rename
to ...
(__gcov_indirect_call_profiler_v3): ... this.
* libgcov.h (__gcov_indirect_call_profiler_v2): Likewise.
(__gcov_indirect_call_profiler_v3): Likewise.
* Bump function name.
2019-01-18 Martin Liska <>
* libgcov-driver.c (GCOV_PROF_PREFIX): Define.
(gcov_version): Use in gcov_error.
(merge_one_data): Likewise.
(dump_one_gcov): Likewise.
2019-01-18 Martin Liska <>
* libgcov-driver.c (gcov_version_string): New function.
(gcov_version): Convert version integer into string.
2019-01-17 Andrew Stubbs <>
Kwok Cheung Yeung <>
Julian Brown <>
Tom de Vries <>
* Recognize amdgcn*-*-amdhsa.
* config/gcn/crt0.c: New file.
* config/gcn/lib2-divmod-hi.c: New file.
* config/gcn/lib2-divmod.c: New file.
* config/gcn/lib2-gcn.h: New file.
* config/gcn/sfp-machine.h: New file.
* config/gcn/t-amdgcn: New file.
2019-01-09 Sandra Loosemore <>
PR other/16615
* config/c6x/libunwind.S: Mechanically replace "can not" with
* config/tilepro/atomic.h: Likewise.
* config/vxlib-tls.c: Likewise.
* generic-morestack-thread.c: Likewise.
* generic-morestack.c: Likewise.
* mkmap-symver.awk: Likewise.
2019-01-01 Jakub Jelinek <>
Update copyright years.
2018-12-20 H.J. Lu <>
* unwind-pe.h (read_encoded_value_with_base): Add GCC pragma
to ignore -Waddress-of-packed-member.
2018-12-19 Thomas Preud'homme <>
* /config/arm/lib1funcs.S (FUNC_START): Remove unused sp_section
parameter and corresponding code.
(ARM_FUNC_START): Likewise in both definitions.
Also update footer comment about condition that need to match with
gcc/config/arm/elf.h to also include libgcc/config/arm/t-arm.
* config/arm/ieee754-df.S (muldf3): Also build it if L_arm_muldf3 is
defined. Weakly define it in this case.
* config/arm/ieee754-sf.S (mulsf3): Likewise with L_arm_mulsf3.
* config/arm/t-elf (LIB1ASMFUNCS): Build _arm_muldf3.o and
_arm_mulsf3.o before muldiv versions if targeting Thumb-1 only. Add
comment to keep condition in sync with the one in
libgcc/config/arm/lib1funcs.S and gcc/config/arm/elf.h.
2018-12-18 Wei Xiao <>
* config/i386/cpuinfo.c (get_intel_cpu): Handle cascadelake.
* config/i386/cpuinfo.h: Add INTEL_COREI7_CASCADELAKE.
2018-12-12 Rasmus Villemoes <>
* config/rs6000/tramp.S (__trampoline_setup): Also emit .size
and .cfi_endproc directives for VxWorks targets.
2018-12-05 Paul Koning <>
* udivmodhi4.c (__udivmodhi4): Fix loop end check.
2018-11-27 Alan Modra <>
* config/rs6000/morestack.S (__stack_split_initialize),
(__morestack_get_guard, __morestack_set_guard),
(__morestack_make_guard): Provide CFI covering these functions.
* config/rs6000/tramp.S (__trampoline_setup): Likewise.
2018-11-15 Xianmiao Qu <>
* config/csky/linux-unwind.h (sc_pt_regs): Update for kernel.
(sc_pt_regs_lr): Update for kernel.
(sc_pt_regs_tls): Update for kernel.
2018-11-15 Xianmiao Qu <>
* config/csky/linux-unwind.h: Fix coding style.
2018-11-13 Xianmiao Qu <>
* config/csky/linux-unwind.h (_sig_ucontext_t): Remove.
(csky_fallback_frame_state): Modify the check of the
instructions to adapt to changes in the kernel
2018-11-09 Stafford Horne <>
Richard Henderson <>
* Add OpenRISC support.
* config/or1k/*: New.
2018-11-08 Kito Cheng <>
* 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/extendhftf2.c: 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/fixhfti.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/fixunshfti.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/floattihf.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/floatuntihf.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/half.h: 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/trunctfhf2.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.
2018-11-04 Venkataramanan Kumar <>
* config/i386/cpuinfo.c: (get_amd_cpu): Add znver2.
* config/i386/cpuinfo.h (processor_types): Add znver2.
2018-11-01 Paul Koning <>
* config/pdp11/t-pdp11 (LIB2ADD): Add divmod.c.
(HOST_LIBGCC2_CFLAGS): Change to optimize for size.
2018-10-31 Joseph Myers <>
PR bootstrap/82856
* configure: Regenerate.
2018-10-31 Claudiu Zissulescu <>
* config/arc/lib1funcs.S (_muldi3): New function.
* config/arc/t-arc (LIB1ASMFUNCS): Add _muldi3.
2018-10-30 Rasmus Villemoes <>
* config/gthr-vxworks.h (__gthread_mutex_destroy): Call semDelete.
2018-10-25 Martin Liska <>
PR other/87735
* libgcov-profiler.c: Revert.
2018-10-24 Martin Liska <>
* libgcov-profiler.c: Start from 1 in order to distinguish
functions which were seen and these that were not.
2018-10-18 Paul Koning <>
* udivmodsi4.c (__udivmodsi4): Rename to conform to coding
* divmod.c: Update references to __udivmodsi4.
* udivmod.c: Ditto.
* udivhi3.c: New file.
* udivmodhi4.c: New file.
* config/pdp11/t-pdp11 (LIB2ADD): Add the new files.
2018-10-17 Rasmus Villemoes <>
2018-10-12 Olivier Hainque <>
* config/rs6000/ibm-ldouble.c: Augment the toplevel guard with
defined (__FLOAT128_TYPE__) || defined (__LONG_DOUBLE_128__).
2018-10-08 Paul Koning <>
* config/pdp11/t-pdp11: Remove -mfloat32 switch.
2018-10-04 Martin Liska <>
PR gcov-profile/84107
* libgcov-profiler.c (__gcov_indirect_call):
Change type to indirect_call_tuple.
(struct indirect_call_tuple): New struct.
(__gcov_indirect_call_topn_profiler): Change type.
(__gcov_indirect_call_profiler_v2): Use the new
* libgcov.h (struct indirect_call_tuple): New struct
2018-10-03 Uros Bizjak <>
* libgcc2.c (isnan): Use __builtin_isnan.
(isfinite): Use __builtin_isfinite.
(isinf): Use __builtin_isinf.
2018-09-26 Uros Bizjak <>
* config/i386/crtprec.c (set_precision): Use fnstcw instead of fstcw.
2018-09-21 Alexandre Oliva <>
* config/vxcache.c: New file. Provide __clear_cache, based on
the cacheTextUpdate VxWorks service.
* config/t-vxworks (LIB2ADD): Add vxcache.c.
(LIB2FUNCS_EXCLUDE): Add _clear_cache.
* config/t-vxwoks7: Likewise.
2018-09-21 Martin Liska <>
* libgcov-driver.c (crc32_unsigned): Remove.
(gcov_histogram_insert): Likewise.
(gcov_compute_histogram): Likewise.
(compute_summary): Simplify rapidly.
(merge_one_data): Do not handle PROGRAM_SUMMARY tag.
(merge_summary): Rapidly simplify.
(dump_one_gcov): Ignore gcov_summary.
(gcov_do_dump): Do not handle program summary, it's not
* libgcov-util.c (tag_summary): Remove.
(read_gcda_finalize): Fix coding style.
(read_gcda_file): Initialize curr_object_summary.
(compute_summary): Remove.
(calculate_overlap): Remove settings of run_max.
2018-09-21 Monk Chiang <>
* config/nds32/linux-unwind.h (struct _rt_sigframe): Use struct
ucontext_t type instead.
(nds32_fallback_frame_state): Remove struct _sigframe statement.
2018-09-21 Kito Cheng <>
* config/nds32/t-nds32-glibc: New file.
2018-09-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* (solaris_ld_v2_maps): New test.
* configure: Regenerate.
* (solaris_ld_v2_maps): New variable.
* config/t-slibgcc-sld ( Emit v2 mapfile syntax
if supported.
2018-08-23 Richard Earnshaw <>
PR target/86951
* config/arm/lib1funcs.asm (speculation_barrier): New function.
* config/arm/t-arm (LIB1ASMFUNCS): Add it to list of functions
to build.
2018-08-22 Iain Sandoe <>
* config/unwind-dw2-fde-darwin.c
(_darwin10_Unwind_FindEnclosingFunction): move from here ...
* config/darwin10-unwind-find-enc-func.c: … to here.
* config/t-darwin: Build Darwin10 unwinder shim crt.
* libgcc/ Add the Darwin10 unwinder shim.
2018-08-21 Rasmus Villemoes <>
* Add crtbegin.o and crtend.o for
powerpc-wrs-vxworks target.
2018-08-17 Jojo <>
Huibin Wang <>
Sandra Loosemore <>
Chung-Lin Tang <>
C-SKY port: libgcc
* Add C-SKY support.
* config/csky/*: New.
2018-08-12 Chung-Ju Wu <>
* config/nds32/t-nds32-isr: Rearrange object dependency.
* config/nds32/initfini.c: Add dwarf2 unwinding support.
* config/nds32/isr-library/ Consider new extensions
and registers usage.
* config/nds32/isr-library/excp_isr.S: Ditto.
* config/nds32/isr-library/intr_isr.S: Ditto.
* config/nds32/isr-library/reset.S: Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/ Ditto.
* config/nds32/isr-library/vec_vid*.S: Consider 4-byte vector size.
2018-08-11 John David Anglin <>
* config/pa/linux-atomic.c: Update comment.
COMPARE_AND_SWAP_2, __sync_val_compare_and_swap_4,
SYNC_LOCK_TEST_AND_SET_2, __sync_lock_test_and_set_4): Use
__ATOMIC_RELAXED for atomic loads.
(SYNC_LOCK_RELEASE_1): New define. Use __sync_synchronize() and
unordered store to release lock.
(__sync_lock_release_8): Likewise.
(SYNC_LOCK_RELEASE_2): Remove define.
2018-08-02 Nicolas Pitre <>
PR libgcc/86512
* config/arm/ieee754-df.S: Don't shortcut denormal handling when
exponent goes negative. Update my email address.
* config/arm/ieee754-sf.S: Likewise.
2018-08-01 Martin Liska <>
* libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Do not
check that __gcov_indirect_call_callee is non-null.
2018-07-30 Christophe Lyon <>
* config/arm/ieee754-df.S: Fix comment for code working on
architectures >= 4.
* config/arm/ieee754-sf.S: Likewise.
2018-07-27 H.J. Lu <>
PR libgcc/85334
* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
2018-07-05 James Clarke <>
* configure: Regenerated.
2018-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* (install_leaf): Use enable_gcov instead of
2018-06-27 Rasmus Villemoes <>
* Add --disable-gcov option.
* configure: Regenerate.
* Honour @enable_gcov@.
2018-06-21 Christophe Lyon <>
* config/arm/lib1funcs.S (__ARM_ARCH__): Remove definitions, use
__ARM_ARCH and __ARM_FEATURE_CLZ instead.
(HAVE_ARM_CLZ): Remove definition, use __ARM_FEATURE_CLZ instead.
* config/arm/ieee754-df.S: Use __ARM_FEATURE_CLZ instead of
* config/arm/ieee754-sf.S: Likewise.
* config/arm/libunwind.S: Use __ARM_ARCH instead of __ARM_ARCH__.
2018-06-21 Christophe Lyon <>
* config/arm/ieee754-df.S: Remove code for __ARM_ARCH__ < 4, no
longer supported.
* config/arm/ieee754-sf.S: Likewise.
2018-06-20 Than McIntosh <>
PR libgcc/86213
* generic-morestack.c (allocate_segment): Move calls to getenv and
getpagesize to __morestack_load_mmap.
(__morestack_load_mmap) Initialize static_pagesize and
use_guard_page here so as to avoid clobbering SSE regs during a
__morestack call.
2018-06-18 Michael Meissner <>
* config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128
support modules with -mno-gnu-attribute.
* config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise.
2018-06-07 Olivier Hainque <>
* config/t-vxworks (LIBGCC_INCLUDES): Add
* config/t-vxworks7: Likewise. Reformat a bit to match
the t-vxworks layout.
2018-06-07 Olga Makhotina <>
* config/i386/cpuin