blob: 0c6d6f878c2ef604828cc6b22d9f9baf359fcde7 [file] [log] [blame]
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/cpuinfo.h (processor_types): Add INTEL_TREMONT.
2018-06-07 Martin Liska <>
* libgcov-driver.c: Rename cs_all to all and assign it from
2018-06-07 Martin Liska <>
PR bootstrap/86057
* libgcov-driver-system.c (replace_filename_variables): Use
memcpy instead of mempcpy.
(allocate_filename_struct): Do not allocate filename, allocate
prefix and set it.
(gcov_exit_open_gcda_file): Allocate memory for gf->filename
here and properly copy content into it.
* libgcov-driver.c (struct gcov_filename): Remove max_length
field, change prefix from size_t into char *.
(compute_summary): Do not calculate longest filename.
(gcov_do_dump): Release memory of gf.filename after each file.
* libgcov-util.c (compute_summary): Use new signature of
(calculate_overlap): Likewise.
2018-06-05 Martin Liska <>
PR gcov-profile/47618
* libgcov-driver-system.c (replace_filename_variables): New
(gcov_exit_open_gcda_file): Use it.
2018-06-05 Martin Liska <>
* libgcov-driver.c (gcov_compute_histogram): Remove usage
of gcov_ctr_summary.
(compute_summary): Do it just for a single summary.
(merge_one_data): Likewise.
(merge_summary): Simplify as we read just single summary.
(dump_one_gcov): Pass proper argument.
* libgcov-util.c (compute_one_gcov): Simplify as we have just
single summary.
(gcov_info_count_all_cold): Likewise.
(calculate_overlap): Likewise.
2018-06-02 Chung-Ju Wu <>
Monk Chiang <>
* (nds32*-linux*): New.
* config/nds32/linux-atomic.c: New file.
* config/nds32/linux-unwind.h: New file.
2018-05-31 Uros Bizjak <>
PR target/85591
* config/i386/cpuinfo.c (get_amd_cpu): Return
AMDFAM15H_BDVER2 for AMDFAM15H model 0x2.
2018-05-30 Rasmus Villemoes <>
* crtstuff.c: Remove declaration of _Jv_RegisterClasses.
2018-05-29 Martin Liska <>
PR gcov-profile/85759
* libgcov-driver-system.c (gcov_error): Introduce usage of
GCOV_EXIT_AT_ERROR env. variable.
* libgcov-driver.c (merge_one_data): Print error that we
overwrite a gcov file with a different timestamp.
2018-05-23 Kalamatee <>
* config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in
path to Lf$finfty.
2018-05-18 Kito Cheng <>
Monk Chiang <>
Jim Wilson <>
* config/riscv/save-restore.S: Add support for rv32e.
2018-05-18 Kyrylo Tkachov <>
* config/arm/libunwind.S: Update comment relating to armv5.
2018-05-17 Jerome Lambourg <>
* config/arm/cmse.c (cmse_check_address_range): Replace
UINTPTR_MAX with __UINTPTR_MAX__ and uintptr_t with __UINTPTR_TYPE__.
2018-05-17 Olga Makhotina <>
* config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT_PLUS.
* config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont Plus.
2018-05-08 Olga Makhotina <>
* config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT.
* config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont.
2018-05-07 Amaan Cheval <>
* (x86_64-*-rtems*): Build crti.o and crtn.o.
2018-04-27 Andreas Tobler <>
Maryse Levavasseur <>
PR libgcc/84292
* config/arm/freebsd-atomic.c (SYNC_OP_AND_FETCH_N): Fix the
op_and_fetch to return the right result.
2018-04-27 Alan Modra <>
PR libgcc/85532
* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add
2018-04-25 Chung-Ju Wu <>
* config/nds32/sfp-machine.h: Fix settings for NDS32_ABI_2FP_PLUS.
* config/nds32/t-nds32-newlib (HOST_LIBGCC2_CFLAGS): Use -fwrapv.
2018-04-24 H.J. Lu <>
* config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check
when including "config/i386/shadow-stack-unwind.h".
2018-04-24 H.J. Lu <>
* configure: Regenerated.
2018-04-20 Michael Meissner <>
PR target/85456
* config/rs6000/_powikf2.c: New file. Add support for the
__builtin_powil function when long double is IEEE 128-bit floating
* config/rs6000/float128-ifunc.c (__powikf2_resolve): Add
__powikf2 support.
(__powikf2): Likewise.
* config/rs6000/quad-float128.h (__powikf2_sw): Likewise.
(__powikf2_hw): Likewise.
(__powikf2): Likewise.
* config/rs6000/t-float128 (fp128_ppc_funcs): Likewise.
* config/rs6000/t-float128-hw (fp128_hw_func): Likewise.
(_powikf2-hw.c): Likewise.
2018-04-19 H.J. Lu <>
PR libgcc/85334
* unwind-generic.h (_Unwind_Frames_Increment): New.
* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
* (_Unwind_RaiseException_Phase2): Increment frame
count with _Unwind_Frames_Increment.
(_Unwind_ForcedUnwind_Phase2): Likewise.
2018-04-19 H.J. Lu <>
PR libgcc/85379
* config/i386/morestack.S (__stack_split_initialize): Add
2018-04-19 Jakub Jelinek <>
* configure: Regenerated.
2018-04-18 David Malcolm <>
PR jit/85384
* configure: Regenerate.
2018-04-16 Jakub Jelinek <>
PR target/84945
* config/i386/cpuinfo.c (set_feature): Wrap into do while (0) to avoid
-Wdangling-else warnings. Mask shift counts to avoid
-Wshift-count-negative and -Wshift-count-overflow false positives.
2018-04-06 Ruslan Bukin <>
* (riscv*-*-freebsd*): Add RISC-V FreeBSD support.
2018-03-29 H.J. Lu <>
PR target/85100
* config/i386/cpuinfo.c (XCR_XFEATURE_ENABLED_MASK): New.
(XSTATE_FP): Likewise.
(XSTATE_SSE): Likewise.
(XSTATE_YMM): Likewise.
(XSTATE_OPMASK): Likewise.
(XSTATE_ZMM): Likewise.
(XSTATE_HI_ZMM): Likewise.
(get_available_features): Enable AVX and AVX512 features only
if their states are supported by OSXSAVE.
2018-03-22 Igor Tsimbalist <>
PR target/85025
* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
Fix a typo, tmp => 255.
2018-03-20 Jakub Jelinek <>
PR target/84945
* config/i386/cpuinfo.h (__cpu_features2): Declare.
* config/i386/cpuinfo.c (__cpu_features2): New variable for
ifndef SHARED only.
(set_feature): Define.
(get_available_features): Use set_feature macro. Set __cpu_features2
to the second word of features ifndef SHARED.
2018-03-15 Julia Koval <>
* config/i386/cpuinfo.c (get_available_features): Add
* config/i386/cpuinfo.h (processor_features): Add FEATURE_AVX512VBMI2,
2018-03-14 Julia Koval <>
* config/i386/cpuinfo.h (processor_subtypes): Split up icelake on
icelake client and icelake server.
2018-03-06 John David Anglin <>
* config/pa/fptr.c (_dl_read_access_allowed): New.
(__canonicalize_funcptr_for_compare): Use it.
2018-02-28 Jakub Jelinek <>
PR debug/83917
$asm_hidden_op if visibility ("hidden") attribute works.
* config/i386/i386-asm.h: Don't include auto-host.h.
PACKAGE_URL): Don't undefine.
(USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead
guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM.
(FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to
definition instead of hardcoded .hidden.
* config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections
directive. Use #ifdef HAVE_AS_CFI_SECTIONS rather than
#ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections.
* configure: Regenerated.
* Likewise.
2018-02-26 Jakub Jelinek <>
PR debug/83917
* config/i386/i386-asm.h (PACKAGE_VERSION, PACKAGE_NAME,
inclusion of auto-target.h and auto-host.h.
(USE_GAS_CFI_DIRECTIVES): Define if not defined already based on
(cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
cfi_def_cfa_register, cfi_def_cfa, cfi_register, cfi_offset, cfi_push,
cfi_pop): Define.
* config/i386/cygwin.S: Don't include auto-host.h here, just
define USE_GAS_CFI_DIRECTIVES to 1 or 0 and include i386-asm.h.
(cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): Remove.
* config/i386/resms64fx.h: Add cfi_* directives.
* config/i386/resms64x.h: Likewise.
2018-02-20 Max Filippov <>
* config/xtensa/ieee754-df.S (__adddf3_aux): Add
.literal_position directive.
* config/xtensa/ieee754-sf.S (__addsf3_aux): Likewise.
2018-02-14 Igor Tsimbalist <>
PR target/84148
* configure: Regenerate.
2018-02-16 Igor Tsimbalist <>
PR target/84239
* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
Include cetintrin.h not x86intrin.h.
2018-02-08 Igor Tsimbalist <>
PR target/84239
* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
Use new _get_ssp and _inc_ssp intrinsics.
2018-02-02 Julia Koval <>
* config/i386/cpuinfo.h (processor_subtypes): Add INTEL_COREI7_ICELAKE.
2018-01-26 Claudiu Zissulescu <>
* config/arc/lib1funcs.S (__udivmodsi4): Use safe version for RF16
(__divsi3): Use RF16 safe registers.
(__modsi3): Likewise.
2018-01-23 Max Filippov <>
* config/xtensa/ieee754-df.S (__addsf3, __subsf3, __mulsf3)
(__divsf3): Make NaN return value quiet.
* config/xtensa/ieee754-sf.S (__adddf3, __subdf3, __muldf3)
(__divdf3): Make NaN return value quiet.
2018-01-22 Sebastian Perta <>
* config/rl78/anddi3.S: New assembly file.
* config/rl78/t-rl78: Added anddi3.S to LIB2ADD.
2018-01-22 Sebastian Perta <>
* config/rl78/umindi3.S: New assembly file.
* config/rl78/t-rl78: Added umindi3.S to LIB2ADD.
2018-01-22 Sebastian Perta <>
* config/rl78/smindi3.S: New assembly file.
* config/rl78/t-rl78: Added smindi3.S to LIB2ADD.
2018-01-22 Sebastian Perta <>
* config/rl78/smaxdi3.S: New assembly file.
* config/rl78/t-rl78: Added smaxdi3.S to LIB2ADD.
2018-01-22 Sebastian Perta <>
* config/rl78/umaxdi3.S: New assembly file.
* config/rl78/t-rl78: Added umaxdi3.S to LIB2ADD.
2018-01-21 John David Anglin <>
PR lto/83452
* config/pa/stublib.c (L_gnu_lto_v1): New stub definition.
* config/pa/t-stublib (gnu_lto_v1-stub.o): Add make fragment.
2018-01-13 Richard Sandiford <>
* config/aarch64/value-unwind.h (aarch64_vg): New function.
* unwind-dw2.c (_Unwind_GetGR): Use DWARF_LAZY_REGISTER_VALUE
to provide a fallback register value.
2018-01-08 Michael Meissner <>
* config/rs6000/quad-float128.h (IBM128_TYPE): Explicitly use
__ibm128, instead of trying to use long double.
(CVT_FLOAT128_TO_IBM128): Use TFtype instead of __float128 to
accomidate -mabi=ieeelongdouble multilibs.
(CVT_IBM128_TO_FLOAT128): Likewise.
* config/rs6000/ibm-ldouble.c (IBM128_TYPE): New macro to define
the appropriate IBM extended double type.
(__gcc_qadd): Change all occurances of long double to IBM128_TYPE.
(__gcc_qsub): Likewise.
(__gcc_qmul): Likewise.
(__gcc_qdiv): Likewise.
(pack_ldouble): Likewise.
(__gcc_qneg): Likewise.
(__gcc_qeq): Likewise.
(__gcc_qne): Likewise.
(__gcc_qge): Likewise.
(__gcc_qle): Likewise.
(__gcc_stoq): Likewise.
(__gcc_dtoq): Likewise.
(__gcc_itoq): Likewise.
(__gcc_utoq): Likewise.
(__gcc_qunord): Likewise.
* config/rs6000/_mulkc3.c (toplevel): Include soft-fp.h and
quad-float128.h for the definitions.
(COPYSIGN): Use the f128 version instead of the q version.
(INFINITY): Likewise.
(__mulkc3): Use TFmode/TCmode for float128 scalar/complex types.
* config/rs6000/_divkc3.c (toplevel): Include soft-fp.h and
quad-float128.h for the definitions.
(COPYSIGN): Use the f128 version instead of the q version.
(INFINITY): Likewise.
(FABS): Likewise.
(__divkc3): Use TFmode/TCmode for float128 scalar/complex types.
* config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): Likewise.
* config/rs6000/trunctfkf2-sw.c (__trunctfkf2_sw): Likewise.
2018-01-05 Sebastian Huber <>
* (epiphany-*-elf*): Add (epiphany-*-rtems*)
2018-01-03 Jakub Jelinek <>
Update copyright years.
2017-12-12 Kito Cheng <>
* config/riscv/t-elf: Use multi3.c instead of multi3.S.
* config/riscv/multi3.c: New file.
* config/riscv/multi3.S: Remove.
2017-12-08 Jim Wilson <>
* config/riscv/div.S: Use FUNC_* macros.
* config/riscv/muldi3.S, config/riscv/multi3.S: Likewise
* config/riscv/save-restore.S: Likewise.
* config/riscv/riscv-asm.h: New.
2017-11-30 Michael Meissner <>
* config/rs6000/_mulkc3.c (__mulkc3): Add forward declaration.
* config/rs6000/_divkc3.c (__divkc3): Likewise.
PR libgcc/83112
* config/rs6000/float128-ifunc.c (__addkf3_resolve): Use the
correct type for all ifunc resolvers to silence -Wattribute-alias
warnings. Eliminate the forward declaration of the resolver
functions which is no longer needed.
(__subkf3_resolve): Likewise.
(__mulkf3_resolve): Likewise.
(__divkf3_resolve): Likewise.
(__negkf2_resolve): Likewise.
(__eqkf2_resolve): Likewise.
(__nekf2_resolve): Likewise.
(__gekf2_resolve): Likewise.
(__gtkf2_resolve): Likewise.
(__lekf2_resolve): Likewise.
(__ltkf2_resolve): Likewise.
(__unordkf2_resolve): Likewise.
(__extendsfkf2_resolve): Likewise.
(__extenddfkf2_resolve): Likewise.
(__trunckfsf2_resolve): Likewise.
(__trunckfdf2_resolve): Likewise.
(__fixkfsi_resolve): Likewise.
(__fixkfdi_resolve): Likewise.
(__fixunskfsi_resolve): Likewise.
(__fixunskfdi_resolve): Likewise.
(__floatsikf_resolve): Likewise.
(__floatdikf_resolve): Likewise.
(__floatunsikf_resolve): Likewise.
(__floatundikf_resolve): Likewise.
(__extendkftf2_resolve): Likewise.
(__trunctfkf2_resolve): Likewise.
PR libgcc/83103
* config/rs6000/quad-float128.h (TF): Don't define if long double
is IEEE 128-bit floating point.
(TCtype): Define as either TCmode or KCmode, depending on whether
long double is IEEE 128-bit floating point.
(__mulkc3_sw): Add declarations for software/hardware versions of
complex multiply/divide.
(__divkc3_sw): Likewise.
(__mulkc3_hw): Likewise.
(__divkc3_hw): Likewise.
* config/rs6000/_mulkc3.c (_mulkc3): If we are building ifunc
handlers to switch between using software emulation and hardware
float128 instructions, build the complex multiply/divide functions
for both software and hardware support.
* config/rs6000/_divkc3.c (_divkc3): Likewise.
* config/rs6000/float128-ifunc.c (__mulkc3_resolve): Likewise.
(__divkc3_resolve): Likewise.
(__mulkc3): Likewise.
(__divkc3): Likewise.
* config/rs6000/t-float128-hw (fp128_hardfp_src): Likewise.
(fp128_hw_src): Likewise.
(fp128_hw_static_obj): Likewise.
(fp128_hw_shared_obj): Likewise.
(_mulkc3-hw.c): Create _mulkc3-hw.c and _divkc3-hw.c from
_mulkc3.c and _divkc3.c, changing the function name.
(_divkc3-hw.c): Likewise.
* config/rs6000/t-float128 (clean-float128): Delete _mulkc3-hw.c
and _divkc3-hw.c.
2017-11-26 Julia Koval <>
* config/i386/cpuinfo.c (get_intel_cpu): Handle cannonlake.
* config/i386/cpuinfo.h (processor_subtypes): Add
2017-11-20 Igor Tsimbalist <>
PR bootstrap/83015
* config/cr16/unwind-cr16.c (uw_install_context): Add FRAMES
* config/xtensa/unwind-dw2-xtensa.c: Likewise
* config/ia64/unwind-ia64.c: Add frames parameter.
* unwind-sjlj.c: Likewise.
2017-11-17 Igor Tsimbalist <>
* config/i386/linux-unwind.h: Include
* config/i386/shadow-stack-unwind.h: New file.
* unwind-dw2.c: (uw_install_context): Add a frame parameter and
pass it to _Unwind_Frames_Extra.
* unwind-generic.h (_Unwind_Frames_Extra): New.
* (_Unwind_RaiseException_Phase2): Add frames_p
parameter. Add local variable frames to count number of frames.
(_Unwind_ForcedUnwind_Phase2): Likewise.
(_Unwind_RaiseException): Add local variable frames to count
number of frames, pass it to _Unwind_RaiseException_Phase2 and
(_Unwind_ForcedUnwind): Likewise.
(_Unwind_Resume): Likewise.
(_Unwind_Resume_or_Rethrow): Likewise.
2017-11-17 Igor Tsimbalist <>
* (configure_deps): Add $(srcdir)/../config/cet.m4.
* config/i386/morestack.S: Include <cet.h>.
(__morestack_large_model): Add _CET_ENDBR at function entrance.
* config/i386/resms64.h: Include <cet.h>.
* config/i386/resms64f.h: Likewise.
* config/i386/resms64fx.h: Likewise.
* config/i386/resms64x.h: Likewise.
* config/i386/savms64.h: Likewise.
* config/i386/savms64f.h: Likewise.
* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add $(CET_FLAGS).
* Include ../config/cet.m4.
Set and substitute CET_FLAGS.
* configure: Regenerated.
2017-11-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* (*-*-solaris2*): Adapt comment for Solaris 12
* config/sol2/crtpg.c (__start_crt_compiler): Likewise.
* (libgcc_cv_solaris_crts): Likewise.
* configure: Regenerate.
2017-11-07 Tom de Vries <>
* config/rs6000/aix-unwind.h (REGISTER_CFA_OFFSET_FOR): Remove semicolon
after "do {} while (0)".
2017-11-07 Tom de Vries <>
PR other/82784
* config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Remove
semicolon after "do {} while (0)".
* config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.
* config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.
* config/mips/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.
* config/rs6000/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.
2017-11-04 Andreas Tobler <>
PR libgcc/82635
* config/i386/freebsd-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Use a
sysctl to determine whether we're in a trampoline.
Keep the pattern matching method for systems without
2017-11-03 Cupertino Miranda <>
Vineet Gupta <>
* (arc*-*-linux*): Set md_unwind_header variable.
* config/arc/linux-unwind-reg.def: New file.
* config/arc/linux-unwind-reg.h: Likewise.
2017-10-23 Sebastian Perta <>
* config/rl78/subdi3.S: New assembly file.
* config/rl78/t-rl78: Added subdi3.S to LIB2ADD.
2017-10-13 Sebastian Perta <>
* config/rl78/adddi3.S: New assembly file.
* config/rl78/t-rl78: Added adddi3.S to LIB2ADD.
2017-10-13 Jakub Jelinek <>
PR target/82274
* libgcc2.c (__mulvDI3): If both operands have
the same highpart of -1 and the topmost bit of lowpart is 0,
multiplication overflows even if both lowparts are 0.
2017-09-28 James Bowman <>
* config/ft32/crti-hw.S: Add watchdog vector, FT930 IRQ support.
2017-09-26 Joseph Myers <>
* config/microblaze/crti.S, config/microblaze/crtn.S,
config/microblaze/divsi3.S, config/microblaze/moddi3.S,
config/microblaze/modsi3.S, config/microblaze/muldi3_hard.S,
config/microblaze/udivsi3.S, config/microblaze/umodsi3.S,
config/pa/milli64.S: Add .note.GNU-stack section.
2017-09-23 Daniel Santos <>
* Add Check for HAVE_AS_AVX.
* Regenerate.
* configure: Likewise.
* config/i386/i386-asm.h: Include auto-target.h from libgcc.
(SSE_SAVE, SSE_RESTORE): Emit .byte sequence for !HAVE_AS_AVX.
Correct out-of-date comments.
2017-09-20 Sebastian Peryt <>
* config/i386/cpuinfo.h (processor_types): Add INTEL_KNM.
* config/i386/cpuinfo.c (get_intel_cpu): Detect Knights Mill.
2017-09-17 Daniel Santos <>
* config/i386/i386-asm.h (PASTE2): New macro.
(ASMNAME): Modify to use PASTE2.
(MS2SYSV_STUB_PREFIX): New macro for isa prefix.
(MS2SYSV_STUB_BEGIN, MS2SYSV_STUB_END): New macros for stub headers.
* config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN
instead of HIDDEN_FUNC and MS2SYSV_STUB_END instead of FUNC_END.
* config/i386/resms64f.S: Likewise.
* config/i386/resms64fx.S: Likewise.
* config/i386/resms64x.S: Likewise.
* config/i386/savms64.S: Likewise.
* config/i386/savms64f.S: Likewise.
* config/i386/avx_resms64.S: New file that only defines a macro and
includes it's corresponding header file.
* config/i386/avx_resms64f.S: Likewise.
* config/i386/avx_resms64fx.S: Likewise.
* config/i386/avx_resms64x.S: Likewise.
* config/i386/avx_savms64.S: Likewise.
* config/i386/avx_savms64f.S: Likewise.
* config/i386/sse_resms64.S: Likewise.
* config/i386/sse_resms64f.S: Likewise.
* config/i386/sse_resms64fx.S: Likewise.
* config/i386/sse_resms64x.S: Likewise.
* config/i386/sse_savms64.S: Likewise.
* config/i386/sse_savms64f.S: Likewise.
* config/i386/t-msabi: Modified to add avx and sse versions of stubs.
2017-09-01 Olivier Hainque <>
* (*-*-vxworks7): Widen scope to vxworks7*.
2017-08-31 Olivier Hainque <>
* (powerpc-wrs-vxworks|vxworksae|vxworksmils): Now
match as powerpc-wrs-vxworks*.
2017-08-07 Jonathan Yong <>
* (*-cygwin): Include file from mingw
2017-08-01 Jerome Lambourg <>
Doug Rupp <>
Olivier Hainque <>
* (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7
as well as arm-wrs-vxworks.
* config/arm/t-vxworks7: New file. Add unwind-arm-vxworks.c to
* config/arm/unwind-arm-vxworks.c: New file. Provide dummy
__exidx_start and __exidx_end for downloadable modules.
2017-08-01 Olivier Hainque <>
* config/t-vxworks (LIBGCC2_INCLUDES): Start with -I. after -nostdinc.
* config/t-vxworks7: Likewise.
2017-08-01 Olivier Hainque <>
* config/t-vxworks: Instead of redefining LIB2ADD,
augment LIB2ADDEH with vxlib.c and vxlib-tls.c.
2017-07-28 Sebastian Huber <>
* config/rs6000/ibm-ldouble.c: Disable if defined __rtems__.
2017-07-24 Daniel Santos <>
PR testsuite/80759
* include i386/t-msabi for darwin and solaris.
* config/i386/i386-asm.h
(ELFFN): Rename to FN_TYPE.
(FN_SIZE): New macro.
(FN_HIDDEN): Likewise.
(ASMNAME): Likewise.
(FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with
(HIDDEN_FUNC): Use ASMNAME and .globl instead of .global.
(SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60).
* config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas
* config/i386/resms64f.S: Likewise.
* config/i386/resms64fx.S: Likewise.
* config/i386/resms64x.S: Likewise.
* config/i386/savms64.S: Likewise.
* config/i386/savms64f.S: Likewise.
2017-07-19 John Marino <>
* config/i386/dragonfly-unwind.h: Handle sigtramp relocation.
2017-07-12 Michael Meissner <>
PR target/81193
* (PowerPC float128 hardware support): Test whether
we can use __builtin_cpu_supports before enabling the ifunc
* configure: Regenerate.
2017-07-10 Vineet Gupta <>
* Remove uclibc from arc target spec.
2017-07-09 Krister Walfridsson <>
* (*-*-netbsd*): Remove check for aout NetBSD releases.
2017-07-07 Peter Bergner <>
* config/rs6000/float128-ifunc.c: Don't include auxv.h.
(have_ieee_hw_p): Delete function.
(SW_OR_HW) Use __builtin_cpu_supports().
2017-07-06 Thomas Preud'homme <>
* config/arm/lib1funcs.S: Defined __ARM_ARCH__ to 8 for ARMv8-R.
2017-07-03 Olivier Hainque <>
* config/t-vxworks7: New file, really.
2017-06-28 Joseph Myers <>
* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state),
config/alpha/linux-unwind.h (alpha_fallback_frame_state),
config/bfin/linux-unwind.h (bfin_fallback_frame_state),
config/i386/linux-unwind.h (x86_64_fallback_frame_state,
x86_fallback_frame_state), config/m68k/linux-unwind.h (struct
uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext),
config/pa/linux-unwind.h (pa32_fallback_frame_state),
config/riscv/linux-unwind.h (riscv_fallback_frame_state),
config/sh/linux-unwind.h (sh_fallback_frame_state),
config/tilepro/linux-unwind.h (tile_fallback_frame_state),
config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use
ucontext_t instead of struct ucontext.
2017-06-27 Jerome Lambourg <>
* (i*86-wrs-vxworks7): Handle new acceptable triplet.
(x86_64-wrs-vxworks7): Likewise.
2017-06-27 Olivier Hainque <>
* config/t-vxworks7: New file.
* (*-*-vxworks7): Use it.
2017-06-22 Matt Turner <>
* config/i386/cpuinfo.c (get_intel_cpu): Add Kaby Lake models to
skylake case.
2017-06-21 Richard Biener <>
PR gcov-profile/81080
* libgcov.h: Include auto-target.h before tsystem.h to pick
up _FILE_OFFSET_BITS which might differ for multilibs.
* Regenerate.
* configure: Likewise.
2017-06-16 Richard Earnshaw <>
* config/arm/cmse_nonsecure_call.S: Explicitly set the FPU.
2017-06-09 Martin Liska <>
* libgcov-profiler.c (__gcov_indirect_call_profiler_v2):
Reset __gcov_indirect_call_callee to NULL.
2017-06-08 Olivier Hainque <>
* config/t-vxworks (LIBGCC2_INCLUDES): Add path to wrn/coreip to
the set of -I options, support for direct inclusions of net/uio.h
by VxWorks header files via ioLib.h.
2017-06-07 Tony Reix <>
Matthieu Sarter <>
David Edelsohn <>
* config/rs6000/aix-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Define
(ucontext_for): Add 64-bit AIX 6.1, 7.1, 7.2 support. Add 32-bit
AIX 7.2 support.
2017-06-02 Olivier Hainque <>
* config/vxlib.c (__gthread_once): Add missing value to
return statement.
2017-05-30 Olivier Hainque <>
* config/t-vxworks (LIBGCC2_INCLUDES): Remove extraneous
dollar sign before $(MULTIDIR).
2017-05-26 Richard Henderson <>
PR libgcc/80037
* config/alpha/t-alpha (CRTSTUFF_T_CFLAGS): New.
2017-05-17 Andreas Tobler <>
* config/arm/unwind-arm.h: Make _Unwind_GetIP, _Unwind_GetIPInfo and
_Unwind_SetIP available as functions for arm*-*-freebsd*.
* config/arm/unwind-arm.c: Implement the above.
2017-05-15 Adhemerval Zanella <>
* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
section for a non-executable stack.
2017-05-14 Krister Walfridsson <>
PR target/80600
* (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.
2017-05-14 Daniel Santos <>
* Add i386/t-msabi to i386/t-linux file list.
* config/i386/i386-asm.h: New file.
* config/i386/resms64.S: New file.
* config/i386/resms64f.S: New file.
* config/i386/resms64fx.S: New file.
* config/i386/resms64x.S: New file.
* config/i386/savms64.S: New file.
* config/i386/savms64f.S: New file.
* config/i386/t-msabi: New file.
2017-05-09 Andreas Tobler <>
* Use the generic FreeBSD t-slibgcc-elf-ver for
arm*-*-freebsd* instead of the t-slibgcc-libgcc.
2017-05-05 Joshua Conner <>
* config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
pc-relative indirect handling for fuchsia.
* config/t-slibgcc-fuchsia: New file.
* (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
x86_64-*-fuchsia*): Add definitions.
2017-04-19 Martin Liska <>
PR gcov-profile/80435
* Install gcov.h.
* gcov.h: New file.
* libgcov.h: Use the header and make __gcov_flush publicly
2017-04-18 Martin Liska <>
PR gcov-profile/78783
* libgcov-driver.c (gcov_get_filename): New function.
2017-04-07 Jeff Law <>
* Swap definition of LIBGCC_LINKS and inclusion of
target makefile fragment.
* config/sh/t-sh (unwind-dw2-Os-4-200.o): Depend on LIBGCC_LINKS.
2017-04-07 Alan Modra <>
PR target/45053
* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2.
2017-04-03 Jonathan Wakely <>
* config/c6x/pr-support.c (__gnu_unwind_execute): Fix typo in comment.
2017-03-27 Claudiu Zissulescu <>
* config/arc/ieee-754/divdf3.S (__divdf3): Use __ARCEM__.
2017-03-10 John Marino <>
* config/aarch64/freebsd-unwind.h: New file.
* Add aarch64-*-freebsd unwinder.
2017-03-10 Segher Boessenkool <>
* config/rs6000/crtrestvr.s: Use .machine altivec.
* config/rs6000/crtsavevr.s: Ditto.
2017-03-10 Segher Boessenkool <>
* (test for libgcc_cv_powerpc_float128): Temporarily
modify CFLAGS. Add -mabi=altivec -mvsx -mfloat128.
(test for libgcc_cv_powerpc_float128_hw): Add -mpower9-vector and
-mfloat128-hardware to the CFLAGS. Fix syntax error in the C snippet.
* configure: Regenerate.
* Regenerate.
2017-03-02 Jonathan Yong <>
* config/i386/gthr-win32.h: Define NOGDI before
windows.h include to prevent w32api CC_NONE macro
clash with libgfortran.
2017-03-02 Jonathan Yong <>
* unwind-seh.c: Suppress warnings for RtlUnwindEx calls.
2017-02-16 Andrew Pinski <>
* config/aarch64/value-unwind.h: New file.
* (aarch64*-*-*): Add aarch64/value-unwind.h
to tm_file.
2017-02-06 Palmer Dabbelt <>
* Add RISC-V tuples.
* config/riscv/atomic.c: New file.
* config/riscv/crti.S: Likewise.
* config/riscv/crtn.S: Likewise.
* config/riscv/div.S: Likewise.
* config/riscv/linux-unwind.h: Likewise.
* config/riscv/muldi3.S: Likewise.
* config/riscv/multi3.S: Likewise.
* config/riscv/save-restore.S: Likewise.
* config/riscv/sfp-machine.h: Likewise.
* config/riscv/t-elf: Likewise.
* config/riscv/t-elf32: Likewise.
* config/riscv/t-elf64: Likewise.
* config/riscv/t-softfp32: Likewise.
* config/riscv/t-softfp64: Likewise.
2017-01-24 Jakub Jelinek <>
* soft-fp/op-common.h (_FP_MUL, _FP_FMA, _FP_DIV): Add
/* FALLTHRU */ comments.
2017-01-21 Gerald Pfeifer <>
* config/i386/cygming-crtbegin.c (LIBGCJ_SONAME): No longer #define.
2017-01-20 Jiong Wang <>
* config/aarch64/aarch64-unwind.h: Empty this file on ILP32.
* unwind-dw2.c (execute_cfa_program): Only multiplexing
DW_CFA_GNU_window_save for AArch64 and LP64.
2017-01-20 Jiong Wang <>
* config/aarch64/linux-unwind.h: Always include aarch64-unwind.h.
2017-01-19 Jiong Wang <>
* config/aarch64/aarch64-unwind.h: New file.
(MD_POST_EXTRACT_ROOT_ADDR): New target marcro and define it on AArch64.
(MD_FROB_UPDATE_CONTEXT): Define it on AArch64.
(aarch64_post_extract_frame_addr): New function.
(aarch64_post_frob_eh_handler_addr): New function.
(aarch64_frob_update_context): New function.
* config/aarch64/linux-unwind.h: Include aarch64-unwind.h
* (aarch64*-*-elf, aarch64*-*-rtems*,
Initialize md_unwind_header to include aarch64-unwind.h.
* unwind-dw2.c (struct _Unwind_Context): Define "RA_A_SIGNED_BIT".
(execute_cfa_program): Multiplex DW_CFA_GNU_window_save for
(uw_update_context): Honor MD_POST_EXTRACT_FRAME_ADDR.
(uw_init_context_1): Honor MD_POST_EXTRACT_ROOT_ADDR.
(uw_frob_return_addr): New function.
(uw_install_context): Use uw_frob_return_addr.
2017-01-17 Jakub Jelinek <>
PR other/79046
* (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
2017-01-13 Joe Seymour <>
* config/msp430/t-msp430 (libmul_none.a, libmul_16.a, libmul_32.a,
libmul_f5.a): Filter archived prerequisites.
2017-01-10 Andrew Senkevich <>
* config/i386/cpuinfo.h (processor_features): Add
* config/i386/cpuinfo.c (get_available_features): Habdle new
2017-01-04 Joseph Myers <>
* config/mips/sfp-machine.h (_FP_CHOOSENAN): Always preserve NaN
payload if [__mips_nan2008].
2017-01-04 Alan Modra <>
* (configure_deps): Update.
* configure: Regenerate.
2017-01-01 Jakub Jelinek <>
Update copyright years.
2016-12-19 Krister Walfridsson <>
* (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.
* crtstuff.c (BSD_DL_ITERATE_PHDR_AVAILABLE): Define for NetBSD.
* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME, ElfW): Likewise.
2016-12-17 Matthias Klose <>
* config/arc/gmon: Remove empty directory.
2016-12-16 Claudiu Zissulescu <>
* (arc*-*-linux-uclibc*): Remove libgmon, crtg, and
(arc*-*-elf*): Likewise.
* config/arc/t-arc: Remove old gmon lib targets.
* config/arc/crtg.S: Remove.
* config/arc/crtgend.S: Likewise.
* config/arc/gmon/atomic.h: Likewise.
* config/arc/gmon/auxreg.h: Likewise.
* config/arc/gmon/dcache_linesz.S: Likewise.
* config/arc/gmon/gmon.c: Likewise.
* config/arc/gmon/machine-gmon.h: Likewise.
* config/arc/gmon/mcount.c: Likewise.
* config/arc/gmon/prof-freq-stub.S: Likewise.
* config/arc/gmon/prof-freq.c: Likewise.
* config/arc/gmon/profil.S: Likewise.
* config/arc/gmon/sys/gmon.h: Likewise.
* config/arc/gmon/sys/gmon_out.h: Likewise.
* config/arc/t-arc-newlib: Likewise.
* config/arc/t-arc700-uClibc: Renamed to t-arc-uClibc.
2016-12-12 George Spelvin <>
* config/avr/lib1funcs.S (__ashrdi3): Fix typo from r243545.
2016-12-12 George Spelvin <>
* config/avr/lib1funcs.S (__ashldi3): Use __tmp_reg__ to restore
R16 instead of push + pop.
(__ashrdi3, __lshrdi3): Same. And use __zero_reg__ for signs.
2016-12-10 Krister Walfridsson <>
* (i[34567]86-*-netbsdelf*): Add i386/t-crtstuff to
2016-12-05 Cupertino Miranda <>
* (arc*-*-linux-uclibc*): Use default extra
objects. Include linux-android header.
* config/arc/crti.S (_init): Declare symbol as function.
(_fini): Likewise.
2016-12-03 Thomas Koenig <>
PR fortran/78379
* config/i386/cpuinfo.c: Move denums for processor vendors,
processor type, processor subtypes and declaration of
struct __processor_model into
* config/i386/cpuinfo.h: New header file.
2016-12-02 Andre Vieira <>
Thomas Preud'homme <>
* config/arm/cmse_nonsecure_call.S: New.
* config/arm/t-arm: Compile cmse_nonsecure_call.S
2016-12-02 Andre Vieira <>
Thomas Preud'homme <>
* config/arm/t-arm (HAVE_CMSE): New.
* config/arm/cmse.c: New.
2016-11-28 Thomas Petazzoni <>
PR gcc/74