diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-05-02 14:43:35 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-05-02 14:43:35 +0000 |
commit | 34efdaf078b01a7387007c4e6bde6db86384c4b7 (patch) | |
tree | d503eaf41d085669d1481bb46ec038bc866fece6 /libgcc | |
parent | f733cf303bcdc952c92b81dd62199a40a1f555ec (diff) | |
download | gcc-tarball-master.tar.gz |
gcc-7.1.0gcc-7.1.0
Diffstat (limited to 'libgcc')
1129 files changed, 5810 insertions, 8424 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index cbcab85449..b6be9c2f47 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,19 +1,655 @@ -2016-08-22 Release Manager +2017-05-02 Release Manager - * GCC 6.2.0 released. + * GCC 7.1.0 released. -2016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> +2017-04-19 Martin Liska <mliska@suse.cz> + + PR gcov-profile/80435 + * Makefile.in: Install gcov.h. + * gcov.h: New file. + * libgcov.h: Use the header and make __gcov_flush publicly + visible. + +2017-04-18 Martin Liska <mliska@suse.cz> + + PR gcov-profile/78783 + * libgcov-driver.c (gcov_get_filename): New function. + +2017-04-07 Jeff Law <law@redhat.com> + + * Makefile.in: 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 <amodra@gmail.com> + + PR target/45053 + * config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2. + +2017-04-03 Jonathan Wakely <jwakely@redhat.com> + + * config/c6x/pr-support.c (__gnu_unwind_execute): Fix typo in comment. + +2017-03-27 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/ieee-754/divdf3.S (__divdf3): Use __ARCEM__. + +2017-03-10 John Marino <gnugcc@marino.st> + + * config/aarch64/freebsd-unwind.h: New file. + * config.host: Add aarch64-*-freebsd unwinder. + +2017-03-10 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/crtrestvr.s: Use .machine altivec. + * config/rs6000/crtsavevr.s: Ditto. + +2017-03-10 Segher Boessenkool <segher@kernel.crashing.org> + + * configure.ac (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. + * config.in: Regenerate. + +2017-03-02 Jonathan Yong <10walls@gmail.com> + + * 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 <10walls@gmail.com> + + * unwind-seh.c: Suppress warnings for RtlUnwindEx calls. + +2017-02-16 Andrew Pinski <apinski@cavium.com> + + * config/aarch64/value-unwind.h: New file. + * config.host (aarch64*-*-*): Add aarch64/value-unwind.h + to tm_file. + +2017-02-06 Palmer Dabbelt <palmer@dabbelt.com> + + * config.host: 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 <jakub@redhat.com> + + * soft-fp/op-common.h (_FP_MUL, _FP_FMA, _FP_DIV): Add + /* FALLTHRU */ comments. + +2017-01-21 Gerald Pfeifer <gerald@pfeifer.com> + + * config/i386/cygming-crtbegin.c (LIBGCJ_SONAME): No longer #define. + +2017-01-20 Jiong Wang <jiong.wang@arm.com> + + * 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 <jiong.wang@arm.com> + + * config/aarch64/linux-unwind.h: Always include aarch64-unwind.h. + +2017-01-19 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64-unwind.h: New file. + (DWARF_REGNUM_AARCH64_RA_STATE): Define. + (MD_POST_EXTRACT_ROOT_ADDR): New target marcro and define it on AArch64. + (MD_POST_EXTRACT_FRAME_ADDR): Likewise. + (MD_POST_FROB_EH_HANDLER_ADDR): Likewise. + (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 + * config.host (aarch64*-*-elf, aarch64*-*-rtems*, + aarch64*-*-freebsd*): + 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 + __aarch64__. + (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 <jakub@redhat.com> + + PR other/79046 + * configure.ac: Add GCC_BASE_VER. + * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get + version from BASE-VER file. + * configure: Regenerated. + +2017-01-13 Joe Seymour <joe.s@somniumtech.com> + + * config/msp430/t-msp430 (libmul_none.a, libmul_16.a, libmul_32.a, + libmul_f5.a): Filter archived prerequisites. + +2017-01-10 Andrew Senkevich <andrew.senkevich@intel.com> + + * config/i386/cpuinfo.h (processor_features): Add + FEATURE_AVX512VPOPCNTDQ. + * config/i386/cpuinfo.c (get_available_features): Habdle new + feature. + +2017-01-04 Joseph Myers <joseph@codesourcery.com> + + * config/mips/sfp-machine.h (_FP_CHOOSENAN): Always preserve NaN + payload if [__mips_nan2008]. + +2017-01-04 Alan Modra <amodra@gmail.com> + + * Makefile.in (configure_deps): Update. + * configure: Regenerate. + +2017-01-01 Jakub Jelinek <jakub@redhat.com> + + Update copyright years. + +2016-12-19 Krister Walfridsson <krister.walfridsson@gmail.com> + + * config.host (*-*-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 <doko@ubuntu.com> + + * config/arc/gmon: Remove empty directory. + +2016-12-16 Claudiu Zissulescu <claziss@synopsys.com> + + * config.host (arc*-*-linux-uclibc*): Remove libgmon, crtg, and + crtgend. + (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 <linux@sciencehorizons.net> + + * config/avr/lib1funcs.S (__ashrdi3): Fix typo from r243545. + +2016-12-12 George Spelvin <linux@sciencehorizons.net> + + * 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 <krister.walfridsson@gmail.com> + + * config.host (i[34567]86-*-netbsdelf*): Add i386/t-crtstuff to + tmake_file. + +2016-12-05 Cupertino Miranda <cmiranda@synopsys.com> + + * config.host (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 <tkoenig@gcc.gnu.org> + + 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 <andre.simoesdiasvieira@arm.com> + Thomas Preud'homme <thomas.preudhomme@arm.com> + + * config/arm/cmse_nonsecure_call.S: New. + * config/arm/t-arm: Compile cmse_nonsecure_call.S + +2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> + Thomas Preud'homme <thomas.preudhomme@arm.com> + + * config/arm/t-arm (HAVE_CMSE): New. + * config/arm/cmse.c: New. + +2016-11-28 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + + PR gcc/74748 + * libgcc/config/bfin/libgcc-glibc.ver, libgcc/config/bfin/t-linux: + use generic linker version information on Blackfin. + + PR gcc/74748 + * libgcc/mkmap-symver.awk: add support for skip_underscore - Backport from mainline - 2016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> +2016-11-27 Iain Sandoe <iain@codesourcery.com> + Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/67710 + * config/t-darwin: Default builds to 10.5 codegen. + +2016-11-24 James Greenhalgh <james.greenhalgh@arm.com> + + * config/aarch64/sfp-machine.h (_FP_NANFRAC_H): Define. + (_FP_NANSIGN_H): Likewise. + * config/aarch64/t-softfp (softfp_extensions): Add hftf. + (softfp_truncations): Add tfhf. + (softfp_extras): Add required conversion functions. + +2016-11-23 James Greenhalgh <james.greenhalgh@arm.com> + Matthew Wahab <matthew.wahab@arm.com> + + * config/arm/fp16.c (binary64): New. + (__gnu_d2h_internal): New. + (__gnu_d2h_ieee): New. + (__gnu_d2h_alternative): New. + +2016-11-23 James Greenhalgh <james.greenhalgh@arm.com> + Matthew Wahab <matthew.wahab@arm.com> + + * config/arm/fp16.c (struct format): New. + (binary32): New. + (__gnu_float2h_internal): New. Body moved from + __gnu_f2h_internal and generalize. + (_gnu_f2h_internal): Move body to function __gnu_float2h_internal. + Call it with binary32. + +2016-11-23 James Greenhalgh <james.greenhalgh@arm.com> + + * soft-fp/extendhftf2.c: Update from glibc. + * soft-fp/fixhfti.c: Likewise. + * soft-fp/fixunshfti.c: Likewise. + * soft-fp/floattihf.c: Likewise. + * soft-fp/floatuntihf.c: Likewise. + * soft-fp/half.h: Likewise. + * soft-fp/trunctfhf2.c: Likewise. + +2016-11-20 Marc Glisse <marc.glisse@inria.fr> + + PR libgcc/77813 + * crtstuff.c (deregister_tm_clones, register_tm_clones): Hide + __TMC_END__ behind a passthrough asm. + +2016-11-18 Walter Lee <walt@tilera.com> + + * config.host (tilepro*-*-linux*): Add t-slibgcc-libgcc to tmake_file. + +2016-11-17 Andrew Senkevich <andrew.senkevich@intel.com> + + * config/i386/cpuinfo.c (processor_features): Add + FEATURE_AVX5124VNNIW, FEATURE_AVX5124FMAPS. + +2016-11-17 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/dp-hack.h (ARC_OPTFPE): Define. + (__ARC_NORM__): Use instead ARC_OPTFPE. + * config/arc/fp-hack.h: Likewise. + * config/arc/lib1funcs.S (ARC_OPTFPE): Define. + (__ARC_MPY__): Use it insetead of __ARC700__ and __HS__. + +2016-11-16 Alexander Monakov <amonakov@ispras.ru> + + * config/nvptx/crt0.c (__main): Setup __nvptx_stacks and __nvptx_uni. + * config/nvptx/mgomp.c: New file. + * config/nvptx/t-nvptx: Add mgomp.c + +2016-11-16 Waldemar Brodkorb <wbx@openadk.org> + + PR libgcc/68468 + * unwind-dw2-fde-dip.c: Fix build on FDPIC targets. + +2016-11-15 Claudiu Zissulescu <claziss@synopsys.com> + + * config/arc/lib1funcs.S (__mulsi3): Use feature defines instead + of checking for cpus. + (__umulsidi3, __umulsi3_highpart, __udivmodsi4, __divsi3) + (__modsi3, __clzsi2): Likewise. + +2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config.host (i[3456]86-*-musl*, x86_64-*-musl*): Use + i386/t-cpuinfo-static instead of i386/t-cpuinfo. + * config/i386/t-cpuinfo-static: New. + +2016-11-03 Martin Liska <mliska@suse.cz> + + * libgcov-profiler.c (__gcov_time_profiler): Remove. + (__gcov_time_profiler_atomic): Likewise. + +2016-11-03 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR libgcc/78067 + * libgcc2.c (__floatdisf, __floatdidf): Avoid undefined results from + count_leading_zeros. + +2016-11-02 Uros Bizjak <ubizjak@gmail.com> + + * Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4. + * libgcc2.c (__divmoddi4): New function. + * libgcc2.h (__divmoddi4): Declare. + * libgcc-std.ver.in (GCC_7.0.0): New. Add __PFX_divmoddi4 + and __PFX_divmodti4. + +2016-10-24 Florian Weimer <fweimer@redhat.com> + + PR libgcc/78064 + * unwind-c.c: Include auto-target.h. + +2016-10-19 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa64-hpux-lib.h: New file. + (EH_FRAME_SECTION_NAME): Rename to __LIBGCC_EH_FRAME_SECTION_NAME__. + (DTORS_SECTION_ASM_OP): Rename to __LIBGCC_DTORS_SECTION_ASM_OP__. + * config.host (tm_file): Add pa/pa64-hpux-lib.h to tm_file on + hppa*64*-*-hpux11*. + +2016-10-18 Max Filippov <jcmvbkbc@gmail.com> + + * config/xtensa/t-elf (LIB2ADDEH_XTENSA_UNWIND_DW2_FDE): New + definition. + * config/xtensa/t-linux (LIB2ADDEH_XTENSA_UNWIND_DW2_FDE): New + definition. + * config/xtensa/t-windowed (LIB2ADDEH): Use + LIB2ADDEH_XTENSA_UNWIND_DW2_FDE defined by either xtensa/t-elf + or xtensa/t-linux. + +2016-10-18 Ding-Kai Chen <dkchen@cadence.com> + + * config/xtensa/ieee754-df.S (__recipdf2, __rsqrtdf2, + __ieee754_sqrt): New functions. + (__divdf3): Add implementation with new FPU instructions under + #if XCHAL_HAVE_DFP_DIV. + * config/xtensa/ieee754-sf.S (__recipsf2, __rsqrtsf2, + __ieee754_sqrtf): New functions. + (__divsf3): Add implementation with new FPU instructions under + #if XCHAL_HAVE_FP_DIV. + * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _sqrtf, _recipsf2 + _rsqrtsf2, _sqrt, _recipdf2 and _rsqrtdf2. + +2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * libgcov-profiler.c: Replace MEMMODEL_* macros by their __ATOMIC_* + equivalent. + * config/tilepro/atomic.c: Likewise and stop casting model to + enum memmodel. + +2016-10-10 Joseph Myers <joseph@codesourcery.com> + + PR target/77586 + * config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use + soft-fp. + +2016-10-10 Andreas Tobler <andreast@gcc.gnu.org> + + * config.host: Add support for aarch64-*-freebsd*. + +2016-10-05 Andreas Schwab <schwab@suse.de> + + * config/ia64/crtbegin.S (__do_jv_register_classes): Remove. + (.section .init_array): Don't call __do_jv_register_classes. + (.section .init): Likewise. + +2016-10-04 Jakub Jelinek <jakub@redhat.com> + + * config/i386/cygming-crtbegin.c (_Jv_RegisterClasses): Remove. + (__JCR_LIST__): Remove. + (__gcc_register_frame): Don't attempt to _Jv_RegisterClasses. + * config/i386/cygming-crtend.c (__JCR_END__): Remove. + * config/ia64/crtbegin.S (__JCR_LIST__): Remove. + * config/ia64/crtend.S (__JCR_END__): Remove. + * crtstuff.c: Remove __LIBGCC_JCR_SECTION_NAME__ from preprocessor + conditionals. + (__JCR_LIST__, __JCR_END__): Remove. + (frame_dummy): Don't attempt to _Jv_RegisterClasses. + (__do_global_ctors_1): Likewise. + +2015-09-28 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/cpuinfo.c (__get_cpuid_output): Remove. + (__cpu_indicator_init): Call __get_cpuid, not __get_cpuid_output. + +2016-09-27 Martin Liska <mliska@suse.cz> + + PR gcov-profile/7970 + PR gcov-profile/16855 + PR gcov-profile/44779 + * libgcov-driver.c (__gcov_init): Do not register a atexit + handler. + (__gcov_exit): Rename from gcov_exit. + * libgcov.h (__gcov_exit): Declare. + +2016-09-27 Martin Liska <mliska@suse.cz> + + PR bootstrap/77749 + * Makefile.in: Remove _gcov_merge_delta. + * libgcov-merge.c (void __gcov_merge_delta): Remove. + * libgcov-util.c (__gcov_delta_counter_op): Remove. + * libgcov.h: Remove declaration of __gcov_merge_delta. + +2016-09-21 Eric Botcazou <ebotcazou@adacore.com> + + * configure.ac: Do not create links, only substitute the filenames. + * configure: Regenerate. + * Makefile.in: Assign the substitution results to variables. + (LIBGCC_LINKS): Define. + (enable-execute-stack.c): New rule. + (unwind.h): Likewise. + (md-unwind-support.h): Likewise. + (sfp-machine.h): Likewise. + (gthr-default.h): Likewise. + Add $(LIBGCC_LINKS) to the prerequisites of all object files and + unwind.h as prerequisite of install-unwind_h-forbuild. + +2016-09-16 Jakub Jelinek <jakub@redhat.com> + + PR libgcc/71744 + * unwind-dw2-fde.c (ATOMIC_FDE_FAST_PATH): Define if __register_frame* + is not the primary registry and atomics are available. + (any_objects_registered): New variable. + (__register_frame_info_bases, __register_frame_info_table_bases): + Atomically store 1 to any_objects_registered after registering first + unwind info. + (_Unwind_Find_FDE): Return early if any_objects_registered is 0. + +2016-09-09 James Greenhalgh <james.greenhalgh@arm.com> + + PR target/63250 + * Makefile.in (lib2funcs): Build _mulhc3 and _divhc3. + * libgcc2.h (LIBGCC_HAS_HF_MODE): Conditionally define. + (HFtype): Likewise. + (HCtype): Likewise. + (__divhc3): Likewise. + (__mulhc3): Likewise. + * libgcc2.c: Support _mulhc3 and _divhc3. + +2016-09-07 Joseph Myers <joseph@codesourcery.com> + + PR libgcc/77519 + * libgcc2.c (NOTRUNC): Invert settings. + +2016-09-06 Martin Liska <mliska@suse.cz> + + PR gcov-profile/77378 + PR gcov-profile/77466 + * libgcov-profiler.c: Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{4,8} to + conditionaly enable/disable *_atomic functions. + +2016-08-26 Joseph Myers <joseph@codesourcery.com> + + * config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp + where not already enabled. + +2016-08-25 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * config/mips/linux-unwind.h: Use sys/syscall.h. + +2016-08-16 Joseph Myers <joseph@codesourcery.com> + + PR libgcc/77265 + * soft-fp/adddf3.c: Update from glibc. + * soft-fp/addsf3.c: Likewise. + * soft-fp/addtf3.c: Likewise. + * soft-fp/divdf3.c: Likewise. + * soft-fp/divsf3.c: Likewise. + * soft-fp/divtf3.c: Likewise. + * soft-fp/double.h: Likewise. + * soft-fp/eqdf2.c: Likewise. + * soft-fp/eqsf2.c: Likewise. + * soft-fp/eqtf2.c: Likewise. + * soft-fp/extenddftf2.c: Likewise. + * soft-fp/extended.h: Likewise. + * soft-fp/extendsfdf2.c: Likewise. + * soft-fp/extendsftf2.c: Likewise. + * soft-fp/extendxftf2.c: Likewise. + * soft-fp/fixdfdi.c: Likewise. + * soft-fp/fixdfsi.c: Likewise. + * soft-fp/fixdfti.c: Likewise. + * soft-fp/fixsfdi.c: Likewise. + * soft-fp/fixsfsi.c: Likewise. + * soft-fp/fixsfti.c: Likewise. + * soft-fp/fixtfdi.c: Likewise. + * soft-fp/fixtfsi.c: Likewise. + * soft-fp/fixtfti.c: Likewise. + * soft-fp/fixunsdfdi.c: Likewise. + * soft-fp/fixunsdfsi.c: Likewise. + * soft-fp/fixunsdfti.c: Likewise. + * soft-fp/fixunssfdi.c: Likewise. + * soft-fp/fixunssfsi.c: Likewise. + * soft-fp/fixunssfti.c: Likewise. + * soft-fp/fixunstfdi.c: Likewise. + * soft-fp/fixunstfsi.c: Likewise. + * soft-fp/fixunstfti.c: Likewise. + * soft-fp/floatdidf.c: Likewise. + * soft-fp/floatdisf.c: Likewise. + * soft-fp/floatditf.c: Likewise. + * soft-fp/floatsidf.c: Likewise. + * soft-fp/floatsisf.c: Likewise. + * soft-fp/floatsitf.c: Likewise. + * soft-fp/floattidf.c: Likewise. + * soft-fp/floattisf.c: Likewise. + * soft-fp/floattitf.c: Likewise. + * soft-fp/floatundidf.c: Likewise. + * soft-fp/floatundisf.c: Likewise. + * soft-fp/floatunditf.c: Likewise. + * soft-fp/floatunsidf.c: Likewise. + * soft-fp/floatunsisf.c: Likewise. + * soft-fp/floatunsitf.c: Likewise. + * soft-fp/floatuntidf.c: Likewise. + * soft-fp/floatuntisf.c: Likewise. + * soft-fp/floatuntitf.c: Likewise. + * soft-fp/gedf2.c: Likewise. + * soft-fp/gesf2.c: Likewise. + * soft-fp/getf2.c: Likewise. + * soft-fp/ledf2.c: Likewise. + * soft-fp/lesf2.c: Likewise. + * soft-fp/letf2.c: Likewise. + * soft-fp/muldf3.c: Likewise. + * soft-fp/mulsf3.c: Likewise. + * soft-fp/multf3.c: Likewise. + * soft-fp/negdf2.c: Likewise. + * soft-fp/negsf2.c: Likewise. + * soft-fp/negtf2.c: Likewise. + * soft-fp/op-1.h: Likewise. + * soft-fp/op-2.h: Likewise. + * soft-fp/op-4.h: Likewise. + * soft-fp/op-8.h: Likewise. + * soft-fp/op-common.h: Likewise. + * soft-fp/quad.h: Likewise. + * soft-fp/single.h: Likewise. + * soft-fp/soft-fp.h: Likewise. + * soft-fp/subdf3.c: Likewise. + * soft-fp/subsf3.c: Likewise. + * soft-fp/subtf3.c: Likewise. + * soft-fp/truncdfsf2.c: Likewise. + * soft-fp/trunctfdf2.c: Likewise. + * soft-fp/trunctfsf2.c: Likewise. + * soft-fp/trunctfxf2.c: Likewise. + * soft-fp/unorddf2.c: Likewise. + * soft-fp/unordsf2.c: Likewise. + * soft-fp/unordtf2.c: Likewise. + +2016-08-15 Gilles Gouaillardet <gilles.gouaillardet@gmail.com> + + PR gcov-profile/67097 + * libgcov-util.c (gcov_profile_merge): Skip missing files. + +2016-08-10 Martin Liska <mliska@suse.cz> + + PR gcov-profile/58306 + * Makefile.in: New functions (modules) are added. + * libgcov-profiler.c (__gcov_interval_profiler_atomic): New + function. + (__gcov_pow2_profiler_atomic): New function. + (__gcov_one_value_profiler_body): New argument is instroduced. + (__gcov_one_value_profiler): Call with the new argument. + (__gcov_one_value_profiler_atomic): Likewise. + (__gcov_indirect_call_profiler_v2): Likewise. + (__gcov_time_profiler_atomic): New function. + (__gcov_average_profiler_atomic): Likewise. + (__gcov_ior_profiler_atomic): Likewise. + * libgcov.h: Declare the aforementioned functions. + +2016-08-09 Martin Liska <mliska@suse.cz> + + * libgcov-util.c: Fix typo and GNU coding style. + +2016-08-09 Martin Liska <mliska@suse.cz> + + * Makefile.in: Remove __gcov_indirect_call_profiler. + * libgcov-profiler.c (__gcov_indirect_call_profiler): Remove + function. + * libgcov.h: And the declaration of the function. + +2016-08-09 Martin Liska <mliska@suse.cz> + + * libgcov-profiler.c (__gcov_pow2_profiler): Consider 0 as not + power of two. + +2016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/_divkc3.c: Add copyright/license boilerplate. * config/rs6000/_mulkc3.c: Likewise. -2016-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> +2016-07-29 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/lib1funcs.S (__muldi3) [have MUL]: No need to clear + zero_reg as previous call to __umulhisi3 already cleared it. + +2016-07-21 Aurelien Jarno <aurelien@aurel32.net> + + PR target/59833 + * config/arm/ieee754-df.S (extendsfdf2): Convert sNaN to qNaN. - Backport from mainline - 2016-07-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> +2016-07-19 Nick Clifton <nickc@redhat.com> + + * config.host (m32r): Add m32r/t-m32r to tmake_file. + Add crtinit.o and crtfini.o to extra_parts. + +2016-07-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/_divkc3.c: New. * config/rs6000/_mulkc3.c: New. @@ -22,19 +658,192 @@ * config/rs6000/t-float128: Add _mulkc3 and _divkc3 to fp128_ppc_funcs. -2016-05-17 Sebastian Huber <sebastian.huber@embedded-brains.de> +2016-07-11 Hale Wang <hale.wang@arm.com> + Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/arm/lib1funcs.S: Add new wrapper. + +2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * config/arm/lib1funcs.S (__ARM_ARCH__): Define to 8 for ARMv8-M. + +2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * config/arm/lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later + and ARMv5t* rather than for a fixed list of architectures. + +2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * config/arm/bpabi-v6m.S: Clarify what architectures is the + implementation suitable for. + * config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases + for all Thumb-1 only targets. + (NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets. + (THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than + __ARM_ARCH_6M__. + (EQUIV): Likewise. + (ARM_FUNC_ALIAS): Likewise. + (umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv + version. + (modsi3): Likewise. + (clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__. + (clzdi2): Likewise. + (ctzsi2): Likewise. + (L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than + __ARM_ARCH_6M__ in guard for checking whether it is defined. + (final includes): Test for NOT_ISA_TARGET_32BIT rather than + __ARM_ARCH_6M__ and add comment to indicate the connection between + this condition and the one in gcc/config/arm/elf.h. + * config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and + __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__. + * config/arm/t-softfp: Likewise. + +2016-07-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * libgcc2.c (SYMBOL__MAIN): Remove checks for + CTOR_LISTS_DEFINED_EXTERNALLY. + +2016-06-28 Walter Lee <walt@tilera.com> + + * config/tilepro/atomic.h: Do not include arch/spr_def.h and + asm/unistd.h. + (SPR_CMPEXCH_VALUE): Define for tilegx. + (__NR_FAST_cmpxchg): Define for tilepro. + (__NR_FAST_atomic_update): Define for tilepro. + (__NR_FAST_cmpxchg64): Define for tilepro. + +2016-06-23 Jakub Sejdak <jakub.sejdak@phoesys.com> + + * config.host: Add suport for arm*-*-phoenix* targets. + +2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * config.host: Remove support for mep-*. + * config/mep/lib1funcs.S: Remove. + * config/mep/lib2funcs.c: Remove. + * config/mep/t-mep: Remove. + * config/mep/tramp.c: Remove. - Backport from mainline - 2016-05-10 Joel Sherrill <joel@rtems.org> +2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * config.host: Remove support for avr-rtems. + * config/avr/t-rtems: Remove. + +2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * config.host: Remove m32r-rtems support. + +2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * config.host: Remove h8300-rtems support. + +2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * config.host: Remove support for knetbsd. + +2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * config.host: Remove support for openbsd 2 and 3. + +2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * config.host: Remove interix support. + * config/i386/t-interix: Remove. + +2016-06-18 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set + least-significant bit in function pointer for fixup. + +2016-06-05 Aaron Conole <aconole@redhat.com> + Nathan Sidwell <nathan@acm.org> + + PR libgcc/71400 + * libgcov-driver-system.c (__gcov_error_file): Disable if IN_GCOV_TOOL. + (get_gcov_error_file): Check __gcov_error_file before trying to + initialize it. + (gcov_error): Always use get_gcov_error_file. + +2016-06-02 Aaron Conole <aconole@redhat.com> + + * libgcov-driver-system.c (__gcov_error_file): New. + (get_gcov_error_file): New. + (gcov_error): Use and set __gcov_error_file. + (gcov_error_exit): New. + * libgcov-driver.c (gcov_exit): Call gcov_error_exit. + +2016-05-26 Nathan Sidwell <nathan@acm.org> + + * config/nvptx/free.asm: Delete. + * config/nvptx/malloc.asm: Delete. + * config/nvptx/realloc.c: Delete. + * t-nvptx: Update. + +2016-05-25 Nathan Sidwell <nathan@acm.org> + + * config/nvptx/crt0.s: Delete. + * config/nvptx/crt0.c: New. + * t-nvptx: Update. + +2016-05-19 Sandra Loosemore <sandra@codesourcery.com> + + * config.host [x86_64-*-cygwin*]: Handle tmake_eh_file for mixed + dw2/seh configuration. + [x86_64-*-mingw*]: Likewise. + +2016-05-10 Joel Sherrill <joel@rtems.org> PR libgcc/70720 * config.host (moxie-*-rtems*): Merge this stanza with other moxie targets so the same extra_parts are built. Also have tmake_file add on to its value rather than override. -2016-04-27 Release Manager +2016-04-30 Oleg Endo <olegendo@gcc.gnu.org> + + * config.host: Remove SH5 support. + * configure: Likewise. + +2016-04-29 Oleg Endo <olegendo@gcc.gnu.org> + + * config/sh/crt1.S: Remove SH5 support. + * config/sh/crti.S: Likewise. + * config/sh/crtn.S: Likewise. + * config/sh/lib1funcs-4-300.S: Likewise. + * config/sh/lib1funcs-Os-4-200.S: Likewise. + * config/sh/lib1funcs.S: Likewise. + * config/sh/linux-unwind.h: Likewise. + * config/sh/t-sh64: Delete. + +2016-04-29 Claudiu Zissulescu <claziss@synopsys.com> - * GCC 6.1.0 released. + * config/arc/ieee-754/eqdf2.S: Handle FPX NaN. + +2016-04-28 Claudiu Zissulescu <claziss@synopsys.com> + Joern Rennecke <joern.rennecke@embecosm.com> + + * config/arc/crttls.S: New file. + * config/arc/t-arc: New rule. + * config.host (arc*-*-elf*, arc*-*-linux*): Add crttls.o. + +2016-04-25 Nick Clifton <nickc@redhat.com> + + * config/msp430/cmpd.c (__mspabi_cmpf): Add prototype. + (__mspabi_cmpd): Likewise. + * config/msp430/floathidf.c (__floathidf): Likewise. + * config/msp430/floathisf.c (__floathisf): Likewise + * config/msp430/floatunhidf.c (__floatunssidf): Likewise. + * config/msp430/floatunhisf.c (__floatunshisf): Likewise. + * config/msp430/lib2shift.c (__ashlsi3): Take a signed char as the + second parameter. + (__ashrsi3): Likewise. + +2016-04-21 Waldemar Brodkorb <wbx@openadk.org> + + * config/m68k/linux-atomic.c: Do not include unistd.h + +2016-04-20 Martin Galvan <martin.galvan@tallertechnologies.com> + + * config/arm/ieee754-df.S: Fix typos in comments. 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com> @@ -52,7 +861,7 @@ 2016-03-28 James Bowman <james.bowman@ftdichip.com> - * libgcc/config/ft32/lib1funcs.S (*divsi3, *modsi3): New. + * libgcc/config/ft32/lib1funcs.S (*divsi3, *modsi3): New. 2016-03-22 Michael Meissner <meissner@linux.vnet.ibm.com> @@ -467,7 +1276,7 @@ 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com> - * config/i386/cpuinfo.c (processor_features): Add + * config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512VBMI and FEATURE_AVX512VBMI. 2015-09-28 Joseph Myers <joseph@codesourcery.com> @@ -832,10 +1641,10 @@ 2015-05-15 Martin Galvan <martin.galvan@tallertechnologies.com> - * config/arm/lib1funcs.S (CFI_START_FUNCTION, CFI_END_FUNCTION): - New macros. - * config/arm/ieee754-df.S: Add CFI directives. - * config/arm/ieee754-sf.S: Add CFI directives. + * config/arm/lib1funcs.S (CFI_START_FUNCTION, CFI_END_FUNCTION): + New macros. + * config/arm/ieee754-df.S: Add CFI directives. + * config/arm/ieee754-sf.S: Add CFI directives. 2015-05-13 Eric Botcazou <ebotcazou@adacore.com> @@ -7611,7 +8420,7 @@ shared-object.mk, siditi-object.mk, static-object.mk: New files. * configure: Generated. -Copyright (C) 2007-2016 Free Software Foundation, Inc. +Copyright (C) 2007-2017 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index f09b39b0e8..a1a392de88 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -1,6 +1,6 @@ # Makefile.in -# Copyright (C) 2005-2016 Free Software Foundation, Inc. +# Copyright (C) 2005-2017 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -43,6 +43,11 @@ enable_vtable_verify = @enable_vtable_verify@ enable_decimal_float = @enable_decimal_float@ fixed_point = @fixed_point@ with_aix_soname = @with_aix_soname@ +enable_execute_stack = @enable_execute_stack@ +unwind_header = @unwind_header@ +md_unwind_header = @md_unwind_header@ +sfp_machine_header = @sfp_machine_header@ +thread_header = @thread_header@ host_noncanonical = @host_noncanonical@ real_host_noncanonical = @real_host_noncanonical@ @@ -160,8 +165,13 @@ configure_deps = \ $(srcdir)/../config/tls.m4 \ $(srcdir)/../config/acx.m4 \ $(srcdir)/../config/no-executables.m4 \ + $(srcdir)/../config/lib-ld.m4 \ $(srcdir)/../config/override.m4 \ + $(srcdir)/../config/picflag.m4 \ $(srcdir)/../config/dfp.m4 \ + $(srcdir)/../config/unwind_ipinfo.m4 \ + $(srcdir)/../config/gthr.m4 \ + $(srcdir)/../config/sjlj.m4 $(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(configure_deps) cd $(srcdir) && $(AUTOCONF) @@ -214,7 +224,7 @@ export slibdir export toolexecdir export toolexeclibdir -version := $(shell cat $(srcdir)/../gcc/BASE-VER) +version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) ifeq ($(decimal_float),yes) ifeq ($(enable_decimal_float),bid) @@ -250,10 +260,6 @@ LIB2FUNCS_ST = _eprintf __gcc_bcmp # List of functions not to build from libgcc2.c. LIB2FUNCS_EXCLUDE = -# These might cause a divide overflow trap and so are compiled with -# unwinder info. -LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 - # List of extra C and assembler files to add to static and shared libgcc2. # Assembler files should have names ending in `.S'. LIB2ADD = @@ -342,6 +348,22 @@ LIBUNWIND = SHLIBUNWIND_LINK = SHLIBUNWIND_INSTALL = + +# Create links to files specified in config.host. +LIBGCC_LINKS = enable-execute-stack.c unwind.h md-unwind-support.h \ + sfp-machine.h gthr-default.h + +enable-execute-stack.c: $(srcdir)/$(enable_execute_stack) + -$(LN_S) $< $@ +unwind.h: $(srcdir)/$(unwind_header) + -$(LN_S) $< $@ +md-unwind-support.h: $(srcdir)/config/$(md_unwind_header) + -$(LN_S) $< $@ +sfp-machine.h: $(srcdir)/config/$(sfp_machine_header) + -$(LN_S) $< $@ +gthr-default.h: $(srcdir)/$(thread_header) + -$(LN_S) $< $@ + tmake_file = @tmake_file@ include $(srcdir)/empty.mk $(tmake_file) @@ -414,8 +436,9 @@ lib2funcs = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _cmpdi2 _ucmpdi2 \ _negvsi2 _negvdi2 _ctors _ffssi2 _ffsdi2 _clz _clzsi2 _clzdi2 \ _ctzsi2 _ctzdi2 _popcount_tab _popcountsi2 _popcountdi2 \ _paritysi2 _paritydi2 _powisf2 _powidf2 _powixf2 _powitf2 \ - _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 _divxc3 \ - _divtc3 _bswapsi2 _bswapdi2 _clrsbsi2 _clrsbdi2 + _mulhc3 _mulsc3 _muldc3 _mulxc3 _multc3 _divhc3 _divsc3 \ + _divdc3 _divxc3 _divtc3 _bswapsi2 _bswapdi2 _clrsbsi2 \ + _clrsbdi2 # The floating-point conversion routines that involve a single-word integer. # XX stands for the integer mode. @@ -434,7 +457,8 @@ endif # These might cause a divide overflow trap and so are compiled with # unwinder info. -LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _divmoddi4 \ + _udivdi3 _umoddi3 _udivmoddi4 _udiv_w_sdiv # Remove any objects from lib2funcs and LIB2_DIVMOD_FUNCS that are # defined as optimized assembly code in LIB1ASMFUNCS or as C code @@ -856,12 +880,20 @@ include $(iterator) # Build libgcov components. -LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ +LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single \ _gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn -LIBGCOV_PROFILER = _gcov_interval_profiler _gcov_pow2_profiler \ - _gcov_one_value_profiler _gcov_indirect_call_profiler \ - _gcov_average_profiler _gcov_ior_profiler \ - _gcov_indirect_call_profiler_v2 _gcov_time_profiler \ +LIBGCOV_PROFILER = _gcov_interval_profiler \ + _gcov_interval_profiler_atomic \ + _gcov_pow2_profiler \ + _gcov_pow2_profiler_atomic \ + _gcov_one_value_profiler \ + _gcov_one_value_profiler_atomic \ + _gcov_average_profiler \ + _gcov_average_profiler_atomic \ + _gcov_ior_profiler \ + _gcov_ior_profiler_atomic \ + _gcov_indirect_call_profiler_v2 \ + _gcov_time_profiler \ _gcov_indirect_call_topn_profiler LIBGCOV_INTERFACE = _gcov_dump _gcov_flush _gcov_fork \ _gcov_execl _gcov_execlp \ @@ -875,14 +907,14 @@ libgcov-driver-objects = $(patsubst %,%$(objext),$(LIBGCOV_DRIVER)) libgcov-objects = $(libgcov-merge-objects) $(libgcov-profiler-objects) \ $(libgcov-interface-objects) $(libgcov-driver-objects) -$(libgcov-merge-objects): %$(objext): $(srcdir)/libgcov-merge.c $(srcdir)/libgcov.h +$(libgcov-merge-objects): %$(objext): $(srcdir)/libgcov-merge.c $(srcdir)/gcov.h $(srcdir)/libgcov.h $(gcc_compile) -DL$* -c $(srcdir)/libgcov-merge.c -$(libgcov-profiler-objects): %$(objext): $(srcdir)/libgcov-profiler.c $(srcdir)/libgcov.h +$(libgcov-profiler-objects): %$(objext): $(srcdir)/libgcov-profiler.c $(srcdir)/gcov.h $(srcdir)/libgcov.h $(gcc_compile) -DL$* -c $(srcdir)/libgcov-profiler.c -$(libgcov-interface-objects): %$(objext): $(srcdir)/libgcov-interface.c $(srcdir)/libgcov.h +$(libgcov-interface-objects): %$(objext): $(srcdir)/libgcov-interface.c $(srcdir)/gcov.h $(srcdir)/libgcov.h $(gcc_compile) -DL$* -c $(srcdir)/libgcov-interface.c $(libgcov-driver-objects): %$(objext): $(srcdir)/libgcov-driver.c \ - $(srcdir)/libgcov-driver-system.c $(srcdir)/libgcov.h + $(srcdir)/libgcov-driver-system.c $(srcdir)/gcov.h $(srcdir)/libgcov.h $(gcc_compile) -DL$* -c $(srcdir)/libgcov-driver.c @@ -1060,10 +1092,10 @@ all: $(extra-parts) $(libgcc-objects) $(libgcc-s-objects) $(libgcc-eh-objects) \ $(libgcov-objects) \ $(libunwind-objects) $(libunwind-s-objects) \ - $(EXTRA_PARTS): libgcc_tm.h + $(EXTRA_PARTS): $(LIBGCC_LINKS) libgcc_tm.h # Copy unwind.h to the place where gcc will look for it at build-time -install-unwind_h-forbuild: +install-unwind_h-forbuild: unwind.h dest=$(gcc_objdir)/include/tmp$$$$-unwind.h; \ cp unwind.h $$dest; \ chmod a+r $$dest; \ @@ -1082,6 +1114,10 @@ install-unwind_h: all: install-unwind_h-forbuild +install-gcov_h: + $(mkinstalldirs) $(DESTDIR)$(libsubdir)/include + $(INSTALL_DATA) $(srcdir)/gcov.h $(DESTDIR)$(libsubdir)/include + # Documentation targets (empty). .PHONY: info html dvi pdf install-info install-html install-pdf @@ -1139,13 +1175,14 @@ install-leaf: $(install-shared) $(install-libunwind) esac; \ done -install: install-leaf install-unwind_h +install: install-leaf install-unwind_h install-gcov_h @: $(MAKE) ; $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install install-strip: install .PHONY: install install-shared install-libunwind install-strip .PHONY: install-unwind_h install-unwind_h-forbuild +.PHONY: install-gcov_h # Don't export variables to the environment, in order to not confuse # configure. diff --git a/libgcc/config.host b/libgcc/config.host index 16a45c81b8..b279a6458f 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -1,5 +1,5 @@ # libgcc host-specific configuration file. -# Copyright (C) 1997-2016 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. #This file is part of GCC. @@ -136,8 +136,6 @@ m32r*-*-*) ;; m68k-*-*) ;; -mep*-*-*) - ;; microblaze*-*-*) cpu_type=microblaze ;; @@ -169,6 +167,9 @@ powerpc*-*-*) ;; rs6000*-*-*) ;; +riscv*-*-*) + cpu_type=riscv + ;; sparc64*-*-*) cpu_type=sparc ;; @@ -230,7 +231,7 @@ case ${host} in ;; esac ;; -*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu) tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux" extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o" if test x$enable_vtable_verify = xyes; then @@ -242,7 +243,8 @@ case ${host} in extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" ;; *-*-netbsd*) - tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip" + tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver" # NetBSD 1.7 and later are set up to use GCC's crtstuff for # ELF configurations. We will clear extra_parts in the # a.out configurations. @@ -332,6 +334,13 @@ aarch64*-*-elf | aarch64*-*-rtems*) extra_parts="$extra_parts crtfastmath.o" tmake_file="${tmake_file} ${cpu_type}/t-aarch64" tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" + md_unwind_header=aarch64/aarch64-unwind.h + ;; +aarch64*-*-freebsd*) + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} ${cpu_type}/t-aarch64" + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" + md_unwind_header=aarch64/freebsd-unwind.h ;; aarch64*-*-linux*) extra_parts="$extra_parts crtfastmath.o" @@ -365,12 +374,14 @@ alpha*-dec-*vms*) md_unwind_header=alpha/vms-unwind.h ;; arc*-*-elf*) - tmake_file="arc/t-arc-newlib arc/t-arc" - extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o" + tmake_file="arc/t-arc" + extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o" + extra_parts="$extra_parts crttls.o" ;; arc*-*-linux-uclibc*) - tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc700-uClibc arc/t-arc" - extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o" + tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc-uClibc arc/t-arc" + extra_parts="$extra_parts crti.o crtn.o" + extra_parts="$extra_parts crttls.o" ;; arm-wrs-vxworks) tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp" @@ -402,6 +413,13 @@ arm*-*-uclinux*) # ARM ucLinux unwind_header=config/arm/unwind-arm.h extra_parts="$extra_parts crti.o crtn.o" ;; +arm*-*-phoenix*) + tmake_file="t-hardfp t-softfp arm/t-arm arm/t-elf arm/t-softfp arm/t-phoenix" + tmake_file="${tmake_file} arm/t-bpabi" + tm_file="$tm_file arm/bpabi-lib.h" + extra_parts="crtbegin.o crtend.o crti.o crtn.o" + unwind_header=config/arm/unwind-arm.h + ;; arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix" tm_file="$tm_file arm/bpabi-lib.h" @@ -420,12 +438,6 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*) extra_parts="$extra_parts crtfastmath.o" unwind_header=config/arm/unwind-arm.h ;; -avr-*-rtems*) - tmake_file="$tmake_file avr/t-avr avr/t-rtems t-fpbit" - tm_file="$tm_file avr/avr-lib.h" - # Don't use default. - extra_parts= - ;; avr-*-*) # Make HImode functions for AVR tmake_file="${cpu_type}/t-avr t-fpbit" @@ -493,11 +505,6 @@ ft32-*-elf) tmake_file="ft32/t-ft32 t-softfp-sfdf t-softfp-excl t-softfp" extra_parts="$extra_parts crti.o crti-hw.o crtn.o" ;; -h8300-*-rtems*) - tmake_file="$tmake_file h8300/t-h8300 t-fpbit" - tm_file="$tm_file h8300/h8300-lib.h" - extra_parts="$extra_parts crti.o crtn.o" - ;; h8300-*-elf*) tmake_file="$tmake_file h8300/t-h8300 t-fpbit" tm_file="$tm_file h8300/h8300-lib.h" @@ -542,6 +549,7 @@ hppa*64*-*-hpux11*) tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" fi tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux" + tm_file="$tm_file pa/pa64-hpux-lib.h" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \ libgcc_stub.a" md_unwind_header=pa/hpux-unwind.h @@ -597,12 +605,11 @@ x86_64-*-freebsd*) md_unwind_header=i386/freebsd-unwind.h ;; i[34567]86-*-netbsdelf*) + tmake_file="${tmake_file} i386/t-crtstuff" ;; x86_64-*-netbsd*) tmake_file="${tmake_file} i386/t-crtstuff" ;; -i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) - ;; i[34567]86-*-openbsd*) ;; x86_64-*-openbsd*) @@ -613,7 +620,7 @@ i[34567]86-*-linux*) tm_file="${tm_file} i386/elf-lib.h" md_unwind_header=i386/linux-unwind.h ;; -i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) +i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu) extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules" tm_file="${tm_file} i386/elf-lib.h" @@ -624,7 +631,7 @@ x86_64-*-linux*) tm_file="${tm_file} i386/elf-lib.h" md_unwind_header=i386/linux-unwind.h ;; -x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu) +x86_64-*-kfreebsd*-gnu) extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o" tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules" tm_file="${tm_file} i386/elf-lib.h" @@ -638,7 +645,7 @@ i[34567]86-*-nto-qnx*) extra_parts=crtbegin.o ;; i[34567]86-*-rtems*) - tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp" + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/t-softfp t-softfp" extra_parts="$extra_parts crti.o crtn.o" ;; i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) @@ -676,6 +683,9 @@ x86_64-*-cygwin*) # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h if test x$ac_cv_sjlj_exceptions = xyes; then tmake_eh_file="i386/t-sjlj-eh" + elif test "${host_address}" = 32; then + # biarch -m32 with --disable-sjlj-exceptions + tmake_eh_file="i386/t-dw2-eh" else tmake_eh_file="i386/t-seh-eh" fi @@ -728,6 +738,10 @@ x86_64-*-mingw*) # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h if test x$ac_cv_sjlj_exceptions = xyes; then tmake_eh_file="i386/t-sjlj-eh" + elif test "${host_address}" = 32; then + # biarch -m32 with --disable-sjlj-exceptions + tmake_eh_file="i386/t-dw2-eh" + md_unwind_header=i386/w32-unwind.h else tmake_eh_file="i386/t-seh-eh" fi @@ -743,16 +757,13 @@ x86_64-*-mingw*) extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" fi ;; -i[34567]86-*-interix[3-9]*) - tmake_file="$tmake_file i386/t-interix i386/t-chkstk" - ;; ia64*-*-elf*) extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o" - tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" + tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat" ;; ia64*-*-freebsd*) extra_parts="$extra_parts crtfastmath.o" - tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" + tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat" ;; ia64*-*-linux*) # Don't use crtbeginT.o from *-*-linux* default. @@ -767,7 +778,7 @@ ia64*-*-hpux*) tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux" ;; ia64-hp-*vms*) - tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms" + tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms t-softfp-tf ia64/t-softfp t-softfp" extra_parts="$extra_parts crtinitS.o" md_unwind_header=ia64/vms-unwind.h ;; @@ -789,12 +800,9 @@ lm32-*-uclinux*) tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp" ;; m32r-*-elf*) - tmake_file=t-fdpbit - ;; -m32r-*-rtems*) tmake_file="$tmake_file m32r/t-m32r t-fdpbit" extra_parts="$extra_parts crtinit.o crtfini.o" - ;; + ;; m32rle-*-elf*) tmake_file=t-fdpbit ;; @@ -1088,6 +1096,15 @@ powerpcle-*-eabi*) tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit" extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o" ;; +riscv*-*-linux*) + tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o" + md_unwind_header=riscv/linux-unwind.h + ;; +riscv*-*-*) + tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}" + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o" + ;; rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*) md_unwind_header=rs6000/aix-unwind.h tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble" @@ -1131,10 +1148,6 @@ sh-*-elf* | sh[12346l]*-*-elf*) libic_invalidate_array_4-200.a \ libic_invalidate_array_4a.a \ libgcc-Os-4-200.a libgcc-4-300.a" - case ${host} in sh64*-*-*) - tmake_file="$tmake_file sh/t-sh64" - ;; - esac case ${host} in sh*-superh-elf) tmake_file="$tmake_file sh/t-superh" @@ -1144,20 +1157,11 @@ sh-*-elf* | sh[12346l]*-*-elf*) ;; sh-*-linux* | sh[2346lbe]*-*-linux*) tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit" - case ${host} in sh64*-*-linux*) - tmake_file="$tmake_file sh/t-sh64" - ;; - esac md_unwind_header=sh/linux-unwind.h ;; -sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ - sh64-*-netbsd* | sh64l*-*-netbsd*) +sh-*-netbsdelf* | shl*-*-netbsdelf*) tmake_file="$tmake_file sh/t-sh sh/t-netbsd" - case ${host} in - sh5*-*-netbsd* | sh64*-netbsd*) - tmake_file="$tmake_file sh/t-sh64" - ;; - esac + # NetBSD's C library includes a fast software FP library that # has support for setting/setting the rounding mode, exception # mask, etc. Therefore, we don't want to include software FP @@ -1279,7 +1283,7 @@ tilegx*-*-linux*) md_unwind_header=tilepro/linux-unwind.h ;; tilepro*-*-linux*) - tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro" + tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro t-slibgcc-libgcc" md_unwind_header=tilepro/linux-unwind.h ;; v850*-*-*) @@ -1320,10 +1324,6 @@ am33_2.0-*-linux*) m32c-*-elf*|m32c-*-rtems*) tmake_file="$tmake_file m32c/t-m32c" ;; -mep*-*-*) - tmake_file="mep/t-mep t-fdpbit" - extra_parts="crtbegin.o crtend.o" - ;; nvptx-*) tmake_file="$tmake_file nvptx/t-nvptx" extra_parts="crt0.o" @@ -1336,14 +1336,20 @@ esac case ${host} in i[34567]86-*-* | x86_64-*-*) - tmake_file="${tmake_file} i386/t-cpuinfo" + case ${host} in + *-musl*) + tmake_file="${tmake_file} i386/t-cpuinfo-static" + ;; + *) + tmake_file="${tmake_file} i386/t-cpuinfo" + ;; + esac ;; esac case ${host} in i[34567]86-*-linux* | x86_64-*-linux* | \ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ - i[34567]86-*-knetbsd*-gnu | \ i[34567]86-*-gnu*) tmake_file="${tmake_file} t-tls i386/t-linux t-slibgcc-libgcc" if test "$libgcc_cv_cfi" = "yes"; then @@ -1353,17 +1359,10 @@ i[34567]86-*-linux* | x86_64-*-linux* | \ esac case ${host} in -i[34567]86-*-darwin* | x86_64-*-darwin* | \ - i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ - i[34567]86-*-linux* | x86_64-*-linux* | \ - i[34567]86-*-msdosdjgpp* | \ - i[34567]86-*-gnu* | \ - i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \ - i[34567]86-*-cygwin* | x86_64-*-cygwin* | \ - i[34567]86-*-mingw* | x86_64-*-mingw* | \ - i[34567]86-*-dragonfly* | x86_64-*-dragonfly* | \ - i[34567]86-*-freebsd* | x86_64-*-freebsd* | \ - i[34567]86-*-openbsd* | x86_64-*-openbsd*) +i[34567]86-*-elfiamcu | i[34567]86-*-rtems*) + # These use soft-fp for SFmode and DFmode, not just TFmode. + ;; +i[34567]86-*-* | x86_64-*-*) tmake_file="${tmake_file} t-softfp-tf" if test "${host_address}" = 32; then tmake_file="${tmake_file} i386/${host_address}/t-softfp" @@ -1380,4 +1379,8 @@ i[34567]86-*-linux* | x86_64-*-linux*) fi tm_file="${tm_file} i386/value-unwind.h" ;; +aarch64*-*-*) + # ILP32 needs an extra header for unwinding + tm_file="${tm_file} aarch64/value-unwind.h" + ;; esac diff --git a/libgcc/config.in b/libgcc/config.in index 4d33411e40..25aa0d93ba 100644 --- a/libgcc/config.in +++ b/libgcc/config.in @@ -21,9 +21,6 @@ /* Define if the system-provided CRTs are present on Solaris. */ #undef HAVE_SOLARIS_CRTS -/* Define if the system-provided CRTs are present on Solaris. */ -#undef HAVE_SOLARIS_CRTS - /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H diff --git a/libgcc/config/aarch64/aarch64-unwind.h b/libgcc/config/aarch64/aarch64-unwind.h new file mode 100644 index 0000000000..94e0d3426f --- /dev/null +++ b/libgcc/config/aarch64/aarch64-unwind.h @@ -0,0 +1,87 @@ +/* Copyright (C) 2017 Free Software Foundation, Inc. + Contributed by ARM Ltd. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +#if !defined (AARCH64_UNWIND_H) && !defined (__ILP32__) +#define AARCH64_UNWIND_H + +#define DWARF_REGNUM_AARCH64_RA_STATE 34 + +#define MD_POST_EXTRACT_ROOT_ADDR(addr) __builtin_aarch64_xpaclri (addr) +#define MD_POST_EXTRACT_FRAME_ADDR(context, fs, addr) \ + aarch64_post_extract_frame_addr (context, fs, addr) +#define MD_POST_FROB_EH_HANDLER_ADDR(current, target, addr) \ + aarch64_post_frob_eh_handler_addr (current, target, addr) +#define MD_FROB_UPDATE_CONTEXT(context, fs) \ + aarch64_frob_update_context (context, fs) + +/* Do AArch64 private extraction on ADDR based on context info CONTEXT and + unwind frame info FS. If ADDR is signed, we do address authentication on it + using CFA of current frame. */ + +static inline void * +aarch64_post_extract_frame_addr (struct _Unwind_Context *context, + _Unwind_FrameState *fs, void *addr) +{ + if (fs->regs.reg[DWARF_REGNUM_AARCH64_RA_STATE].loc.offset & 0x1) + { + _Unwind_Word salt = (_Unwind_Word) context->cfa; + return __builtin_aarch64_autia1716 (addr, salt); + } + else + return addr; +} + +/* Do AArch64 private frob on exception handler's address HANDLER_ADDR before + installing it into current context CURRENT. TARGET is currently not used. + We need to sign exception handler's address if CURRENT itself is signed. */ + +static inline void * +aarch64_post_frob_eh_handler_addr (struct _Unwind_Context *current, + struct _Unwind_Context *target + ATTRIBUTE_UNUSED, + void *handler_addr) +{ + if (current->flags & RA_A_SIGNED_BIT) + return __builtin_aarch64_pacia1716 (handler_addr, + (_Unwind_Word) current->cfa); + else + return handler_addr; +} + +/* Do AArch64 private initialization on CONTEXT based on frame info FS. Mark + CONTEXT as return address signed if bit 0 of DWARF_REGNUM_AARCH64_RA_STATE is + set. */ + +static inline void +aarch64_frob_update_context (struct _Unwind_Context *context, + _Unwind_FrameState *fs) +{ + if (fs->regs.reg[DWARF_REGNUM_AARCH64_RA_STATE].loc.offset & 0x1) + /* The flag is used for re-authenticating EH handler's address. */ + context->flags |= RA_A_SIGNED_BIT; + + return; +} + +#endif /* defined AARCH64_UNWIND_H && defined __ILP32__ */ diff --git a/libgcc/config/aarch64/crtfastmath.c b/libgcc/config/aarch64/crtfastmath.c index 1947a5db33..3abf48fd33 100644 --- a/libgcc/config/aarch64/crtfastmath.c +++ b/libgcc/config/aarch64/crtfastmath.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014-2016 Free Software Foundation, Inc. + * Copyright (C) 2014-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/aarch64/crti.S b/libgcc/config/aarch64/crti.S index 9f215f527b..543473d059 100644 --- a/libgcc/config/aarch64/crti.S +++ b/libgcc/config/aarch64/crti.S @@ -1,5 +1,5 @@ # Machine description for AArch64 architecture. -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # Contributed by ARM Ltd. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/aarch64/crtn.S b/libgcc/config/aarch64/crtn.S index 7c05502bc5..dabd2b5e42 100644 --- a/libgcc/config/aarch64/crtn.S +++ b/libgcc/config/aarch64/crtn.S @@ -1,5 +1,5 @@ # Machine description for AArch64 architecture. -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # Contributed by ARM Ltd. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/aarch64/freebsd-unwind.h b/libgcc/config/aarch64/freebsd-unwind.h new file mode 100644 index 0000000000..b822a7281f --- /dev/null +++ b/libgcc/config/aarch64/freebsd-unwind.h @@ -0,0 +1,108 @@ +/* DWARF2 EH unwinding support for FreeBSD/ARM64 (aarch64). + Copyright (C) 2017 Free Software Foundation, Inc. + Contributed by John Marino <gnugcc@marino.st> + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +/* Identify a signal frame, and set the frame state data appropriately. + See unwind-dw2.c for the structs. */ + +/* Always include AArch64 unwinder header file. */ +#include "config/aarch64/aarch64-unwind.h" + +#include <sys/types.h> +#include <signal.h> +#include <unistd.h> +#include <sys/ucontext.h> +#include <machine/frame.h> +#include <sys/user.h> +#include <sys/sysctl.h> + +#define REG_NAME(reg) mc_gpregs.gp_## reg +#define XREG(num) mc_gpregs.gp_x[num] +#define DARC __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__ + +#define MD_FALLBACK_FRAME_STATE_FOR aarch64_freebsd_fallback_frame_state + +static int +aarch64_outside_sigtramp_range (unsigned char *pc) +{ + static int sigtramp_range_determined = 0; + static unsigned char *sigtramp_start, *sigtramp_end; + + if (sigtramp_range_determined == 0) + { + struct kinfo_sigtramp kst = {0}; + size_t len = sizeof (kst); + int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_SIGTRAMP, getpid() }; + + sigtramp_range_determined = 1; + if (sysctl (mib, 4, &kst, &len, NULL, 0) == 0) + { + sigtramp_range_determined = 2; + sigtramp_start = kst.ksigtramp_start; + sigtramp_end = kst.ksigtramp_end; + } + } + if (sigtramp_range_determined < 2) /* sysctl failed if < 2 */ + return 1; + + return (pc < sigtramp_start || pc >= sigtramp_end); +} + +static _Unwind_Reason_Code +aarch64_freebsd_fallback_frame_state +(struct _Unwind_Context *context, _Unwind_FrameState *fs) +{ + int n; + struct sigframe *sf; + mcontext_t *sc; + _Unwind_Ptr new_cfa; + + if (aarch64_outside_sigtramp_range(context->ra)) + return _URC_END_OF_STACK; + + sf = (struct sigframe *) context->cfa; + sc = &sf->sf_uc.uc_mcontext; + + new_cfa = (_Unwind_Ptr) sc; + fs->regs.cfa_how = CFA_REG_OFFSET; + fs->regs.cfa_reg = __LIBGCC_STACK_POINTER_REGNUM__; + fs->regs.cfa_offset = new_cfa - (_Unwind_Ptr) context->cfa; + + for (n = 0; n < 32; n++) + fs->regs.reg[n].how = REG_SAVED_OFFSET; + + for (n = 0; n < 30; n++) + fs->regs.reg[n].loc.offset = (_Unwind_Ptr) &(sc->XREG(n)) - new_cfa; + + fs->regs.reg[30].loc.offset = (_Unwind_Ptr) &(sc->REG_NAME(lr)) - new_cfa; + fs->regs.reg[31].loc.offset = (_Unwind_Ptr) &(sc->REG_NAME(sp)) - new_cfa; + + fs->regs.reg[DARC].how = REG_SAVED_OFFSET; + fs->regs.reg[DARC].loc.offset = (_Unwind_Ptr) &(sc->REG_NAME(elr)) - new_cfa; + + fs->retaddr_column = DARC; + fs->signal_frame = 1; + + return _URC_NO_REASON; +} diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h index 4512efbdcc..d5d6980442 100644 --- a/libgcc/config/aarch64/linux-unwind.h +++ b/libgcc/config/aarch64/linux-unwind.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is free software; you can redistribute it and/or modify it @@ -20,6 +20,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ +/* Always include AArch64 unwinder header file. */ +#include "config/aarch64/aarch64-unwind.h" + #ifndef inhibit_libc #include <signal.h> diff --git a/libgcc/config/aarch64/sfp-exceptions.c b/libgcc/config/aarch64/sfp-exceptions.c index 6f0c5127d8..9c32447784 100644 --- a/libgcc/config/aarch64/sfp-exceptions.c +++ b/libgcc/config/aarch64/sfp-exceptions.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2016 Free Software Foundation, Inc. + * Copyright (C) 2012-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/aarch64/sfp-machine.h b/libgcc/config/aarch64/sfp-machine.h index 5efa245f94..6cdfe49979 100644 --- a/libgcc/config/aarch64/sfp-machine.h +++ b/libgcc/config/aarch64/sfp-machine.h @@ -1,5 +1,5 @@ /* Machine description for AArch64 architecture. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GCC. @@ -42,9 +42,11 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__))); #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) +#define _FP_NANFRAC_H ((_FP_QNANBIT_H << 1) - 1) #define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1) #define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1) #define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1 +#define _FP_NANSIGN_H 0 #define _FP_NANSIGN_S 0 #define _FP_NANSIGN_D 0 #define _FP_NANSIGN_Q 0 diff --git a/libgcc/config/aarch64/sync-cache.c b/libgcc/config/aarch64/sync-cache.c index 241764ce2c..7bdbb5dfd0 100644 --- a/libgcc/config/aarch64/sync-cache.c +++ b/libgcc/config/aarch64/sync-cache.c @@ -1,5 +1,5 @@ /* Machine description for AArch64 architecture. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GCC. diff --git a/libgcc/config/aarch64/t-aarch64 b/libgcc/config/aarch64/t-aarch64 index ff9453d5d3..3af933c611 100644 --- a/libgcc/config/aarch64/t-aarch64 +++ b/libgcc/config/aarch64/t-aarch64 @@ -1,5 +1,5 @@ # Machine description for AArch64 architecture. -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by ARM Ltd. # # This file is part of GCC. diff --git a/libgcc/config/aarch64/t-softfp b/libgcc/config/aarch64/t-softfp index 586dca2246..c4ce0dc009 100644 --- a/libgcc/config/aarch64/t-softfp +++ b/libgcc/config/aarch64/t-softfp @@ -1,8 +1,9 @@ softfp_float_modes := tf softfp_int_modes := si di ti -softfp_extensions := sftf dftf -softfp_truncations := tfsf tfdf +softfp_extensions := sftf dftf hftf +softfp_truncations := tfsf tfdf tfhf softfp_exclude_libgcc2 := n +softfp_extras := fixhfti fixunshfti floattihf floatuntihf TARGET_LIBGCC2_CFLAGS += -Wno-missing-prototypes diff --git a/libgcc/config/aarch64/value-unwind.h b/libgcc/config/aarch64/value-unwind.h new file mode 100644 index 0000000000..c79e832144 --- /dev/null +++ b/libgcc/config/aarch64/value-unwind.h @@ -0,0 +1,25 @@ +/* Store register values as _Unwind_Word type in DWARF2 EH unwind context. + Copyright (C) 2017 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3, or (at your + option) any later version. + + GCC is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +/* Define this macro if the target stores register values as _Unwind_Word + type in unwind context. Only enable it for ilp32. */ +#if defined __aarch64__ && !defined __LP64__ +# define REG_VALUE_IN_UNWIND_CONTEXT +#endif diff --git a/libgcc/config/alpha/crtfastmath.c b/libgcc/config/alpha/crtfastmath.c index 1013602e06..98ec714d96 100644 --- a/libgcc/config/alpha/crtfastmath.c +++ b/libgcc/config/alpha/crtfastmath.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001-2016 Free Software Foundation, Inc. + * Copyright (C) 2001-2017 Free Software Foundation, Inc. * Contributed by Richard Henderson (rth@redhat.com) * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/alpha/libgcc-alpha-ldbl.ver b/libgcc/config/alpha/libgcc-alpha-ldbl.ver index 39cfd6e119..27b21fb2cb 100644 --- a/libgcc/config/alpha/libgcc-alpha-ldbl.ver +++ b/libgcc/config/alpha/libgcc-alpha-ldbl.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2016 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h index bdbba4a3c5..a91a5f4fe2 100644 --- a/libgcc/config/alpha/linux-unwind.h +++ b/libgcc/config/alpha/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Alpha Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/alpha/qrnnd.S b/libgcc/config/alpha/qrnnd.S index 384ee8070a..bc75000515 100644 --- a/libgcc/config/alpha/qrnnd.S +++ b/libgcc/config/alpha/qrnnd.S @@ -1,5 +1,5 @@ # Alpha 21064 __udiv_qrnnd - # Copyright (C) 1992-2016 Free Software Foundation, Inc. + # Copyright (C) 1992-2017 Free Software Foundation, Inc. # This file is part of GCC. diff --git a/libgcc/config/alpha/vms-dwarf2.S b/libgcc/config/alpha/vms-dwarf2.S index bf56b023f7..bf8e8581e4 100644 --- a/libgcc/config/alpha/vms-dwarf2.S +++ b/libgcc/config/alpha/vms-dwarf2.S @@ -1,5 +1,5 @@ /* VMS dwarf2 section sequentializer. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by Douglas B. Rupp (rupp@gnat.com). This file is part of GCC. diff --git a/libgcc/config/alpha/vms-dwarf2eh.S b/libgcc/config/alpha/vms-dwarf2eh.S index c3cd78436c..c497ce5616 100644 --- a/libgcc/config/alpha/vms-dwarf2eh.S +++ b/libgcc/config/alpha/vms-dwarf2eh.S @@ -1,5 +1,5 @@ /* VMS dwarf2 exception handling section sequentializer. - Copyright (C) 2002-2016 Free Software Foundation, Inc. + Copyright (C) 2002-2017 Free Software Foundation, Inc. Contributed by Douglas B. Rupp (rupp@gnat.com). This file is part of GCC. diff --git a/libgcc/config/alpha/vms-gcc_shell_handler.c b/libgcc/config/alpha/vms-gcc_shell_handler.c index 02bb510832..5ec044b094 100644 --- a/libgcc/config/alpha/vms-gcc_shell_handler.c +++ b/libgcc/config/alpha/vms-gcc_shell_handler.c @@ -1,5 +1,5 @@ /* Static condition handler for Alpha/VMS. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/alpha/vms-unwind.h b/libgcc/config/alpha/vms-unwind.h index 4f08cd4188..e44b402ab1 100644 --- a/libgcc/config/alpha/vms-unwind.h +++ b/libgcc/config/alpha/vms-unwind.h @@ -1,5 +1,5 @@ /* Fallback frame unwinding for Alpha/VMS. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/arc/asm.h b/libgcc/config/arc/asm.h index 8418fadfb4..461eee8774 100644 --- a/libgcc/config/arc/asm.h +++ b/libgcc/config/arc/asm.h @@ -1,6 +1,6 @@ /* Assembler macros for the Synopsys DesignWare ARC CPU. - Copyright (C) 1994-2016 Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/crtg.S b/libgcc/config/arc/crtg.S deleted file mode 100644 index ca3cfb6a9c..0000000000 --- a/libgcc/config/arc/crtg.S +++ /dev/null @@ -1,51 +0,0 @@ -/* Code to start and stop profiling for the Synopsys DesignWare ARC CPU. - - Copyright (C) 1994-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - - .section .init - .global _init - .global _fini - .global __monstartup - mov_s r0,_init - mov_s r1,_fini - jl __monstartup - - .section .__arc_profile_desc, "a" - .global __arc_profile_desc_secstart - .balign 4 -__arc_profile_desc_secstart: - .section .__arc_profile_forward, "a" - .global __arc_profile_forward_secstart - .balign 4 -__arc_profile_forward_secstart: - .section .__arc_profile_counters, "aw" - .global __arc_profile_counters_secstart - .balign 4 -__arc_profile_counters_secstart: - - .section .fini - .global _mcleanup - jl _mcleanup diff --git a/libgcc/config/arc/crti.S b/libgcc/config/arc/crti.S index 7f643056c9..6d6d11b37d 100644 --- a/libgcc/config/arc/crti.S +++ b/libgcc/config/arc/crti.S @@ -1,6 +1,6 @@ /* .fini/.init stack frame setup for the Synopsys DesignWare ARC CPU. - Copyright (C) 1994-2016 Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. @@ -31,11 +31,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see .section .init .global _init .word 0 + .type _init,@function _init: push_s blink .section .fini .global _fini .word 0 + .type _fini,@function _fini: push_s blink diff --git a/libgcc/config/arc/crtn.S b/libgcc/config/arc/crtn.S index 85ccdcba8b..7327f8ce24 100644 --- a/libgcc/config/arc/crtn.S +++ b/libgcc/config/arc/crtn.S @@ -1,6 +1,6 @@ /* Ensure .fini/.init return for the Synopsys DesignWare ARC CPU. - Copyright (C) 1994-2016 Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/crttls.S b/libgcc/config/arc/crttls.S new file mode 100644 index 0000000000..bed078887d --- /dev/null +++ b/libgcc/config/arc/crttls.S @@ -0,0 +1,67 @@ +; newlib tls glue code for Synopsys DesignWare ARC cpu. + +/* Copyright (C) 2016-2017 Free Software Foundation, Inc. + Contributor: Joern Rennecke <joern.rennecke@embecosm.com> + on behalf of Synopsys Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +/* As a special exception, if you link this library with other files, + some of which are compiled with GCC, to produce an executable, + this library does not by itself cause the resulting executable + to be covered by the GNU General Public License. + This exception does not however invalidate any other reasons why + the executable file might be covered by the GNU General Public License. */ + + +#if (__ARC_TLS_REGNO__ != -1) + /* ANSI concatenation macros. */ + +#define CONCAT1(a, b) CONCAT2(a, b) +#define CONCAT2(a, b) a ## b + + /* Use the right prefix for global labels. */ + +#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) + +#define FUNC(X) .type SYM(X),@function +#define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X +#define ENDFUNC(X) ENDFUNC0(X) + + .global SYM(__read_tp) +SYM(__read_tp): + FUNC(__read_tp) + mov r0, CONCAT1 (r, __ARC_TLS_REGNO__) + nop + j [blink] + ENDFUNC(__read_tp) + + .section .init + mov CONCAT1 (r, __ARC_TLS_REGNO__),__main_tcb_end+256 + + .section .tbss +__main_tcb: + .long 0 + .long 0 +__main_tcb_end: + +#endif /*__ARC_TLS_REGNO__ != -1 */ diff --git a/libgcc/config/arc/divtab-arc700.c b/libgcc/config/arc/divtab-arc700.c index e12215051b..7f28c77e1d 100644 --- a/libgcc/config/arc/divtab-arc700.c +++ b/libgcc/config/arc/divtab-arc700.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/dp-hack.h b/libgcc/config/arc/dp-hack.h index 3c727b122c..af6c66dfec 100644 --- a/libgcc/config/arc/dp-hack.h +++ b/libgcc/config/arc/dp-hack.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. @@ -30,21 +30,23 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define FINE_GRAINED_LIBRARIES #define ARC_DP_DEBUG 1 -#if !defined (__ARC_NORM__) || ARC_DP_DEBUG +#define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__)) + +#if !ARC_OPTFPE || ARC_DP_DEBUG #define L_pack_df #define L_unpack_df #define L_make_df #define L_thenan_df #define L_sf_to_df #endif -#ifndef __ARC_NORM__ +#if !ARC_OPTFPE #define L_addsub_df #elif ARC_DP_DEBUG #define L_addsub_df #define __adddf3 __adddf3_c #define __subdf3 __subdf3_c #endif -#ifndef __ARC_NORM__ +#if !ARC_OPTFPE #define L_mul_df #define L_div_df #elif (!defined (__ARC700__) && !defined (__ARC_MUL64__) \ @@ -59,7 +61,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define L_div_df #define __divdf3 __divdf3_c #endif -#ifndef __ARC_NORM__ +#if !ARC_OPTFPE #define L_df_to_sf #define L_si_to_df #define L_df_to_si @@ -77,7 +79,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define L_usi_to_df #define __floatunsidf __floatunsidf_c #endif -#ifndef __ARC_NORM__ +#if !ARC_OPTFPE #define L_fpcmp_parts_df #define L_compare_df #define L_eq_df diff --git a/libgcc/config/arc/fp-hack.h b/libgcc/config/arc/fp-hack.h index 30b547a384..58f42be668 100644 --- a/libgcc/config/arc/fp-hack.h +++ b/libgcc/config/arc/fp-hack.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. @@ -30,13 +30,15 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define ARC_FP_DEBUG 1 #define FINE_GRAINED_LIBRARIES -#if !defined (__ARC_NORM__) || ARC_FP_DEBUG +#define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__)) + +#if !ARC_OPTFPE || ARC_FP_DEBUG #define L_pack_sf #define L_unpack_sf #define L_make_sf #define L_thenan_sf #endif -#ifndef __ARC_NORM__ +#if !ARC_OPTFPE #define L_addsub_sf #define L_mul_sf #define L_div_sf @@ -61,7 +63,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define L_usi_to_sf #define __floatunsisf __floatunsisf_c #endif -#ifndef __ARC_NORM__ +#if !ARC_OPTFPE #define L_fpcmp_parts_sf #define L_compare_sf #define L_eq_sf diff --git a/libgcc/config/arc/gmon/atomic.h b/libgcc/config/arc/gmon/atomic.h deleted file mode 100644 index 049aa523b5..0000000000 --- a/libgcc/config/arc/gmon/atomic.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* File deliberately left blank. */ diff --git a/libgcc/config/arc/gmon/auxreg.h b/libgcc/config/arc/gmon/auxreg.h deleted file mode 100644 index 5210ea02cc..0000000000 --- a/libgcc/config/arc/gmon/auxreg.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#define LP_START 0x02 -#define LP_END 0x03 -#define IDENTITY 0x04 -#define STATUS32 0x0a -#define COUNT0 0x21 /* Timer 0 count */ -#define CONTROL0 0x22 /* Timer 0 control */ -#define LIMIT0 0x23 /* Timer 0 limit */ -#define INT_VECTOR_BASE 0x25 -#define D_CACHE_BUILD 0x72 -#define DC_FLDL 0x4c diff --git a/libgcc/config/arc/gmon/dcache_linesz.S b/libgcc/config/arc/gmon/dcache_linesz.S deleted file mode 100644 index 29572aefc8..0000000000 --- a/libgcc/config/arc/gmon/dcache_linesz.S +++ /dev/null @@ -1,57 +0,0 @@ -/* This file contains code to do profiling. - - Copyright (C) 2007-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#include "../asm.h" -#include "auxreg.h" -/* This file contains code to do profiling. */ - .weak __profile_timer_cycles - .global __profile_timer_cycles - .set __profile_timer_cycles, 200 - .text - ; For Arctangent-A5, if no data cache is present, a read of the - ; cache build register returns the ID register. For ARC600 and - ; later, the version field will be zero. - .global __dcache_linesz - .balign 4 -__dcache_linesz: -#if !defined (__EM__) && !defined (__HS__) - lr r12,[D_CACHE_BUILD] - extb_s r0,r12 - breq_s r0,0,.Lsz_nocache - brge r0,0x20,.Lsz_havecache - lr r0,[IDENTITY] - breq r12,r0,.Lsz_nocache -.Lsz_havecache: - lsr_s r12,r12,16 - mov_s r0,16 - bmsk_s r12,r12,3 - asl_s r0,r0,r12 - j_s [blink] -.Lsz_nocache: -#endif /* !__EM__ && !__HS__ */ - mov_s r0,1 - j_s [blink] diff --git a/libgcc/config/arc/gmon/gmon.c b/libgcc/config/arc/gmon/gmon.c deleted file mode 100644 index 82c09b0a1a..0000000000 --- a/libgcc/config/arc/gmon/gmon.c +++ /dev/null @@ -1,450 +0,0 @@ -/*- - * Copyright (c) 1983, 1992, 1993 - * The Regents of the University of California. All rights reserved. - * Copyright (C) 2007-2016 Free Software Foundation, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -#if 0 -#include <sys/param.h> -#include <sys/time.h> -#endif -#include <sys/gmon.h> -#include <sys/gmon_out.h> - -#include <stddef.h> -#include <errno.h> -#include <stdio.h> -#include <fcntl.h> -#include <unistd.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#if 0 -#include <libc-internal.h> -#include <not-cancel.h> - -#ifdef USE_IN_LIBIO -# include <wchar.h> -#endif -#endif -#define internal_function -#define weak_alias(fun,aliasid) extern __typeof(fun) aliasid __attribute__ ((weak, alias (#fun))); -#define __libc_enable_secure 0 - -/* Head of basic-block list or NULL. */ -struct __bb *__bb_head attribute_hidden; - -struct gmonparam _gmonparam attribute_hidden = { GMON_PROF_OFF }; - -/* - * See profil(2) where this is described: - */ -static int s_scale; -#define SCALE_1_TO_1 0x10000L - -#define ERR(s) write (STDERR_FILENO, s, sizeof (s) - 1) - -void moncontrol (int mode); -void __moncontrol (int mode); -static void write_hist (int fd) internal_function; -static void write_call_graph (int fd) internal_function; -static void write_bb_counts (int fd) internal_function; - -/* - * Control profiling - * profiling is what mcount checks to see if - * all the data structures are ready. - */ -void -__moncontrol (int mode) -{ - struct gmonparam *p = &_gmonparam; - - /* Don't change the state if we ran into an error. */ - if (p->state == GMON_PROF_ERROR) - return; - - if (mode) - { - /* start */ - __profil((void *) p->kcount, p->kcountsize, p->lowpc, s_scale); - p->state = GMON_PROF_ON; - } - else - { - /* stop */ - __profil(NULL, 0, 0, 0); - p->state = GMON_PROF_OFF; - } -} -weak_alias (__moncontrol, moncontrol) - - -void -__monstartup (u_long lowpc, u_long highpc) -{ - register int o; - char *cp; - struct gmonparam *p = &_gmonparam; - int linesz; - - /* - * round lowpc and highpc to multiples of the density we're using - * so the rest of the scaling (here and in gprof) stays in ints. - */ - p->lowpc = ROUNDDOWN(lowpc, HISTFRACTION * sizeof(HISTCOUNTER)); - if (sizeof *p->froms % sizeof(HISTCOUNTER) != 0) - { - p->highpc = ROUNDUP(highpc, HISTFRACTION * sizeof(HISTCOUNTER)); - p->textsize = p->highpc - p->lowpc; - p->kcountsize = ROUNDUP((p->textsize + HISTFRACTION - 1) / HISTFRACTION, - sizeof (*p->froms)); - } - else - { - /* Avoid odd scales by rounding up highpc to get kcountsize rounded. */ - p->textsize = ROUNDUP (highpc - p->lowpc, - HISTFRACTION * sizeof (*p->froms)); - p->highpc = p->lowpc + p->textsize; - p->kcountsize = p->textsize / HISTFRACTION; - } - p->hashfraction = HASHFRACTION; - p->log_hashfraction = -1; - /* The following test must be kept in sync with the corresponding - test in mcount.c. */ - if ((HASHFRACTION & (HASHFRACTION - 1)) == 0) { - /* if HASHFRACTION is a power of two, mcount can use shifting - instead of integer division. Precompute shift amount. */ - p->log_hashfraction = ffs(p->hashfraction * sizeof(*p->froms)) - 1; - } - p->tolimit = p->textsize * ARCDENSITY / 100; - if (p->tolimit < MINARCS) - p->tolimit = MINARCS; - else if (p->tolimit > MAXARCS) - p->tolimit = MAXARCS; - p->tossize = p->tolimit * sizeof(struct tostruct); - - /* p->kcount must not share cache lines with the adjacent data, because - we use uncached accesses while profiling. */ - linesz = __dcache_linesz (); - cp = calloc (ROUNDUP (p->kcountsize, linesz) + p->tossize - + (linesz - 1), 1); - if (! cp) - { - ERR("monstartup: out of memory\n"); - p->tos = NULL; - p->state = GMON_PROF_ERROR; - /* In case we loose the error state due to a race, - prevent invalid writes also by clearing tolimit. */ - p->tolimit = 0; - return; - } - p->tos = (struct tostruct *)cp; - cp += p->tossize; - cp = (char *) ROUNDUP ((ptrdiff_t) cp, linesz); - p->kcount = (HISTCOUNTER *)cp; - cp += ROUNDUP (p->kcountsize, linesz); - - p->tos[0].link = 0; - - o = p->highpc - p->lowpc; - if (p->kcountsize < (u_long) o) - { -#ifndef hp300 - s_scale = ((float)p->kcountsize / o ) * SCALE_1_TO_1; -#else - /* avoid floating point operations */ - int quot = o / p->kcountsize; - - if (quot >= 0x10000) - s_scale = 1; - else if (quot >= 0x100) - s_scale = 0x10000 / quot; - else if (o >= 0x800000) - s_scale = 0x1000000 / (o / (p->kcountsize >> 8)); - else - s_scale = 0x1000000 / ((o << 8) / p->kcountsize); -#endif - } else - s_scale = SCALE_1_TO_1; - - __moncontrol(1); -} -weak_alias (__monstartup, monstartup) - - -static void -internal_function -write_hist (int fd) -{ - u_char tag = GMON_TAG_TIME_HIST; - struct arc_gmon_hist_hdr thdr __attribute__ ((aligned (__alignof__ (char *)))); - int r; - - if (_gmonparam.kcountsize > 0) - { - *(char **) thdr.low_pc = (char *) _gmonparam.lowpc; - *(char **) thdr.high_pc = (char *) _gmonparam.highpc; - *(int32_t *) thdr.hist_size = (_gmonparam.kcountsize - / sizeof (HISTCOUNTER)); - *(int32_t *) thdr.prof_rate = __profile_frequency (); - strncpy (thdr.dimen, "seconds", sizeof (thdr.dimen)); - thdr.dimen_abbrev = 's'; - - r = write (fd, &tag, sizeof tag); - if (r != sizeof tag) - return; - r = write (fd, &thdr, sizeof thdr); - if (r != sizeof thdr) - return; - r = write (fd,_gmonparam.kcount, _gmonparam.kcountsize); - if ((unsigned) r != _gmonparam.kcountsize) - return; - } -} - - -static void -internal_function -write_call_graph (int fd) -{ -#define NARCS_PER_WRITE 64 -#define BYTES_PER_ARC (1 + sizeof (struct gmon_cg_arc_record)) -#define BYTES_PER_WRITE (BYTES_PER_ARC * NARCS_PER_WRITE) - ARCINDEX to_index; - u_long frompc, selfpc, count; - char buffer[BYTES_PER_WRITE], *p; - u_long *prof_desc = __arc_profile_desc_secstart; - u_long *prof_count = __arc_profile_counters_secstart; - u_long *prof_desc_end = __arc_profile_desc_secend; - u_long *prof_forward = __arc_profile_forward_secstart; - - for (p = buffer; p < buffer + BYTES_PER_WRITE; p += BYTES_PER_ARC) - *p = GMON_TAG_CG_ARC; - p = buffer; - frompc = *prof_desc++ & -2; - while (prof_desc < prof_desc_end) - { - selfpc = *prof_desc++; - if (selfpc & 1) - { - frompc = selfpc & -2; - selfpc = *prof_desc++; - } - count = *prof_count++; - if (selfpc) - { - struct arc - { - char *frompc; - char *selfpc; - int32_t count; - } - arc; - - if (!count) - continue; - arc.frompc = (char *) frompc; - arc.selfpc = (char *) selfpc; - arc.count = count; - memcpy (p + 1, &arc, sizeof arc); - p += 1 + sizeof arc; - - if (p == buffer + BYTES_PER_WRITE) - { - write (fd, buffer, BYTES_PER_WRITE); - p = buffer; - } - } - else - { - for (to_index = count; - to_index != 0; - to_index = _gmonparam.tos[to_index].link) - { - struct arc - { - char *frompc; - char *selfpc; - int32_t count; - } - arc; - - arc.frompc = (char *) frompc; - arc.selfpc = (char *) _gmonparam.tos[to_index].selfpc; - arc.count = _gmonparam.tos[to_index].count; - memcpy (p + 1, &arc, sizeof arc); - p += 1 + sizeof arc; - - if (p == buffer + BYTES_PER_WRITE) - { - write (fd, buffer, BYTES_PER_WRITE); - p = buffer; - } - } - } - } - while (prof_forward < __arc_profile_forward_secend) - { - /* ??? The 'call count' is actually supposed to be a fixed point - factor, with 16 bits each before and after the point. - It would be much nicer if we figured out the actual number - of calls to the caller, and multiplied that with the fixed point - factor to arrive at the estimated calls for the callee. */ - memcpy (p + 1, prof_forward, 3 * sizeof *prof_forward); - prof_forward += 3; - p += 1 + 3 * sizeof *prof_forward; - if (p == buffer + BYTES_PER_WRITE) - { - write (fd, buffer, BYTES_PER_WRITE); - p = buffer; - } - } - if (p != buffer) - write (fd, buffer, p - buffer); -} - - -static void -internal_function -write_bb_counts (int fd) -{ - struct __bb *grp; - u_char tag = GMON_TAG_BB_COUNT; - size_t ncounts; - size_t i; - - struct { unsigned long address; long count; } bbbody[8]; - size_t nfilled; - - /* Write each group of basic-block info (all basic-blocks in a - compilation unit form a single group). */ - - for (grp = __bb_head; grp; grp = grp->next) - { - ncounts = grp->ncounts; - write (fd, &tag, 1); - write (fd, &ncounts, sizeof ncounts); - for (nfilled = i = 0; i < ncounts; ++i) - { - if (nfilled == sizeof (bbbody) / sizeof (bbbody[0])) - { - write (fd, bbbody, sizeof bbbody); - nfilled = 0; - } - - bbbody[nfilled].address = grp->addresses[i]; - bbbody[nfilled++].count = grp->counts[i]; - } - if (nfilled > 0) - write (fd, bbbody, nfilled * sizeof bbbody[0]); - } -} - - -static void -write_gmon (void) -{ - struct gmon_hdr ghdr __attribute__ ((aligned (__alignof__ (int)))); - int fd = -1; - char *env; - -#ifndef O_NOFOLLOW -# define O_NOFOLLOW 0 -#endif - - env = getenv ("GMON_OUT_PREFIX"); - if (env != NULL && !__libc_enable_secure) - { - size_t len = strlen (env); - char buf[len + 20]; - snprintf (buf, sizeof (buf), "%s.%u", env, getpid ()); - fd = open (buf, O_CREAT|O_TRUNC|O_WRONLY|O_NOFOLLOW, 0666); - } - - if (fd == -1) - { - fd = open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY|O_NOFOLLOW, - 0666); - if (fd < 0) - { - perror ("_mcleanup: gmon.out"); - return; - } - } - - /* write gmon.out header: */ - memset (&ghdr, '\0', sizeof (struct gmon_hdr)); - memcpy (&ghdr.cookie[0], GMON_MAGIC, sizeof (ghdr.cookie)); - *(int32_t *) ghdr.version = GMON_VERSION; - write (fd, &ghdr, sizeof (struct gmon_hdr)); - - /* write PC histogram: */ - write_hist (fd); - - /* write call-graph: */ - write_call_graph (fd); - - /* write basic-block execution counts: */ - write_bb_counts (fd); - - close (fd); -} - - -void -__write_profiling (void) -{ - int save = _gmonparam.state; - _gmonparam.state = GMON_PROF_OFF; - if (save == GMON_PROF_ON) - write_gmon (); - _gmonparam.state = save; -} -#ifndef SHARED -/* This symbol isn't used anywhere in the DSO and it is not exported. - This would normally mean it should be removed to get the same API - in static libraries. But since profiling is special in static libs - anyway we keep it. But not when building the DSO since some - quality assurance tests will otherwise trigger. */ -weak_alias (__write_profiling, write_profiling) -#endif - - -void -_mcleanup (void) -{ - __moncontrol (0); - - if (_gmonparam.state != GMON_PROF_ERROR) - write_gmon (); - - /* free the memory. */ - if (_gmonparam.tos != NULL) - free (_gmonparam.tos); -} diff --git a/libgcc/config/arc/gmon/machine-gmon.h b/libgcc/config/arc/gmon/machine-gmon.h deleted file mode 100644 index e7549aedb7..0000000000 --- a/libgcc/config/arc/gmon/machine-gmon.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#ifndef MACHINE_GMON_H -#define MACHINE_GMON_H - -/* We can't fake out own <sys/types.h> header because the newlib / uclibc - headers in GCC_FOR_TARGET take precedence. */ - -#define __BEGIN_DECLS -#define __END_DECLS - -#define __THROW - -extern int __dcache_linesz (void); - -#define _MCOUNT_DECL(countp, selfpc) \ - static inline void _mcount_internal (void *countp, u_long selfpc) - -extern void _mcount (void); -extern void _mcount_call (void); - -/* N.B.: the calling point might be a sibcall, thus blink does not necessarily - hold the caller's address. r8 doesn't hold the caller's address, either, - but rather a pointer to the counter data structure associated with the - caller. - This function must be compiled with optimization turned on in order to - enable a sibcall for the final call to selfpc; this is important when trying - to profile a program with deep tail-recursion that would get a stack - overflow otherwise. */ -#define MCOUNT \ -void \ -_mcount_call (void) \ -{ \ - register void *countp __asm("r8"); \ - register u_long selfpc __asm("r9"); \ - _mcount_internal (countp, selfpc); \ - ((void (*)(void)) selfpc) (); \ -} - -extern int __profil (u_short *,size_t, size_t, u_int); - -#endif /* MACHINE_GMON_H */ diff --git a/libgcc/config/arc/gmon/mcount.c b/libgcc/config/arc/gmon/mcount.c deleted file mode 100644 index 8afca36b88..0000000000 --- a/libgcc/config/arc/gmon/mcount.c +++ /dev/null @@ -1,206 +0,0 @@ -/*- - * Copyright (c) 1983, 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Copyright (C) 2007-2016 Free Software Foundation, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if !defined(lint) && !defined(KERNEL) && defined(LIBC_SCCS) -static char sccsid[] = "@(#)mcount.c 8.1 (Berkeley) 6/4/93"; -#endif - -#if 0 -#include <unistd.h> -#include <sys/param.h> -#endif -#include <sys/gmon.h> - -/* This file provides the machine-dependent definitions of the _MCOUNT_DECL - and MCOUNT macros. */ -#include <machine-gmon.h> - -#include <atomic.h> - -/* - * mcount is called on entry to each function compiled with the profiling - * switch set. _mcount(), which is declared in a machine-dependent way - * with _MCOUNT_DECL, does the actual work and is either inlined into a - * C routine or called by an assembly stub. In any case, this magic is - * taken care of by the MCOUNT definition in <machine/profile.h>. - * - * _mcount updates data structures that represent traversals of the - * program's call graph edges. frompc and selfpc are the return - * address and function address that represents the given call graph edge. - * - * Note: the original BSD code used the same variable (frompcindex) for - * both frompcindex and frompc. Any reasonable, modern compiler will - * perform this optimization. - */ -_MCOUNT_DECL(count_ptr, selfpc) /* _mcount; may be static, inline, etc */ -{ - register ARCINDEX *frompcindex; - register struct tostruct *top, *prevtop; - register struct gmonparam *p; - register ARCINDEX toindex; - - /* Check for nested function trampoline. */ - if (selfpc & 2) - selfpc = *(u_long *) (selfpc + 10); - - p = &_gmonparam; - /* - * check that we are profiling - * and that we aren't recursively invoked. - */ -#if 0 - if (catomic_compare_and_exchange_bool_acq (&p->state, GMON_PROF_BUSY, - GMON_PROF_ON)) - return; -#elif defined (__ARC700__) -/* ??? This could temporarily lose the ERROR / OFF condition in a race, - but doing an actual compare_and_exchange would be too costly. It would - be better if we had a semaphore independent of the 'sticky' state, but - then we could run into ABI compatibility problems with the size of struct - gmonparam. */ - { - u_long old_state; - - __asm ("ex %0,%1": "=r" (old_state), "+m" (p->state) - : "0" (GMON_PROF_BUSY)); - if (old_state != GMON_PROF_ON) - { - switch (old_state) - { - case GMON_PROF_OFF: - __asm ("ex %0,%1": "+r" (old_state), "+m" (p->state)); - if (old_state == GMON_PROF_BUSY - /* Switching off while we say we are busy while profiling - was actually already switched off is all right. */ - || old_state == GMON_PROF_OFF) - break; - /* It is not clear if we should allow switching on - profiling at this point, and how to handle further races. - For now, record an error in this case. */ - /* Fall through. */ - default: /* We expect here only GMON_PROF_ERROR. */ - p->state = GMON_PROF_ERROR; - break; - case GMON_PROF_BUSY: break; - } - return; - } - } -#else /* ??? No semaphore primitives available. */ - if (p->state != GMON_PROF_ON) - return; - p->state = GMON_PROF_BUSY; -#endif - - frompcindex = count_ptr; - toindex = *frompcindex; - if (toindex == 0) { - /* - * first time traversing this arc - */ - toindex = ++p->tos[0].link; - if (toindex >= (ARCINDEX) p->tolimit) - /* halt further profiling */ - goto overflow; - - *frompcindex = toindex; - top = &p->tos[toindex]; - top->selfpc = selfpc; - top->count = 1; - top->link = 0; - goto done; - } - top = &p->tos[toindex]; - if (top->selfpc == selfpc) { - /* - * arc at front of chain; usual case. - */ - top->count++; - goto done; - } - /* - * have to go looking down chain for it. - * top points to what we are looking at, - * prevtop points to previous top. - * we know it is not at the head of the chain. - */ - for (; /* goto done */; ) { - if (top->link == 0) { - /* - * top is end of the chain and none of the chain - * had top->selfpc == selfpc. - * so we allocate a new tostruct - * and link it to the head of the chain. - */ - toindex = ++p->tos[0].link; - if (toindex >= (ARCINDEX) p->tolimit) - goto overflow; - - top = &p->tos[toindex]; - top->selfpc = selfpc; - top->count = 1; - top->link = *frompcindex; - *frompcindex = toindex; - goto done; - } - /* - * otherwise, check the next arc on the chain. - */ - prevtop = top; - top = &p->tos[top->link]; - if (top->selfpc == selfpc) { - /* - * there it is. - * increment its count - * move it to the head of the chain. - */ - top->count++; - toindex = prevtop->link; - prevtop->link = top->link; - top->link = *frompcindex; - *frompcindex = toindex; - goto done; - } - - } -done: - p->state = GMON_PROF_ON; - return; -overflow: - p->state = GMON_PROF_ERROR; - return; -} - -/* - * Actual definition of mcount function. Defined in <machine/profile.h>, - * which is included by <sys/gmon.h>. - */ -MCOUNT diff --git a/libgcc/config/arc/gmon/prof-freq-stub.S b/libgcc/config/arc/gmon/prof-freq-stub.S deleted file mode 100644 index 9ffb30b973..0000000000 --- a/libgcc/config/arc/gmon/prof-freq-stub.S +++ /dev/null @@ -1,40 +0,0 @@ -/* This file contains code to do profiling. - - Copyright (C) 2007-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#include "../asm.h" -/* This file contains code to do profiling. */ - .weak __profile_frequency_value - .global __profile_frequency_value - .set __profile_frequency_value, 1000 - .text - .balign 4 - .global __profile_frequency - FUNC(__profile_frequency) -__profile_frequency: - mov_s r0,__profile_frequency_value - j_s [blink] - ENDFUNC(__profile_frequency) diff --git a/libgcc/config/arc/gmon/prof-freq.c b/libgcc/config/arc/gmon/prof-freq.c deleted file mode 100644 index 4437a37d80..0000000000 --- a/libgcc/config/arc/gmon/prof-freq.c +++ /dev/null @@ -1,60 +0,0 @@ -/* Return frequency of ticks reported by profil. Generic version. */ -/*- - * Copyright (c) 1983, 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * Copyright (C) 2007-2016 Free Software Foundation, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - - -#include <sys/types.h> -#include <sys/time.h> -#if 0 -#include <libc-internal.h> -#else -#include "sys/gmon.h" -#endif - -int -__profile_frequency (void) -{ - /* - * Discover the tick frequency of the machine if something goes wrong, - * we return 0, an impossible hertz. - */ - struct itimerval tim; - - tim.it_interval.tv_sec = 0; - tim.it_interval.tv_usec = 1; - tim.it_value.tv_sec = 0; - tim.it_value.tv_usec = 0; - setitimer(ITIMER_REAL, &tim, 0); - setitimer(ITIMER_REAL, 0, &tim); - if (tim.it_interval.tv_usec < 2) - return 0; - return (1000000 / tim.it_interval.tv_usec); -} diff --git a/libgcc/config/arc/gmon/profil.S b/libgcc/config/arc/gmon/profil.S deleted file mode 100644 index 807e9fe60c..0000000000 --- a/libgcc/config/arc/gmon/profil.S +++ /dev/null @@ -1,164 +0,0 @@ -/* This file contains code to do profiling. - - Copyright (C) 2007-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#include "../asm.h" -#include "auxreg.h" -/* This file contains code to do profiling. */ - .weak __profile_timer_cycles - .global __profile_timer_cycles - .set __profile_timer_cycles, 200 - - .section .bss - .global __profil_offset - .align 4 - .type __profil_offset, @object - .size __profil_offset, 4 -__profil_offset: - .zero 4 - - .text - .global __dcache_linesz - .global __profil - FUNC(__profil) -#if !defined (__EM__) && !defined (__HS__) -.Lstop_profiling: - sr r0,[CONTROL0] - j_s [blink] - .balign 4 -__profil: -.Lprofil: - breq_s r0,0,.Lstop_profiling - ; r0: buf r1: bufsiz r2: offset r3: scale - bxor.f r3,r3,15; scale must be 0x8000, i.e. 1/2; generate 0. - push_s blink - lsr_s r2,r2,1 - mov_s r8,r0 - flag.ne 1 ; halt if wrong scale - sub_s r0,r0,r2 - st r0,[__profil_offset] - bl __dcache_linesz - pop_s blink - bbit1.d r0,0,nocache - mov_s r0,r8 -#ifdef __ARC700__ - add_s r1,r1,31 - lsr.f lp_count,r1,5 - lpne 2f - sr r0,[DC_FLDL] - add_s r0,r0,32 -#else /* !__ARC700__ */ -# FIX ME: set up loop according to cache line size - lr r12,[D_CACHE_BUILD] - sub_s r0,r0,16 - sub_s r1,r1,1 - lsr_s r12,r12,16 - asr_s r1,r1,4 - bmsk_s r12,r12,3 - asr_s r1,r1,r12 - add.f lp_count,r1,1 - mov_s r1,16 - asl_s r1,r1,r12 - lpne 2f - add r0,r0,r1 - sr r0,[DC_FLDL] -#endif /* __ARC700__ */ -2: b_s .Lcounters_cleared -nocache: -.Lcounters_cleared: - lr r1,[INT_VECTOR_BASE] ; disable timer0 interrupts - sr r3,[CONTROL0] - sr r3,[COUNT0] -0: ld_s r0,[pcl,1f-0b+((0b-.Lprofil) & 2)] ; 1f@GOTOFF -0: ld_s r12,[pcl,1f+4-0b+((0b-.Lprofil) & 2)] ; 1f@GOTOFF + 4 - st_s r0,[r1,24]; timer0 uses vector3 - st_s r12,[r1,24+4]; timer0 uses vector3 - ;sr 10000,[LIMIT0] - sr __profile_timer_cycles,[LIMIT0] - mov_s r12,3 ; enable timer interrupts; count only when not halted. - sr r12,[CONTROL0] - lr r12,[STATUS32] - bset_s r12,r12,1 ; allow level 1 interrupts - flag r12 - mov_s r0,0 - j_s [blink] - .balign 4 -1: j __profil_irq -#else -__profil: - .balign 4 - mov_s r0,-1 - j_s [blink] -#endif /* !__EM__ && !__HS__ */ - ENDFUNC(__profil) - - FUNC(__profil_irq) - .balign 4 ; make final jump unaligned to avoid delay penalty - .balign 32,0,12 ; make sure the code spans no more that two cache lines - nop_s -__profil_irq: -#if !defined (__EM__) && !defined (__HS__) - push_s r0 - ld r0,[__profil_offset] - push_s r1 - lsr r1,ilink1,2 - push_s r2 - ldw.as.di r2,[r0,r1] - add1 r0,r0,r1 - ld_s r1,[sp,4] - add_s r2,r2,1 - bbit1 r2,16,nostore - stw.di r2,[r0] -nostore:ld.ab r2,[sp,8] - pop_s r0 - j.f [ilink1] -#else - rtie -#endif /* !__EM__ && !__HS__ */ - ENDFUNC(__profil_irq) - -; could save one cycle if the counters were allocated at link time and -; the contents of __profil_offset were pre-computed at link time, like this: -#if 0 -; __profil_offset needs to be PROVIDEd as __profile_base-text/4 - .global __profil_offset - .balign 4 -__profil_irq: - push_s r0 - lsr r0,ilink1,2 - add1 r0,__profil_offset,r0 - push_s r1 - ldw.di r1,[r0] - - - add_s r1,r1,1 - bbit1 r1,16,nostore - stw.di r1,[r0] -nostore:pop_s r1 - pop_s r0 - j [ilink1] -#endif /* 0 */ diff --git a/libgcc/config/arc/gmon/sys/gmon.h b/libgcc/config/arc/gmon/sys/gmon.h deleted file mode 100644 index f17165a3a8..0000000000 --- a/libgcc/config/arc/gmon/sys/gmon.h +++ /dev/null @@ -1,217 +0,0 @@ -/*- - * Copyright (c) 1982, 1986, 1992, 1993 - * The Regents of the University of California. All rights reserved. - * Copyright (C) 2007-2016 Free Software Foundation, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)gmon.h 8.2 (Berkeley) 1/4/94 - */ - -#ifndef _SYS_GMON_H -#define _SYS_GMON_H 1 - -#if 0 -#include <features.h> -#include <sys/types.h> -#else -#include <sys/types.h> -#include "machine-gmon.h" -#define attribute_hidden __attribute__ ((visibility("hidden"))) -#endif - -#include <stdint.h> - -/* - * See gmon_out.h for gmon.out format. - */ - -/* structure emitted by "gcc -a". This must match struct bb in - gcc/libgcc2.c. It is OK for gcc to declare a longer structure as - long as the members below are present. */ -struct __bb -{ - long zero_word; - const char *filename; - long *counts; - long ncounts; - struct __bb *next; - const unsigned long *addresses; -}; - -extern struct __bb *__bb_head; - -/* - * histogram counters are unsigned shorts (according to the kernel). - */ -#define HISTCOUNTER unsigned short - -/* - * fraction of text space to allocate for histogram counters here, 1/2 - */ -#define HISTFRACTION 2 - -/* - * Fraction of text space to allocate for from hash buckets. - * The value of HASHFRACTION is based on the minimum number of bytes - * of separation between two subroutine call points in the object code. - * Given MIN_SUBR_SEPARATION bytes of separation the value of - * HASHFRACTION is calculated as: - * - * HASHFRACTION = MIN_SUBR_SEPARATION / (2 * sizeof(short) - 1); - * - * For example, on the VAX, the shortest two call sequence is: - * - * calls $0,(r0) - * calls $0,(r0) - * - * which is separated by only three bytes, thus HASHFRACTION is - * calculated as: - * - * HASHFRACTION = 3 / (2 * 2 - 1) = 1 - * - * Note that the division above rounds down, thus if MIN_SUBR_FRACTION - * is less than three, this algorithm will not work! - * - * In practice, however, call instructions are rarely at a minimal - * distance. Hence, we will define HASHFRACTION to be 2 across all - * architectures. This saves a reasonable amount of space for - * profiling data structures without (in practice) sacrificing - * any granularity. - */ -#define HASHFRACTION 2 - -/* - * Percent of text space to allocate for tostructs. - * This is a heuristic; we will fail with a warning when profiling programs - * with a very large number of very small functions, but that's - * normally OK. - * 2 is probably still a good value for normal programs. - * Profiling a test case with 64000 small functions will work if - * you raise this value to 3 and link statically (which bloats the - * text size, thus raising the number of arcs expected by the heuristic). - */ -#define ARCDENSITY 3 - -/* - * Always allocate at least this many tostructs. This - * hides the inadequacy of the ARCDENSITY heuristic, at least - * for small programs. - */ -#define MINARCS 50 - -/* - * The type used to represent indices into gmonparam.tos[]. - */ -#define ARCINDEX u_long - -/* - * Maximum number of arcs we want to allow. - * Used to be max representable value of ARCINDEX minus 2, but now - * that ARCINDEX is a long, that's too large; we don't really want - * to allow a 48 gigabyte table. - * The old value of 1<<16 wasn't high enough in practice for large C++ - * programs; will 1<<20 be adequate for long? FIXME - */ -#define MAXARCS (1 << 20) - -struct tostruct { - u_long selfpc; - long count; - ARCINDEX link; -}; - -/* - * a raw arc, with pointers to the calling site and - * the called site and a count. - */ -struct rawarc { - u_long raw_frompc; - u_long raw_selfpc; - long raw_count; -}; - -/* - * general rounding functions. - */ -#define ROUNDDOWN(x,y) (((x)/(y))*(y)) -#define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*(y)) - -/* - * The profiling data structures are housed in this structure. - */ -struct gmonparam { - long int state; - u_short *kcount; - u_long kcountsize; - ARCINDEX *froms; - u_long fromssize; - struct tostruct *tos; - u_long tossize; - long tolimit; - u_long lowpc; - u_long highpc; - u_long textsize; - u_long hashfraction; - long log_hashfraction; -}; -extern struct gmonparam _gmonparam; - -/* - * Possible states of profiling. - */ -#define GMON_PROF_ON 0 -#define GMON_PROF_BUSY 1 -#define GMON_PROF_ERROR 2 -#define GMON_PROF_OFF 3 - -/* - * Sysctl definitions for extracting profiling information from the kernel. - */ -#define GPROF_STATE 0 /* int: profiling enabling variable */ -#define GPROF_COUNT 1 /* struct: profile tick count buffer */ -#define GPROF_FROMS 2 /* struct: from location hash bucket */ -#define GPROF_TOS 3 /* struct: destination/count structure */ -#define GPROF_GMONPARAM 4 /* struct: profiling parameters (see above) */ - -__BEGIN_DECLS - -/* Set up data structures and start profiling. */ -extern void __monstartup (u_long __lowpc, u_long __highpc) __THROW; -extern void monstartup (u_long __lowpc, u_long __highpc) __THROW; - -/* Clean up profiling and write out gmon.out. */ -extern void _mcleanup (void) __THROW; - -extern void __write_profiling (void); -extern int attribute_hidden __profile_frequency (void); - -extern u_long __arc_profile_desc_secstart[], __arc_profile_desc_secend[]; -extern u_long __arc_profile_forward_secstart[], __arc_profile_forward_secend[]; -extern u_long __arc_profile_counters_secstart[]; - -__END_DECLS - -#endif /* sys/gmon.h */ diff --git a/libgcc/config/arc/gmon/sys/gmon_out.h b/libgcc/config/arc/gmon/sys/gmon_out.h deleted file mode 100644 index d1f3b058a8..0000000000 --- a/libgcc/config/arc/gmon/sys/gmon_out.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#define GMON_TAG_TIME_HIST 0 -#define GMON_TAG_CG_ARC 1 -#define GMON_TAG_BB_COUNT 2 - -#define GMON_MAGIC "gmon" -#define GMON_VERSION 1 - -struct arc_gmon_hist_hdr -{ - char low_pc[4]; - char high_pc[4]; - char hist_size[4]; - char prof_rate[4]; - char dimen[15]; - char dimen_abbrev; -}; - -struct gmon_cg_arc_record -{ - char afrompc[4]; - char selfpc[4]; - char count[4]; -}; - -struct gmon_hdr -{ - char cookie[4]; - char version[4]; - char c[12]; -}; diff --git a/libgcc/config/arc/ieee-754/adddf3.S b/libgcc/config/arc/ieee-754/adddf3.S index dc31bf5975..ecd10f94f7 100644 --- a/libgcc/config/arc/ieee-754/adddf3.S +++ b/libgcc/config/arc/ieee-754/adddf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/addsf3.S b/libgcc/config/arc/ieee-754/addsf3.S index ac8e8ec647..cca9f302a5 100644 --- a/libgcc/config/arc/ieee-754/addsf3.S +++ b/libgcc/config/arc/ieee-754/addsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc-ieee-754.h b/libgcc/config/arc/ieee-754/arc-ieee-754.h index e0fbbcbf3a..e3e486b48a 100644 --- a/libgcc/config/arc/ieee-754/arc-ieee-754.h +++ b/libgcc/config/arc/ieee-754/arc-ieee-754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S index a090327b48..fb49ed85a3 100644 --- a/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S +++ b/libgcc/config/arc/ieee-754/arc600-dsp/divdf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S index 78e8097500..f5afbc0f92 100644 --- a/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S +++ b/libgcc/config/arc/ieee-754/arc600-dsp/divsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S index 0a5ba67d97..d3fdc1a39e 100644 --- a/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S +++ b/libgcc/config/arc/ieee-754/arc600-dsp/muldf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S b/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S index da5a5e9d4c..a434656836 100644 --- a/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S +++ b/libgcc/config/arc/ieee-754/arc600-dsp/mulsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S index 7b9be7d37d..738c65b346 100644 --- a/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S +++ b/libgcc/config/arc/ieee-754/arc600-mul64/divdf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S index 8bb4a96b14..d1c7926e06 100644 --- a/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S +++ b/libgcc/config/arc/ieee-754/arc600-mul64/divsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S index d8a851a852..a38b84774d 100644 --- a/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S +++ b/libgcc/config/arc/ieee-754/arc600-mul64/muldf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S b/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S index 64e94caa7c..a8e5a72b36 100644 --- a/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S +++ b/libgcc/config/arc/ieee-754/arc600-mul64/mulsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600/divsf3.S b/libgcc/config/arc/ieee-754/arc600/divsf3.S index 3dfb4b8055..0106f9e4fb 100644 --- a/libgcc/config/arc/ieee-754/arc600/divsf3.S +++ b/libgcc/config/arc/ieee-754/arc600/divsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/arc600/mulsf3.S b/libgcc/config/arc/ieee-754/arc600/mulsf3.S index 9c48a99f2a..e7e890cbe1 100644 --- a/libgcc/config/arc/ieee-754/arc600/mulsf3.S +++ b/libgcc/config/arc/ieee-754/arc600/mulsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/divdf3.S b/libgcc/config/arc/ieee-754/divdf3.S index 4e702dff42..b8085a625c 100644 --- a/libgcc/config/arc/ieee-754/divdf3.S +++ b/libgcc/config/arc/ieee-754/divdf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. @@ -189,13 +189,13 @@ __divdf3: asl r8,DBL1H,12 lsr r12,DBL1L,20 lsr r4,r8,26 -#ifdef __HS__ +#if defined (__ARCHS__) || defined (__ARCEM__) add3 r10,pcl,60 ; (.Ldivtab-.) >> 3 #else add3 r10,pcl,59 ; (.Ldivtab-.) >> 3 #endif ld.as r4,[r10,r4] -#ifdef __HS__ +#if defined (__ARCHS__) || defined (__ARCEM__) ld.as r9,[pcl,182]; [pcl,(-((.-.L7ff00000) >> 2))] ; 0x7ff00000 #else ld.as r9,[pcl,180]; [pcl,(-((.-.L7ff00000) >> 2))] ; 0x7ff00000 @@ -299,14 +299,14 @@ __divdf3: rsub r7,r6,5 asr r10,r12,28 bmsk r4,r12,27 -#ifdef __HS__ +#if defined (__ARCHS__) || defined (__ARCEM__) min r7, r7, 31 asr DBL0L, r4, r7 #else asrs DBL0L,r4,r7 #endif add DBL1H,r11,r10 -#ifdef __HS__ +#if defined (__ARCHS__) || defined (__ARCEM__) abs.f r10, r4 sub.mi r10, r10, 1 #endif diff --git a/libgcc/config/arc/ieee-754/divsf3-stdmul.S b/libgcc/config/arc/ieee-754/divsf3-stdmul.S index 99762aabea..20e4faed79 100644 --- a/libgcc/config/arc/ieee-754/divsf3-stdmul.S +++ b/libgcc/config/arc/ieee-754/divsf3-stdmul.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/divsf3.S b/libgcc/config/arc/ieee-754/divsf3.S index ccf63656af..4e180f739c 100644 --- a/libgcc/config/arc/ieee-754/divsf3.S +++ b/libgcc/config/arc/ieee-754/divsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/divtab-arc-df.c b/libgcc/config/arc/ieee-754/divtab-arc-df.c index 694e3faf16..5c040e2133 100644 --- a/libgcc/config/arc/ieee-754/divtab-arc-df.c +++ b/libgcc/config/arc/ieee-754/divtab-arc-df.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/divtab-arc-sf.c b/libgcc/config/arc/ieee-754/divtab-arc-sf.c index 535a733865..f626475722 100644 --- a/libgcc/config/arc/ieee-754/divtab-arc-sf.c +++ b/libgcc/config/arc/ieee-754/divtab-arc-sf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/eqdf2.S b/libgcc/config/arc/ieee-754/eqdf2.S index bc7d88e838..bb5e48645c 100644 --- a/libgcc/config/arc/ieee-754/eqdf2.S +++ b/libgcc/config/arc/ieee-754/eqdf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. @@ -58,11 +58,16 @@ __eqdf2: well predictable (as seen from the branch predictor). */ __eqdf2: brne.d DBL0H,DBL1H,.Lhighdiff - bmsk r12,DBL0H,20 -#ifdef DPFP_COMPAT - or.f 0,DBL0L,DBL1L - bset.ne r12,r12,21 -#endif /* DPFP_COMPAT */ +#ifndef __HS__ + /* The next two instructions are required to recognize the FPX + NaN, which has a pattern like this: 0x7ff0_0000_8000_0000, as + oposite to 0x7ff8_0000_0000_0000. */ + or.f 0,DBL0L,DBL1L + mov_s r12,0x00200000 + bset.ne r12,r12,0 +#else + bmsk r12,DBL0H,20 +#endif /* __HS__ */ add1.f r12,r12,DBL0H /* set c iff NaN; also, clear z if NaN. */ j_s.d [blink] cmp.cc DBL0L,DBL1L diff --git a/libgcc/config/arc/ieee-754/eqsf2.S b/libgcc/config/arc/ieee-754/eqsf2.S index 0ff6f7a1af..7a01408e22 100644 --- a/libgcc/config/arc/ieee-754/eqsf2.S +++ b/libgcc/config/arc/ieee-754/eqsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/extendsfdf2.S b/libgcc/config/arc/ieee-754/extendsfdf2.S index 416c0ff37e..ef59622125 100644 --- a/libgcc/config/arc/ieee-754/extendsfdf2.S +++ b/libgcc/config/arc/ieee-754/extendsfdf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2016 Free Software Foundation, Inc. +/* Copyright (C) 2006-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/fixdfsi.S b/libgcc/config/arc/ieee-754/fixdfsi.S index a98d80f812..e4b1feb1b4 100644 --- a/libgcc/config/arc/ieee-754/fixdfsi.S +++ b/libgcc/config/arc/ieee-754/fixdfsi.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/fixsfsi.S b/libgcc/config/arc/ieee-754/fixsfsi.S index 9807044290..cdc4a6858e 100644 --- a/libgcc/config/arc/ieee-754/fixsfsi.S +++ b/libgcc/config/arc/ieee-754/fixsfsi.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/fixunsdfsi.S b/libgcc/config/arc/ieee-754/fixunsdfsi.S index b1e3a6159a..04e61cfdbe 100644 --- a/libgcc/config/arc/ieee-754/fixunsdfsi.S +++ b/libgcc/config/arc/ieee-754/fixunsdfsi.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/floatsidf.S b/libgcc/config/arc/ieee-754/floatsidf.S index 281377b5f3..8d317a6526 100644 --- a/libgcc/config/arc/ieee-754/floatsidf.S +++ b/libgcc/config/arc/ieee-754/floatsidf.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/floatsisf.S b/libgcc/config/arc/ieee-754/floatsisf.S index 8fa3e8bc55..ea27b504b7 100644 --- a/libgcc/config/arc/ieee-754/floatsisf.S +++ b/libgcc/config/arc/ieee-754/floatsisf.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/floatunsidf.S b/libgcc/config/arc/ieee-754/floatunsidf.S index 5dbc1215ed..4e21d812eb 100644 --- a/libgcc/config/arc/ieee-754/floatunsidf.S +++ b/libgcc/config/arc/ieee-754/floatunsidf.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/gedf2.S b/libgcc/config/arc/ieee-754/gedf2.S index 5f607e0576..0b8bd5c5fc 100644 --- a/libgcc/config/arc/ieee-754/gedf2.S +++ b/libgcc/config/arc/ieee-754/gedf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/gesf2.S b/libgcc/config/arc/ieee-754/gesf2.S index 5d9f772244..d0f679bfba 100644 --- a/libgcc/config/arc/ieee-754/gesf2.S +++ b/libgcc/config/arc/ieee-754/gesf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/gtdf2.S b/libgcc/config/arc/ieee-754/gtdf2.S index 863e377efc..c3ff49baae 100644 --- a/libgcc/config/arc/ieee-754/gtdf2.S +++ b/libgcc/config/arc/ieee-754/gtdf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/gtsf2.S b/libgcc/config/arc/ieee-754/gtsf2.S index bb1117210e..a67ac9e6a8 100644 --- a/libgcc/config/arc/ieee-754/gtsf2.S +++ b/libgcc/config/arc/ieee-754/gtsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/muldf3.S b/libgcc/config/arc/ieee-754/muldf3.S index b05b2c7e6f..33c8caef8f 100644 --- a/libgcc/config/arc/ieee-754/muldf3.S +++ b/libgcc/config/arc/ieee-754/muldf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/mulsf3.S b/libgcc/config/arc/ieee-754/mulsf3.S index ac83f71d4b..916a5948e4 100644 --- a/libgcc/config/arc/ieee-754/mulsf3.S +++ b/libgcc/config/arc/ieee-754/mulsf3.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/orddf2.S b/libgcc/config/arc/ieee-754/orddf2.S index 0a4f821757..21d59d2b9b 100644 --- a/libgcc/config/arc/ieee-754/orddf2.S +++ b/libgcc/config/arc/ieee-754/orddf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/ordsf2.S b/libgcc/config/arc/ieee-754/ordsf2.S index c8c12c92bc..8f6b273f20 100644 --- a/libgcc/config/arc/ieee-754/ordsf2.S +++ b/libgcc/config/arc/ieee-754/ordsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/truncdfsf2.S b/libgcc/config/arc/ieee-754/truncdfsf2.S index 60dc283300..b9e114733b 100644 --- a/libgcc/config/arc/ieee-754/truncdfsf2.S +++ b/libgcc/config/arc/ieee-754/truncdfsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2016 Free Software Foundation, Inc. +/* Copyright (C) 2006-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/uneqdf2.S b/libgcc/config/arc/ieee-754/uneqdf2.S index 80bc3392fb..b078b60e9c 100644 --- a/libgcc/config/arc/ieee-754/uneqdf2.S +++ b/libgcc/config/arc/ieee-754/uneqdf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/ieee-754/uneqsf2.S b/libgcc/config/arc/ieee-754/uneqsf2.S index c4495d8d1f..339e2766c3 100644 --- a/libgcc/config/arc/ieee-754/uneqsf2.S +++ b/libgcc/config/arc/ieee-754/uneqsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/initfini.c b/libgcc/config/arc/initfini.c index 48e15bd0a8..de857b1457 100644 --- a/libgcc/config/arc/initfini.c +++ b/libgcc/config/arc/initfini.c @@ -1,7 +1,7 @@ /* .init/.fini section handling + C++ global constructor/destructor handling. This file is based on crtstuff.c, sol2-crti.asm, sol2-crtn.asm. - Copyright (C) 1995-2016 Free Software Foundation, Inc. + Copyright (C) 1995-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/lib1funcs.S b/libgcc/config/arc/lib1funcs.S index 1c8961cfb9..c3127ad9cb 100644 --- a/libgcc/config/arc/lib1funcs.S +++ b/libgcc/config/arc/lib1funcs.S @@ -1,6 +1,6 @@ ; libgcc1 routines for Synopsys DesignWare ARC cpu. -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2017 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. @@ -32,29 +32,29 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ - + /* ANSI concatenation macros. */ - + #define CONCAT1(a, b) CONCAT2(a, b) #define CONCAT2(a, b) a ## b - + /* Use the right prefix for global labels. */ - + #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) - + #ifndef WORKING_ASSEMBLER #define abs_l abs #define asl_l asl #define mov_l mov #endif - + #define FUNC(X) .type SYM(X),@function #define HIDDEN_FUNC(X) FUNC(X)` .hidden X #define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X #define ENDFUNC(X) ENDFUNC0(X) - - + + #ifdef L_mulsi3 .section .text .align 4 @@ -64,10 +64,10 @@ SYM(__mulsi3): /* This the simple version. - while (a) + while (a) { if (a & 1) - r += b; + r += b; a >>= 1; b <<= 1; } @@ -79,7 +79,7 @@ SYM(__mulsi3): j_s.d [blink] mov_s r0,mlo ENDFUNC(__mulsi3) -#elif defined (__ARC700__) || defined (__HS__) +#elif defined (__ARC_MPY__) HIDDEN_FUNC(__mulsi3) mpyu r0,r0,r1 nop_s @@ -98,7 +98,7 @@ SYM(__mulsi3): add_s r1,r1,r1 .Lend: j_s [blink] ENDFUNC(__mulsi3) -#elif !defined (__OPTIMIZE_SIZE__) && !defined(__ARC601__) +#elif !defined (__OPTIMIZE_SIZE__) && defined (__ARC_BARREL_SHIFTER__) /* Up to 3.5 times faster than the simpler code below, but larger. */ FUNC(__mulsi3) ror.f r2,r0,4 @@ -132,7 +132,7 @@ SYM(__mulsi3): add2.cs r0,r0,r1 lsr.f r2,r2 add3.cs r0,r0,r1 - bne.d .Loop + bne.d .Loop add3 r1,r3,r1 j_s [blink] ENDFUNC(__mulsi3) @@ -143,17 +143,17 @@ SYM(__mulsi3): .Lloop: bbit0 r0,0,@.Ly add_s r2,r2,r1 ; r += b -.Ly: +.Ly: lsr_s r0,r0 ; a >>= 1 - asl_s r1,r1 ; b <<= 1 - brne_s r0,0,@.Lloop + asl_s r1,r1 ; b <<= 1 + brne_s r0,0,@.Lloop .Ldone: j_s.d [blink] mov_s r0,r2 ENDFUNC(__mulsi3) /********************************************************/ #endif - + #endif /* L_mulsi3 */ #ifdef L_umulsidi3 @@ -170,7 +170,8 @@ SYM(__umulsidi3): umulsi3_highpart implementation; the use of the latter label doesn't actually benefit ARC601 platforms, but is useful when ARC601 code is linked against other libraries. */ -#if defined (__ARC700__) || defined (__ARC_MUL64__) || defined (__ARC601__) +#if defined (__ARC_MPY__) || defined (__ARC_MUL64__) \ + || !defined (__ARC_BARREL_SHIFTER__) .global SYM(__umulsi3_highpart) SYM(__umulsi3_highpart): HIDDEN_FUNC(__umulsi3_highpart) @@ -178,28 +179,28 @@ SYM(__umulsi3_highpart): /* This the simple version. - while (a) + while (a) { if (a & 1) - r += b; + r += b; a >>= 1; b <<= 1; } */ #include "ieee-754/arc-ieee-754.h" -#ifdef __ARC700__ +#ifdef __ARC_MPY__ mov_s r12,DBL0L mpyu DBL0L,r12,DBL0H j_s.d [blink] - mpyhu DBL0H,r12,DBL0H + MPYHU DBL0H,r12,DBL0H #elif defined (__ARC_MUL64__) /* Likewise for __ARC_MUL64__ */ mulu64 r0,r1 mov_s DBL0L,mlo j_s.d [blink] mov_s DBL0H,mhi -#else /* !__ARC700__ && !__ARC_MUL64__ */ +#else /* !__ARC_MPY__ && !__ARC_MUL64__ */ /* Although it might look tempting to extend this to handle muldi3, using mulsi3 twice with 2.25 cycles per 32 bit add is faster than one loop with 3 or four cycles per 32 bit add. */ @@ -223,9 +224,10 @@ SYM(__umulsi3_highpart): mov_s DBL0L,r3 j_s.d [blink] mov DBL0H,r2 -#endif /* !__ARC700__*/ +#endif /* !__ARC_MPY__*/ ENDFUNC(__umulsidi3) -#if defined (__ARC700__) || defined (__ARC_MUL64__) || defined (__ARC601__) +#if defined (__ARC_MPY__) || defined (__ARC_MUL64__) \ + || !defined (__ARC_BARREL_SHIFTER__) ENDFUNC(__umulsi3_highpart) #endif #endif /* L_umulsidi3 */ @@ -235,7 +237,8 @@ SYM(__umulsi3_highpart): /* For use without a barrel shifter, and for ARC700 / ARC_MUL64, the mulsidi3 algorithms above look better, so for these, there is an extra label up there. */ -#if !defined (__ARC700__) && !defined (__ARC_MUL64__) && !defined (__ARC601__) +#if !defined (__ARC_MPY__) && !defined (__ARC_MUL64__) \ + && defined (__ARC_BARREL_SHIFTER__) .global SYM(__umulsi3_highpart) SYM(__umulsi3_highpart): HIDDEN_FUNC(__umulsi3_highpart) @@ -251,7 +254,7 @@ SYM(__umulsi3_highpart): /* Make the result register peephole-compatible with mulsidi3. */ lsr DBL0H,r2,r3 ENDFUNC(__umulsi3_highpart) -#endif /* !__ARC700__ && !__ARC601__ */ +#endif /* !__ARC_MPY__ && __ARC_BARREL_SHIFTER__ */ #endif /* L_umulsi3_highpart */ #ifdef L_divmod_tools @@ -295,7 +298,7 @@ udivmodsi4(int modwanted, unsigned long num, unsigned long den) FUNC(__udivmodsi4) SYM(__udivmodsi4): -#if defined (__ARC700__) +#if defined (__ARC_EA__) /* Normalize divisor and divident, and then use the appropriate number of divaw (the number of result bits, or one more) to produce the result. There are some special conditions that need to be tested: @@ -368,7 +371,7 @@ SYM(__udivmodsi4): j_s.d [blink] mov.c r0,0 #elif !defined (__OPTIMIZE_SIZE__) -#ifdef __ARC_NORM__ +#if defined (__ARC_NORM__) && defined (__ARC_BARREL_SHIFTER__) lsr_s r2,r0 brhs.d r1,r2,.Lret0_3 norm r2,r2 @@ -393,17 +396,17 @@ SYM(__udivmodsi4): lsr_s r1,r1 cmp_s r0,r1 xor.f r2,lp_count,31 -#if !defined (__EM__) +#if !defined (__ARCEM__) && !defined (__ARCHS__) mov_s lp_count,r2 #else mov lp_count,r2 nop_s -#endif /* !__EM__ */ +#endif /* !__ARCEM__ && !__ARCHS__ */ #endif /* !__ARC_NORM__ */ sub.cc r0,r0,r1 mov_s r3,3 sbc r3,r3,0 -#ifndef __ARC601__ +#if defined (__ARC_BARREL_SHIFTER__) asl_s r3,r3,r2 rsub r1,r1,1 lpne @.Lloop2_end @@ -455,18 +458,18 @@ SYM(__udivmodsi4): mov_s r2,1 ; bit = 1 mov_s r3,0 ; res = 0 .Lloop1: - brhs r1,r0,@.Lloop2 + brhs r1,r0,@.Lloop2 bbit1 r1,31,@.Lloop2 asl_s r1,r1 ; den <<= 1 b.d @.Lloop1 asl_s r2,r2 ; bit <<= 1 .Lloop2: - brlo r0,r1,@.Lshiftdown + brlo r0,r1,@.Lshiftdown sub_s r0,r0,r1 ; num -= den or_s r3,r3,r2 ; res |= bit .Lshiftdown: lsr_s r2,r2 ; bit >>= 1 - lsr_s r1,r1 ; den >>= 1 + lsr_s r1,r1 ; den >>= 1 brne_s r2,0,@.Lloop2 .Ldivmodend: mov_s r1,r0 ; r1 = mod @@ -503,7 +506,7 @@ SYM(__udivsi3): .global SYM(__divsi3) FUNC(__divsi3) -#ifndef __ARC700__ +#ifndef __ARC_EA__ SYM(__divsi3): /* A5 / ARC60? */ mov r7,blink @@ -514,7 +517,7 @@ SYM(__divsi3): tst r6,r6 j.d [r7] neg.mi r0,r0 -#else /* !ifndef __ARC700__ */ +#else /* !ifndef __ARC_EA__ */ ;; We can use the abs, norm, divaw and mpy instructions for ARC700 #define MULDIV #ifdef MULDIV @@ -785,15 +788,15 @@ __muldiv: neg r4,r2 ld.as r5,[pcl,r4] abs_s r12,r0 - bic.f 0,r2,r4 - mpyhu.ne r12,r12,r5 + bic.f 0,r2,r4 + mpyhu.ne r12,r12,r5 norm r3,r2 xor.f 0,r0,r1 - ; write port allocation stall - rsub r3,r3,30 - lsr r0,r12,r3 - j_s.d [blink] - neg.mi r0,r0 + ; write port allocation stall + rsub r3,r3,30 + lsr r0,r12,r3 + j_s.d [blink] + neg.mi r0,r0 .balign 4 SYM(__divsi3): @@ -876,7 +879,7 @@ SYM(__divsi3): #endif /* ifndef __ARC700__ */ ENDFUNC(__divsi3) - + #endif /* L_divsi3 */ #ifdef L_umodsi3 @@ -907,7 +910,7 @@ SYM(__umodsi3): .global SYM (__modsi3) FUNC(__modsi3) SYM(__modsi3): -#ifndef __ARC700__ +#ifndef __ARC_EA__ /* A5 / ARC60? */ mov_s r12,blink mov_s r6,r0 @@ -918,7 +921,7 @@ SYM(__modsi3): neg_s r0,r1 j_s.d [r12] mov.pl r0,r1 -#else /* __ARC700__ */ +#else /* __ARC_EA__ */ abs_s r2,r1 norm.f r4,r0 neg r5,r2 @@ -942,7 +945,7 @@ SYM(__modsi3): cmp_s r12,r2 j_s.d [blink] sub.hs r0,r0,r5 -#endif /* __ARC700__ */ +#endif /* !__ARC_EA__ */ ENDFUNC(__modsi3) #endif /* L_modsi3 */ @@ -951,7 +954,7 @@ SYM(__modsi3): .section .text .align 4 .global SYM (__clzsi2) -SYM(__clzsi2): +SYM(__clzsi2): #ifdef __ARC_NORM__ HIDDEN_FUNC(__clzsi2) norm.f r0,r0 @@ -959,7 +962,7 @@ SYM(__clzsi2): j_s.d [blink] add.pl r0,r0,1 ENDFUNC(__clzsi2) -#elif defined (__ARC601__) +#elif !defined (__ARC_BARREL_SHIFTER__) FUNC(__clzsi2) mov lp_count,10 mov_l r1,0 @@ -1002,7 +1005,7 @@ SYM(__clzsi2): ;;; MILLICODE THUNK LIB ;*************** - + ;;; .macro push_regs from, to, offset ;;; st_s "\from", [sp, \offset] ;;; .if \to-\from @@ -1019,22 +1022,22 @@ SYM(__clzsi2): ;;;; .set regno, \from+1 ;;;; .set shift, 32 ;;;; .set shift, shift - 1 -;;;; # st_s %shift @3 lsl #shift +;;;; # st_s %shift @3 lsl #shift ;;;; .if \to-\from ;;;; sum "(\from+1)", \to, "(\three)" -;;;; .endif +;;;; .endif ;;;; .endm -;;;; +;;;; ;;;; SUM 0,5, 9 -;;;; -; .altmacro +;;;; +; .altmacro ;; .macro push_regs from=0, to=3, offset ;; st_s r\from, [sp, \offset] ;; .if \to-\from ;; push_regs "\from+1 ",\to,"(\offset+4)" ;; .endif ;; .endm -;; +;; ;; .macro expand_to_push from=13, to ;; ; .section .text ;; ; .align 4 @@ -1042,11 +1045,11 @@ SYM(__clzsi2): ;; ; .type foo, ;; st_13_to_25: ;; ; push_regs \from, \to, 0 -;; push_regs 0,3 ; +;; push_regs 0,3 ; ;; .endm -;; +;; ;; expand_to_push 13,18 -;; +;; ;#endif #ifdef L_millicodethunk_st @@ -1077,25 +1080,25 @@ SYM(__clzsi2): .align 4 SYM(__st_r13_to_r25): st r25, [sp,48] -SYM(__st_r13_to_r24): +SYM(__st_r13_to_r24): st r24, [sp,44] -SYM(__st_r13_to_r23): +SYM(__st_r13_to_r23): st r23, [sp,40] -SYM(__st_r13_to_r22): +SYM(__st_r13_to_r22): st r22, [sp,36] -SYM(__st_r13_to_r21): +SYM(__st_r13_to_r21): st r21, [sp,32] -SYM(__st_r13_to_r20): - st r20, [sp,28] -SYM(__st_r13_to_r19): +SYM(__st_r13_to_r20): + st r20, [sp,28] +SYM(__st_r13_to_r19): st r19, [sp,24] -SYM(__st_r13_to_r18): +SYM(__st_r13_to_r18): st r18, [sp,20] -SYM(__st_r13_to_r17): +SYM(__st_r13_to_r17): st r17, [sp,16] -SYM(__st_r13_to_r16): +SYM(__st_r13_to_r16): st r16, [sp,12] -SYM(__st_r13_to_r15): +SYM(__st_r13_to_r15): #ifdef __ARC700__ st r15, [sp,8] ; minimum function size to avoid stall: 6 bytes. #else @@ -1103,7 +1106,7 @@ SYM(__st_r13_to_r15): #endif st_s r14, [sp,4] j_s.d [%blink] - st_s r13, [sp,0] + st_s r13, [sp,0] ENDFUNC(__st_r13_to_r15) ENDFUNC(__st_r13_to_r16) ENDFUNC(__st_r13_to_r17) @@ -1121,7 +1124,7 @@ SYM(__st_r13_to_r15): #ifdef L_millicodethunk_ld .section .text .align 4 -; ================================== +; ================================== ; the loads .global SYM(__ld_r13_to_r15) @@ -1157,7 +1160,7 @@ SYM(__ld_r13_to_r22): SYM(__ld_r13_to_r21): ld r21, [sp,32] SYM(__ld_r13_to_r20): - ld r20, [sp,28] + ld r20, [sp,28] SYM(__ld_r13_to_r19): ld r19, [sp,24] SYM(__ld_r13_to_r18): @@ -1226,7 +1229,7 @@ SYM(__ld_r13_to_r22_ret): SYM(__ld_r13_to_r21_ret): ld r21, [sp,32] SYM(__ld_r13_to_r20_ret): - ld r20, [sp,28] + ld r20, [sp,28] SYM(__ld_r13_to_r19_ret): ld r19, [sp,24] SYM(__ld_r13_to_r18_ret): @@ -1258,6 +1261,9 @@ SYM(__ld_r13_to_r14_ret): #endif /* L_millicodethunk_ret */ +#define ARC_OPTFPE (defined (__ARC700__) || defined (__ARC_FPX_QUARK__)) + +#if ARC_OPTFPE #ifdef L_adddf3 #ifdef __ARC_NORM__ #include "ieee-754/adddf3.S" @@ -1265,7 +1271,7 @@ SYM(__ld_r13_to_r14_ret): #endif #ifdef L_muldf3 -#if defined (__ARC700__) || defined (__HS__) +#ifdef __ARC_MPY__ #include "ieee-754/muldf3.S" #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #include "ieee-754/arc600-mul64/muldf3.S" @@ -1281,7 +1287,7 @@ SYM(__ld_r13_to_r14_ret): #endif #ifdef L_mulsf3 -#if defined (__ARC700__) || defined (__HS__) +#ifdef __ARC_MPY__ #include "ieee-754/mulsf3.S" #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #include "ieee-754/arc600-mul64/mulsf3.S" @@ -1293,7 +1299,7 @@ SYM(__ld_r13_to_r14_ret): #endif #ifdef L_divdf3 -#if defined (__ARC700__) || defined (__HS__) +#ifdef __ARC_MPY__ #include "ieee-754/divdf3.S" #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #include "ieee-754/arc600-mul64/divdf3.S" @@ -1303,7 +1309,7 @@ SYM(__ld_r13_to_r14_ret): #endif #ifdef L_divsf3 -#if defined (__ARC700__) || defined (__HS__) +#ifdef __ARC_MPY__ #include "ieee-754/divsf3-stdmul.S" #elif defined (__ARC_NORM__) && defined(__ARC_MUL64__) #include "ieee-754/arc600-mul64/divsf3.S" @@ -1421,3 +1427,4 @@ SYM(__ld_r13_to_r14_ret): #include "ieee-754/ordsf2.S" #endif #endif +#endif /* ARC_OPTFPE */ diff --git a/libgcc/config/arc/libgcc-excl.ver b/libgcc/config/arc/libgcc-excl.ver index 90d583af59..27aa195411 100644 --- a/libgcc/config/arc/libgcc-excl.ver +++ b/libgcc/config/arc/libgcc-excl.ver @@ -1,6 +1,6 @@ # Exclude libgcc.so symbols for the Synopsys DesignWare ARC CPU. -# Copyright (C) 2007-2016 Free Software Foundation, Inc. +# Copyright (C) 2007-2017 Free Software Foundation, Inc. # Contributor: Joern Rennecke <joern.rennecke@embecosm.com> # on behalf of Synopsys Inc. diff --git a/libgcc/config/arc/t-arc b/libgcc/config/arc/t-arc index 7ceb694f69..0ac038986f 100644 --- a/libgcc/config/arc/t-arc +++ b/libgcc/config/arc/t-arc @@ -1,6 +1,6 @@ # GCC Makefile fragment for Synopsys DesignWare ARC -# Copyright (C) 2007-2016 Free Software Foundation, Inc. +# Copyright (C) 2007-2017 Free Software Foundation, Inc. # Contributor: Joern Rennecke <joern.rennecke@embecosm.com> # on behalf of Synopsys Inc. @@ -62,39 +62,5 @@ fp-bit.c: $(srcdir)/fp-bit.c # .init/.fini section routines -crtg.o: $(srcdir)/config/arc/crtg.S +crttls.o: $(srcdir)/config/arc/crttls.S $(crt_compile) -c -x assembler-with-cpp $< - -crtgend.o: $(srcdir)/config/arc/crtgend.S - $(crt_compile) -c -x assembler-with-cpp $< - -mcount.o: $(srcdir)/config/arc/gmon/mcount.c - $(gcc_compile) -isystem $(srcdir)/config/arc/gmon -c $< \ - -fcall-saved-r0 -fcall-saved-r1 -fcall-saved-r2 -fcall-saved-r3 \ - -fcall-saved-r4 -fcall-saved-r5 -fcall-saved-r6 -fcall-saved-r7 \ - -fomit-frame-pointer - -gmon.o: $(srcdir)/config/arc/gmon/gmon.c - $(gcc_compile) -isystem $(srcdir)/config/arc/gmon -mno-sdata -c $< \ - -fno-strict-aliasing \ - -Wno-extra # suppress inane warning about missing initializer. - # Adding initializers for the remaining elements of gmonparam would - # make the code more brittle. - -prof-freq-stub.o: $(srcdir)/config/arc/gmon/prof-freq-stub.S - $(gcc_compile) -isystem $(srcdir)/config/arc/gmon -c $< - -prof-freq.o: $(srcdir)/config/arc/gmon/prof-freq.c - $(gcc_compile) -isystem $(srcdir)/config/arc/gmon -c $< - -dcache_linesz.o: $(srcdir)/config/arc/gmon/dcache_linesz.S - $(gcc_compile) -isystem $(srcdir)/config/arc/gmon -c $< - -profil.o: $(srcdir)/config/arc/gmon/profil.S - $(gcc_compile) -isystem $(srcdir)/config/arc/gmon -c $< - -profil-uclibc.o: $(srcdir)/config/arc/gmon/profil-uclibc.c - $(gcc_compile) -isystem $(srcdir)/config/arc/gmon -c $< - -libgmon.a: mcount.o gmon.o dcache_linesz.o $(PROFILE_OSDEP) - $(AR_CREATE_FOR_TARGET) $@ $^ diff --git a/libgcc/config/arc/t-arc-newlib b/libgcc/config/arc/t-arc-newlib deleted file mode 100644 index f56b05259f..0000000000 --- a/libgcc/config/arc/t-arc-newlib +++ /dev/null @@ -1,22 +0,0 @@ -# GCC Makefile fragment for the Synopsys DesignWare ARC CPU with newlib. - -# Copyright (C) 2007-2016 Free Software Foundation, Inc. -# Contributor: Joern Rennecke <joern.rennecke@embecosm.com> -# on behalf of Synopsys Inc. - -# This file is part of GCC. - -# GCC is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 3, or (at your option) any later version. - -# GCC is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. - -# You should have received a copy of the GNU General Public License along -# with GCC; see the file COPYING3. If not see -# <http://www.gnu.org/licenses/>. - -PROFILE_OSDEP = prof-freq-stub.o profil.o diff --git a/libgcc/config/arc/t-arc700-uClibc b/libgcc/config/arc/t-arc-uClibc index f5067cc019..98056bdcef 100644 --- a/libgcc/config/arc/t-arc700-uClibc +++ b/libgcc/config/arc/t-arc-uClibc @@ -1,6 +1,6 @@ # GCC Makefile fragment for the Synopsys DesignWare ARC700 CPU with uClibc. -# Copyright (C) 2007-2016 Free Software Foundation, Inc. +# Copyright (C) 2007-2017 Free Software Foundation, Inc. # Contributor: Joern Rennecke <joern.rennecke@embecosm.com> # on behalf of Synopsys Inc. @@ -33,8 +33,6 @@ CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC # Compile libgcc2.a with pic. TARGET_LIBGCC2_CFLAGS = -fPIC -PROFILE_OSDEP = prof-freq.o - # Override t-slibgcc-elf-ver to hide some lib1func # routines which should not be called via PLT. SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/arc/libgcc-excl.ver diff --git a/libgcc/config/arm/bpabi-lib.h b/libgcc/config/arm/bpabi-lib.h index 64b0630a58..bd5acad44a 100644 --- a/libgcc/config/arm/bpabi-lib.h +++ b/libgcc/config/arm/bpabi-lib.h @@ -1,5 +1,5 @@ /* Configuration file for ARM BPABI targets, library renames. - Copyright (C) 2010-2016 Free Software Foundation, Inc. + Copyright (C) 2010-2017 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC This file is part of GCC. diff --git a/libgcc/config/arm/bpabi-v6m.S b/libgcc/config/arm/bpabi-v6m.S index 5d35aa6afc..b1ef2fcc5e 100644 --- a/libgcc/config/arm/bpabi-v6m.S +++ b/libgcc/config/arm/bpabi-v6m.S @@ -1,6 +1,7 @@ -/* Miscellaneous BPABI functions. ARMv6M implementation +/* Miscellaneous BPABI functions. Thumb-1 implementation, suitable for ARMv4T, + ARMv6-M and ARMv8-M Baseline like ISA variants. - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. Contributed by CodeSourcery. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/bpabi.S b/libgcc/config/arm/bpabi.S index 526304eb44..edbfb4b10c 100644 --- a/libgcc/config/arm/bpabi.S +++ b/libgcc/config/arm/bpabi.S @@ -1,6 +1,6 @@ /* Miscellaneous BPABI functions. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/bpabi.c b/libgcc/config/arm/bpabi.c index 20e67bed2c..179a4e35ea 100644 --- a/libgcc/config/arm/bpabi.c +++ b/libgcc/config/arm/bpabi.c @@ -1,6 +1,6 @@ /* Miscellaneous BPABI functions. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/cmse.c b/libgcc/config/arm/cmse.c new file mode 100644 index 0000000000..4ef7102064 --- /dev/null +++ b/libgcc/config/arm/cmse.c @@ -0,0 +1,108 @@ +/* ARMv8-M Security Extensions routines. + Copyright (C) 2015-2017 Free Software Foundation, Inc. + Contributed by ARM Ltd. + + This file is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any + later version. + + This file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + + +#if __ARM_FEATURE_CMSE & 1 + +#include <arm_cmse.h> + +/* ARM intrinsic function to perform a permission check on a given + address range. See ACLE changes for ARMv8-M. */ + +void * +cmse_check_address_range (void *p, size_t size, int flags) +{ + cmse_address_info_t permb, perme; + char *pb = (char *) p, *pe; + + /* Check if the range wraps around. */ + if (UINTPTR_MAX - (uintptr_t) p < size) + return NULL; + + /* Check if an unknown flag is present. */ + int known = CMSE_MPU_UNPRIV | CMSE_MPU_READWRITE | CMSE_MPU_READ; + int known_secure_level = CMSE_MPU_UNPRIV; +#if __ARM_FEATURE_CMSE & 2 + known |= CMSE_AU_NONSECURE | CMSE_MPU_NONSECURE; + known_secure_level |= CMSE_MPU_NONSECURE; +#endif + if (flags & (~known)) + return NULL; + + /* Execute the right variant of the TT instructions. */ + pe = pb + size - 1; + const int singleCheck = (((uintptr_t) pb ^ (uintptr_t) pe) < 32); + switch (flags & known_secure_level) + { + case 0: + permb = cmse_TT (pb); + perme = singleCheck ? permb : cmse_TT (pe); + break; + case CMSE_MPU_UNPRIV: + permb = cmse_TTT (pb); + perme = singleCheck ? permb : cmse_TTT (pe); + break; +#if __ARM_FEATURE_CMSE & 2 + case CMSE_MPU_NONSECURE: + permb = cmse_TTA (pb); + perme = singleCheck ? permb : cmse_TTA (pe); + break; + case CMSE_MPU_UNPRIV | CMSE_MPU_NONSECURE: + permb = cmse_TTAT (pb); + perme = singleCheck ? permb : cmse_TTAT (pe); + break; +#endif + default: + /* Invalid flag, eg. CMSE_MPU_NONSECURE specified but + __ARM_FEATURE_CMSE & 2 == 0. */ + return NULL; + } + + /* Check that the range does not cross MPU, SAU, or IDAU boundaries. */ + if (permb.value != perme.value) + return NULL; + + /* Check the permissions on the range. */ + switch (flags & (~known_secure_level)) + { +#if __ARM_FEATURE_CMSE & 2 + case CMSE_MPU_READ | CMSE_MPU_READWRITE | CMSE_AU_NONSECURE: + case CMSE_MPU_READWRITE | CMSE_AU_NONSECURE: + return permb.flags.nonsecure_readwrite_ok ? p : NULL; + case CMSE_MPU_READ | CMSE_AU_NONSECURE: + return permb.flags.nonsecure_read_ok ? p : NULL; + case CMSE_AU_NONSECURE: + return permb.flags.secure ? NULL : p; +#endif + case CMSE_MPU_READ | CMSE_MPU_READWRITE: + case CMSE_MPU_READWRITE: + return permb.flags.readwrite_ok ? p : NULL; + case CMSE_MPU_READ: + return permb.flags.read_ok ? p : NULL; + default: + return NULL; + } +} + + +#endif /* __ARM_FEATURE_CMSE & 1. */ diff --git a/libgcc/config/arm/cmse_nonsecure_call.S b/libgcc/config/arm/cmse_nonsecure_call.S new file mode 100644 index 0000000000..653ad14929 --- /dev/null +++ b/libgcc/config/arm/cmse_nonsecure_call.S @@ -0,0 +1,131 @@ +/* CMSE wrapper function used to save, clear and restore callee saved registers + for cmse_nonsecure_call's. + + Copyright (C) 2016-2017 Free Software Foundation, Inc. + Contributed by ARM Ltd. + + This file is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any + later version. + + This file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +.syntax unified +.thumb +.global __gnu_cmse_nonsecure_call +__gnu_cmse_nonsecure_call: +#if defined(__ARM_ARCH_8M_MAIN__) +push {r5-r11,lr} +mov r7, r4 +mov r8, r4 +mov r9, r4 +mov r10, r4 +mov r11, r4 +mov ip, r4 + +/* Save and clear callee-saved registers only if we are dealing with hard float + ABI. The unused caller-saved registers have already been cleared by GCC + generated code. */ +#ifdef __ARM_PCS_VFP +vpush.f64 {d8-d15} +mov r5, #0 +vmov d8, r5, r5 +#if __ARM_FP & 0x04 +vmov s18, s19, r5, r5 +vmov s20, s21, r5, r5 +vmov s22, s23, r5, r5 +vmov s24, s25, r5, r5 +vmov s26, s27, r5, r5 +vmov s28, s29, r5, r5 +vmov s30, s31, r5, r5 +#elif __ARM_FP & 0x08 +vmov.f64 d9, d8 +vmov.f64 d10, d8 +vmov.f64 d11, d8 +vmov.f64 d12, d8 +vmov.f64 d13, d8 +vmov.f64 d14, d8 +vmov.f64 d15, d8 +#else +#error "Half precision implementation not supported." +#endif +/* Clear the cumulative exception-status bits (0-4,7) and the + condition code bits (28-31) of the FPSCR. */ +vmrs r5, fpscr +movw r6, #65376 +movt r6, #4095 +ands r5, r6 +vmsr fpscr, r5 + +/* We are not dealing with hard float ABI, so we can safely use the vlstm and + vlldm instructions without needing to preserve the registers used for + argument passing. */ +#else +sub sp, sp, #0x88 /* Reserve stack space to save all floating point + registers, including FPSCR. */ +vlstm sp /* Lazy store and clearance of d0-d16 and FPSCR. */ +#endif /* __ARM_PCS_VFP */ + +/* Make sure to clear the 'GE' bits of the APSR register if 32-bit SIMD + instructions are available. */ +#if defined(__ARM_FEATURE_SIMD32) +msr APSR_nzcvqg, r4 +#else +msr APSR_nzcvq, r4 +#endif + +mov r5, r4 +mov r6, r4 +blxns r4 + +#ifdef __ARM_PCS_VFP +vpop.f64 {d8-d15} +#else +vlldm sp /* Lazy restore of d0-d16 and FPSCR. */ +add sp, sp, #0x88 /* Free space used to save floating point registers. */ +#endif /* __ARM_PCS_VFP */ + +pop {r5-r11, pc} + +#elif defined (__ARM_ARCH_8M_BASE__) +push {r5-r7, lr} +mov r5, r8 +mov r6, r9 +mov r7, r10 +push {r5-r7} +mov r5, r11 +push {r5} +mov r5, r4 +mov r6, r4 +mov r7, r4 +mov r8, r4 +mov r9, r4 +mov r10, r4 +mov r11, r4 +mov ip, r4 +msr APSR_nzcvq, r4 +blxns r4 +pop {r5} +mov r11, r5 +pop {r5-r7} +mov r10, r7 +mov r9, r6 +mov r8, r5 +pop {r5-r7, pc} + +#else +#error "This should only be used for armv8-m base- and mainline." +#endif diff --git a/libgcc/config/arm/crtfastmath.c b/libgcc/config/arm/crtfastmath.c index b5702759d7..0ad88527ca 100644 --- a/libgcc/config/arm/crtfastmath.c +++ b/libgcc/config/arm/crtfastmath.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014-2016 Free Software Foundation, Inc. + * Copyright (C) 2014-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/arm/crti.S b/libgcc/config/arm/crti.S index e47dafbb11..79386d95b4 100644 --- a/libgcc/config/arm/crti.S +++ b/libgcc/config/arm/crti.S @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2016 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # Written By Nick Clifton # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/crtn.S b/libgcc/config/arm/crtn.S index d262effca0..f37f54b667 100644 --- a/libgcc/config/arm/crtn.S +++ b/libgcc/config/arm/crtn.S @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2016 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # Written By Nick Clifton # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/fp16.c b/libgcc/config/arm/fp16.c index 39c863c9df..bb64d76f32 100644 --- a/libgcc/config/arm/fp16.c +++ b/libgcc/config/arm/fp16.c @@ -1,6 +1,6 @@ /* Half-float conversion routines. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributed by CodeSourcery. This file is free software; you can redistribute it and/or modify it @@ -22,40 +22,83 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ +struct format +{ + /* Number of bits. */ + unsigned long long size; + /* Exponent bias. */ + unsigned long long bias; + /* Exponent width in bits. */ + unsigned long long exponent; + /* Significand precision in explicitly stored bits. */ + unsigned long long significand; +}; + +static const struct format +binary32 = +{ + 32, /* size. */ + 127, /* bias. */ + 8, /* exponent. */ + 23 /* significand. */ +}; + +static const struct format +binary64 = +{ + 64, /* size. */ + 1023, /* bias. */ + 11, /* exponent. */ + 52 /* significand. */ +}; + static inline unsigned short -__gnu_f2h_internal(unsigned int a, int ieee) +__gnu_float2h_internal (const struct format* fmt, + unsigned long long a, int ieee) { - unsigned short sign = (a >> 16) & 0x8000; - int aexp = (a >> 23) & 0xff; - unsigned int mantissa = a & 0x007fffff; - unsigned int mask; - unsigned int increment; + unsigned long long point = 1ULL << fmt->significand; + unsigned short sign = (a >> (fmt->size - 16)) & 0x8000; + int aexp; + unsigned long long mantissa; + unsigned long long mask; + unsigned long long increment; - if (aexp == 0xff) + /* Get the exponent and mantissa encodings. */ + mantissa = a & (point - 1); + + mask = (1 << fmt->exponent) - 1; + aexp = (a >> fmt->significand) & mask; + + /* Infinity, NaN and alternative format special case. */ + if (((unsigned int) aexp) == mask) { if (!ieee) return sign; if (mantissa == 0) return sign | 0x7c00; /* Infinity. */ /* Remaining cases are NaNs. Convert SNaN to QNaN. */ - return sign | 0x7e00 | (mantissa >> 13); + return sign | 0x7e00 | (mantissa >> (fmt->significand - 10)); } + /* Zero. */ if (aexp == 0 && mantissa == 0) return sign; - aexp -= 127; + /* Construct the exponent and mantissa. */ + aexp -= fmt->bias; + + /* Decimal point is immediately after the significand. */ + mantissa |= point; - /* Decimal point between bits 22 and 23. */ - mantissa |= 0x00800000; if (aexp < -14) { - mask = 0x00ffffff; + mask = point | (point - 1); + /* Minimum exponent for half-precision is 2^-24. */ if (aexp >= -25) mask >>= 25 + aexp; } else - mask = 0x00001fff; + mask = (point - 1) >> 10; /* Round. */ if (mantissa & mask) @@ -64,8 +107,8 @@ __gnu_f2h_internal(unsigned int a, int ieee) if ((mantissa & mask) == increment) increment = mantissa & (increment << 1); mantissa += increment; - if (mantissa >= 0x01000000) - { + if (mantissa >= (point << 1)) + { mantissa >>= 1; aexp++; } @@ -91,9 +134,35 @@ __gnu_f2h_internal(unsigned int a, int ieee) aexp = -14; } - /* We leave the leading 1 in the mantissa, and subtract one - from the exponent bias to compensate. */ - return sign | (((aexp + 14) << 10) + (mantissa >> 13)); + /* Encode the final 16-bit floating-point value. + + This is formed of the sign bit, the bias-adjusted exponent, and the + calculated mantissa, with the following caveats: + + 1. The mantissa calculated after rounding could have a leading 1. + To compensate for this, subtract one from the exponent bias (15) + before adding it to the calculated exponent. + 2. When we were calculating rounding, we left the mantissa with the + number of bits of the source operand, it needs reduced to ten + bits (+1 for the afforementioned leading 1) by shifting right by + the number of bits in the source mantissa - 10. + 3. To ensure the leading 1 in the mantissa is applied to the exponent + we need to add the mantissa rather than apply an arithmetic "or" + to it. */ + + return sign | (((aexp + 14) << 10) + (mantissa >> (fmt->significand - 10))); +} + +static inline unsigned short +__gnu_f2h_internal (unsigned int a, int ieee) +{ + return __gnu_float2h_internal (&binary32, (unsigned long long) a, ieee); +} + +static inline unsigned short +__gnu_d2h_internal (unsigned long long a, int ieee) +{ + return __gnu_float2h_internal (&binary64, a, ieee); } unsigned int @@ -144,3 +213,15 @@ __gnu_h2f_alternative(unsigned short a) { return __gnu_h2f_internal(a, 0); } + +unsigned short +__gnu_d2h_ieee (unsigned long long a) +{ + return __gnu_d2h_internal (a, 1); +} + +unsigned short +__gnu_d2h_alternative (unsigned long long x) +{ + return __gnu_d2h_internal (x, 0); +} diff --git a/libgcc/config/arm/freebsd-atomic.c b/libgcc/config/arm/freebsd-atomic.c index d2f948020e..5f237b6bfe 100644 --- a/libgcc/config/arm/freebsd-atomic.c +++ b/libgcc/config/arm/freebsd-atomic.c @@ -1,5 +1,5 @@ /* FreeBSD specific atomic operations for ARM EABI. - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/arm/ieee754-df.S b/libgcc/config/arm/ieee754-df.S index dd7ea70ade..f470151cd8 100644 --- a/libgcc/config/arm/ieee754-df.S +++ b/libgcc/config/arm/ieee754-df.S @@ -1,6 +1,6 @@ /* ieee754-df.S double-precision floating point support for ARM - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. Contributed by Nicolas Pitre (nico@cam.org) This file is free software; you can redistribute it and/or modify it @@ -160,8 +160,8 @@ ARM_FUNC_ALIAS aeabi_dadd adddf3 teq r4, r5 beq LSYM(Lad_d) -@ CFI note: we're lucky that the branches to Lad_* that appear after this function -@ have a CFI state that's exactly the same as the one we're in at this +@ CFI note: we're lucky that the branches to Lad_* that appear after this +@ function have a CFI state that's exactly the same as the one we're in at this @ point. Otherwise the CFI would change to a different state after the branch, @ which would be disastrous for backtracing. LSYM(Lad_x): @@ -507,11 +507,15 @@ ARM_FUNC_ALIAS aeabi_f2d extendsfdf2 eorne xh, xh, #0x38000000 @ fixup exponent otherwise. RETc(ne) @ and return it. - teq r2, #0 @ if actually 0 - do_it ne, e - teqne r3, #0xff000000 @ or INF or NAN + bics r2, r2, #0xff000000 @ isolate mantissa + do_it eq @ if 0, that is ZERO or INF, RETc(eq) @ we are done already. + teq r3, #0xff000000 @ check for NAN + do_it eq, t + orreq xh, xh, #0x00080000 @ change to quiet NAN + RETc(eq) @ and return it. + @ value was denormalized. We can normalize it now. do_push {r4, r5, lr} .cfi_adjust_cfa_offset 12 @ CFA is now sp + previousOffset + 12 @@ -1158,8 +1162,8 @@ ARM_FUNC_ALIAS eqdf2 cmpdf2 1: str ip, [sp, #-4]! .cfi_adjust_cfa_offset 4 @ CFA is now sp + previousOffset + 4. @ We're not adding CFI for ip as it's pushed into the stack - @ only because @ it may be popped off later as a return value - @ (i.e. we're not preserving @ it anyways). + @ only because it may be popped off later as a return value + @ (i.e. we're not preserving it anyways). @ Trap any INF/NAN first. mov ip, xh, lsl #1 @@ -1169,14 +1173,14 @@ ARM_FUNC_ALIAS eqdf2 cmpdf2 COND(mvn,s,ne) ip, ip, asr #21 beq 3f .cfi_remember_state - @ Save the current CFI state. This is done because the branch - @ is conditional, @ and if we don't take it we'll issue a - @ .cfi_adjust_cfa_offset and return. @ If we do take it, - @ however, the .cfi_adjust_cfa_offset from the non-branch @ code - @ will affect the branch code as well. To avoid this we'll - @ restore @ the current state before executing the branch code. - - @ Test for equality. @ Note that 0.0 is equal to -0.0. + @ Save the current CFI state. This is done because the branch + @ is conditional, and if we don't take it we'll issue a + @ .cfi_adjust_cfa_offset and return. If we do take it, + @ however, the .cfi_adjust_cfa_offset from the non-branch code + @ will affect the branch code as well. To avoid this we'll + @ restore the current state before executing the branch code. + + @ Test for equality. Note that 0.0 is equal to -0.0. 2: add sp, sp, #4 .cfi_adjust_cfa_offset -4 @ CFA is now sp + previousOffset. diff --git a/libgcc/config/arm/ieee754-sf.S b/libgcc/config/arm/ieee754-sf.S index 94d70e2773..86c3199e01 100644 --- a/libgcc/config/arm/ieee754-sf.S +++ b/libgcc/config/arm/ieee754-sf.S @@ -1,6 +1,6 @@ /* ieee754-sf.S single-precision floating point support for ARM - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. Contributed by Nicolas Pitre (nico@cam.org) This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/lib1funcs.S b/libgcc/config/arm/lib1funcs.S index 375a513511..89ebebcd68 100644 --- a/libgcc/config/arm/lib1funcs.S +++ b/libgcc/config/arm/lib1funcs.S @@ -1,7 +1,7 @@ @ libgcc routines for ARM cpu. @ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk) -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -108,7 +108,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # define __ARM_ARCH__ 7 #endif -#if defined(__ARM_ARCH_8A__) +#if defined(__ARM_ARCH_8A__) || defined(__ARM_ARCH_8M_BASE__) \ + || defined(__ARM_ARCH_8M_MAIN__) # define __ARM_ARCH__ 8 #endif @@ -124,10 +125,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see && !defined(__thumb2__) \ && (!defined(__THUMB_INTERWORK__) \ || defined (__OPTIMIZE_SIZE__) \ - || defined(__ARM_ARCH_6M__))) + || !__ARM_ARCH_ISA_ARM)) # define __prefer_thumb__ #endif +#if !__ARM_ARCH_ISA_ARM && __ARM_ARCH_ISA_THUMB == 1 +#define NOT_ISA_TARGET_32BIT 1 +#endif + /* How to return from a function call depends on the architecture variant. */ #if (__ARM_ARCH__ > 4) || defined(__ARM_ARCH_4T__) @@ -305,35 +310,14 @@ LSYM(Lend_fde): #ifdef __ARM_EABI__ .macro THUMB_LDIV0 name signed -#if defined(__ARM_ARCH_6M__) - .ifc \signed, unsigned - cmp r0, #0 - beq 1f - mov r0, #0 - mvn r0, r0 @ 0xffffffff -1: - .else - cmp r0, #0 - beq 2f - blt 3f +#ifdef NOT_ISA_TARGET_32BIT + + push {r0, lr} mov r0, #0 - mvn r0, r0 - lsr r0, r0, #1 @ 0x7fffffff - b 2f -3: mov r0, #0x80 - lsl r0, r0, #24 @ 0x80000000 -2: - .endif - push {r0, r1, r2} - ldr r0, 4f - adr r1, 4f - add r0, r1 - str r0, [sp, #8] + bl SYM(__aeabi_idiv0) @ We know we are not on armv4t, so pop pc is safe. - pop {r0, r1, pc} - .align 2 -4: - .word __aeabi_idiv0 - 4b + pop {r1, pc} + #elif defined(__thumb2__) .syntax unified .ifc \signed, unsigned @@ -478,7 +462,7 @@ _L__\name: #else /* !(__INTERWORKING_STUBS__ || __thumb2__) */ -#ifdef __ARM_ARCH_6M__ +#ifdef NOT_ISA_TARGET_32BIT #define EQUIV .thumb_set #else .macro ARM_FUNC_START name sp_section= @@ -510,7 +494,7 @@ SYM (__\name): #endif .endm -#ifndef __ARM_ARCH_6M__ +#ifndef NOT_ISA_TARGET_32BIT .macro ARM_FUNC_ALIAS new old .globl SYM (__\new) EQUIV SYM (__\new), SYM (__\old) @@ -945,7 +929,170 @@ LSYM(Lover7): add dividend, work .endif LSYM(Lgot_result): -.endm +.endm + +/* If performance is preferred, the following functions are provided. */ +#if defined(__prefer_thumb__) && !defined(__OPTIMIZE_SIZE__) + +/* Branch to div(n), and jump to label if curbit is lo than divisior. */ +.macro BranchToDiv n, label + lsr curbit, dividend, \n + cmp curbit, divisor + blo \label +.endm + +/* Body of div(n). Shift the divisor in n bits and compare the divisor + and dividend. Update the dividend as the substruction result. */ +.macro DoDiv n + lsr curbit, dividend, \n + cmp curbit, divisor + bcc 1f + lsl curbit, divisor, \n + sub dividend, dividend, curbit + +1: adc result, result +.endm + +/* The body of division with positive divisor. Unless the divisor is very + big, shift it up in multiples of four bits, since this is the amount of + unwinding in the main division loop. Continue shifting until the divisor + is larger than the dividend. */ +.macro THUMB1_Div_Positive + mov result, #0 + BranchToDiv #1, LSYM(Lthumb1_div1) + BranchToDiv #4, LSYM(Lthumb1_div4) + BranchToDiv #8, LSYM(Lthumb1_div8) + BranchToDiv #12, LSYM(Lthumb1_div12) + BranchToDiv #16, LSYM(Lthumb1_div16) +LSYM(Lthumb1_div_large_positive): + mov result, #0xff + lsl divisor, divisor, #8 + rev result, result + lsr curbit, dividend, #16 + cmp curbit, divisor + blo 1f + asr result, #8 + lsl divisor, divisor, #8 + beq LSYM(Ldivbyzero_waypoint) + +1: lsr curbit, dividend, #12 + cmp curbit, divisor + blo LSYM(Lthumb1_div12) + b LSYM(Lthumb1_div16) +LSYM(Lthumb1_div_loop): + lsr divisor, divisor, #8 +LSYM(Lthumb1_div16): + Dodiv #15 + Dodiv #14 + Dodiv #13 + Dodiv #12 +LSYM(Lthumb1_div12): + Dodiv #11 + Dodiv #10 + Dodiv #9 + Dodiv #8 + bcs LSYM(Lthumb1_div_loop) +LSYM(Lthumb1_div8): + Dodiv #7 + Dodiv #6 + Dodiv #5 +LSYM(Lthumb1_div5): + Dodiv #4 +LSYM(Lthumb1_div4): + Dodiv #3 +LSYM(Lthumb1_div3): + Dodiv #2 +LSYM(Lthumb1_div2): + Dodiv #1 +LSYM(Lthumb1_div1): + sub divisor, dividend, divisor + bcs 1f + cpy divisor, dividend + +1: adc result, result + cpy dividend, result + RET + +LSYM(Ldivbyzero_waypoint): + b LSYM(Ldiv0) +.endm + +/* The body of division with negative divisor. Similar with + THUMB1_Div_Positive except that the shift steps are in multiples + of six bits. */ +.macro THUMB1_Div_Negative + lsr result, divisor, #31 + beq 1f + neg divisor, divisor + +1: asr curbit, dividend, #32 + bcc 2f + neg dividend, dividend + +2: eor curbit, result + mov result, #0 + cpy ip, curbit + BranchToDiv #4, LSYM(Lthumb1_div_negative4) + BranchToDiv #8, LSYM(Lthumb1_div_negative8) +LSYM(Lthumb1_div_large): + mov result, #0xfc + lsl divisor, divisor, #6 + rev result, result + lsr curbit, dividend, #8 + cmp curbit, divisor + blo LSYM(Lthumb1_div_negative8) + + lsl divisor, divisor, #6 + asr result, result, #6 + cmp curbit, divisor + blo LSYM(Lthumb1_div_negative8) + + lsl divisor, divisor, #6 + asr result, result, #6 + cmp curbit, divisor + blo LSYM(Lthumb1_div_negative8) + + lsl divisor, divisor, #6 + beq LSYM(Ldivbyzero_negative) + asr result, result, #6 + b LSYM(Lthumb1_div_negative8) +LSYM(Lthumb1_div_negative_loop): + lsr divisor, divisor, #6 +LSYM(Lthumb1_div_negative8): + DoDiv #7 + DoDiv #6 + DoDiv #5 + DoDiv #4 +LSYM(Lthumb1_div_negative4): + DoDiv #3 + DoDiv #2 + bcs LSYM(Lthumb1_div_negative_loop) + DoDiv #1 + sub divisor, dividend, divisor + bcs 1f + cpy divisor, dividend + +1: cpy curbit, ip + adc result, result + asr curbit, curbit, #1 + cpy dividend, result + bcc 2f + neg dividend, dividend + cmp curbit, #0 + +2: bpl 3f + neg divisor, divisor + +3: RET + +LSYM(Ldivbyzero_negative): + cpy curbit, ip + asr curbit, curbit, #1 + bcc LSYM(Ldiv0) + neg dividend, dividend +.endm +#endif /* ARM Thumb version. */ + /* ------------------------------------------------------------------------ */ /* Start of the Real Functions */ /* ------------------------------------------------------------------------ */ @@ -955,6 +1102,7 @@ LSYM(Lgot_result): FUNC_START udivsi3 FUNC_ALIAS aeabi_uidiv udivsi3 +#if defined(__OPTIMIZE_SIZE__) cmp divisor, #0 beq LSYM(Ldiv0) @@ -972,6 +1120,14 @@ LSYM(udivsi3_skip_div0_test): pop { work } RET +/* Implementation of aeabi_uidiv for ARMv6m. This version is only + used in ARMv6-M when we need an efficient implementation. */ +#else +LSYM(udivsi3_skip_div0_test): + THUMB1_Div_Positive + +#endif /* __OPTIMIZE_SIZE__ */ + #elif defined(__ARM_ARCH_EXT_IDIV__) ARM_FUNC_START udivsi3 @@ -1023,12 +1179,21 @@ LSYM(udivsi3_skip_div0_test): FUNC_START aeabi_uidivmod cmp r1, #0 beq LSYM(Ldiv0) +# if defined(__OPTIMIZE_SIZE__) push {r0, r1, lr} bl LSYM(udivsi3_skip_div0_test) POP {r1, r2, r3} mul r2, r0 sub r1, r1, r2 bx r3 +# else + /* Both the quotient and remainder are calculated simultaneously + in THUMB1_Div_Positive. There is no need to calculate the + remainder again here. */ + b LSYM(udivsi3_skip_div0_test) + RET +# endif /* __OPTIMIZE_SIZE__ */ + #elif defined(__ARM_ARCH_EXT_IDIV__) ARM_FUNC_START aeabi_uidivmod cmp r1, #0 @@ -1054,7 +1219,7 @@ ARM_FUNC_START aeabi_uidivmod /* ------------------------------------------------------------------------ */ #ifdef L_umodsi3 -#ifdef __ARM_ARCH_EXT_IDIV__ +#if defined(__ARM_ARCH_EXT_IDIV__) && __ARM_ARCH_ISA_THUMB != 1 ARM_FUNC_START umodsi3 @@ -1084,7 +1249,7 @@ LSYM(Lover10): RET #else /* ARM version. */ - + FUNC_START umodsi3 subs r2, r1, #1 @ compare divisor with 1 @@ -1109,8 +1274,9 @@ LSYM(Lover10): #if defined(__prefer_thumb__) - FUNC_START divsi3 + FUNC_START divsi3 FUNC_ALIAS aeabi_idiv divsi3 +#if defined(__OPTIMIZE_SIZE__) cmp divisor, #0 beq LSYM(Ldiv0) @@ -1133,7 +1299,7 @@ LSYM(Lover11): blo LSYM(Lgot_result) THUMB_DIV_MOD_BODY 0 - + mov r0, result mov work, ip cmp work, #0 @@ -1143,6 +1309,22 @@ LSYM(Lover12): pop { work } RET +/* Implementation of aeabi_idiv for ARMv6m. This version is only + used in ARMv6-M when we need an efficient implementation. */ +#else +LSYM(divsi3_skip_div0_test): + cpy curbit, dividend + orr curbit, divisor + bmi LSYM(Lthumb1_div_negative) + +LSYM(Lthumb1_div_positive): + THUMB1_Div_Positive + +LSYM(Lthumb1_div_negative): + THUMB1_Div_Negative + +#endif /* __OPTIMIZE_SIZE__ */ + #elif defined(__ARM_ARCH_EXT_IDIV__) ARM_FUNC_START divsi3 @@ -1154,8 +1336,8 @@ LSYM(Lover12): RET #else /* ARM/Thumb-2 version. */ - - ARM_FUNC_START divsi3 + + ARM_FUNC_START divsi3 ARM_FUNC_ALIAS aeabi_idiv divsi3 cmp r1, #0 @@ -1209,12 +1391,21 @@ LSYM(divsi3_skip_div0_test): FUNC_START aeabi_idivmod cmp r1, #0 beq LSYM(Ldiv0) +# if defined(__OPTIMIZE_SIZE__) push {r0, r1, lr} bl LSYM(divsi3_skip_div0_test) POP {r1, r2, r3} mul r2, r0 sub r1, r1, r2 bx r3 +# else + /* Both the quotient and remainder are calculated simultaneously + in THUMB1_Div_Positive and THUMB1_Div_Negative. There is no + need to calculate the remainder again here. */ + b LSYM(divsi3_skip_div0_test) + RET +# endif /* __OPTIMIZE_SIZE__ */ + #elif defined(__ARM_ARCH_EXT_IDIV__) ARM_FUNC_START aeabi_idivmod cmp r1, #0 @@ -1240,7 +1431,7 @@ ARM_FUNC_START aeabi_idivmod /* ------------------------------------------------------------------------ */ #ifdef L_modsi3 -#if defined(__ARM_ARCH_EXT_IDIV__) +#if defined(__ARM_ARCH_EXT_IDIV__) && __ARM_ARCH_ISA_THUMB != 1 ARM_FUNC_START modsi3 @@ -1508,14 +1699,15 @@ LSYM(Lover12): #endif /* __symbian__ */ -#if ((__ARM_ARCH__ > 5) && !defined(__ARM_ARCH_6M__)) \ - || defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) \ - || defined(__ARM_ARCH_5TEJ__) +#if (__ARM_ARCH_ISA_THUMB == 2 \ + || (__ARM_ARCH_ISA_ARM \ + && (__ARM_ARCH__ > 5 \ + || (__ARM_ARCH__ == 5 && __ARM_ARCH_ISA_THUMB)))) #define HAVE_ARM_CLZ 1 #endif #ifdef L_clzsi2 -#if defined(__ARM_ARCH_6M__) +#ifdef NOT_ISA_TARGET_32BIT FUNC_START clzsi2 mov r1, #28 mov r3, #1 @@ -1576,7 +1768,7 @@ ARM_FUNC_START clzsi2 #ifdef L_clzdi2 #if !defined(HAVE_ARM_CLZ) -# if defined(__ARM_ARCH_6M__) +# ifdef NOT_ISA_TARGET_32BIT FUNC_START clzdi2 push {r4, lr} # else @@ -1601,7 +1793,7 @@ ARM_FUNC_START clzdi2 bl __clzsi2 # endif 2: -# if defined(__ARM_ARCH_6M__) +# ifdef NOT_ISA_TARGET_32BIT pop {r4, pc} # else RETLDM r4 @@ -1623,7 +1815,7 @@ ARM_FUNC_START clzdi2 #endif /* L_clzdi2 */ #ifdef L_ctzsi2 -#if defined(__ARM_ARCH_6M__) +#ifdef NOT_ISA_TARGET_32BIT FUNC_START ctzsi2 neg r1, r0 and r0, r0, r1 @@ -1738,7 +1930,7 @@ ARM_FUNC_START ctzsi2 /* Don't bother with the old interworking routines for Thumb-2. */ /* ??? Maybe only omit these on "m" variants. */ -#if !defined(__thumb2__) && !defined(__ARM_ARCH_6M__) +#if !defined(__thumb2__) && __ARM_ARCH_ISA_ARM #if defined L_interwork_call_via_rX @@ -1983,11 +2175,12 @@ LSYM(Lchange_\register): .endm #ifndef __symbian__ -#ifndef __ARM_ARCH_6M__ +/* The condition here must match the one in gcc/config/arm/elf.h. */ +#ifndef NOT_ISA_TARGET_32BIT #include "ieee754-df.S" #include "ieee754-sf.S" #include "bpabi.S" -#else /* __ARM_ARCH_6M__ */ +#else /* NOT_ISA_TARGET_32BIT */ #include "bpabi-v6m.S" -#endif /* __ARM_ARCH_6M__ */ +#endif /* NOT_ISA_TARGET_32BIT */ #endif /* !__symbian__ */ diff --git a/libgcc/config/arm/libgcc-bpabi.ver b/libgcc/config/arm/libgcc-bpabi.ver index 865be403fe..3991e54a0c 100644 --- a/libgcc/config/arm/libgcc-bpabi.ver +++ b/libgcc/config/arm/libgcc-bpabi.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2016 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/arm/libunwind.S b/libgcc/config/arm/libunwind.S index a68b10ddce..fe6de65492 100644 --- a/libgcc/config/arm/libunwind.S +++ b/libgcc/config/arm/libunwind.S @@ -1,5 +1,5 @@ /* Support functions for the unwinder. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. Contributed by Paul Brook This file is free software; you can redistribute it and/or modify it @@ -58,7 +58,7 @@ #endif #endif -#ifdef __ARM_ARCH_6M__ +#if !__ARM_ARCH_ISA_ARM && __ARM_ARCH_ISA_THUMB == 1 /* r0 points to a 16-word block. Upload these values to the actual core state. */ @@ -169,7 +169,7 @@ FUNC_START gnu_Unwind_Save_WMMXC UNPREFIX \name .endm -#else /* !__ARM_ARCH_6M__ */ +#else /* __ARM_ARCH_ISA_ARM || __ARM_ARCH_ISA_THUMB != 1 */ /* r0 points to a 16-word block. Upload these values to the actual core state. */ @@ -351,7 +351,7 @@ ARM_FUNC_START gnu_Unwind_Save_WMMXC UNPREFIX \name .endm -#endif /* !__ARM_ARCH_6M__ */ +#endif /* __ARM_ARCH_ISA_ARM || __ARM_ARCH_ISA_THUMB != 1 */ UNWIND_WRAPPER _Unwind_RaiseException 1 UNWIND_WRAPPER _Unwind_Resume 1 diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c index 38073fb029..c69f67fe70 100644 --- a/libgcc/config/arm/linux-atomic-64bit.c +++ b/libgcc/config/arm/linux-atomic-64bit.c @@ -1,5 +1,5 @@ /* 64bit Linux-specific atomic operations for ARM EABI. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2017 Free Software Foundation, Inc. Based on linux-atomic.c 64 bit additions david.gilbert@linaro.org diff --git a/libgcc/config/arm/linux-atomic.c b/libgcc/config/arm/linux-atomic.c index 2ecf637c35..ab57221720 100644 --- a/libgcc/config/arm/linux-atomic.c +++ b/libgcc/config/arm/linux-atomic.c @@ -1,5 +1,5 @@ /* Linux-specific atomic operations for ARM EABI. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributed by CodeSourcery. This file is part of GCC. diff --git a/libgcc/config/arm/pr-support.c b/libgcc/config/arm/pr-support.c index 6f57da1782..206cac3ae8 100644 --- a/libgcc/config/arm/pr-support.c +++ b/libgcc/config/arm/pr-support.c @@ -1,5 +1,5 @@ /* ARM EABI compliant unwinding routines - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. Contributed by Paul Brook This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/symbian-lib.h b/libgcc/config/arm/symbian-lib.h index d0c6d6bd1e..e3ba75038d 100644 --- a/libgcc/config/arm/symbian-lib.h +++ b/libgcc/config/arm/symbian-lib.h @@ -1,5 +1,5 @@ /* Configuration file for Symbian OS on ARM processors, library renames. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/arm/t-arm b/libgcc/config/arm/t-arm index 4e17e99b4a..9e85ac06b1 100644 --- a/libgcc/config/arm/t-arm +++ b/libgcc/config/arm/t-arm @@ -1,3 +1,17 @@ LIB1ASMSRC = arm/lib1funcs.S LIB1ASMFUNCS = _thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi \ _thumb1_case_uhi _thumb1_case_si + +HAVE_CMSE:=$(findstring __ARM_FEATURE_CMSE,$(shell $(gcc_compile_bare) -dM -E - </dev/null)) +ifneq ($(shell $(gcc_compile_bare) -E -mcmse - </dev/null 2>/dev/null),) +CMSE_OPTS:=-mcmse +endif + +ifdef HAVE_CMSE +libgcc-objects += cmse.o cmse_nonsecure_call.o + +cmse.o: $(srcdir)/config/arm/cmse.c + $(gcc_compile) -c $(CMSE_OPTS) $< +cmse_nonsecure_call.o: $(srcdir)/config/arm/cmse_nonsecure_call.S + $(gcc_compile) -c $< +endif diff --git a/libgcc/config/arm/t-softfp b/libgcc/config/arm/t-softfp index 4ede438baf..554ec9bc47 100644 --- a/libgcc/config/arm/t-softfp +++ b/libgcc/config/arm/t-softfp @@ -1,2 +1,2 @@ -softfp_wrap_start := '\#ifdef __ARM_ARCH_6M__' +softfp_wrap_start := '\#if !__ARM_ARCH_ISA_ARM && __ARM_ARCH_ISA_THUMB == 1' softfp_wrap_end := '\#endif' diff --git a/libgcc/config/arm/unaligned-funcs.c b/libgcc/config/arm/unaligned-funcs.c index 1887f28f3d..297e2da5bb 100644 --- a/libgcc/config/arm/unaligned-funcs.c +++ b/libgcc/config/arm/unaligned-funcs.c @@ -1,6 +1,6 @@ /* EABI unaligned read/write functions. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by CodeSourcery, LLC. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/unwind-arm.c b/libgcc/config/arm/unwind-arm.c index 7e2c0d575c..a3d7391fc0 100644 --- a/libgcc/config/arm/unwind-arm.c +++ b/libgcc/config/arm/unwind-arm.c @@ -1,5 +1,5 @@ /* ARM EABI compliant unwinding routines. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. Contributed by Paul Brook This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/arm/unwind-arm.h b/libgcc/config/arm/unwind-arm.h index d67383fb10..9fb854fd97 100644 --- a/libgcc/config/arm/unwind-arm.h +++ b/libgcc/config/arm/unwind-arm.h @@ -1,5 +1,5 @@ /* Header file for the ARM EABI unwinder - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. Contributed by Paul Brook This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/avr/avr-lib.h b/libgcc/config/avr/avr-lib.h index 3150673145..9c7a72af9c 100644 --- a/libgcc/config/avr/avr-lib.h +++ b/libgcc/config/avr/avr-lib.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/avr/lib1funcs-fixed.S b/libgcc/config/avr/lib1funcs-fixed.S index 3e7ecf14a0..6dd68ee614 100644 --- a/libgcc/config/avr/lib1funcs-fixed.S +++ b/libgcc/config/avr/lib1funcs-fixed.S @@ -1,5 +1,5 @@ /* -*- Mode: Asm -*- */ -;; Copyright (C) 2012-2016 Free Software Foundation, Inc. +;; Copyright (C) 2012-2017 Free Software Foundation, Inc. ;; Contributed by Sean D'Epagnier (sean@depagnier.com) ;; Georg-Johann Lay (avr@gjlay.de) diff --git a/libgcc/config/avr/lib1funcs.S b/libgcc/config/avr/lib1funcs.S index 61fa61bb8c..2dc8045630 100644 --- a/libgcc/config/avr/lib1funcs.S +++ b/libgcc/config/avr/lib1funcs.S @@ -1,5 +1,5 @@ /* -*- Mode: Asm -*- */ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. Contributed by Denis Chertykov <chertykov@gmail.com> This file is free software; you can redistribute it and/or modify it @@ -958,7 +958,6 @@ DEFUN __muldi3 wmov A4, C4 wmov A6, C6 - clr __zero_reg__ pop r16 pop r17 pop r28 @@ -3114,20 +3113,22 @@ ENDF __bswapdi2 **********************************/ #if defined (L_ashrdi3) + +#define SS __zero_reg__ + ;; Arithmetic shift right ;; r25:r18 = ashr64 (r25:r18, r17:r16) DEFUN __ashrdi3 - bst r25, 7 - bld __zero_reg__, 0 + sbrc r25, 7 + com SS ;; FALLTHRU ENDF __ashrdi3 ;; Logic shift right ;; r25:r18 = lshr64 (r25:r18, r17:r16) DEFUN __lshrdi3 - lsr __zero_reg__ - sbc __tmp_reg__, __tmp_reg__ - push r16 + ;; Signs are in SS (zero_reg) + mov __tmp_reg__, r16 0: cpi r16, 8 brlo 2f subi r16, 8 @@ -3138,9 +3139,9 @@ DEFUN __lshrdi3 mov r22, r23 mov r23, r24 mov r24, r25 - mov r25, __tmp_reg__ + mov r25, SS rjmp 0b -1: asr __tmp_reg__ +1: asr SS ror r25 ror r24 ror r23 @@ -3151,16 +3152,21 @@ DEFUN __lshrdi3 ror r18 2: dec r16 brpl 1b - pop r16 + clr __zero_reg__ + mov r16, __tmp_reg__ ret ENDF __lshrdi3 + +#undef SS + #endif /* defined (L_ashrdi3) */ #if defined (L_ashldi3) ;; Shift left ;; r25:r18 = ashl64 (r25:r18, r17:r16) +;; This function does not clobber T. DEFUN __ashldi3 - push r16 + mov __tmp_reg__, r16 0: cpi r16, 8 brlo 2f mov r25, r24 @@ -3183,13 +3189,13 @@ DEFUN __ashldi3 rol r25 2: dec r16 brpl 1b - pop r16 + mov r16, __tmp_reg__ ret ENDF __ashldi3 #endif /* defined (L_ashldi3) */ #if defined (L_rotldi3) -;; Shift left +;; Rotate left ;; r25:r18 = rotl64 (r25:r18, r17:r16) DEFUN __rotldi3 push r16 diff --git a/libgcc/config/avr/lib2funcs.c b/libgcc/config/avr/lib2funcs.c index 11cecc1260..d4310109b1 100644 --- a/libgcc/config/avr/lib2funcs.c +++ b/libgcc/config/avr/lib2funcs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2013-2016 Free Software Foundation, Inc. +/* Copyright (C) 2013-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/avr/t-rtems b/libgcc/config/avr/t-rtems deleted file mode 100644 index 43b57ee323..0000000000 --- a/libgcc/config/avr/t-rtems +++ /dev/null @@ -1,2 +0,0 @@ -# RTEMS uses _exit from newlib -LIB1ASMFUNCS := $(filter-out _exit,$(LIB1ASMFUNCS)) diff --git a/libgcc/config/bfin/crti.S b/libgcc/config/bfin/crti.S index 30639adac9..aa126bf669 100644 --- a/libgcc/config/bfin/crti.S +++ b/libgcc/config/bfin/crti.S @@ -1,6 +1,6 @@ /* Specialized code needed to support construction and destruction of file-scope objects in C++ and Java code, and to support exception handling. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GCC. diff --git a/libgcc/config/bfin/crtlibid.S b/libgcc/config/bfin/crtlibid.S index 0680294e95..551a82fd72 100644 --- a/libgcc/config/bfin/crtlibid.S +++ b/libgcc/config/bfin/crtlibid.S @@ -1,6 +1,6 @@ /* Provide a weak definition of the library ID, for the benefit of certain configure scripts. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/bfin/crtn.S b/libgcc/config/bfin/crtn.S index 982b53f859..b97504763e 100644 --- a/libgcc/config/bfin/crtn.S +++ b/libgcc/config/bfin/crtn.S @@ -1,6 +1,6 @@ /* Specialized code needed to support construction and destruction of file-scope objects in C++ and Java code, and to support exception handling. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GCC. diff --git a/libgcc/config/bfin/lib1funcs.S b/libgcc/config/bfin/lib1funcs.S index 0a08fe6f41..1c5f3af287 100644 --- a/libgcc/config/bfin/lib1funcs.S +++ b/libgcc/config/bfin/lib1funcs.S @@ -1,5 +1,5 @@ /* libgcc functions for Blackfin. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Analog Devices. This file is part of GCC. diff --git a/libgcc/config/bfin/libgcc-glibc.ver b/libgcc/config/bfin/libgcc-glibc.ver index b1bd2df367..b052b61c62 100644 --- a/libgcc/config/bfin/libgcc-glibc.ver +++ b/libgcc/config/bfin/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2016 Free Software Foundation, Inc. +# Copyright (C) 2000-2017 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -16,1898 +16,8 @@ # along with GCC; see the file COPYING3. If not see # <http://www.gnu.org/licenses/>. -GCC_3.0 { - # libgcc1 integer symbols - ___absvsi2 - ___addvsi3 - ___ashlsi3 - ___ashrsi3 - ___divsi3 - ___lshrsi3 - ___modsi3 - ___mulsi3 - ___mulvsi3 - ___negvsi2 - ___subvsi3 - ___udivsi3 - ___umodsi3 - - # libgcc1 floating point symbols - ___addsf3 - ___adddf3 - ___addxf3 - ___addtf3 - ___divsf3 - ___divdf3 - ___divxf3 - ___divtf3 - ___eqsf2 - ___eqdf2 - ___eqxf2 - ___eqtf2 - ___extenddfxf2 - ___extenddftf2 - ___extendsfdf2 - ___extendsfxf2 - ___extendsftf2 - ___fixsfsi - ___fixdfsi - ___fixxfsi - ___fixtfsi - ___floatsisf - ___floatsidf - ___floatsixf - ___floatsitf - ___gesf2 - ___gedf2 - ___gexf2 - ___getf2 - ___gtsf2 - ___gtdf2 - ___gtxf2 - ___gttf2 - ___lesf2 - ___ledf2 - ___lexf2 - ___letf2 - ___ltsf2 - ___ltdf2 - ___ltxf2 - ___lttf2 - ___mulsf3 - ___muldf3 - ___mulxf3 - ___multf3 - ___negsf2 - ___negdf2 - ___negxf2 - ___negtf2 - ___nesf2 - ___nedf2 - ___nexf2 - ___netf2 - ___subsf3 - ___subdf3 - ___subxf3 - ___subtf3 - ___truncdfsf2 - ___truncxfsf2 - ___trunctfsf2 - ___truncxfdf2 - ___trunctfdf2 - - # libgcc2 DImode arithmetic (for 32-bit targets). - ___absvdi2 - ___addvdi3 - ___ashldi3 - ___ashrdi3 - ___cmpdi2 - ___divdi3 - ___ffsdi2 - ___fixdfdi - ___fixsfdi - ___fixtfdi - ___fixxfdi - ___fixunsdfdi - ___fixunsdfsi - ___fixunssfsi - ___fixunssfdi - ___fixunstfdi - ___fixunstfsi - ___fixunsxfdi - ___fixunsxfsi - ___floatdidf - ___floatdisf - ___floatdixf - ___floatditf - ___lshrdi3 - ___moddi3 - ___muldi3 - ___mulvdi3 - ___negdi2 - ___negvdi2 - ___subvdi3 - ___ucmpdi2 - ___udivdi3 - ___udivmoddi4 - ___umoddi3 - - # libgcc2 TImode arithmetic (for 64-bit targets). - ___ashlti3 - ___ashrti3 - ___cmpti2 - ___divti3 - ___ffsti2 - ___fixdfti - ___fixsfti - ___fixtfti - ___fixxfti - ___lshrti3 - ___modti3 - ___multi3 - ___negti2 - ___ucmpti2 - ___udivmodti4 - ___udivti3 - ___umodti3 - ___fixunsdfti - ___fixunssfti - ___fixunstfti - ___fixunsxfti - ___floattidf - ___floattisf - ___floattixf - ___floattitf - - # Used to deal with trampoline initialization on some platforms - ___clear_cache - - # EH symbols - __Unwind_DeleteException - __Unwind_Find_FDE - __Unwind_ForcedUnwind - __Unwind_GetGR - __Unwind_GetIP - __Unwind_GetLanguageSpecificData - __Unwind_GetRegionStart - __Unwind_GetTextRelBase - __Unwind_GetDataRelBase - __Unwind_RaiseException - __Unwind_Resume - __Unwind_SetGR - __Unwind_SetIP - ___deregister_frame - ___deregister_frame_info - ___deregister_frame_info_bases - ___register_frame - ___register_frame_info - ___register_frame_info_bases - ___register_frame_info_table - ___register_frame_info_table_bases - ___register_frame_table - - # SjLj EH symbols - __Unwind_SjLj_Register - __Unwind_SjLj_Unregister - __Unwind_SjLj_RaiseException - __Unwind_SjLj_ForcedUnwind - __Unwind_SjLj_Resume -} - -%inherit GCC_3.3 GCC_3.0 -GCC_3.3 { - __Unwind_FindEnclosingFunction - __Unwind_GetCFA - __Unwind_Backtrace - __Unwind_Resume_or_Rethrow - __Unwind_SjLj_Resume_or_Rethrow -} - -%inherit GCC_3.3.1 GCC_3.3 -GCC_3.3.1 { - ___gcc_personality_sj0 - ___gcc_personality_v0 -} - -%inherit GCC_3.3.2 GCC_3.3.1 -GCC_3.3.2 { -} -%inherit GCC_3.3.4 GCC_3.3.2 -GCC_3.3.4 { - ___unorddf2 - ___unordsf2 -} - -%inherit GCC_3.4 GCC_3.3.4 -GCC_3.4 { - # bit scanning and counting built-ins - ___clzsi2 - ___clzdi2 - ___clzti2 - ___ctzsi2 - ___ctzdi2 - ___ctzti2 - ___popcountsi2 - ___popcountdi2 - ___popcountti2 - ___paritysi2 - ___paritydi2 - ___parityti2 -} - -%inherit GCC_3.4.2 GCC_3.4 -GCC_3.4.2 { - # Used to deal with trampoline initialization on some platforms - ___enable_execute_stack - ___trampoline_setup -} - -%inherit GCC_3.4.4 GCC_3.4.2 -GCC_3.4.4 { - # libgcc2 TImode arithmetic (for 64-bit targets). - ___absvti2 - ___addvti3 - ___mulvti3 - ___negvti2 - ___subvti3 -} - -%inherit GCC_4.0.0 GCC_3.4.4 -GCC_4.0.0 { - # libgcc2 __builtin_powi helpers. - ___powisf2 - ___powidf2 - ___powixf2 - ___powitf2 - - # c99 compliant complex arithmetic - ___divsc3 - ___divdc3 - ___divxc3 - ___divtc3 - ___mulsc3 - ___muldc3 - ___mulxc3 - ___multc3 -} - %inherit GCC_4.1.0 GCC_4.0.0 GCC_4.1.0 { - ___smulsi3_highpart - ___umulsi3_highpart -} - -%inherit GCC_4.2.0 GCC_4.1.0 -GCC_4.2.0 { - # unsigned-to-floating conversions - ___floatunsisf - ___floatunsidf - ___floatunsixf - ___floatunsitf - ___floatundidf - ___floatundisf - ___floatundixf - ___floatunditf - ___floatuntidf - ___floatuntisf - ___floatuntixf - ___floatuntitf - __Unwind_GetIPInfo -} - -%inherit GCC_4.3.0 GCC_4.2.0 -GCC_4.3.0 { - # byte swapping routines - ___bswapsi2 - ___bswapdi2 - ___emutls_get_address - ___emutls_register_common - ___ffssi2 - ___extendxftf2 - ___trunctfxf2 - - # fixed-point routines - ___addqq3 - ___addhq3 - ___addsq3 - ___adddq3 - ___addtq3 - ___adduqq3 - ___adduhq3 - ___addusq3 - ___addudq3 - ___addutq3 - ___addha3 - ___addsa3 - ___addda3 - ___addta3 - ___adduha3 - ___addusa3 - ___adduda3 - ___adduta3 - ___ssaddqq3 - ___ssaddhq3 - ___ssaddsq3 - ___ssadddq3 - ___ssaddtq3 - ___ssaddha3 - ___ssaddsa3 - ___ssaddda3 - ___ssaddta3 - ___usadduqq3 - ___usadduhq3 - ___usaddusq3 - ___usaddudq3 - ___usaddutq3 - ___usadduha3 - ___usaddusa3 - ___usadduda3 - ___usadduta3 - ___subqq3 - ___subhq3 - ___subsq3 - ___subdq3 - ___subtq3 - ___subuqq3 - ___subuhq3 - ___subusq3 - ___subudq3 - ___subutq3 - ___subha3 - ___subsa3 - ___subda3 - ___subta3 - ___subuha3 - ___subusa3 - ___subuda3 - ___subuta3 - ___sssubqq3 - ___sssubhq3 - ___sssubsq3 - ___sssubdq3 - ___sssubtq3 - ___sssubha3 - ___sssubsa3 - ___sssubda3 - ___sssubta3 - ___ussubuqq3 - ___ussubuhq3 - ___ussubusq3 - ___ussubudq3 - ___ussubutq3 - ___ussubuha3 - ___ussubusa3 - ___ussubuda3 - ___ussubuta3 - ___mulqq3 - ___mulhq3 - ___mulsq3 - ___muldq3 - ___multq3 - ___muluqq3 - ___muluhq3 - ___mulusq3 - ___muludq3 - ___mulutq3 - ___mulha3 - ___mulsa3 - ___mulda3 - ___multa3 - ___muluha3 - ___mulusa3 - ___muluda3 - ___muluta3 - ___ssmulqq3 - ___ssmulhq3 - ___ssmulsq3 - ___ssmuldq3 - ___ssmultq3 - ___ssmulha3 - ___ssmulsa3 - ___ssmulda3 - ___ssmulta3 - ___usmuluqq3 - ___usmuluhq3 - ___usmulusq3 - ___usmuludq3 - ___usmulutq3 - ___usmuluha3 - ___usmulusa3 - ___usmuluda3 - ___usmuluta3 - ___divqq3 - ___divhq3 - ___divsq3 - ___divdq3 - ___divtq3 - ___divha3 - ___divsa3 - ___divda3 - ___divta3 - ___udivuqq3 - ___udivuhq3 - ___udivusq3 - ___udivudq3 - ___udivutq3 - ___udivuha3 - ___udivusa3 - ___udivuda3 - ___udivuta3 - ___ssdivqq3 - ___ssdivhq3 - ___ssdivsq3 - ___ssdivdq3 - ___ssdivtq3 - ___ssdivha3 - ___ssdivsa3 - ___ssdivda3 - ___ssdivta3 - ___usdivuqq3 - ___usdivuhq3 - ___usdivusq3 - ___usdivudq3 - ___usdivutq3 - ___usdivuha3 - ___usdivusa3 - ___usdivuda3 - ___usdivuta3 - ___negqq2 - ___neghq2 - ___negsq2 - ___negdq2 - ___negtq2 - ___neguqq2 - ___neguhq2 - ___negusq2 - ___negudq2 - ___negutq2 - ___negha2 - ___negsa2 - ___negda2 - ___negta2 - ___neguha2 - ___negusa2 - ___neguda2 - ___neguta2 - ___ssnegqq2 - ___ssneghq2 - ___ssnegsq2 - ___ssnegdq2 - ___ssnegtq2 - ___ssnegha2 - ___ssnegsa2 - ___ssnegda2 - ___ssnegta2 - ___usneguqq2 - ___usneguhq2 - ___usnegusq2 - ___usnegudq2 - ___usnegutq2 - ___usneguha2 - ___usnegusa2 - ___usneguda2 - ___usneguta2 - ___ashlqq3 - ___ashlhq3 - ___ashlsq3 - ___ashldq3 - ___ashltq3 - ___ashluqq3 - ___ashluhq3 - ___ashlusq3 - ___ashludq3 - ___ashlutq3 - ___ashlha3 - ___ashlsa3 - ___ashlda3 - ___ashlta3 - ___ashluha3 - ___ashlusa3 - ___ashluda3 - ___ashluta3 - ___ashrqq3 - ___ashrhq3 - ___ashrsq3 - ___ashrdq3 - ___ashrtq3 - ___ashrha3 - ___ashrsa3 - ___ashrda3 - ___ashrta3 - ___lshruqq3 - ___lshruhq3 - ___lshrusq3 - ___lshrudq3 - ___lshrutq3 - ___lshruha3 - ___lshrusa3 - ___lshruda3 - ___lshruta3 - ___ssashlqq3 - ___ssashlhq3 - ___ssashlsq3 - ___ssashldq3 - ___ssashltq3 - ___ssashlha3 - ___ssashlsa3 - ___ssashlda3 - ___ssashlta3 - ___usashluqq3 - ___usashluhq3 - ___usashlusq3 - ___usashludq3 - ___usashlutq3 - ___usashluha3 - ___usashlusa3 - ___usashluda3 - ___usashluta3 - ___cmpqq2 - ___cmphq2 - ___cmpsq2 - ___cmpdq2 - ___cmptq2 - ___cmpuqq2 - ___cmpuhq2 - ___cmpusq2 - ___cmpudq2 - ___cmputq2 - ___cmpha2 - ___cmpsa2 - ___cmpda2 - ___cmpta2 - ___cmpuha2 - ___cmpusa2 - ___cmpuda2 - ___cmputa2 - ___fractqqhq2 - ___fractqqsq2 - ___fractqqdq2 - ___fractqqtq2 - ___fractqqha - ___fractqqsa - ___fractqqda - ___fractqqta - ___fractqquqq - ___fractqquhq - ___fractqqusq - ___fractqqudq - ___fractqqutq - ___fractqquha - ___fractqqusa - ___fractqquda - ___fractqquta - ___fractqqqi - ___fractqqhi - ___fractqqsi - ___fractqqdi - ___fractqqti - ___fractqqsf - ___fractqqdf - ___fracthqqq2 - ___fracthqsq2 - ___fracthqdq2 - ___fracthqtq2 - ___fracthqha - ___fracthqsa - ___fracthqda - ___fracthqta - ___fracthquqq - ___fracthquhq - ___fracthqusq - ___fracthqudq - ___fracthqutq - ___fracthquha - ___fracthqusa - ___fracthquda - ___fracthquta - ___fracthqqi - ___fracthqhi - ___fracthqsi - ___fracthqdi - ___fracthqti - ___fracthqsf - ___fracthqdf - ___fractsqqq2 - ___fractsqhq2 - ___fractsqdq2 - ___fractsqtq2 - ___fractsqha - ___fractsqsa - ___fractsqda - ___fractsqta - ___fractsquqq - ___fractsquhq - ___fractsqusq - ___fractsqudq - ___fractsqutq - ___fractsquha - ___fractsqusa - ___fractsquda - ___fractsquta - ___fractsqqi - ___fractsqhi - ___fractsqsi - ___fractsqdi - ___fractsqti - ___fractsqsf - ___fractsqdf - ___fractdqqq2 - ___fractdqhq2 - ___fractdqsq2 - ___fractdqtq2 - ___fractdqha - ___fractdqsa - ___fractdqda - ___fractdqta - ___fractdquqq - ___fractdquhq - ___fractdqusq - ___fractdqudq - ___fractdqutq - ___fractdquha - ___fractdqusa - ___fractdquda - ___fractdquta - ___fractdqqi - ___fractdqhi - ___fractdqsi - ___fractdqdi - ___fractdqti - ___fractdqsf - ___fractdqdf - ___fracttqqq2 - ___fracttqhq2 - ___fracttqsq2 - ___fracttqdq2 - ___fracttqha - ___fracttqsa - ___fracttqda - ___fracttqta - ___fracttquqq - ___fracttquhq - ___fracttqusq - ___fracttqudq - ___fracttqutq - ___fracttquha - ___fracttqusa - ___fracttquda - ___fracttquta - ___fracttqqi - ___fracttqhi - ___fracttqsi - ___fracttqdi - ___fracttqti - ___fracttqsf - ___fracttqdf - ___fracthaqq - ___fracthahq - ___fracthasq - ___fracthadq - ___fracthatq - ___fracthasa2 - ___fracthada2 - ___fracthata2 - ___fracthauqq - ___fracthauhq - ___fracthausq - ___fracthaudq - ___fracthautq - ___fracthauha - ___fracthausa - ___fracthauda - ___fracthauta - ___fracthaqi - ___fracthahi - ___fracthasi - ___fracthadi - ___fracthati - ___fracthasf - ___fracthadf - ___fractsaqq - ___fractsahq - ___fractsasq - ___fractsadq - ___fractsatq - ___fractsaha2 - ___fractsada2 - ___fractsata2 - ___fractsauqq - ___fractsauhq - ___fractsausq - ___fractsaudq - ___fractsautq - ___fractsauha - ___fractsausa - ___fractsauda - ___fractsauta - ___fractsaqi - ___fractsahi - ___fractsasi - ___fractsadi - ___fractsati - ___fractsasf - ___fractsadf - ___fractdaqq - ___fractdahq - ___fractdasq - ___fractdadq - ___fractdatq - ___fractdaha2 - ___fractdasa2 - ___fractdata2 - ___fractdauqq - ___fractdauhq - ___fractdausq - ___fractdaudq - ___fractdautq - ___fractdauha - ___fractdausa - ___fractdauda - ___fractdauta - ___fractdaqi - ___fractdahi - ___fractdasi - ___fractdadi - ___fractdati - ___fractdasf - ___fractdadf - ___fracttaqq - ___fracttahq - ___fracttasq - ___fracttadq - ___fracttatq - ___fracttaha2 - ___fracttasa2 - ___fracttada2 - ___fracttauqq - ___fracttauhq - ___fracttausq - ___fracttaudq - ___fracttautq - ___fracttauha - ___fracttausa - ___fracttauda - ___fracttauta - ___fracttaqi - ___fracttahi - ___fracttasi - ___fracttadi - ___fracttati - ___fracttasf - ___fracttadf - ___fractuqqqq - ___fractuqqhq - ___fractuqqsq - ___fractuqqdq - ___fractuqqtq - ___fractuqqha - ___fractuqqsa - ___fractuqqda - ___fractuqqta - ___fractuqquhq2 - ___fractuqqusq2 - ___fractuqqudq2 - ___fractuqqutq2 - ___fractuqquha - ___fractuqqusa - ___fractuqquda - ___fractuqquta - ___fractuqqqi - ___fractuqqhi - ___fractuqqsi - ___fractuqqdi - ___fractuqqti - ___fractuqqsf - ___fractuqqdf - ___fractuhqqq - ___fractuhqhq - ___fractuhqsq - ___fractuhqdq - ___fractuhqtq - ___fractuhqha - ___fractuhqsa - ___fractuhqda - ___fractuhqta - ___fractuhquqq2 - ___fractuhqusq2 - ___fractuhqudq2 - ___fractuhqutq2 - ___fractuhquha - ___fractuhqusa - ___fractuhquda - ___fractuhquta - ___fractuhqqi - ___fractuhqhi - ___fractuhqsi - ___fractuhqdi - ___fractuhqti - ___fractuhqsf - ___fractuhqdf - ___fractusqqq - ___fractusqhq - ___fractusqsq - ___fractusqdq - ___fractusqtq - ___fractusqha - ___fractusqsa - ___fractusqda - ___fractusqta - ___fractusquqq2 - ___fractusquhq2 - ___fractusqudq2 - ___fractusqutq2 - ___fractusquha - ___fractusqusa - ___fractusquda - ___fractusquta - ___fractusqqi - ___fractusqhi - ___fractusqsi - ___fractusqdi - ___fractusqti - ___fractusqsf - ___fractusqdf - ___fractudqqq - ___fractudqhq - ___fractudqsq - ___fractudqdq - ___fractudqtq - ___fractudqha - ___fractudqsa - ___fractudqda - ___fractudqta - ___fractudquqq2 - ___fractudquhq2 - ___fractudqusq2 - ___fractudqutq2 - ___fractudquha - ___fractudqusa - ___fractudquda - ___fractudquta - ___fractudqqi - ___fractudqhi - ___fractudqsi - ___fractudqdi - ___fractudqti - ___fractudqsf - ___fractudqdf - ___fractutqqq - ___fractutqhq - ___fractutqsq - ___fractutqdq - ___fractutqtq - ___fractutqha - ___fractutqsa - ___fractutqda - ___fractutqta - ___fractutquqq2 - ___fractutquhq2 - ___fractutqusq2 - ___fractutqudq2 - ___fractutquha - ___fractutqusa - ___fractutquda - ___fractutquta - ___fractutqqi - ___fractutqhi - ___fractutqsi - ___fractutqdi - ___fractutqti - ___fractutqsf - ___fractutqdf - ___fractuhaqq - ___fractuhahq - ___fractuhasq - ___fractuhadq - ___fractuhatq - ___fractuhaha - ___fractuhasa - ___fractuhada - ___fractuhata - ___fractuhauqq - ___fractuhauhq - ___fractuhausq - ___fractuhaudq - ___fractuhautq - ___fractuhausa2 - ___fractuhauda2 - ___fractuhauta2 - ___fractuhaqi - ___fractuhahi - ___fractuhasi - ___fractuhadi - ___fractuhati - ___fractuhasf - ___fractuhadf - ___fractusaqq - ___fractusahq - ___fractusasq - ___fractusadq - ___fractusatq - ___fractusaha - ___fractusasa - ___fractusada - ___fractusata - ___fractusauqq - ___fractusauhq - ___fractusausq - ___fractusaudq - ___fractusautq - ___fractusauha2 - ___fractusauda2 - ___fractusauta2 - ___fractusaqi - ___fractusahi - ___fractusasi - ___fractusadi - ___fractusati - ___fractusasf - ___fractusadf - ___fractudaqq - ___fractudahq - ___fractudasq - ___fractudadq - ___fractudatq - ___fractudaha - ___fractudasa - ___fractudada - ___fractudata - ___fractudauqq - ___fractudauhq - ___fractudausq - ___fractudaudq - ___fractudautq - ___fractudauha2 - ___fractudausa2 - ___fractudauta2 - ___fractudaqi - ___fractudahi - ___fractudasi - ___fractudadi - ___fractudati - ___fractudasf - ___fractudadf - ___fractutaqq - ___fractutahq - ___fractutasq - ___fractutadq - ___fractutatq - ___fractutaha - ___fractutasa - ___fractutada - ___fractutata - ___fractutauqq - ___fractutauhq - ___fractutausq - ___fractutaudq - ___fractutautq - ___fractutauha2 - ___fractutausa2 - ___fractutauda2 - ___fractutaqi - ___fractutahi - ___fractutasi - ___fractutadi - ___fractutati - ___fractutasf - ___fractutadf - ___fractqiqq - ___fractqihq - ___fractqisq - ___fractqidq - ___fractqitq - ___fractqiha - ___fractqisa - ___fractqida - ___fractqita - ___fractqiuqq - ___fractqiuhq - ___fractqiusq - ___fractqiudq - ___fractqiutq - ___fractqiuha - ___fractqiusa - ___fractqiuda - ___fractqiuta - ___fracthiqq - ___fracthihq - ___fracthisq - ___fracthidq - ___fracthitq - ___fracthiha - ___fracthisa - ___fracthida - ___fracthita - ___fracthiuqq - ___fracthiuhq - ___fracthiusq - ___fracthiudq - ___fracthiutq - ___fracthiuha - ___fracthiusa - ___fracthiuda - ___fracthiuta - ___fractsiqq - ___fractsihq - ___fractsisq - ___fractsidq - ___fractsitq - ___fractsiha - ___fractsisa - ___fractsida - ___fractsita - ___fractsiuqq - ___fractsiuhq - ___fractsiusq - ___fractsiudq - ___fractsiutq - ___fractsiuha - ___fractsiusa - ___fractsiuda - ___fractsiuta - ___fractdiqq - ___fractdihq - ___fractdisq - ___fractdidq - ___fractditq - ___fractdiha - ___fractdisa - ___fractdida - ___fractdita - ___fractdiuqq - ___fractdiuhq - ___fractdiusq - ___fractdiudq - ___fractdiutq - ___fractdiuha - ___fractdiusa - ___fractdiuda - ___fractdiuta - ___fracttiqq - ___fracttihq - ___fracttisq - ___fracttidq - ___fracttitq - ___fracttiha - ___fracttisa - ___fracttida - ___fracttita - ___fracttiuqq - ___fracttiuhq - ___fracttiusq - ___fracttiudq - ___fracttiutq - ___fracttiuha - ___fracttiusa - ___fracttiuda - ___fracttiuta - ___fractsfqq - ___fractsfhq - ___fractsfsq - ___fractsfdq - ___fractsftq - ___fractsfha - ___fractsfsa - ___fractsfda - ___fractsfta - ___fractsfuqq - ___fractsfuhq - ___fractsfusq - ___fractsfudq - ___fractsfutq - ___fractsfuha - ___fractsfusa - ___fractsfuda - ___fractsfuta - ___fractdfqq - ___fractdfhq - ___fractdfsq - ___fractdfdq - ___fractdftq - ___fractdfha - ___fractdfsa - ___fractdfda - ___fractdfta - ___fractdfuqq - ___fractdfuhq - ___fractdfusq - ___fractdfudq - ___fractdfutq - ___fractdfuha - ___fractdfusa - ___fractdfuda - ___fractdfuta - ___satfractqqhq2 - ___satfractqqsq2 - ___satfractqqdq2 - ___satfractqqtq2 - ___satfractqqha - ___satfractqqsa - ___satfractqqda - ___satfractqqta - ___satfractqquqq - ___satfractqquhq - ___satfractqqusq - ___satfractqqudq - ___satfractqqutq - ___satfractqquha - ___satfractqqusa - ___satfractqquda - ___satfractqquta - ___satfracthqqq2 - ___satfracthqsq2 - ___satfracthqdq2 - ___satfracthqtq2 - ___satfracthqha - ___satfracthqsa - ___satfracthqda - ___satfracthqta - ___satfracthquqq - ___satfracthquhq - ___satfracthqusq - ___satfracthqudq - ___satfracthqutq - ___satfracthquha - ___satfracthqusa - ___satfracthquda - ___satfracthquta - ___satfractsqqq2 - ___satfractsqhq2 - ___satfractsqdq2 - ___satfractsqtq2 - ___satfractsqha - ___satfractsqsa - ___satfractsqda - ___satfractsqta - ___satfractsquqq - ___satfractsquhq - ___satfractsqusq - ___satfractsqudq - ___satfractsqutq - ___satfractsquha - ___satfractsqusa - ___satfractsquda - ___satfractsquta - ___satfractdqqq2 - ___satfractdqhq2 - ___satfractdqsq2 - ___satfractdqtq2 - ___satfractdqha - ___satfractdqsa - ___satfractdqda - ___satfractdqta - ___satfractdquqq - ___satfractdquhq - ___satfractdqusq - ___satfractdqudq - ___satfractdqutq - ___satfractdquha - ___satfractdqusa - ___satfractdquda - ___satfractdquta - ___satfracttqqq2 - ___satfracttqhq2 - ___satfracttqsq2 - ___satfracttqdq2 - ___satfracttqha - ___satfracttqsa - ___satfracttqda - ___satfracttqta - ___satfracttquqq - ___satfracttquhq - ___satfracttqusq - ___satfracttqudq - ___satfracttqutq - ___satfracttquha - ___satfracttqusa - ___satfracttquda - ___satfracttquta - ___satfracthaqq - ___satfracthahq - ___satfracthasq - ___satfracthadq - ___satfracthatq - ___satfracthasa2 - ___satfracthada2 - ___satfracthata2 - ___satfracthauqq - ___satfracthauhq - ___satfracthausq - ___satfracthaudq - ___satfracthautq - ___satfracthauha - ___satfracthausa - ___satfracthauda - ___satfracthauta - ___satfractsaqq - ___satfractsahq - ___satfractsasq - ___satfractsadq - ___satfractsatq - ___satfractsaha2 - ___satfractsada2 - ___satfractsata2 - ___satfractsauqq - ___satfractsauhq - ___satfractsausq - ___satfractsaudq - ___satfractsautq - ___satfractsauha - ___satfractsausa - ___satfractsauda - ___satfractsauta - ___satfractdaqq - ___satfractdahq - ___satfractdasq - ___satfractdadq - ___satfractdatq - ___satfractdaha2 - ___satfractdasa2 - ___satfractdata2 - ___satfractdauqq - ___satfractdauhq - ___satfractdausq - ___satfractdaudq - ___satfractdautq - ___satfractdauha - ___satfractdausa - ___satfractdauda - ___satfractdauta - ___satfracttaqq - ___satfracttahq - ___satfracttasq - ___satfracttadq - ___satfracttatq - ___satfracttaha2 - ___satfracttasa2 - ___satfracttada2 - ___satfracttauqq - ___satfracttauhq - ___satfracttausq - ___satfracttaudq - ___satfracttautq - ___satfracttauha - ___satfracttausa - ___satfracttauda - ___satfracttauta - ___satfractuqqqq - ___satfractuqqhq - ___satfractuqqsq - ___satfractuqqdq - ___satfractuqqtq - ___satfractuqqha - ___satfractuqqsa - ___satfractuqqda - ___satfractuqqta - ___satfractuqquhq2 - ___satfractuqqusq2 - ___satfractuqqudq2 - ___satfractuqqutq2 - ___satfractuqquha - ___satfractuqqusa - ___satfractuqquda - ___satfractuqquta - ___satfractuhqqq - ___satfractuhqhq - ___satfractuhqsq - ___satfractuhqdq - ___satfractuhqtq - ___satfractuhqha - ___satfractuhqsa - ___satfractuhqda - ___satfractuhqta - ___satfractuhquqq2 - ___satfractuhqusq2 - ___satfractuhqudq2 - ___satfractuhqutq2 - ___satfractuhquha - ___satfractuhqusa - ___satfractuhquda - ___satfractuhquta - ___satfractusqqq - ___satfractusqhq - ___satfractusqsq - ___satfractusqdq - ___satfractusqtq - ___satfractusqha - ___satfractusqsa - ___satfractusqda - ___satfractusqta - ___satfractusquqq2 - ___satfractusquhq2 - ___satfractusqudq2 - ___satfractusqutq2 - ___satfractusquha - ___satfractusqusa - ___satfractusquda - ___satfractusquta - ___satfractudqqq - ___satfractudqhq - ___satfractudqsq - ___satfractudqdq - ___satfractudqtq - ___satfractudqha - ___satfractudqsa - ___satfractudqda - ___satfractudqta - ___satfractudquqq2 - ___satfractudquhq2 - ___satfractudqusq2 - ___satfractudqutq2 - ___satfractudquha - ___satfractudqusa - ___satfractudquda - ___satfractudquta - ___satfractutqqq - ___satfractutqhq - ___satfractutqsq - ___satfractutqdq - ___satfractutqtq - ___satfractutqha - ___satfractutqsa - ___satfractutqda - ___satfractutqta - ___satfractutquqq2 - ___satfractutquhq2 - ___satfractutqusq2 - ___satfractutqudq2 - ___satfractutquha - ___satfractutqusa - ___satfractutquda - ___satfractutquta - ___satfractuhaqq - ___satfractuhahq - ___satfractuhasq - ___satfractuhadq - ___satfractuhatq - ___satfractuhaha - ___satfractuhasa - ___satfractuhada - ___satfractuhata - ___satfractuhauqq - ___satfractuhauhq - ___satfractuhausq - ___satfractuhaudq - ___satfractuhautq - ___satfractuhausa2 - ___satfractuhauda2 - ___satfractuhauta2 - ___satfractusaqq - ___satfractusahq - ___satfractusasq - ___satfractusadq - ___satfractusatq - ___satfractusaha - ___satfractusasa - ___satfractusada - ___satfractusata - ___satfractusauqq - ___satfractusauhq - ___satfractusausq - ___satfractusaudq - ___satfractusautq - ___satfractusauha2 - ___satfractusauda2 - ___satfractusauta2 - ___satfractudaqq - ___satfractudahq - ___satfractudasq - ___satfractudadq - ___satfractudatq - ___satfractudaha - ___satfractudasa - ___satfractudada - ___satfractudata - ___satfractudauqq - ___satfractudauhq - ___satfractudausq - ___satfractudaudq - ___satfractudautq - ___satfractudauha2 - ___satfractudausa2 - ___satfractudauta2 - ___satfractutaqq - ___satfractutahq - ___satfractutasq - ___satfractutadq - ___satfractutatq - ___satfractutaha - ___satfractutasa - ___satfractutada - ___satfractutata - ___satfractutauqq - ___satfractutauhq - ___satfractutausq - ___satfractutaudq - ___satfractutautq - ___satfractutauha2 - ___satfractutausa2 - ___satfractutauda2 - ___satfractqiqq - ___satfractqihq - ___satfractqisq - ___satfractqidq - ___satfractqitq - ___satfractqiha - ___satfractqisa - ___satfractqida - ___satfractqita - ___satfractqiuqq - ___satfractqiuhq - ___satfractqiusq - ___satfractqiudq - ___satfractqiutq - ___satfractqiuha - ___satfractqiusa - ___satfractqiuda - ___satfractqiuta - ___satfracthiqq - ___satfracthihq - ___satfracthisq - ___satfracthidq - ___satfracthitq - ___satfracthiha - ___satfracthisa - ___satfracthida - ___satfracthita - ___satfracthiuqq - ___satfracthiuhq - ___satfracthiusq - ___satfracthiudq - ___satfracthiutq - ___satfracthiuha - ___satfracthiusa - ___satfracthiuda - ___satfracthiuta - ___satfractsiqq - ___satfractsihq - ___satfractsisq - ___satfractsidq - ___satfractsitq - ___satfractsiha - ___satfractsisa - ___satfractsida - ___satfractsita - ___satfractsiuqq - ___satfractsiuhq - ___satfractsiusq - ___satfractsiudq - ___satfractsiutq - ___satfractsiuha - ___satfractsiusa - ___satfractsiuda - ___satfractsiuta - ___satfractdiqq - ___satfractdihq - ___satfractdisq - ___satfractdidq - ___satfractditq - ___satfractdiha - ___satfractdisa - ___satfractdida - ___satfractdita - ___satfractdiuqq - ___satfractdiuhq - ___satfractdiusq - ___satfractdiudq - ___satfractdiutq - ___satfractdiuha - ___satfractdiusa - ___satfractdiuda - ___satfractdiuta - ___satfracttiqq - ___satfracttihq - ___satfracttisq - ___satfracttidq - ___satfracttitq - ___satfracttiha - ___satfracttisa - ___satfracttida - ___satfracttita - ___satfracttiuqq - ___satfracttiuhq - ___satfracttiusq - ___satfracttiudq - ___satfracttiutq - ___satfracttiuha - ___satfracttiusa - ___satfracttiuda - ___satfracttiuta - ___satfractsfqq - ___satfractsfhq - ___satfractsfsq - ___satfractsfdq - ___satfractsftq - ___satfractsfha - ___satfractsfsa - ___satfractsfda - ___satfractsfta - ___satfractsfuqq - ___satfractsfuhq - ___satfractsfusq - ___satfractsfudq - ___satfractsfutq - ___satfractsfuha - ___satfractsfusa - ___satfractsfuda - ___satfractsfuta - ___satfractdfqq - ___satfractdfhq - ___satfractdfsq - ___satfractdfdq - ___satfractdftq - ___satfractdfha - ___satfractdfsa - ___satfractdfda - ___satfractdfta - ___satfractdfuqq - ___satfractdfuhq - ___satfractdfusq - ___satfractdfudq - ___satfractdfutq - ___satfractdfuha - ___satfractdfusa - ___satfractdfuda - ___satfractdfuta - ___fractunsqqqi - ___fractunsqqhi - ___fractunsqqsi - ___fractunsqqdi - ___fractunsqqti - ___fractunshqqi - ___fractunshqhi - ___fractunshqsi - ___fractunshqdi - ___fractunshqti - ___fractunssqqi - ___fractunssqhi - ___fractunssqsi - ___fractunssqdi - ___fractunssqti - ___fractunsdqqi - ___fractunsdqhi - ___fractunsdqsi - ___fractunsdqdi - ___fractunsdqti - ___fractunstqqi - ___fractunstqhi - ___fractunstqsi - ___fractunstqdi - ___fractunstqti - ___fractunshaqi - ___fractunshahi - ___fractunshasi - ___fractunshadi - ___fractunshati - ___fractunssaqi - ___fractunssahi - ___fractunssasi - ___fractunssadi - ___fractunssati - ___fractunsdaqi - ___fractunsdahi - ___fractunsdasi - ___fractunsdadi - ___fractunsdati - ___fractunstaqi - ___fractunstahi - ___fractunstasi - ___fractunstadi - ___fractunstati - ___fractunsuqqqi - ___fractunsuqqhi - ___fractunsuqqsi - ___fractunsuqqdi - ___fractunsuqqti - ___fractunsuhqqi - ___fractunsuhqhi - ___fractunsuhqsi - ___fractunsuhqdi - ___fractunsuhqti - ___fractunsusqqi - ___fractunsusqhi - ___fractunsusqsi - ___fractunsusqdi - ___fractunsusqti - ___fractunsudqqi - ___fractunsudqhi - ___fractunsudqsi - ___fractunsudqdi - ___fractunsudqti - ___fractunsutqqi - ___fractunsutqhi - ___fractunsutqsi - ___fractunsutqdi - ___fractunsutqti - ___fractunsuhaqi - ___fractunsuhahi - ___fractunsuhasi - ___fractunsuhadi - ___fractunsuhati - ___fractunsusaqi - ___fractunsusahi - ___fractunsusasi - ___fractunsusadi - ___fractunsusati - ___fractunsudaqi - ___fractunsudahi - ___fractunsudasi - ___fractunsudadi - ___fractunsudati - ___fractunsutaqi - ___fractunsutahi - ___fractunsutasi - ___fractunsutadi - ___fractunsutati - ___fractunsqiqq - ___fractunsqihq - ___fractunsqisq - ___fractunsqidq - ___fractunsqitq - ___fractunsqiha - ___fractunsqisa - ___fractunsqida - ___fractunsqita - ___fractunsqiuqq - ___fractunsqiuhq - ___fractunsqiusq - ___fractunsqiudq - ___fractunsqiutq - ___fractunsqiuha - ___fractunsqiusa - ___fractunsqiuda - ___fractunsqiuta - ___fractunshiqq - ___fractunshihq - ___fractunshisq - ___fractunshidq - ___fractunshitq - ___fractunshiha - ___fractunshisa - ___fractunshida - ___fractunshita - ___fractunshiuqq - ___fractunshiuhq - ___fractunshiusq - ___fractunshiudq - ___fractunshiutq - ___fractunshiuha - ___fractunshiusa - ___fractunshiuda - ___fractunshiuta - ___fractunssiqq - ___fractunssihq - ___fractunssisq - ___fractunssidq - ___fractunssitq - ___fractunssiha - ___fractunssisa - ___fractunssida - ___fractunssita - ___fractunssiuqq - ___fractunssiuhq - ___fractunssiusq - ___fractunssiudq - ___fractunssiutq - ___fractunssiuha - ___fractunssiusa - ___fractunssiuda - ___fractunssiuta - ___fractunsdiqq - ___fractunsdihq - ___fractunsdisq - ___fractunsdidq - ___fractunsditq - ___fractunsdiha - ___fractunsdisa - ___fractunsdida - ___fractunsdita - ___fractunsdiuqq - ___fractunsdiuhq - ___fractunsdiusq - ___fractunsdiudq - ___fractunsdiutq - ___fractunsdiuha - ___fractunsdiusa - ___fractunsdiuda - ___fractunsdiuta - ___fractunstiqq - ___fractunstihq - ___fractunstisq - ___fractunstidq - ___fractunstitq - ___fractunstiha - ___fractunstisa - ___fractunstida - ___fractunstita - ___fractunstiuqq - ___fractunstiuhq - ___fractunstiusq - ___fractunstiudq - ___fractunstiutq - ___fractunstiuha - ___fractunstiusa - ___fractunstiuda - ___fractunstiuta - ___satfractunsqiqq - ___satfractunsqihq - ___satfractunsqisq - ___satfractunsqidq - ___satfractunsqitq - ___satfractunsqiha - ___satfractunsqisa - ___satfractunsqida - ___satfractunsqita - ___satfractunsqiuqq - ___satfractunsqiuhq - ___satfractunsqiusq - ___satfractunsqiudq - ___satfractunsqiutq - ___satfractunsqiuha - ___satfractunsqiusa - ___satfractunsqiuda - ___satfractunsqiuta - ___satfractunshiqq - ___satfractunshihq - ___satfractunshisq - ___satfractunshidq - ___satfractunshitq - ___satfractunshiha - ___satfractunshisa - ___satfractunshida - ___satfractunshita - ___satfractunshiuqq - ___satfractunshiuhq - ___satfractunshiusq - ___satfractunshiudq - ___satfractunshiutq - ___satfractunshiuha - ___satfractunshiusa - ___satfractunshiuda - ___satfractunshiuta - ___satfractunssiqq - ___satfractunssihq - ___satfractunssisq - ___satfractunssidq - ___satfractunssitq - ___satfractunssiha - ___satfractunssisa - ___satfractunssida - ___satfractunssita - ___satfractunssiuqq - ___satfractunssiuhq - ___satfractunssiusq - ___satfractunssiudq - ___satfractunssiutq - ___satfractunssiuha - ___satfractunssiusa - ___satfractunssiuda - ___satfractunssiuta - ___satfractunsdiqq - ___satfractunsdihq - ___satfractunsdisq - ___satfractunsdidq - ___satfractunsditq - ___satfractunsdiha - ___satfractunsdisa - ___satfractunsdida - ___satfractunsdita - ___satfractunsdiuqq - ___satfractunsdiuhq - ___satfractunsdiusq - ___satfractunsdiudq - ___satfractunsdiutq - ___satfractunsdiuha - ___satfractunsdiusa - ___satfractunsdiuda - ___satfractunsdiuta - ___satfractunstiqq - ___satfractunstihq - ___satfractunstisq - ___satfractunstidq - ___satfractunstitq - ___satfractunstiha - ___satfractunstisa - ___satfractunstida - ___satfractunstita - ___satfractunstiuqq - ___satfractunstiuhq - ___satfractunstiusq - ___satfractunstiudq - ___satfractunstiutq - ___satfractunstiuha - ___satfractunstiusa - ___satfractunstiuda - ___satfractunstiuta -} - -%inherit GCC_4.4.0 GCC_4.3.0 -GCC_4.4.0 { - ___sync_fetch_and_add_1 - ___sync_fetch_and_sub_1 - ___sync_fetch_and_or_1 - ___sync_fetch_and_and_1 - ___sync_fetch_and_xor_1 - ___sync_fetch_and_nand_1 - ___sync_add_and_fetch_1 - ___sync_sub_and_fetch_1 - ___sync_or_and_fetch_1 - ___sync_and_and_fetch_1 - ___sync_xor_and_fetch_1 - ___sync_nand_and_fetch_1 - ___sync_bool_compare_and_swap_1 - ___sync_val_compare_and_swap_1 - ___sync_lock_test_and_set_1 - - ___sync_fetch_and_add_2 - ___sync_fetch_and_sub_2 - ___sync_fetch_and_or_2 - ___sync_fetch_and_and_2 - ___sync_fetch_and_xor_2 - ___sync_fetch_and_nand_2 - ___sync_add_and_fetch_2 - ___sync_sub_and_fetch_2 - ___sync_or_and_fetch_2 - ___sync_and_and_fetch_2 - ___sync_xor_and_fetch_2 - ___sync_nand_and_fetch_2 - ___sync_bool_compare_and_swap_2 - ___sync_val_compare_and_swap_2 - ___sync_lock_test_and_set_2 - - ___sync_fetch_and_add_4 - ___sync_fetch_and_sub_4 - ___sync_fetch_and_or_4 - ___sync_fetch_and_and_4 - ___sync_fetch_and_xor_4 - ___sync_fetch_and_nand_4 - ___sync_add_and_fetch_4 - ___sync_sub_and_fetch_4 - ___sync_or_and_fetch_4 - ___sync_and_and_fetch_4 - ___sync_xor_and_fetch_4 - ___sync_nand_and_fetch_4 - ___sync_bool_compare_and_swap_4 - ___sync_val_compare_and_swap_4 - ___sync_lock_test_and_set_4 - - ___sync_fetch_and_add_8 - ___sync_fetch_and_sub_8 - ___sync_fetch_and_or_8 - ___sync_fetch_and_and_8 - ___sync_fetch_and_xor_8 - ___sync_fetch_and_nand_8 - ___sync_add_and_fetch_8 - ___sync_sub_and_fetch_8 - ___sync_or_and_fetch_8 - ___sync_and_and_fetch_8 - ___sync_xor_and_fetch_8 - ___sync_nand_and_fetch_8 - ___sync_bool_compare_and_swap_8 - ___sync_val_compare_and_swap_8 - ___sync_lock_test_and_set_8 - - ___sync_fetch_and_add_16 - ___sync_fetch_and_sub_16 - ___sync_fetch_and_or_16 - ___sync_fetch_and_and_16 - ___sync_fetch_and_xor_16 - ___sync_fetch_and_nand_16 - ___sync_add_and_fetch_16 - ___sync_sub_and_fetch_16 - ___sync_or_and_fetch_16 - ___sync_and_and_fetch_16 - ___sync_xor_and_fetch_16 - ___sync_nand_and_fetch_16 - ___sync_bool_compare_and_swap_16 - ___sync_val_compare_and_swap_16 - ___sync_lock_test_and_set_16 - - ___sync_synchronize -} - -%inherit GCC_4.5.0 GCC_4.4.0 -GCC_4.5.0 { - ___unordxf2 - ___unordtf2 + __smulsi3_highpart + __umulsi3_highpart } diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h index 77b7c23c70..9412c7652b 100644 --- a/libgcc/config/bfin/linux-unwind.h +++ b/libgcc/config/bfin/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Blackfin. - Copyright (C) 2007-2016 Free Software Foundation, Inc. + Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/bfin/t-linux b/libgcc/config/bfin/t-linux index 1c42e482b8..889815731f 100644 --- a/libgcc/config/bfin/t-linux +++ b/libgcc/config/bfin/t-linux @@ -1 +1,2 @@ -SHLIB_MAPFILES = $(srcdir)/config/bfin/libgcc-glibc.ver +SHLIB_MAPFILES += $(srcdir)/config/bfin/libgcc-glibc.ver +SHLIB_MKMAP_OPTS = -v skip_underscore=1 diff --git a/libgcc/config/c6x/c6x-abi.h b/libgcc/config/c6x/c6x-abi.h index 5f0029e2b6..98ba8939c2 100644 --- a/libgcc/config/c6x/c6x-abi.h +++ b/libgcc/config/c6x/c6x-abi.h @@ -1,5 +1,5 @@ /* Header file for C6X ABI versions of libgcc functions. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Bernd Schmidt <bernds@codesourcery.com> This file is part of GCC. diff --git a/libgcc/config/c6x/crti.S b/libgcc/config/c6x/crti.S index d761d08adb..eb7fcba194 100644 --- a/libgcc/config/c6x/crti.S +++ b/libgcc/config/c6x/crti.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2016 Free Software Foundation, Inc. +/* Copyright (C) 2010-2017 Free Software Foundation, Inc. Contributed by Bernd Schmidt <bernds@codesourcery.com>. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/c6x/crtn.S b/libgcc/config/c6x/crtn.S index 191b0057dd..ac2b20dcfe 100644 --- a/libgcc/config/c6x/crtn.S +++ b/libgcc/config/c6x/crtn.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2016 Free Software Foundation, Inc. +/* Copyright (C) 2010-2017 Free Software Foundation, Inc. Contributed by Bernd Schmidt <bernds@codesourcery.com>. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/c6x/eqd.c b/libgcc/config/c6x/eqd.c index dcaaf9e1ed..258344624e 100644 --- a/libgcc/config/c6x/eqd.c +++ b/libgcc/config/c6x/eqd.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a == b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/eqf.c b/libgcc/config/c6x/eqf.c index 9c94564173..72f2e4f2f7 100644 --- a/libgcc/config/c6x/eqf.c +++ b/libgcc/config/c6x/eqf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a == b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/ged.c b/libgcc/config/c6x/ged.c index 6d96af98cf..5817e1873b 100644 --- a/libgcc/config/c6x/ged.c +++ b/libgcc/config/c6x/ged.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a >= b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/gef.c b/libgcc/config/c6x/gef.c index 6a5a4675dc..1175612235 100644 --- a/libgcc/config/c6x/gef.c +++ b/libgcc/config/c6x/gef.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a >= b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/gtd.c b/libgcc/config/c6x/gtd.c index 84e08dbd39..c711b37b8f 100644 --- a/libgcc/config/c6x/gtd.c +++ b/libgcc/config/c6x/gtd.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a > b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/gtf.c b/libgcc/config/c6x/gtf.c index 0edba243ff..828a7f6f4f 100644 --- a/libgcc/config/c6x/gtf.c +++ b/libgcc/config/c6x/gtf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a > b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/led.c b/libgcc/config/c6x/led.c index f303d01dcb..4fdcd13874 100644 --- a/libgcc/config/c6x/led.c +++ b/libgcc/config/c6x/led.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a <= b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/lef.c b/libgcc/config/c6x/lef.c index f61a5e379d..b4fbdfa7ae 100644 --- a/libgcc/config/c6x/lef.c +++ b/libgcc/config/c6x/lef.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a <= b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/lib1funcs.S b/libgcc/config/c6x/lib1funcs.S index 88720ea6d8..257060b217 100644 --- a/libgcc/config/c6x/lib1funcs.S +++ b/libgcc/config/c6x/lib1funcs.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2016 Free Software Foundation, Inc. +/* Copyright (C) 2010-2017 Free Software Foundation, Inc. Contributed by Bernd Schmidt <bernds@codesourcery.com>. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/c6x/libgcc-eabi.ver b/libgcc/config/c6x/libgcc-eabi.ver index bd81557dcf..fa3cc59a7a 100644 --- a/libgcc/config/c6x/libgcc-eabi.ver +++ b/libgcc/config/c6x/libgcc-eabi.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/c6x/ltd.c b/libgcc/config/c6x/ltd.c index d70dd61a2d..f3c25d489b 100644 --- a/libgcc/config/c6x/ltd.c +++ b/libgcc/config/c6x/ltd.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a < b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/ltf.c b/libgcc/config/c6x/ltf.c index f552e4f99a..a679a6e316 100644 --- a/libgcc/config/c6x/ltf.c +++ b/libgcc/config/c6x/ltf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a < b, 0 otherwise. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/config/c6x/pr-support.c b/libgcc/config/c6x/pr-support.c index 695afb2793..f1ab7ad2f7 100644 --- a/libgcc/config/c6x/pr-support.c +++ b/libgcc/config/c6x/pr-support.c @@ -1,5 +1,5 @@ /* C6X ABI compliant unwinding routines - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -449,7 +449,7 @@ __gnu_unwind_execute (_Unwind_Context * context, __gnu_unwind_state * uws) if ((op & 0xf0) == 0xe0) { - /* B3 = reg. RETURN case alreadh handled above. */ + /* B3 = reg. RETURN case already handled above. */ int regno = unwind_frame_regs[op & 0xf]; _Unwind_VRS_Get (context, _UVRSC_CORE, regno, _UVRSD_UINT32, ®); diff --git a/libgcc/config/c6x/sfp-machine.h b/libgcc/config/c6x/sfp-machine.h index 6a78fc885a..77b6bf18be 100644 --- a/libgcc/config/c6x/sfp-machine.h +++ b/libgcc/config/c6x/sfp-machine.h @@ -1,5 +1,5 @@ /* Soft-FP definitions for TI C6X. - Copyright (C) 2010-2016 Free Software Foundation, Inc. + Copyright (C) 2010-2017 Free Software Foundation, Inc. This files is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/libgcc/config/c6x/unwind-c6x.c b/libgcc/config/c6x/unwind-c6x.c index cbb55dae51..960a45a574 100644 --- a/libgcc/config/c6x/unwind-c6x.c +++ b/libgcc/config/c6x/unwind-c6x.c @@ -1,5 +1,5 @@ /* C6X EABI compliant unwinding routines. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/c6x/unwind-c6x.h b/libgcc/config/c6x/unwind-c6x.h index c5903309d7..24dab50b24 100644 --- a/libgcc/config/c6x/unwind-c6x.h +++ b/libgcc/config/c6x/unwind-c6x.h @@ -1,5 +1,5 @@ /* Header file for the C6X EABI unwinder - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/cr16/crti.S b/libgcc/config/cr16/crti.S index 2a7f651133..2c9c4926f4 100644 --- a/libgcc/config/cr16/crti.S +++ b/libgcc/config/cr16/crti.S @@ -1,6 +1,6 @@ # Specialized code needed to support construction and destruction of # file-scope objects in C++ and Java code, and to support exception handling. -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by KPIT Cummins Infosystems Limited. # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/cr16/crtlibid.S b/libgcc/config/cr16/crtlibid.S index 347662f746..bb08516cdd 100644 --- a/libgcc/config/cr16/crtlibid.S +++ b/libgcc/config/cr16/crtlibid.S @@ -1,6 +1,6 @@ # Provide a weak definition of the library ID, for the benefit of certain # configure scripts. -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by KPIT Cummins Infosystems Limited. # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/cr16/crtn.S b/libgcc/config/cr16/crtn.S index 4ad6816a27..8359f26ec7 100644 --- a/libgcc/config/cr16/crtn.S +++ b/libgcc/config/cr16/crtn.S @@ -1,6 +1,6 @@ # Specialized code needed to support construction and destruction of # file-scope objects in C++ and Java code, and to support exception handling. -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by KPIT Cummins Infosystems Limited. # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/cr16/divmodhi3.c b/libgcc/config/cr16/divmodhi3.c index e38c5d3ab3..dc8df3a5ea 100644 --- a/libgcc/config/cr16/divmodhi3.c +++ b/libgcc/config/cr16/divmodhi3.c @@ -1,5 +1,5 @@ /* Libgcc Target specific implementation - Emulating div and mod. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by KPIT Cummins Infosystems Limited. This file is part of GCC. diff --git a/libgcc/config/cr16/lib1funcs.S b/libgcc/config/cr16/lib1funcs.S index 5e1ac95284..478b687a4b 100644 --- a/libgcc/config/cr16/lib1funcs.S +++ b/libgcc/config/cr16/lib1funcs.S @@ -1,5 +1,5 @@ /* Libgcc Target specific implementation. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by KPIT Cummins Infosystems Limited. This file is part of GCC. diff --git a/libgcc/config/cr16/t-cr16 b/libgcc/config/cr16/t-cr16 index d234257f45..f5d52fdef5 100644 --- a/libgcc/config/cr16/t-cr16 +++ b/libgcc/config/cr16/t-cr16 @@ -1,5 +1,5 @@ # Makefile fragment for building LIBGCC for the Renesas CR16 target. -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/cr16/t-crtlibid b/libgcc/config/cr16/t-crtlibid index cd065eaddd..14e82e820c 100644 --- a/libgcc/config/cr16/t-crtlibid +++ b/libgcc/config/cr16/t-crtlibid @@ -1,5 +1,5 @@ # Makefile fragment for building LIBGCC for the Renesas CR16 target. -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/cr16/unwind-cr16.c b/libgcc/config/cr16/unwind-cr16.c index 59c553da44..1a5ca7903f 100644 --- a/libgcc/config/cr16/unwind-cr16.c +++ b/libgcc/config/cr16/unwind-cr16.c @@ -1,5 +1,5 @@ /* DWARF2 exception handling and frame unwind runtime interface routines. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/cr16/unwind-dw2.h b/libgcc/config/cr16/unwind-dw2.h index a0186a996f..df048e4541 100644 --- a/libgcc/config/cr16/unwind-dw2.h +++ b/libgcc/config/cr16/unwind-dw2.h @@ -1,5 +1,5 @@ /* DWARF2 frame unwind data structure. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/cris/arit.c b/libgcc/config/cris/arit.c index 14393a786a..55f97b96ea 100644 --- a/libgcc/config/cris/arit.c +++ b/libgcc/config/cris/arit.c @@ -2,7 +2,7 @@ Contributed by Axis Communications. Written by Hans-Peter Nilsson <hp@axis.se>, c:a 1992. - Copyright (C) 1998-2016 Free Software Foundation, Inc. + Copyright (C) 1998-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/cris/mulsi3.S b/libgcc/config/cris/mulsi3.S index 6e6b9be357..fbb705f382 100644 --- a/libgcc/config/cris/mulsi3.S +++ b/libgcc/config/cris/mulsi3.S @@ -1,4 +1,4 @@ -;; Copyright (C) 2001-2016 Free Software Foundation, Inc. +;; Copyright (C) 2001-2017 Free Software Foundation, Inc. ;; ;; This file is part of GCC. ;; diff --git a/libgcc/config/cris/sfp-machine.h b/libgcc/config/cris/sfp-machine.h index 9ea38c88de..db8cba404e 100644 --- a/libgcc/config/cris/sfp-machine.h +++ b/libgcc/config/cris/sfp-machine.h @@ -1,5 +1,5 @@ /* Soft-FP definitions for CRIS. - Copyright (C) 2013-2016 Free Software Foundation, Inc. + Copyright (C) 2013-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/cris/umulsidi3.S b/libgcc/config/cris/umulsidi3.S index e79773779f..aa49df06b6 100644 --- a/libgcc/config/cris/umulsidi3.S +++ b/libgcc/config/cris/umulsidi3.S @@ -1,4 +1,4 @@ -;; Copyright (C) 2001-2016 Free Software Foundation, Inc. +;; Copyright (C) 2001-2017 Free Software Foundation, Inc. ;; ;; This file is part of GCC. ;; diff --git a/libgcc/config/darwin-64.c b/libgcc/config/darwin-64.c index 411d737164..5b26cf8049 100644 --- a/libgcc/config/darwin-64.c +++ b/libgcc/config/darwin-64.c @@ -1,6 +1,6 @@ /* Functions shipped in the ppc64 and x86_64 version of libgcc_s.1.dylib in older Mac OS X versions, preserved for backwards compatibility. - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/darwin-crt-tm.c b/libgcc/config/darwin-crt-tm.c index 1f1cc7ecb7..f7f11a4ae5 100644 --- a/libgcc/config/darwin-crt-tm.c +++ b/libgcc/config/darwin-crt-tm.c @@ -1,5 +1,5 @@ /* Provide the runtime infrastructure for the transactional memory lib. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Iain Sandoe <iains@gcc.gnu.org> This file is part of GCC. diff --git a/libgcc/config/darwin-crt3.c b/libgcc/config/darwin-crt3.c index a601dc352d..fb83d37ecd 100644 --- a/libgcc/config/darwin-crt3.c +++ b/libgcc/config/darwin-crt3.c @@ -1,5 +1,5 @@ /* __cxa_atexit backwards-compatibility support for Darwin. - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/crti.S b/libgcc/config/epiphany/crti.S index 412addf8e6..01dce64c0e 100644 --- a/libgcc/config/epiphany/crti.S +++ b/libgcc/config/epiphany/crti.S @@ -1,5 +1,5 @@ # Start .init and .fini sections. -# Copyright (C) 2010-2016 Free Software Foundation, Inc. +# Copyright (C) 2010-2017 Free Software Foundation, Inc. # Contributed by Embecosm on behalf of Adapteva, Inc. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/epiphany/crtint.S b/libgcc/config/epiphany/crtint.S index bf9466fdd4..5eb016cea3 100644 --- a/libgcc/config/epiphany/crtint.S +++ b/libgcc/config/epiphany/crtint.S @@ -1,5 +1,5 @@ # initialize config for -mfp-mode=int -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # Contributed by Embecosm on behalf of Adapteva, Inc. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/epiphany/crtm1reg-r43.S b/libgcc/config/epiphany/crtm1reg-r43.S index f50b768c7e..4c4b6ad87e 100644 --- a/libgcc/config/epiphany/crtm1reg-r43.S +++ b/libgcc/config/epiphany/crtm1reg-r43.S @@ -1,5 +1,5 @@ # initialize config for -m1reg-r43 -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # Contributed by Embecosm on behalf of Adapteva, Inc. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/epiphany/crtm1reg-r63.S b/libgcc/config/epiphany/crtm1reg-r63.S index 9661aed973..ba200529f4 100644 --- a/libgcc/config/epiphany/crtm1reg-r63.S +++ b/libgcc/config/epiphany/crtm1reg-r63.S @@ -1,5 +1,5 @@ # initialize config for -m1reg-r63 -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # Contributed by Embecosm on behalf of Adapteva, Inc. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/epiphany/crtn.S b/libgcc/config/epiphany/crtn.S index f68fd96267..1f558f5040 100644 --- a/libgcc/config/epiphany/crtn.S +++ b/libgcc/config/epiphany/crtn.S @@ -1,5 +1,5 @@ # End .init and .fini sections. -# Copyright (C) 2010-2016 Free Software Foundation, Inc. +# Copyright (C) 2010-2017 Free Software Foundation, Inc. # Contributed by Embecosm on behalf of Adapteva, Inc. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/epiphany/crtrunc.S b/libgcc/config/epiphany/crtrunc.S index 2d2ea2f24b..292ec82b88 100644 --- a/libgcc/config/epiphany/crtrunc.S +++ b/libgcc/config/epiphany/crtrunc.S @@ -1,5 +1,5 @@ # initialize config for -mfp-mode=truncate -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # Contributed by Embecosm on behalf of Adapteva, Inc. # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/epiphany/divsi3-float.S b/libgcc/config/epiphany/divsi3-float.S index 45327edcf1..7493fa6a03 100644 --- a/libgcc/config/epiphany/divsi3-float.S +++ b/libgcc/config/epiphany/divsi3-float.S @@ -1,5 +1,5 @@ /* Signed 32 bit division optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/divsi3.S b/libgcc/config/epiphany/divsi3.S index c6e3f04685..9bcc18ff86 100644 --- a/libgcc/config/epiphany/divsi3.S +++ b/libgcc/config/epiphany/divsi3.S @@ -1,5 +1,5 @@ /* Signed 32 bit division optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/divsi3.c b/libgcc/config/epiphany/divsi3.c index cd8ffa1443..a02358d161 100644 --- a/libgcc/config/epiphany/divsi3.c +++ b/libgcc/config/epiphany/divsi3.c @@ -1,5 +1,5 @@ /* Generic signed 32 bit division implementation. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/epiphany-asm.h b/libgcc/config/epiphany/epiphany-asm.h index 7ef32a0357..2659544fed 100644 --- a/libgcc/config/epiphany/epiphany-asm.h +++ b/libgcc/config/epiphany/epiphany-asm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/ieee-754/eqsf2.S b/libgcc/config/epiphany/ieee-754/eqsf2.S index 06b30f4496..5266e50772 100644 --- a/libgcc/config/epiphany/ieee-754/eqsf2.S +++ b/libgcc/config/epiphany/ieee-754/eqsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/ieee-754/fast_div.S b/libgcc/config/epiphany/ieee-754/fast_div.S index 07907bd806..d3dd257bca 100644 --- a/libgcc/config/epiphany/ieee-754/fast_div.S +++ b/libgcc/config/epiphany/ieee-754/fast_div.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2016 Free Software Foundation, Inc. +/* Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/ieee-754/gtesf2.S b/libgcc/config/epiphany/ieee-754/gtesf2.S index 028a185345..8e2c033438 100644 --- a/libgcc/config/epiphany/ieee-754/gtesf2.S +++ b/libgcc/config/epiphany/ieee-754/gtesf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/ieee-754/ordsf2.S b/libgcc/config/epiphany/ieee-754/ordsf2.S index 10b196ec55..99d8356521 100644 --- a/libgcc/config/epiphany/ieee-754/ordsf2.S +++ b/libgcc/config/epiphany/ieee-754/ordsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/ieee-754/uneqsf2.S b/libgcc/config/epiphany/ieee-754/uneqsf2.S index 044e5c2835..f3e9d1297e 100644 --- a/libgcc/config/epiphany/ieee-754/uneqsf2.S +++ b/libgcc/config/epiphany/ieee-754/uneqsf2.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/modsi3-float.S b/libgcc/config/epiphany/modsi3-float.S index 59979d5118..310f85e4df 100644 --- a/libgcc/config/epiphany/modsi3-float.S +++ b/libgcc/config/epiphany/modsi3-float.S @@ -1,5 +1,5 @@ /* Unsigned 32 bit division optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/modsi3.S b/libgcc/config/epiphany/modsi3.S index fc7d976d4a..eee7142fd8 100644 --- a/libgcc/config/epiphany/modsi3.S +++ b/libgcc/config/epiphany/modsi3.S @@ -1,5 +1,5 @@ /* Signed 32 bit modulo optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/modsi3.c b/libgcc/config/epiphany/modsi3.c index e2d255c19a..a7b6c0f968 100644 --- a/libgcc/config/epiphany/modsi3.c +++ b/libgcc/config/epiphany/modsi3.c @@ -1,5 +1,5 @@ /* Generic signed 32 bit modulo implementation. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/mulsi3.c b/libgcc/config/epiphany/mulsi3.c index 7a67f15094..50e012180b 100644 --- a/libgcc/config/epiphany/mulsi3.c +++ b/libgcc/config/epiphany/mulsi3.c @@ -1,5 +1,5 @@ /* Generic 32 bit multiply. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/t-epiphany b/libgcc/config/epiphany/t-epiphany index 5b1f128fed..6d399c0699 100644 --- a/libgcc/config/epiphany/t-epiphany +++ b/libgcc/config/epiphany/t-epiphany @@ -1,4 +1,4 @@ -# Copyright (C) 1997-2016 Free Software Foundation, Inc. +# Copyright (C) 1997-2017 Free Software Foundation, Inc. # Contributed by Embecosm on behalf of Adapteva, Inc. # # This file is part of GCC. diff --git a/libgcc/config/epiphany/udivsi3-float.S b/libgcc/config/epiphany/udivsi3-float.S index e7f89029a9..f8d760310a 100644 --- a/libgcc/config/epiphany/udivsi3-float.S +++ b/libgcc/config/epiphany/udivsi3-float.S @@ -1,5 +1,5 @@ /* Unsigned 32 bit division optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/udivsi3-float.c b/libgcc/config/epiphany/udivsi3-float.c index 366114ef2c..152768b1e0 100644 --- a/libgcc/config/epiphany/udivsi3-float.c +++ b/libgcc/config/epiphany/udivsi3-float.c @@ -1,5 +1,5 @@ /* Generic unsigned 32 bit division implementation. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/udivsi3.S b/libgcc/config/epiphany/udivsi3.S index 54c2e07128..94a5ffb49d 100644 --- a/libgcc/config/epiphany/udivsi3.S +++ b/libgcc/config/epiphany/udivsi3.S @@ -1,5 +1,5 @@ /* Unsigned 32 bit division optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/udivsi3.c b/libgcc/config/epiphany/udivsi3.c index 2bff91d5a7..22f4090f8d 100644 --- a/libgcc/config/epiphany/udivsi3.c +++ b/libgcc/config/epiphany/udivsi3.c @@ -1,5 +1,5 @@ /* Generic unsigned 32 bit division implementation. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/umodsi3-float.S b/libgcc/config/epiphany/umodsi3-float.S index 1729d7f5fa..08ee830dc0 100644 --- a/libgcc/config/epiphany/umodsi3-float.S +++ b/libgcc/config/epiphany/umodsi3-float.S @@ -1,5 +1,5 @@ /* Unsigned 32 bit division optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/umodsi3.S b/libgcc/config/epiphany/umodsi3.S index 0a58fffca6..d42db13b8d 100644 --- a/libgcc/config/epiphany/umodsi3.S +++ b/libgcc/config/epiphany/umodsi3.S @@ -1,5 +1,5 @@ /* Unsigned 32 bit modulo optimized for Epiphany. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/epiphany/umodsi3.c b/libgcc/config/epiphany/umodsi3.c index 827e3ea522..bb39f6c50d 100644 --- a/libgcc/config/epiphany/umodsi3.c +++ b/libgcc/config/epiphany/umodsi3.c @@ -1,5 +1,5 @@ /* Generic unsigned 32 bit modulo implementation. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/libgcc/config/fr30/crti.S b/libgcc/config/fr30/crti.S index 96113c28a2..bb87802e53 100644 --- a/libgcc/config/fr30/crti.S +++ b/libgcc/config/fr30/crti.S @@ -1,6 +1,6 @@ # crti.s for ELF -# Copyright (C) 1992-2016 Free Software Foundation, Inc. +# Copyright (C) 1992-2017 Free Software Foundation, Inc. # Written By David Vinayak Henkel-Wallace, June 1992 # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/fr30/crtn.S b/libgcc/config/fr30/crtn.S index 4dc599b698..7a3f7ee8f2 100644 --- a/libgcc/config/fr30/crtn.S +++ b/libgcc/config/fr30/crtn.S @@ -1,6 +1,6 @@ # crtn.S for ELF -# Copyright (C) 1992-2016 Free Software Foundation, Inc. +# Copyright (C) 1992-2017 Free Software Foundation, Inc. # Written By David Vinayak Henkel-Wallace, June 1992 # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/fr30/lib1funcs.S b/libgcc/config/fr30/lib1funcs.S index 81b8efb977..d7d4dc50d7 100644 --- a/libgcc/config/fr30/lib1funcs.S +++ b/libgcc/config/fr30/lib1funcs.S @@ -1,5 +1,5 @@ /* libgcc routines for the FR30. - Copyright (C) 1998-2016 Free Software Foundation, Inc. + Copyright (C) 1998-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/cmovd.c b/libgcc/config/frv/cmovd.c index b4c3961f61..e18e9092f6 100644 --- a/libgcc/config/frv/cmovd.c +++ b/libgcc/config/frv/cmovd.c @@ -1,5 +1,5 @@ /* Move double-word library function. - Copyright (C) 2000-2016 Free Software Foundation, Inc. + Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/cmovh.c b/libgcc/config/frv/cmovh.c index faffdca67d..42545e7236 100644 --- a/libgcc/config/frv/cmovh.c +++ b/libgcc/config/frv/cmovh.c @@ -1,5 +1,5 @@ /* Move half-word library function. - Copyright (C) 2000-2016 Free Software Foundation, Inc. + Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/cmovw.c b/libgcc/config/frv/cmovw.c index 421468a881..fa78d2f5d6 100644 --- a/libgcc/config/frv/cmovw.c +++ b/libgcc/config/frv/cmovw.c @@ -1,5 +1,5 @@ /* Move word library function. - Copyright (C) 2000-2016 Free Software Foundation, Inc. + Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/elf-lib.h b/libgcc/config/frv/elf-lib.h index 9538824d99..5f25dc59b8 100644 --- a/libgcc/config/frv/elf-lib.h +++ b/libgcc/config/frv/elf-lib.h @@ -1,5 +1,5 @@ /* Target macros for the FRV port of GCC. - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/frv/frv-abi.h b/libgcc/config/frv/frv-abi.h index 46eff276a3..d5cb6a9d3e 100644 --- a/libgcc/config/frv/frv-abi.h +++ b/libgcc/config/frv/frv-abi.h @@ -1,5 +1,5 @@ /* Frv map GCC names to FR-V ABI. - Copyright (C) 2000-2016 Free Software Foundation, Inc. + Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/frvbegin.c b/libgcc/config/frv/frvbegin.c index 56f6188b7b..5f53cbddb5 100644 --- a/libgcc/config/frv/frvbegin.c +++ b/libgcc/config/frv/frvbegin.c @@ -1,5 +1,5 @@ /* Frv initialization file linked before all user modules - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/frvend.c b/libgcc/config/frv/frvend.c index e064161327..abd7abaf5d 100644 --- a/libgcc/config/frv/frvend.c +++ b/libgcc/config/frv/frvend.c @@ -1,5 +1,5 @@ /* Frv initialization file linked after all user modules - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/lib1funcs.S b/libgcc/config/frv/lib1funcs.S index 12bfb63b61..11d5a8d001 100644 --- a/libgcc/config/frv/lib1funcs.S +++ b/libgcc/config/frv/lib1funcs.S @@ -1,5 +1,5 @@ /* Library functions. - Copyright (C) 2000-2016 Free Software Foundation, Inc. + Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Red Hat, Inc. This file is part of GCC. diff --git a/libgcc/config/frv/libgcc-glibc.ver b/libgcc/config/frv/libgcc-glibc.ver index 930db3851b..f94f710c5f 100644 --- a/libgcc/config/frv/libgcc-glibc.ver +++ b/libgcc/config/frv/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2016 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/ft32/crti.S b/libgcc/config/ft32/crti.S index 30fab2ab0f..fa087be854 100644 --- a/libgcc/config/ft32/crti.S +++ b/libgcc/config/ft32/crti.S @@ -1,6 +1,6 @@ # crti.S for FT32 # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/ft32/crtn.S b/libgcc/config/ft32/crtn.S index 50ca8868c9..14e65b6a11 100644 --- a/libgcc/config/ft32/crtn.S +++ b/libgcc/config/ft32/crtn.S @@ -1,6 +1,6 @@ # crtn.S for FT32 # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/ft32/lib1funcs.S b/libgcc/config/ft32/lib1funcs.S index a6b04789ed..ae0e1f8e7b 100644 --- a/libgcc/config/ft32/lib1funcs.S +++ b/libgcc/config/ft32/lib1funcs.S @@ -1,6 +1,6 @@ # ieee754 sf routines for FT32 -/* Copyright (C) 1995-2016 Free Software Foundation, Inc. +/* Copyright (C) 1995-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/gthr-lynx.h b/libgcc/config/gthr-lynx.h index d924ea732d..7befaa0a66 100644 --- a/libgcc/config/gthr-lynx.h +++ b/libgcc/config/gthr-lynx.h @@ -1,7 +1,7 @@ /* Threads compatibility routines for libgcc2 and libobjc for LynxOS. */ /* Compile this one with gcc. */ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/gthr-rtems.h b/libgcc/config/gthr-rtems.h index 3bcdd71dba..6cb1c78a89 100644 --- a/libgcc/config/gthr-rtems.h +++ b/libgcc/config/gthr-rtems.h @@ -1,7 +1,7 @@ /* RTEMS threads compatibility routines for libgcc2 and libobjc. by: Rosimildo da Silva( rdasilva@connecttel.com ) */ /* Compile this one with gcc. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/gthr-vxworks.h b/libgcc/config/gthr-vxworks.h index 5ee9e3072f..97fb6744aa 100644 --- a/libgcc/config/gthr-vxworks.h +++ b/libgcc/config/gthr-vxworks.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2 and libobjc for VxWorks. */ /* Compile this one with gcc. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Mike Stump <mrs@wrs.com>. This file is part of GCC. diff --git a/libgcc/config/h8300/clzhi2.c b/libgcc/config/h8300/clzhi2.c index 586b19ec7a..3e257f4b3c 100644 --- a/libgcc/config/h8300/clzhi2.c +++ b/libgcc/config/h8300/clzhi2.c @@ -1,5 +1,5 @@ /* The implementation of __clzhi2. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/h8300/crti.S b/libgcc/config/h8300/crti.S index 5bc0681165..b959cfe22b 100644 --- a/libgcc/config/h8300/crti.S +++ b/libgcc/config/h8300/crti.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/h8300/crtn.S b/libgcc/config/h8300/crtn.S index b96ac9627c..65634cd203 100644 --- a/libgcc/config/h8300/crtn.S +++ b/libgcc/config/h8300/crtn.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. This file was adapted from glibc sources. This file is part of GCC. diff --git a/libgcc/config/h8300/ctzhi2.c b/libgcc/config/h8300/ctzhi2.c index 26d208f98b..56f3c93967 100644 --- a/libgcc/config/h8300/ctzhi2.c +++ b/libgcc/config/h8300/ctzhi2.c @@ -1,5 +1,5 @@ /* The implementation of __ctzhi2. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/h8300/fixunssfsi.c b/libgcc/config/h8300/fixunssfsi.c index c4f7898a4f..366ccf9c0f 100644 --- a/libgcc/config/h8300/fixunssfsi.c +++ b/libgcc/config/h8300/fixunssfsi.c @@ -1,6 +1,6 @@ /* More subroutines needed by GCC output code on some machines. */ /* Compile this one with gcc. */ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/h8300/lib1funcs.S b/libgcc/config/h8300/lib1funcs.S index 86dbe508cb..7099b80441 100644 --- a/libgcc/config/h8300/lib1funcs.S +++ b/libgcc/config/h8300/lib1funcs.S @@ -2,7 +2,7 @@ ;; Contributed by Steve Chamberlain <sac@cygnus.com> ;; Optimizations by Toshiyasu Morita <toshiyasu.morita@renesas.com> -/* Copyright (C) 1994-2016 Free Software Foundation, Inc. +/* Copyright (C) 1994-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/h8300/parityhi2.c b/libgcc/config/h8300/parityhi2.c index 9ea63a7d3e..8bb1b28e23 100644 --- a/libgcc/config/h8300/parityhi2.c +++ b/libgcc/config/h8300/parityhi2.c @@ -1,5 +1,5 @@ /* The implementation of __parityhi2. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/h8300/popcounthi2.c b/libgcc/config/h8300/popcounthi2.c index 573e389a75..41af0d8ca4 100644 --- a/libgcc/config/h8300/popcounthi2.c +++ b/libgcc/config/h8300/popcounthi2.c @@ -1,5 +1,5 @@ /* The implementation of __popcounthi2. - Copyright (C) 2003-2016 Free Software Foundation, Inc. + Copyright (C) 2003-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/h8300/sfp-machine.h b/libgcc/config/h8300/sfp-machine.h index 9cce9b9cb1..9b31095738 100644 --- a/libgcc/config/h8300/sfp-machine.h +++ b/libgcc/config/h8300/sfp-machine.h @@ -1,5 +1,5 @@ /* Soft-FP definitions for H8/300 - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/hardfp.c b/libgcc/config/hardfp.c index 2607a0ca99..e60fd84af9 100644 --- a/libgcc/config/hardfp.c +++ b/libgcc/config/hardfp.c @@ -1,5 +1,5 @@ /* Dummy floating-point routines for hard-float code. - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/i386/32/tf-signs.c b/libgcc/config/i386/32/tf-signs.c index 1e30626715..c98432aed7 100644 --- a/libgcc/config/i386/32/tf-signs.c +++ b/libgcc/config/i386/32/tf-signs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 8c2248df3d..a1dc011525 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -1,5 +1,5 @@ /* Get CPU type and Features for x86 processors. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Sriraman Tallam (tmsriram@google.com) This file is part of GCC. @@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "cpuid.h" #include "tsystem.h" #include "auto-target.h" +#include "cpuinfo.h" #ifdef HAVE_INIT_PRIORITY #define CONSTRUCTOR_PRIORITY (101) @@ -36,95 +37,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see int __cpu_indicator_init (void) __attribute__ ((constructor CONSTRUCTOR_PRIORITY)); -/* Processor Vendor and Models. */ -enum processor_vendor -{ - VENDOR_INTEL = 1, - VENDOR_AMD, - VENDOR_OTHER, - VENDOR_MAX -}; - -/* Any new types or subtypes have to be inserted at the end. */ - -enum processor_types -{ - INTEL_BONNELL = 1, - INTEL_CORE2, - INTEL_COREI7, - AMDFAM10H, - AMDFAM15H, - INTEL_SILVERMONT, - INTEL_KNL, - AMD_BTVER1, - AMD_BTVER2, - AMDFAM17H, - CPU_TYPE_MAX -}; - -enum processor_subtypes -{ - INTEL_COREI7_NEHALEM = 1, - INTEL_COREI7_WESTMERE, - INTEL_COREI7_SANDYBRIDGE, - AMDFAM10H_BARCELONA, - AMDFAM10H_SHANGHAI, - AMDFAM10H_ISTANBUL, - AMDFAM15H_BDVER1, - AMDFAM15H_BDVER2, - AMDFAM15H_BDVER3, - AMDFAM15H_BDVER4, - AMDFAM17H_ZNVER1, - INTEL_COREI7_IVYBRIDGE, - INTEL_COREI7_HASWELL, - INTEL_COREI7_BROADWELL, - INTEL_COREI7_SKYLAKE, - INTEL_COREI7_SKYLAKE_AVX512, - CPU_SUBTYPE_MAX -}; - -/* ISA Features supported. New features have to be inserted at the end. */ - -enum processor_features -{ - FEATURE_CMOV = 0, - FEATURE_MMX, - FEATURE_POPCNT, - FEATURE_SSE, - FEATURE_SSE2, - FEATURE_SSE3, - FEATURE_SSSE3, - FEATURE_SSE4_1, - FEATURE_SSE4_2, - FEATURE_AVX, - FEATURE_AVX2, - FEATURE_SSE4_A, - FEATURE_FMA4, - FEATURE_XOP, - FEATURE_FMA, - FEATURE_AVX512F, - FEATURE_BMI, - FEATURE_BMI2, - FEATURE_AES, - FEATURE_PCLMUL, - FEATURE_AVX512VL, - FEATURE_AVX512BW, - FEATURE_AVX512DQ, - FEATURE_AVX512CD, - FEATURE_AVX512ER, - FEATURE_AVX512PF, - FEATURE_AVX512VBMI, - FEATURE_AVX512IFMA -}; - -struct __processor_model -{ - unsigned int __cpu_vendor; - unsigned int __cpu_type; - unsigned int __cpu_subtype; - unsigned int __cpu_features[1]; -} __cpu_model = { }; +struct __processor_model __cpu_model = { }; /* Get the specific type of AMD CPU. */ @@ -301,6 +215,9 @@ static void get_available_features (unsigned int ecx, unsigned int edx, int max_cpuid_level) { + unsigned int eax, ebx; + unsigned int ext_level; + unsigned int features = 0; if (edx & bit_CMOV) @@ -333,7 +250,6 @@ get_available_features (unsigned int ecx, unsigned int edx, /* Get Advanced Features at level 7 (eax = 7, ecx = 0). */ if (max_cpuid_level >= 7) { - unsigned int eax, ebx, ecx, edx; __cpuid_count (7, 0, eax, ebx, ecx, edx); if (ebx & bit_BMI) features |= (1 << FEATURE_BMI); @@ -359,14 +275,18 @@ get_available_features (unsigned int ecx, unsigned int edx, features |= (1 << FEATURE_AVX512IFMA); if (ecx & bit_AVX512VBMI) features |= (1 << FEATURE_AVX512VBMI); + if (ecx & bit_AVX512VPOPCNTDQ) + features |= (1 << FEATURE_AVX512VPOPCNTDQ); + if (edx & bit_AVX5124VNNIW) + features |= (1 << FEATURE_AVX5124VNNIW); + if (edx & bit_AVX5124FMAPS) + features |= (1 << FEATURE_AVX5124FMAPS); } - unsigned int ext_level; - unsigned int eax, ebx; /* Check cpuid level of extended features. */ __cpuid (0x80000000, ext_level, ebx, ecx, edx); - if (ext_level > 0x80000000) + if (ext_level >= 0x80000001) { __cpuid (0x80000001, eax, ebx, ecx, edx); @@ -381,20 +301,6 @@ get_available_features (unsigned int ecx, unsigned int edx, __cpu_model.__cpu_features[0] = features; } -/* A noinline function calling __get_cpuid. Having many calls to - cpuid in one function in 32-bit mode causes GCC to complain: - "can't find a register in class CLOBBERED_REGS". This is - related to PR rtl-optimization 44174. */ - -static int __attribute__ ((noinline)) -__get_cpuid_output (unsigned int __level, - unsigned int *__eax, unsigned int *__ebx, - unsigned int *__ecx, unsigned int *__edx) -{ - return __get_cpuid (__level, __eax, __ebx, __ecx, __edx); -} - - /* A constructor function that is sets __cpu_model and __cpu_features with the right values. This needs to run only once. This constructor is given the highest priority and it should run before constructors without @@ -406,7 +312,7 @@ __cpu_indicator_init (void) { unsigned int eax, ebx, ecx, edx; - int max_level = 5; + int max_level; unsigned int vendor; unsigned int model, family, brand_id; unsigned int extended_model, extended_family; @@ -416,7 +322,7 @@ __cpu_indicator_init (void) return 0; /* Assume cpuid insn present. Run in level 0 to get vendor id. */ - if (!__get_cpuid_output (0, &eax, &ebx, &ecx, &edx)) + if (!__get_cpuid (0, &eax, &ebx, &ecx, &edx)) { __cpu_model.__cpu_vendor = VENDOR_OTHER; return -1; @@ -431,7 +337,7 @@ __cpu_indicator_init (void) return -1; } - if (!__get_cpuid_output (1, &eax, &ebx, &ecx, &edx)) + if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx)) { __cpu_model.__cpu_vendor = VENDOR_OTHER; return -1; diff --git a/libgcc/config/i386/cpuinfo.h b/libgcc/config/i386/cpuinfo.h new file mode 100644 index 0000000000..872b45e381 --- /dev/null +++ b/libgcc/config/i386/cpuinfo.h @@ -0,0 +1,117 @@ +/* Get CPU type and Features for x86 processors. + Copyright (C) 2012-2017 Free Software Foundation, Inc. + Contributed by Sriraman Tallam (tmsriram@google.com) + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +/* Processor Vendor and Models. */ + +enum processor_vendor +{ + VENDOR_INTEL = 1, + VENDOR_AMD, + VENDOR_OTHER, + VENDOR_MAX +}; + +/* Any new types or subtypes have to be inserted at the end. */ + +enum processor_types +{ + INTEL_BONNELL = 1, + INTEL_CORE2, + INTEL_COREI7, + AMDFAM10H, + AMDFAM15H, + INTEL_SILVERMONT, + INTEL_KNL, + AMD_BTVER1, + AMD_BTVER2, + AMDFAM17H, + CPU_TYPE_MAX +}; + +enum processor_subtypes +{ + INTEL_COREI7_NEHALEM = 1, + INTEL_COREI7_WESTMERE, + INTEL_COREI7_SANDYBRIDGE, + AMDFAM10H_BARCELONA, + AMDFAM10H_SHANGHAI, + AMDFAM10H_ISTANBUL, + AMDFAM15H_BDVER1, + AMDFAM15H_BDVER2, + AMDFAM15H_BDVER3, + AMDFAM15H_BDVER4, + AMDFAM17H_ZNVER1, + INTEL_COREI7_IVYBRIDGE, + INTEL_COREI7_HASWELL, + INTEL_COREI7_BROADWELL, + INTEL_COREI7_SKYLAKE, + INTEL_COREI7_SKYLAKE_AVX512, + CPU_SUBTYPE_MAX +}; + +/* ISA Features supported. New features have to be inserted at the end. */ + +enum processor_features +{ + FEATURE_CMOV = 0, + FEATURE_MMX, + FEATURE_POPCNT, + FEATURE_SSE, + FEATURE_SSE2, + FEATURE_SSE3, + FEATURE_SSSE3, + FEATURE_SSE4_1, + FEATURE_SSE4_2, + FEATURE_AVX, + FEATURE_AVX2, + FEATURE_SSE4_A, + FEATURE_FMA4, + FEATURE_XOP, + FEATURE_FMA, + FEATURE_AVX512F, + FEATURE_BMI, + FEATURE_BMI2, + FEATURE_AES, + FEATURE_PCLMUL, + FEATURE_AVX512VL, + FEATURE_AVX512BW, + FEATURE_AVX512DQ, + FEATURE_AVX512CD, + FEATURE_AVX512ER, + FEATURE_AVX512PF, + FEATURE_AVX512VBMI, + FEATURE_AVX512IFMA, + FEATURE_AVX5124VNNIW, + FEATURE_AVX5124FMAPS, + FEATURE_AVX512VPOPCNTDQ +}; + +extern struct __processor_model +{ + unsigned int __cpu_vendor; + unsigned int __cpu_type; + unsigned int __cpu_subtype; + unsigned int __cpu_features[1]; +} __cpu_model; diff --git a/libgcc/config/i386/crtfastmath.c b/libgcc/config/i386/crtfastmath.c index 2caf0a5dea..4a2d199830 100644 --- a/libgcc/config/i386/crtfastmath.c +++ b/libgcc/config/i386/crtfastmath.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2016 Free Software Foundation, Inc. + * Copyright (C) 2005-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/i386/crti.S b/libgcc/config/i386/crti.S index ed0e6c9612..7c688d2c04 100644 --- a/libgcc/config/i386/crti.S +++ b/libgcc/config/i386/crti.S @@ -1,6 +1,6 @@ /* crti.S for x86. - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2017 Free Software Foundation, Inc. Written By Fred Fish, Nov 1992 This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/i386/crtn.S b/libgcc/config/i386/crtn.S index 27b79280c8..a2ab4176b6 100644 --- a/libgcc/config/i386/crtn.S +++ b/libgcc/config/i386/crtn.S @@ -1,6 +1,6 @@ /* crtn.S for x86. - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2017 Free Software Foundation, Inc. Written By Fred Fish, Nov 1992 This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/i386/crtprec.c b/libgcc/config/i386/crtprec.c index 131998c6ec..4d6016f8aa 100644 --- a/libgcc/config/i386/crtprec.c +++ b/libgcc/config/i386/crtprec.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2016 Free Software Foundation, Inc. + * Copyright (C) 2007-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/i386/cygming-crtbegin.c b/libgcc/config/i386/cygming-crtbegin.c index e4a6672294..d59738bbb3 100644 --- a/libgcc/config/i386/cygming-crtbegin.c +++ b/libgcc/config/i386/cygming-crtbegin.c @@ -1,5 +1,5 @@ /* crtbegin object for windows32 targets. - Copyright (C) 2007-2016 Free Software Foundation, Inc. + Copyright (C) 2007-2017 Free Software Foundation, Inc. Contributed by Danny Smith <dannysmith@users.sourceforge.net> @@ -42,10 +42,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define LIBGCC_SONAME "libgcc_s.dll" #endif -#ifndef LIBGCJ_SONAME -#define LIBGCJ_SONAME "libgcj_s.dll" -#endif - #if DWARF2_UNWIND_INFO /* Make the declarations weak. This is critical for _Jv_RegisterClasses because it lives in libgcj.a */ @@ -73,18 +69,6 @@ __deregister_frame_info (__attribute__((unused)) const void *p) #endif #endif /* DWARF2_UNWIND_INFO */ -#if TARGET_USE_JCR_SECTION -extern void _Jv_RegisterClasses (__attribute__((unused)) const void *) - TARGET_ATTRIBUTE_WEAK; - -#ifdef __x86_64__ -TARGET_ATTRIBUTE_WEAK void -_Jv_RegisterClasses (__attribute__((unused)) const void *p) -{ -} -#endif -#endif /* TARGET_USE_JCR_SECTION */ - #if defined(HAVE_LD_RO_RW_SECTION_MIXING) # define EH_FRAME_SECTION_CONST const #else @@ -105,12 +89,6 @@ HANDLE hmod_libgcc; static void * (*deregister_frame_fn) (const void *) = NULL; #endif -#if TARGET_USE_JCR_SECTION -static void *__JCR_LIST__[] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), aligned(4))) - = { }; -#endif - #ifdef __CYGWIN__ /* Declare the __dso_handle variable. It should have a unique value in every shared-object; in a main program its value is zero. The @@ -163,22 +141,6 @@ __gcc_register_frame (void) register_frame_fn (__EH_FRAME_BEGIN__, &obj); #endif -#if TARGET_USE_JCR_SECTION - if (__JCR_LIST__[0]) - { - void (*register_class_fn) (const void *); - HANDLE h = GetModuleHandle (LIBGCJ_SONAME); - if (h) - register_class_fn = (void (*) (const void *)) - GetProcAddress (h, "_Jv_RegisterClasses"); - else - register_class_fn = _Jv_RegisterClasses; - - if (register_class_fn) - register_class_fn (__JCR_LIST__); - } -#endif - #if DEFAULT_USE_CXA_ATEXIT /* If we use the __cxa_atexit method to register C++ dtors at object construction, also use atexit to register eh frame diff --git a/libgcc/config/i386/cygming-crtend.c b/libgcc/config/i386/cygming-crtend.c index fdf6a0e945..e86a8411ac 100644 --- a/libgcc/config/i386/cygming-crtend.c +++ b/libgcc/config/i386/cygming-crtend.c @@ -1,5 +1,5 @@ /* crtend object for windows32 targets. - Copyright (C) 2007-2016 Free Software Foundation, Inc. + Copyright (C) 2007-2017 Free Software Foundation, Inc. Contributed by Danny Smith <dannysmith@users.sourceforge.net> @@ -53,14 +53,6 @@ static EH_FRAME_SECTION_CONST int __FRAME_END__[] = { 0 }; #endif -#if TARGET_USE_JCR_SECTION -/* Null terminate the .jcr section array. */ -static void *__JCR_END__[1] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), - aligned(sizeof(void *)))) - = { 0 }; -#endif - extern void __gcc_register_frame (void); extern void __gcc_deregister_frame (void); diff --git a/libgcc/config/i386/cygwin.S b/libgcc/config/i386/cygwin.S index 16a3ae3a8e..e121f2a2cf 100644 --- a/libgcc/config/i386/cygwin.S +++ b/libgcc/config/i386/cygwin.S @@ -1,6 +1,6 @@ /* stuff needed for libgcc on win32. * - * Copyright (C) 1996-2016 Free Software Foundation, Inc. + * Copyright (C) 1996-2017 Free Software Foundation, Inc. * Written By Steve Chamberlain * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/i386/darwin-lib.h b/libgcc/config/i386/darwin-lib.h index 117724e661..756c1798b6 100644 --- a/libgcc/config/i386/darwin-lib.h +++ b/libgcc/config/i386/darwin-lib.h @@ -1,5 +1,5 @@ /* Target definitions for x86 running Darwin, library renames. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/i386/dragonfly-unwind.h b/libgcc/config/i386/dragonfly-unwind.h index 8594c814ac..18b90fcae5 100644 --- a/libgcc/config/i386/dragonfly-unwind.h +++ b/libgcc/config/i386/dragonfly-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for DragonFly BSD: AMD x86-64 and x86. - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2014-2017 Free Software Foundation, Inc. Contributed by John Marino <gnugcc@marino.st> This file is part of GCC. diff --git a/libgcc/config/i386/elf-lib.h b/libgcc/config/i386/elf-lib.h index 398cc1bf78..f50798c796 100644 --- a/libgcc/config/i386/elf-lib.h +++ b/libgcc/config/i386/elf-lib.h @@ -1,5 +1,5 @@ /* Definitions for Intel 386 ELF systems. - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/i386/enable-execute-stack-mingw32.c b/libgcc/config/i386/enable-execute-stack-mingw32.c index d594f027c7..a4af7cece8 100644 --- a/libgcc/config/i386/enable-execute-stack-mingw32.c +++ b/libgcc/config/i386/enable-execute-stack-mingw32.c @@ -1,5 +1,5 @@ /* Implement __enable_execute_stack for Windows32. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/i386/freebsd-unwind.h b/libgcc/config/i386/freebsd-unwind.h index 15a3428e49..0eec584a11 100644 --- a/libgcc/config/i386/freebsd-unwind.h +++ b/libgcc/config/i386/freebsd-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for FreeBSD: AMD x86-64 and x86. - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. Contributed by John Marino <gnugcc@marino.st> This file is part of GCC. diff --git a/libgcc/config/i386/gthr-win32.c b/libgcc/config/i386/gthr-win32.c index b730c857de..e83c96677d 100644 --- a/libgcc/config/i386/gthr-win32.c +++ b/libgcc/config/i386/gthr-win32.c @@ -1,7 +1,7 @@ /* Implementation of W32-specific threads compatibility routines for libgcc2. */ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Mumit Khan <khan@xraylith.wisc.edu>. Modified and moved to separate file by Danny Smith <dannysmith@users.sourceforge.net>. diff --git a/libgcc/config/i386/gthr-win32.h b/libgcc/config/i386/gthr-win32.h index 32b6f61b6d..246fa5fcbb 100644 --- a/libgcc/config/i386/gthr-win32.h +++ b/libgcc/config/i386/gthr-win32.h @@ -1,7 +1,7 @@ /* Threads compatibility routines for libgcc2 and libobjc. */ /* Compile this one with gcc. */ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Mumit Khan <khan@xraylith.wisc.edu>. This file is part of GCC. @@ -545,6 +545,7 @@ __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) #else /* ! __GTHREAD_HIDE_WIN32API */ +#define NOGDI #include <windows.h> #include <errno.h> diff --git a/libgcc/config/i386/libgcc-bsd.ver b/libgcc/config/i386/libgcc-bsd.ver index f80193ead3..a3966e8759 100644 --- a/libgcc/config/i386/libgcc-bsd.ver +++ b/libgcc/config/i386/libgcc-bsd.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2016 Free Software Foundation, Inc. +# Copyright (C) 2010-2017 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -111,3 +111,7 @@ GCC_4.8.0 { __cpu_model __cpu_indicator_init } + +GCC_7.0.0 { + __signbittf2 +} diff --git a/libgcc/config/i386/libgcc-cygming.ver b/libgcc/config/i386/libgcc-cygming.ver index a3838f432b..f1c9cbeb53 100644 --- a/libgcc/config/i386/libgcc-cygming.ver +++ b/libgcc/config/i386/libgcc-cygming.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/i386/libgcc-darwin.10.4.ver b/libgcc/config/i386/libgcc-darwin.10.4.ver index f56abbeaf1..4184ad8507 100644 --- a/libgcc/config/i386/libgcc-darwin.10.4.ver +++ b/libgcc/config/i386/libgcc-darwin.10.4.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2016 Free Software Foundation, Inc. +# Copyright (C) 2005-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/i386/libgcc-darwin.10.5.ver b/libgcc/config/i386/libgcc-darwin.10.5.ver index cf47edb77d..a3084bb41c 100644 --- a/libgcc/config/i386/libgcc-darwin.10.5.ver +++ b/libgcc/config/i386/libgcc-darwin.10.5.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2016 Free Software Foundation, Inc. +# Copyright (C) 2005-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/i386/libgcc-glibc.ver b/libgcc/config/i386/libgcc-glibc.ver index 443f8d6647..690e049d1c 100644 --- a/libgcc/config/i386/libgcc-glibc.ver +++ b/libgcc/config/i386/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2016 Free Software Foundation, Inc. +# Copyright (C) 2008-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/i386/libgcc-sol2.ver b/libgcc/config/i386/libgcc-sol2.ver index cb9801ca9e..06a1ed3932 100644 --- a/libgcc/config/i386/libgcc-sol2.ver +++ b/libgcc/config/i386/libgcc-sol2.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2016 Free Software Foundation, Inc. +# Copyright (C) 2010-2017 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -111,3 +111,7 @@ GCC_4.8.0 { __cpu_model __cpu_indicator_init } + +GCC_7.0.0 { + __signbittf2 +} diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h index 540a0a25ac..b1d5040a68 100644 --- a/libgcc/config/i386/linux-unwind.h +++ b/libgcc/config/i386/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for AMD x86-64 and x86. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S index 3fc7dc3b5b..9d185c111e 100644 --- a/libgcc/config/i386/morestack.S +++ b/libgcc/config/i386/morestack.S @@ -1,5 +1,5 @@ # x86/x86_64 support for -fsplit-stack. -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # Contributed by Ian Lance Taylor <iant@google.com>. # This file is part of GCC. diff --git a/libgcc/config/i386/sfp-exceptions.c b/libgcc/config/i386/sfp-exceptions.c index 9a2822e6f9..cfb06b8c9b 100644 --- a/libgcc/config/i386/sfp-exceptions.c +++ b/libgcc/config/i386/sfp-exceptions.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2016 Free Software Foundation, Inc. + * Copyright (C) 2012-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/i386/sol2-c1.S b/libgcc/config/i386/sol2-c1.S index aa48fa30b0..0837882d82 100644 --- a/libgcc/config/i386/sol2-c1.S +++ b/libgcc/config/i386/sol2-c1.S @@ -1,6 +1,6 @@ /* crt1.s for Solaris 2, x86 - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2017 Free Software Foundation, Inc. Written By Fred Fish, Nov 1992 This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/i386/sol2-unwind.h b/libgcc/config/i386/sol2-unwind.h index 3030ed7d56..1a34e3827a 100644 --- a/libgcc/config/i386/sol2-unwind.h +++ b/libgcc/config/i386/sol2-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for AMD x86-64 and x86. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/i386/t-cpuinfo-static b/libgcc/config/i386/t-cpuinfo-static new file mode 100644 index 0000000000..5617bc14ee --- /dev/null +++ b/libgcc/config/i386/t-cpuinfo-static @@ -0,0 +1,4 @@ +# If the compatibility cpuinfo symbols in shared libgcc_s are not needed +# then they can be added to the static library only. + +LIB2ADD_ST += $(srcdir)/config/i386/cpuinfo.c diff --git a/libgcc/config/i386/t-interix b/libgcc/config/i386/t-interix deleted file mode 100644 index 8889e7c6c6..0000000000 --- a/libgcc/config/i386/t-interix +++ /dev/null @@ -1,3 +0,0 @@ -# We need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be -# built without debugging information -LIBGCC2_DEBUG_CFLAGS = diff --git a/libgcc/config/i386/value-unwind.h b/libgcc/config/i386/value-unwind.h index 19122bb2f5..a4c32e00e1 100644 --- a/libgcc/config/i386/value-unwind.h +++ b/libgcc/config/i386/value-unwind.h @@ -1,5 +1,5 @@ /* Store register values as _Unwind_Word type in DWARF2 EH unwind context. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/i386/w32-unwind.h b/libgcc/config/i386/w32-unwind.h index 5dbe61088a..f88c3cc807 100644 --- a/libgcc/config/i386/w32-unwind.h +++ b/libgcc/config/i386/w32-unwind.h @@ -1,5 +1,5 @@ /* Definitions for Dwarf2 EH unwind support for Windows32 targets - Copyright (C) 2007-2016 Free Software Foundation, Inc. + Copyright (C) 2007-2017 Free Software Foundation, Inc. Contributed by Pascal Obry <obry@adacore.com> This file is part of GCC. diff --git a/libgcc/config/ia64/crtbegin.S b/libgcc/config/ia64/crtbegin.S index a8d738b959..1a84855298 100644 --- a/libgcc/config/ia64/crtbegin.S +++ b/libgcc/config/ia64/crtbegin.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Jes Sorensen, <Jes.Sorensen@cern.ch> This file is part of GCC. @@ -34,10 +34,6 @@ __CTOR_LIST__: __DTOR_LIST__: data8 -1 -.section .jcr,"aw","progbits" - .align 8 -__JCR_LIST__: - .section .sdata .type dtor_ptr,@object .size dtor_ptr,8 @@ -67,7 +63,6 @@ __dso_handle: data8 @fptr(__do_global_dtors_aux) .section .init_array, "a" - data8 @fptr(__do_jv_register_classes) data8 @fptr(__do_global_ctors_aux) #else /* !HAVE_INITFINI_ARRAY_SUPPORT */ @@ -99,24 +94,6 @@ __dso_handle: mov b6 = r2 br.call.sptk.many b0 = b6 } - -/* Likewise for _init. */ - -.section .init,"ax","progbits" - { .mlx - movl r2 = @pcrel(__do_jv_register_classes - 16) - } - { .mii - mov r3 = ip - ;; - add r2 = r2, r3 - ;; - } - { .mib - nop 0 - mov b6 = r2 - br.call.sptk.many b0 = b6 - } #endif /* !HAVE_INITFINI_ARRAY_SUPPORT */ .section .text @@ -204,50 +181,6 @@ __do_global_dtors_aux: br.ret.sptk.many rp .endp __do_global_dtors_aux - .align 32 - .proc __do_jv_register_classes -__do_jv_register_classes: - .prologue - .save ar.pfs, r33 - alloc loc1 = ar.pfs, 0, 3, 1, 0 - movl out0 = @gprel(__JCR_LIST__) - ;; - - addl r14 = @ltoff(@fptr(_Jv_RegisterClasses)), gp - add out0 = out0, gp - .save rp, loc0 - mov loc0 = rp - .body - ;; - - ld8 r14 = [r14] - ld8 r15 = [out0] - cmp.ne p6, p0 = r0, r0 - ;; - - cmp.eq.or p6, p0 = r0, r14 - cmp.eq.or p6, p0 = r0, r15 -(p6) br.ret.sptk.many rp - - ld8 r15 = [r14], 8 - ;; - nop 0 - mov b6 = r15 - - mov loc2 = gp - ld8 gp = [r14] - br.call.sptk.many rp = b6 - ;; - - mov gp = loc2 - mov rp = loc0 - mov ar.pfs = loc1 - - nop 0 - nop 0 - br.ret.sptk.many rp - .endp __do_jv_register_classes - #ifdef SHARED .weak __cxa_finalize #endif diff --git a/libgcc/config/ia64/crtend.S b/libgcc/config/ia64/crtend.S index 7434930040..019297b80d 100644 --- a/libgcc/config/ia64/crtend.S +++ b/libgcc/config/ia64/crtend.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Jes Sorensen, <Jes.Sorensen@cern.ch> This file is part of GCC. @@ -34,11 +34,6 @@ __CTOR_END__: __DTOR_END__: data8 0 -.section .jcr,"aw","progbits" - .align 8 -__JCR_END__: - data8 0 - #if HAVE_INITFINI_ARRAY_SUPPORT .global __do_global_ctors_aux .hidden __do_global_ctors_aux diff --git a/libgcc/config/ia64/crtfastmath.c b/libgcc/config/ia64/crtfastmath.c index dcd931b1a3..a1edac9896 100644 --- a/libgcc/config/ia64/crtfastmath.c +++ b/libgcc/config/ia64/crtfastmath.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by David Mosberger <davidm@hpl.hp.com>. This file is part of GCC. diff --git a/libgcc/config/ia64/crti.S b/libgcc/config/ia64/crti.S index b54ae5799b..9a580ba821 100644 --- a/libgcc/config/ia64/crti.S +++ b/libgcc/config/ia64/crti.S @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2016 Free Software Foundation, Inc. +# Copyright (C) 2000-2017 Free Software Foundation, Inc. # Written By Timothy Wall # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/ia64/crtn.S b/libgcc/config/ia64/crtn.S index 76e19cb68c..17b57a9389 100644 --- a/libgcc/config/ia64/crtn.S +++ b/libgcc/config/ia64/crtn.S @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2016 Free Software Foundation, Inc. +# Copyright (C) 2000-2017 Free Software Foundation, Inc. # Written By Timothy Wall # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/ia64/fde-glibc.c b/libgcc/config/ia64/fde-glibc.c index 45a4d55574..649233adba 100644 --- a/libgcc/config/ia64/fde-glibc.c +++ b/libgcc/config/ia64/fde-glibc.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Richard Henderson <rth@cygnus.com>. This file is part of GCC. diff --git a/libgcc/config/ia64/fde-vms.c b/libgcc/config/ia64/fde-vms.c index bbd31e986f..70692dd40a 100644 --- a/libgcc/config/ia64/fde-vms.c +++ b/libgcc/config/ia64/fde-vms.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2017 Free Software Foundation, Inc. Contributed by Douglas B Rupp <rupp@gnat.com> This file is part of GCC. diff --git a/libgcc/config/ia64/lib1funcs.S b/libgcc/config/ia64/lib1funcs.S index 7a36d9b2f0..85b7c48e3d 100644 --- a/libgcc/config/ia64/lib1funcs.S +++ b/libgcc/config/ia64/lib1funcs.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by James E. Wilson <wilson@cygnus.com>. This file is part of GCC. diff --git a/libgcc/config/ia64/libgcc-glibc.ver b/libgcc/config/ia64/libgcc-glibc.ver index 99efbf5a5f..0d5410edff 100644 --- a/libgcc/config/ia64/libgcc-glibc.ver +++ b/libgcc/config/ia64/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -95,3 +95,7 @@ GCC_4.4.0 { __trunctfxf2 __unordtf2 } + +GCC_7.0.0 { + __signbittf2 +} diff --git a/libgcc/config/ia64/libgcc-ia64.ver b/libgcc/config/ia64/libgcc-ia64.ver index 43ae535c23..e2e53177d0 100644 --- a/libgcc/config/ia64/libgcc-ia64.ver +++ b/libgcc/config/ia64/libgcc-ia64.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2016 Free Software Foundation, Inc. +# Copyright (C) 2000-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/ia64/linux-unwind.h b/libgcc/config/ia64/linux-unwind.h index e75ab3181d..ae45719bec 100644 --- a/libgcc/config/ia64/linux-unwind.h +++ b/libgcc/config/ia64/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for IA64 Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/ia64/quadlib.c b/libgcc/config/ia64/quadlib.c index 7fc34bf19c..ccbfde899e 100644 --- a/libgcc/config/ia64/quadlib.c +++ b/libgcc/config/ia64/quadlib.c @@ -1,5 +1,5 @@ /* Subroutines for long double support. - Copyright (C) 2000-2016 Free Software Foundation, Inc. + Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/ia64/sfp-exceptions.c b/libgcc/config/ia64/sfp-exceptions.c index fc0fef90e0..478c31bb33 100644 --- a/libgcc/config/ia64/sfp-exceptions.c +++ b/libgcc/config/ia64/sfp-exceptions.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012-2016 Free Software Foundation, Inc. + * Copyright (C) 2012-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/ia64/t-softfp b/libgcc/config/ia64/t-softfp index 0ac35e72da..96a65e8853 100644 --- a/libgcc/config/ia64/t-softfp +++ b/libgcc/config/ia64/t-softfp @@ -1,4 +1,5 @@ -# Provide fallbacks for __builtin_copysignq and __builtin_fabsq. +# Provide fallbacks for __builtin_copysignq, __builtin_fabsq +# and __builtin_signbitq. LIB2ADD += $(srcdir)/config/ia64/tf-signs.c LIB2ADD += $(srcdir)/config/ia64/sfp-exceptions.c diff --git a/libgcc/config/ia64/tf-signs.c b/libgcc/config/ia64/tf-signs.c index 3ff3f6ba24..985802d354 100644 --- a/libgcc/config/ia64/tf-signs.c +++ b/libgcc/config/ia64/tf-signs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -26,8 +26,8 @@ union _FP_UNION_Q __float128 flt; struct { - unsigned long frac1 : 64; - unsigned long frac0 : 48; + unsigned long frac0 : 64; + unsigned long frac1 : 48; unsigned exp : 15; unsigned sign : 1; } bits __attribute__((packed)); @@ -35,6 +35,7 @@ union _FP_UNION_Q __float128 __copysigntf3 (__float128, __float128); __float128 __fabstf2 (__float128); +int __signbittf2 (__float128); __float128 __copysigntf3 (__float128 a, __float128 b) @@ -58,3 +59,13 @@ __fabstf2 (__float128 a) return A.flt; } + +int +__signbittf2 (__float128 a) +{ + union _FP_UNION_Q A; + + A.flt = a; + + return A.bits.sign; +} diff --git a/libgcc/config/ia64/unwind-ia64.c b/libgcc/config/ia64/unwind-ia64.c index 19bdfd6b92..dabe4e647a 100644 --- a/libgcc/config/ia64/unwind-ia64.c +++ b/libgcc/config/ia64/unwind-ia64.c @@ -1,6 +1,6 @@ /* Subroutines needed for unwinding IA-64 standard format stack frame info for exception handling. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Andrew MacLeod <amacleod@cygnus.com> Andrew Haley <aph@cygnus.com> David Mosberger-Tang <davidm@hpl.hp.com> diff --git a/libgcc/config/ia64/unwind-ia64.h b/libgcc/config/ia64/unwind-ia64.h index 47110b5833..b3e9bbbcbb 100644 --- a/libgcc/config/ia64/unwind-ia64.h +++ b/libgcc/config/ia64/unwind-ia64.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Andrew MacLeod <amacleod@cygnus.com> Andrew Haley <aph@cygnus.com> diff --git a/libgcc/config/ia64/vms-crtinit.S b/libgcc/config/ia64/vms-crtinit.S index a5f133be8b..c537f80fc9 100644 --- a/libgcc/config/ia64/vms-crtinit.S +++ b/libgcc/config/ia64/vms-crtinit.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/ia64/vms-unwind.h b/libgcc/config/ia64/vms-unwind.h index 47d645163c..00d9f1126c 100644 --- a/libgcc/config/ia64/vms-unwind.h +++ b/libgcc/config/ia64/vms-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for IA64 VMS. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/iq2000/lib2funcs.c b/libgcc/config/iq2000/lib2funcs.c index 864b99f991..21062e3ef7 100644 --- a/libgcc/config/iq2000/lib2funcs.c +++ b/libgcc/config/iq2000/lib2funcs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2016 Free Software Foundation, Inc. +/* Copyright (C) 2003-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog index 3a3e8deada..1b6c617c2b 100644 --- a/libgcc/config/libbid/ChangeLog +++ b/libgcc/config/libbid/ChangeLog @@ -1,10 +1,6 @@ -2016-08-22 Release Manager +2017-05-02 Release Manager - * GCC 6.2.0 released. - -2016-04-27 Release Manager - - * GCC 6.1.0 released. + * GCC 7.1.0 released. 2016-01-04 Jakub Jelinek <jakub@redhat.com> @@ -403,7 +399,7 @@ * inline_bid_add.h: Likewise. * sqrt_macros.h: Likewise. -Copyright (C) 2007-2016 Free Software Foundation, Inc. +Copyright (C) 2007-2017 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libgcc/config/libbid/_addsub_dd.c b/libgcc/config/libbid/_addsub_dd.c index 7998be92a3..cc6f34b8b7 100644 --- a/libgcc/config/libbid/_addsub_dd.c +++ b/libgcc/config/libbid/_addsub_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_addsub_sd.c b/libgcc/config/libbid/_addsub_sd.c index 69965e245d..78bb74767d 100644 --- a/libgcc/config/libbid/_addsub_sd.c +++ b/libgcc/config/libbid/_addsub_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_addsub_td.c b/libgcc/config/libbid/_addsub_td.c index 15273b804c..1bcdafb503 100644 --- a/libgcc/config/libbid/_addsub_td.c +++ b/libgcc/config/libbid/_addsub_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_df.c b/libgcc/config/libbid/_dd_to_df.c index 43eadc5da6..2d52875322 100644 --- a/libgcc/config/libbid/_dd_to_df.c +++ b/libgcc/config/libbid/_dd_to_df.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_di.c b/libgcc/config/libbid/_dd_to_di.c index 05f012a3f3..03609181eb 100644 --- a/libgcc/config/libbid/_dd_to_di.c +++ b/libgcc/config/libbid/_dd_to_di.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_sd.c b/libgcc/config/libbid/_dd_to_sd.c index 1e3989482a..ba82847a11 100644 --- a/libgcc/config/libbid/_dd_to_sd.c +++ b/libgcc/config/libbid/_dd_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_sf.c b/libgcc/config/libbid/_dd_to_sf.c index 4adaab326a..203b0ee2c0 100644 --- a/libgcc/config/libbid/_dd_to_sf.c +++ b/libgcc/config/libbid/_dd_to_sf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_si.c b/libgcc/config/libbid/_dd_to_si.c index 0619ec474b..926093c456 100644 --- a/libgcc/config/libbid/_dd_to_si.c +++ b/libgcc/config/libbid/_dd_to_si.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_td.c b/libgcc/config/libbid/_dd_to_td.c index cf1e3e97b5..a32af09ecc 100644 --- a/libgcc/config/libbid/_dd_to_td.c +++ b/libgcc/config/libbid/_dd_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_tf.c b/libgcc/config/libbid/_dd_to_tf.c index 33f09a4803..e5f3d48ae3 100644 --- a/libgcc/config/libbid/_dd_to_tf.c +++ b/libgcc/config/libbid/_dd_to_tf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_udi.c b/libgcc/config/libbid/_dd_to_udi.c index 18bce26683..a9834d123c 100644 --- a/libgcc/config/libbid/_dd_to_udi.c +++ b/libgcc/config/libbid/_dd_to_udi.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_usi.c b/libgcc/config/libbid/_dd_to_usi.c index d22f49a8c5..d4ec9b3cac 100644 --- a/libgcc/config/libbid/_dd_to_usi.c +++ b/libgcc/config/libbid/_dd_to_usi.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_dd_to_xf.c b/libgcc/config/libbid/_dd_to_xf.c index 0c3649a8dc..94311b310a 100644 --- a/libgcc/config/libbid/_dd_to_xf.c +++ b/libgcc/config/libbid/_dd_to_xf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_df_to_dd.c b/libgcc/config/libbid/_df_to_dd.c index 9bc431a409..ce832f6c32 100644 --- a/libgcc/config/libbid/_df_to_dd.c +++ b/libgcc/config/libbid/_df_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_df_to_sd.c b/libgcc/config/libbid/_df_to_sd.c index 4b09461e32..1b38a66158 100644 --- a/libgcc/config/libbid/_df_to_sd.c +++ b/libgcc/config/libbid/_df_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_df_to_td.c b/libgcc/config/libbid/_df_to_td.c index 34de781878..06b0a2d11e 100644 --- a/libgcc/config/libbid/_df_to_td.c +++ b/libgcc/config/libbid/_df_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_di_to_dd.c b/libgcc/config/libbid/_di_to_dd.c index 5d8c4f689e..63edda86de 100644 --- a/libgcc/config/libbid/_di_to_dd.c +++ b/libgcc/config/libbid/_di_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_di_to_sd.c b/libgcc/config/libbid/_di_to_sd.c index 3a15bd7a9d..671685814e 100644 --- a/libgcc/config/libbid/_di_to_sd.c +++ b/libgcc/config/libbid/_di_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_di_to_td.c b/libgcc/config/libbid/_di_to_td.c index 1c916dd324..6dccea6a09 100644 --- a/libgcc/config/libbid/_di_to_td.c +++ b/libgcc/config/libbid/_di_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_div_dd.c b/libgcc/config/libbid/_div_dd.c index b373a2ad0e..41edc6ba41 100644 --- a/libgcc/config/libbid/_div_dd.c +++ b/libgcc/config/libbid/_div_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_div_sd.c b/libgcc/config/libbid/_div_sd.c index 5cf634ddd4..718d734079 100644 --- a/libgcc/config/libbid/_div_sd.c +++ b/libgcc/config/libbid/_div_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_div_td.c b/libgcc/config/libbid/_div_td.c index 307c23c78b..cbad6f1412 100644 --- a/libgcc/config/libbid/_div_td.c +++ b/libgcc/config/libbid/_div_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_eq_dd.c b/libgcc/config/libbid/_eq_dd.c index fcfdc44463..f39d248be7 100644 --- a/libgcc/config/libbid/_eq_dd.c +++ b/libgcc/config/libbid/_eq_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_eq_sd.c b/libgcc/config/libbid/_eq_sd.c index 3c7bfc9d01..899f5259fa 100644 --- a/libgcc/config/libbid/_eq_sd.c +++ b/libgcc/config/libbid/_eq_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_eq_td.c b/libgcc/config/libbid/_eq_td.c index f082e23639..a886df8829 100644 --- a/libgcc/config/libbid/_eq_td.c +++ b/libgcc/config/libbid/_eq_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_ge_dd.c b/libgcc/config/libbid/_ge_dd.c index 2f79dac49e..023dc2bb12 100644 --- a/libgcc/config/libbid/_ge_dd.c +++ b/libgcc/config/libbid/_ge_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_ge_sd.c b/libgcc/config/libbid/_ge_sd.c index b6459691d8..f6499cd3ba 100644 --- a/libgcc/config/libbid/_ge_sd.c +++ b/libgcc/config/libbid/_ge_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_ge_td.c b/libgcc/config/libbid/_ge_td.c index 3e40cd8dda..1aad4a611c 100644 --- a/libgcc/config/libbid/_ge_td.c +++ b/libgcc/config/libbid/_ge_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_gt_dd.c b/libgcc/config/libbid/_gt_dd.c index eca221c303..076d7486dd 100644 --- a/libgcc/config/libbid/_gt_dd.c +++ b/libgcc/config/libbid/_gt_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_gt_sd.c b/libgcc/config/libbid/_gt_sd.c index 31cdc371d4..17c006a018 100644 --- a/libgcc/config/libbid/_gt_sd.c +++ b/libgcc/config/libbid/_gt_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_gt_td.c b/libgcc/config/libbid/_gt_td.c index 464e61ec89..4e683c45a9 100644 --- a/libgcc/config/libbid/_gt_td.c +++ b/libgcc/config/libbid/_gt_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_isinfd128.c b/libgcc/config/libbid/_isinfd128.c index 491aae2d0f..662d6552c7 100644 --- a/libgcc/config/libbid/_isinfd128.c +++ b/libgcc/config/libbid/_isinfd128.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_isinfd32.c b/libgcc/config/libbid/_isinfd32.c index 976dd57ca9..754fdbfc5f 100644 --- a/libgcc/config/libbid/_isinfd32.c +++ b/libgcc/config/libbid/_isinfd32.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_isinfd64.c b/libgcc/config/libbid/_isinfd64.c index 9a6baeb32d..537f8b1752 100644 --- a/libgcc/config/libbid/_isinfd64.c +++ b/libgcc/config/libbid/_isinfd64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_le_dd.c b/libgcc/config/libbid/_le_dd.c index d71f84ee03..6c3351efc4 100644 --- a/libgcc/config/libbid/_le_dd.c +++ b/libgcc/config/libbid/_le_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_le_sd.c b/libgcc/config/libbid/_le_sd.c index 557dba7f04..3c62d58409 100644 --- a/libgcc/config/libbid/_le_sd.c +++ b/libgcc/config/libbid/_le_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_le_td.c b/libgcc/config/libbid/_le_td.c index e1452c3a37..bf4469246f 100644 --- a/libgcc/config/libbid/_le_td.c +++ b/libgcc/config/libbid/_le_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_lt_dd.c b/libgcc/config/libbid/_lt_dd.c index f8f0ea8d83..119afca41d 100644 --- a/libgcc/config/libbid/_lt_dd.c +++ b/libgcc/config/libbid/_lt_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_lt_sd.c b/libgcc/config/libbid/_lt_sd.c index 3af0e6fafb..bd056f7a9e 100644 --- a/libgcc/config/libbid/_lt_sd.c +++ b/libgcc/config/libbid/_lt_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_lt_td.c b/libgcc/config/libbid/_lt_td.c index c1283be2e7..1393f44b36 100644 --- a/libgcc/config/libbid/_lt_td.c +++ b/libgcc/config/libbid/_lt_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_mul_dd.c b/libgcc/config/libbid/_mul_dd.c index 3a83c432e6..091f1c51d2 100644 --- a/libgcc/config/libbid/_mul_dd.c +++ b/libgcc/config/libbid/_mul_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_mul_sd.c b/libgcc/config/libbid/_mul_sd.c index ec03ff2fd0..d17c5b5ad6 100644 --- a/libgcc/config/libbid/_mul_sd.c +++ b/libgcc/config/libbid/_mul_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_mul_td.c b/libgcc/config/libbid/_mul_td.c index 6ee58de208..e2b61b70ef 100644 --- a/libgcc/config/libbid/_mul_td.c +++ b/libgcc/config/libbid/_mul_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_ne_dd.c b/libgcc/config/libbid/_ne_dd.c index 662f1daeb8..94723eb78c 100644 --- a/libgcc/config/libbid/_ne_dd.c +++ b/libgcc/config/libbid/_ne_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_ne_sd.c b/libgcc/config/libbid/_ne_sd.c index 2b628f3621..f6772091ca 100644 --- a/libgcc/config/libbid/_ne_sd.c +++ b/libgcc/config/libbid/_ne_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_ne_td.c b/libgcc/config/libbid/_ne_td.c index ba0bcd43b5..3d32a6e6aa 100644 --- a/libgcc/config/libbid/_ne_td.c +++ b/libgcc/config/libbid/_ne_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_dd.c b/libgcc/config/libbid/_sd_to_dd.c index 12aadc89b1..518a46bfea 100644 --- a/libgcc/config/libbid/_sd_to_dd.c +++ b/libgcc/config/libbid/_sd_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_df.c b/libgcc/config/libbid/_sd_to_df.c index b47abc1741..04359b6d36 100644 --- a/libgcc/config/libbid/_sd_to_df.c +++ b/libgcc/config/libbid/_sd_to_df.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_di.c b/libgcc/config/libbid/_sd_to_di.c index 9b04d80b0b..18bc847e00 100644 --- a/libgcc/config/libbid/_sd_to_di.c +++ b/libgcc/config/libbid/_sd_to_di.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_sf.c b/libgcc/config/libbid/_sd_to_sf.c index f6241bbbd7..e352432224 100644 --- a/libgcc/config/libbid/_sd_to_sf.c +++ b/libgcc/config/libbid/_sd_to_sf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_si.c b/libgcc/config/libbid/_sd_to_si.c index ce1d9d032f..306ac550e7 100644 --- a/libgcc/config/libbid/_sd_to_si.c +++ b/libgcc/config/libbid/_sd_to_si.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_td.c b/libgcc/config/libbid/_sd_to_td.c index 4c21ac1425..9eb83381b9 100644 --- a/libgcc/config/libbid/_sd_to_td.c +++ b/libgcc/config/libbid/_sd_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_tf.c b/libgcc/config/libbid/_sd_to_tf.c index 4fa85bb93b..862ca562cb 100644 --- a/libgcc/config/libbid/_sd_to_tf.c +++ b/libgcc/config/libbid/_sd_to_tf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_udi.c b/libgcc/config/libbid/_sd_to_udi.c index a4253a5123..07d9a09ceb 100644 --- a/libgcc/config/libbid/_sd_to_udi.c +++ b/libgcc/config/libbid/_sd_to_udi.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_usi.c b/libgcc/config/libbid/_sd_to_usi.c index d1e04970ee..a9c1932b58 100644 --- a/libgcc/config/libbid/_sd_to_usi.c +++ b/libgcc/config/libbid/_sd_to_usi.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sd_to_xf.c b/libgcc/config/libbid/_sd_to_xf.c index fb457d5163..9890731aea 100644 --- a/libgcc/config/libbid/_sd_to_xf.c +++ b/libgcc/config/libbid/_sd_to_xf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sf_to_dd.c b/libgcc/config/libbid/_sf_to_dd.c index 2cb453cc30..fb9d3e23a1 100644 --- a/libgcc/config/libbid/_sf_to_dd.c +++ b/libgcc/config/libbid/_sf_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sf_to_sd.c b/libgcc/config/libbid/_sf_to_sd.c index 2a90bb8c08..1c77c93122 100644 --- a/libgcc/config/libbid/_sf_to_sd.c +++ b/libgcc/config/libbid/_sf_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_sf_to_td.c b/libgcc/config/libbid/_sf_to_td.c index 565de7c514..96aa4efc8b 100644 --- a/libgcc/config/libbid/_sf_to_td.c +++ b/libgcc/config/libbid/_sf_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_si_to_dd.c b/libgcc/config/libbid/_si_to_dd.c index 18c835b8d3..3da74539ca 100644 --- a/libgcc/config/libbid/_si_to_dd.c +++ b/libgcc/config/libbid/_si_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_si_to_sd.c b/libgcc/config/libbid/_si_to_sd.c index 5ca8b4af53..38ee071eba 100644 --- a/libgcc/config/libbid/_si_to_sd.c +++ b/libgcc/config/libbid/_si_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_si_to_td.c b/libgcc/config/libbid/_si_to_td.c index c7d33e3e18..f16b134b96 100644 --- a/libgcc/config/libbid/_si_to_td.c +++ b/libgcc/config/libbid/_si_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_dd.c b/libgcc/config/libbid/_td_to_dd.c index f2b88a847c..4c7fb7ce5a 100644 --- a/libgcc/config/libbid/_td_to_dd.c +++ b/libgcc/config/libbid/_td_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_df.c b/libgcc/config/libbid/_td_to_df.c index 976680e9a4..fa9a3802b7 100644 --- a/libgcc/config/libbid/_td_to_df.c +++ b/libgcc/config/libbid/_td_to_df.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_di.c b/libgcc/config/libbid/_td_to_di.c index 5f34dc2d8c..f49dc858e6 100644 --- a/libgcc/config/libbid/_td_to_di.c +++ b/libgcc/config/libbid/_td_to_di.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_sd.c b/libgcc/config/libbid/_td_to_sd.c index 2f2ce4ad87..dfc9cc248d 100644 --- a/libgcc/config/libbid/_td_to_sd.c +++ b/libgcc/config/libbid/_td_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_sf.c b/libgcc/config/libbid/_td_to_sf.c index c4b4afb74c..f941725f54 100644 --- a/libgcc/config/libbid/_td_to_sf.c +++ b/libgcc/config/libbid/_td_to_sf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_si.c b/libgcc/config/libbid/_td_to_si.c index 1ab3414108..9079a3e424 100644 --- a/libgcc/config/libbid/_td_to_si.c +++ b/libgcc/config/libbid/_td_to_si.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_tf.c b/libgcc/config/libbid/_td_to_tf.c index 868daac110..cd0f5e652d 100644 --- a/libgcc/config/libbid/_td_to_tf.c +++ b/libgcc/config/libbid/_td_to_tf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_udi.c b/libgcc/config/libbid/_td_to_udi.c index 846d9e7a4d..288c52e2c9 100644 --- a/libgcc/config/libbid/_td_to_udi.c +++ b/libgcc/config/libbid/_td_to_udi.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_usi.c b/libgcc/config/libbid/_td_to_usi.c index a304b8a703..405d64535f 100644 --- a/libgcc/config/libbid/_td_to_usi.c +++ b/libgcc/config/libbid/_td_to_usi.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_td_to_xf.c b/libgcc/config/libbid/_td_to_xf.c index f50e925f2b..c9f328d16e 100644 --- a/libgcc/config/libbid/_td_to_xf.c +++ b/libgcc/config/libbid/_td_to_xf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_tf_to_dd.c b/libgcc/config/libbid/_tf_to_dd.c index 02b55e6677..0424534f85 100644 --- a/libgcc/config/libbid/_tf_to_dd.c +++ b/libgcc/config/libbid/_tf_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_tf_to_sd.c b/libgcc/config/libbid/_tf_to_sd.c index f4b974d94a..e3cd50cf30 100644 --- a/libgcc/config/libbid/_tf_to_sd.c +++ b/libgcc/config/libbid/_tf_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_tf_to_td.c b/libgcc/config/libbid/_tf_to_td.c index cbb50b8c1c..86f90f1a59 100644 --- a/libgcc/config/libbid/_tf_to_td.c +++ b/libgcc/config/libbid/_tf_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_udi_to_dd.c b/libgcc/config/libbid/_udi_to_dd.c index 62a39fe444..1ff7e367bf 100644 --- a/libgcc/config/libbid/_udi_to_dd.c +++ b/libgcc/config/libbid/_udi_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_udi_to_sd.c b/libgcc/config/libbid/_udi_to_sd.c index b789fc985b..6b524ee538 100644 --- a/libgcc/config/libbid/_udi_to_sd.c +++ b/libgcc/config/libbid/_udi_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_udi_to_td.c b/libgcc/config/libbid/_udi_to_td.c index 2a1e1e6714..a0b6bf8bcc 100644 --- a/libgcc/config/libbid/_udi_to_td.c +++ b/libgcc/config/libbid/_udi_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_unord_dd.c b/libgcc/config/libbid/_unord_dd.c index 644698bc2e..1fcd44156e 100644 --- a/libgcc/config/libbid/_unord_dd.c +++ b/libgcc/config/libbid/_unord_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_unord_sd.c b/libgcc/config/libbid/_unord_sd.c index 8874d2ae5f..62140c1d11 100644 --- a/libgcc/config/libbid/_unord_sd.c +++ b/libgcc/config/libbid/_unord_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_unord_td.c b/libgcc/config/libbid/_unord_td.c index 3a2ff855c2..95762f663c 100644 --- a/libgcc/config/libbid/_unord_td.c +++ b/libgcc/config/libbid/_unord_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_usi_to_dd.c b/libgcc/config/libbid/_usi_to_dd.c index cd919bddb9..e3714911b6 100644 --- a/libgcc/config/libbid/_usi_to_dd.c +++ b/libgcc/config/libbid/_usi_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_usi_to_sd.c b/libgcc/config/libbid/_usi_to_sd.c index 7da2b2e8f5..be994acfd8 100644 --- a/libgcc/config/libbid/_usi_to_sd.c +++ b/libgcc/config/libbid/_usi_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_usi_to_td.c b/libgcc/config/libbid/_usi_to_td.c index 83ffe329ac..c64eeb1b3d 100644 --- a/libgcc/config/libbid/_usi_to_td.c +++ b/libgcc/config/libbid/_usi_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_xf_to_dd.c b/libgcc/config/libbid/_xf_to_dd.c index 6b79256d74..ca3eed4d88 100644 --- a/libgcc/config/libbid/_xf_to_dd.c +++ b/libgcc/config/libbid/_xf_to_dd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_xf_to_sd.c b/libgcc/config/libbid/_xf_to_sd.c index d5d5a11dde..9fcf8416d1 100644 --- a/libgcc/config/libbid/_xf_to_sd.c +++ b/libgcc/config/libbid/_xf_to_sd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/_xf_to_td.c b/libgcc/config/libbid/_xf_to_td.c index 5099873fe1..8e3d92095a 100644 --- a/libgcc/config/libbid/_xf_to_td.c +++ b/libgcc/config/libbid/_xf_to_td.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128.c b/libgcc/config/libbid/bid128.c index 13eb9c7724..c590106d99 100644 --- a/libgcc/config/libbid/bid128.c +++ b/libgcc/config/libbid/bid128.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_2_str.h b/libgcc/config/libbid/bid128_2_str.h index 9692220e13..1642a0942a 100644 --- a/libgcc/config/libbid/bid128_2_str.h +++ b/libgcc/config/libbid/bid128_2_str.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_2_str_macros.h b/libgcc/config/libbid/bid128_2_str_macros.h index 1de512b453..4cfa455593 100644 --- a/libgcc/config/libbid/bid128_2_str_macros.h +++ b/libgcc/config/libbid/bid128_2_str_macros.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_2_str_tables.c b/libgcc/config/libbid/bid128_2_str_tables.c index 56d729f6d1..dbcf8c7776 100644 --- a/libgcc/config/libbid/bid128_2_str_tables.c +++ b/libgcc/config/libbid/bid128_2_str_tables.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_add.c b/libgcc/config/libbid/bid128_add.c index e4bb6f8fb6..b865f52dde 100644 --- a/libgcc/config/libbid/bid128_add.c +++ b/libgcc/config/libbid/bid128_add.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_compare.c b/libgcc/config/libbid/bid128_compare.c index 21673226f5..b14a40f2a2 100644 --- a/libgcc/config/libbid/bid128_compare.c +++ b/libgcc/config/libbid/bid128_compare.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_div.c b/libgcc/config/libbid/bid128_div.c index 0352c9d7a5..c6a5d57546 100644 --- a/libgcc/config/libbid/bid128_div.c +++ b/libgcc/config/libbid/bid128_div.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_fma.c b/libgcc/config/libbid/bid128_fma.c index 2f85449011..d48844f277 100644 --- a/libgcc/config/libbid/bid128_fma.c +++ b/libgcc/config/libbid/bid128_fma.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_logb.c b/libgcc/config/libbid/bid128_logb.c index 089677141d..29b3f8e937 100644 --- a/libgcc/config/libbid/bid128_logb.c +++ b/libgcc/config/libbid/bid128_logb.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_minmax.c b/libgcc/config/libbid/bid128_minmax.c index 4ad597531e..59a13761d7 100644 --- a/libgcc/config/libbid/bid128_minmax.c +++ b/libgcc/config/libbid/bid128_minmax.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_mul.c b/libgcc/config/libbid/bid128_mul.c index a9b5562d29..1cd6c89ffa 100644 --- a/libgcc/config/libbid/bid128_mul.c +++ b/libgcc/config/libbid/bid128_mul.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_next.c b/libgcc/config/libbid/bid128_next.c index 55f983cb7a..51936d27c1 100644 --- a/libgcc/config/libbid/bid128_next.c +++ b/libgcc/config/libbid/bid128_next.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_noncomp.c b/libgcc/config/libbid/bid128_noncomp.c index 34ee6c863b..70e45d3946 100644 --- a/libgcc/config/libbid/bid128_noncomp.c +++ b/libgcc/config/libbid/bid128_noncomp.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_quantize.c b/libgcc/config/libbid/bid128_quantize.c index 5dc13933fb..669b29576f 100644 --- a/libgcc/config/libbid/bid128_quantize.c +++ b/libgcc/config/libbid/bid128_quantize.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_rem.c b/libgcc/config/libbid/bid128_rem.c index 7694be2194..6695b974a9 100644 --- a/libgcc/config/libbid/bid128_rem.c +++ b/libgcc/config/libbid/bid128_rem.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_round_integral.c b/libgcc/config/libbid/bid128_round_integral.c index ffbf016390..349f7cfef8 100644 --- a/libgcc/config/libbid/bid128_round_integral.c +++ b/libgcc/config/libbid/bid128_round_integral.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_scalb.c b/libgcc/config/libbid/bid128_scalb.c index 1f264ccc30..44764b5396 100644 --- a/libgcc/config/libbid/bid128_scalb.c +++ b/libgcc/config/libbid/bid128_scalb.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_sqrt.c b/libgcc/config/libbid/bid128_sqrt.c index 70bdef8850..a37c8e657e 100644 --- a/libgcc/config/libbid/bid128_sqrt.c +++ b/libgcc/config/libbid/bid128_sqrt.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_string.c b/libgcc/config/libbid/bid128_string.c index 3466badf44..bd6131212a 100644 --- a/libgcc/config/libbid/bid128_string.c +++ b/libgcc/config/libbid/bid128_string.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_int16.c b/libgcc/config/libbid/bid128_to_int16.c index 417ed3e7d1..eaf0b0e0bb 100644 --- a/libgcc/config/libbid/bid128_to_int16.c +++ b/libgcc/config/libbid/bid128_to_int16.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_int32.c b/libgcc/config/libbid/bid128_to_int32.c index 1cdff6f9e3..85cbbfb4b4 100644 --- a/libgcc/config/libbid/bid128_to_int32.c +++ b/libgcc/config/libbid/bid128_to_int32.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_int64.c b/libgcc/config/libbid/bid128_to_int64.c index c65065d0f5..30bff69861 100644 --- a/libgcc/config/libbid/bid128_to_int64.c +++ b/libgcc/config/libbid/bid128_to_int64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_int8.c b/libgcc/config/libbid/bid128_to_int8.c index 829e5e4c2e..068cbe0fbe 100644 --- a/libgcc/config/libbid/bid128_to_int8.c +++ b/libgcc/config/libbid/bid128_to_int8.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_uint16.c b/libgcc/config/libbid/bid128_to_uint16.c index 96894b2143..9779495b52 100644 --- a/libgcc/config/libbid/bid128_to_uint16.c +++ b/libgcc/config/libbid/bid128_to_uint16.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_uint32.c b/libgcc/config/libbid/bid128_to_uint32.c index 8a82799499..23555fdf35 100644 --- a/libgcc/config/libbid/bid128_to_uint32.c +++ b/libgcc/config/libbid/bid128_to_uint32.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_uint64.c b/libgcc/config/libbid/bid128_to_uint64.c index 48bb9652bc..606592f134 100644 --- a/libgcc/config/libbid/bid128_to_uint64.c +++ b/libgcc/config/libbid/bid128_to_uint64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid128_to_uint8.c b/libgcc/config/libbid/bid128_to_uint8.c index 23651c640a..48168fc4f7 100644 --- a/libgcc/config/libbid/bid128_to_uint8.c +++ b/libgcc/config/libbid/bid128_to_uint8.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid32_to_bid128.c b/libgcc/config/libbid/bid32_to_bid128.c index 0679402913..7011d359ab 100644 --- a/libgcc/config/libbid/bid32_to_bid128.c +++ b/libgcc/config/libbid/bid32_to_bid128.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid32_to_bid64.c b/libgcc/config/libbid/bid32_to_bid64.c index addae035e3..377a5700e3 100644 --- a/libgcc/config/libbid/bid32_to_bid64.c +++ b/libgcc/config/libbid/bid32_to_bid64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_add.c b/libgcc/config/libbid/bid64_add.c index 328f070ba8..a751933a3d 100644 --- a/libgcc/config/libbid/bid64_add.c +++ b/libgcc/config/libbid/bid64_add.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_compare.c b/libgcc/config/libbid/bid64_compare.c index 07aa3b3da7..b68c54b4a9 100644 --- a/libgcc/config/libbid/bid64_compare.c +++ b/libgcc/config/libbid/bid64_compare.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_div.c b/libgcc/config/libbid/bid64_div.c index 687e7ce93e..d60c1a0d7b 100644 --- a/libgcc/config/libbid/bid64_div.c +++ b/libgcc/config/libbid/bid64_div.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_fma.c b/libgcc/config/libbid/bid64_fma.c index 9e76424bc3..674c5151c6 100644 --- a/libgcc/config/libbid/bid64_fma.c +++ b/libgcc/config/libbid/bid64_fma.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_logb.c b/libgcc/config/libbid/bid64_logb.c index 1883fc1a29..307a55deaf 100644 --- a/libgcc/config/libbid/bid64_logb.c +++ b/libgcc/config/libbid/bid64_logb.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_minmax.c b/libgcc/config/libbid/bid64_minmax.c index 965b1c4f3e..f192bfd879 100644 --- a/libgcc/config/libbid/bid64_minmax.c +++ b/libgcc/config/libbid/bid64_minmax.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_mul.c b/libgcc/config/libbid/bid64_mul.c index cefee99748..b121824a71 100644 --- a/libgcc/config/libbid/bid64_mul.c +++ b/libgcc/config/libbid/bid64_mul.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_next.c b/libgcc/config/libbid/bid64_next.c index d11369cbd0..759de94f58 100644 --- a/libgcc/config/libbid/bid64_next.c +++ b/libgcc/config/libbid/bid64_next.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_noncomp.c b/libgcc/config/libbid/bid64_noncomp.c index edbe1aa20f..ea804c444d 100644 --- a/libgcc/config/libbid/bid64_noncomp.c +++ b/libgcc/config/libbid/bid64_noncomp.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_quantize.c b/libgcc/config/libbid/bid64_quantize.c index bea5ac51d7..071e323402 100644 --- a/libgcc/config/libbid/bid64_quantize.c +++ b/libgcc/config/libbid/bid64_quantize.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_rem.c b/libgcc/config/libbid/bid64_rem.c index ab64ac6da9..4ca3864cf2 100644 --- a/libgcc/config/libbid/bid64_rem.c +++ b/libgcc/config/libbid/bid64_rem.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_round_integral.c b/libgcc/config/libbid/bid64_round_integral.c index 0b31f3a345..8c5e400948 100644 --- a/libgcc/config/libbid/bid64_round_integral.c +++ b/libgcc/config/libbid/bid64_round_integral.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_scalb.c b/libgcc/config/libbid/bid64_scalb.c index f41498bc80..70d436c853 100644 --- a/libgcc/config/libbid/bid64_scalb.c +++ b/libgcc/config/libbid/bid64_scalb.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_sqrt.c b/libgcc/config/libbid/bid64_sqrt.c index 7153c85a15..a4a39c5c7a 100644 --- a/libgcc/config/libbid/bid64_sqrt.c +++ b/libgcc/config/libbid/bid64_sqrt.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_string.c b/libgcc/config/libbid/bid64_string.c index 0abc1e2f62..f3dccffa8f 100644 --- a/libgcc/config/libbid/bid64_string.c +++ b/libgcc/config/libbid/bid64_string.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_bid128.c b/libgcc/config/libbid/bid64_to_bid128.c index 5b289f49dc..3a5d6a5d1f 100644 --- a/libgcc/config/libbid/bid64_to_bid128.c +++ b/libgcc/config/libbid/bid64_to_bid128.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_int16.c b/libgcc/config/libbid/bid64_to_int16.c index 6feca508b4..fb32aeddc8 100644 --- a/libgcc/config/libbid/bid64_to_int16.c +++ b/libgcc/config/libbid/bid64_to_int16.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_int32.c b/libgcc/config/libbid/bid64_to_int32.c index 246e6fd073..ea6717d2de 100644 --- a/libgcc/config/libbid/bid64_to_int32.c +++ b/libgcc/config/libbid/bid64_to_int32.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_int64.c b/libgcc/config/libbid/bid64_to_int64.c index 7373b697e7..53388549b1 100644 --- a/libgcc/config/libbid/bid64_to_int64.c +++ b/libgcc/config/libbid/bid64_to_int64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_int8.c b/libgcc/config/libbid/bid64_to_int8.c index cfe09be745..f1840d792a 100644 --- a/libgcc/config/libbid/bid64_to_int8.c +++ b/libgcc/config/libbid/bid64_to_int8.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_uint16.c b/libgcc/config/libbid/bid64_to_uint16.c index 055a231a0f..469e3626d0 100644 --- a/libgcc/config/libbid/bid64_to_uint16.c +++ b/libgcc/config/libbid/bid64_to_uint16.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_uint32.c b/libgcc/config/libbid/bid64_to_uint32.c index d67336193a..9aafd87ca2 100644 --- a/libgcc/config/libbid/bid64_to_uint32.c +++ b/libgcc/config/libbid/bid64_to_uint32.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_uint64.c b/libgcc/config/libbid/bid64_to_uint64.c index 2374b16583..4a3a8351b3 100644 --- a/libgcc/config/libbid/bid64_to_uint64.c +++ b/libgcc/config/libbid/bid64_to_uint64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid64_to_uint8.c b/libgcc/config/libbid/bid64_to_uint8.c index f52e1358c6..fde4fb06b7 100644 --- a/libgcc/config/libbid/bid64_to_uint8.c +++ b/libgcc/config/libbid/bid64_to_uint8.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_b2d.h b/libgcc/config/libbid/bid_b2d.h index 7447ee443a..971a9a5fd9 100644 --- a/libgcc/config/libbid/bid_b2d.h +++ b/libgcc/config/libbid/bid_b2d.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_binarydecimal.c b/libgcc/config/libbid/bid_binarydecimal.c index a88d9d2ee6..b64ea74618 100644 --- a/libgcc/config/libbid/bid_binarydecimal.c +++ b/libgcc/config/libbid/bid_binarydecimal.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_conf.h b/libgcc/config/libbid/bid_conf.h index 3cb2c14436..6cc2eb3e54 100644 --- a/libgcc/config/libbid/bid_conf.h +++ b/libgcc/config/libbid/bid_conf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_convert_data.c b/libgcc/config/libbid/bid_convert_data.c index 9471e88888..db45e868d5 100644 --- a/libgcc/config/libbid/bid_convert_data.c +++ b/libgcc/config/libbid/bid_convert_data.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_decimal_data.c b/libgcc/config/libbid/bid_decimal_data.c index 7c9fb6db4c..bbe42258a7 100644 --- a/libgcc/config/libbid/bid_decimal_data.c +++ b/libgcc/config/libbid/bid_decimal_data.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_decimal_globals.c b/libgcc/config/libbid/bid_decimal_globals.c index cb499df29e..221bf00472 100644 --- a/libgcc/config/libbid/bid_decimal_globals.c +++ b/libgcc/config/libbid/bid_decimal_globals.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_div_macros.h b/libgcc/config/libbid/bid_div_macros.h index 5f5c283b66..e100909ccd 100644 --- a/libgcc/config/libbid/bid_div_macros.h +++ b/libgcc/config/libbid/bid_div_macros.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_dpd.c b/libgcc/config/libbid/bid_dpd.c index 5447c76c6f..1335970baf 100644 --- a/libgcc/config/libbid/bid_dpd.c +++ b/libgcc/config/libbid/bid_dpd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_flag_operations.c b/libgcc/config/libbid/bid_flag_operations.c index 9e08838b7c..97ee96736e 100644 --- a/libgcc/config/libbid/bid_flag_operations.c +++ b/libgcc/config/libbid/bid_flag_operations.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_from_int.c b/libgcc/config/libbid/bid_from_int.c index 272b040b6b..aba2ada5f9 100644 --- a/libgcc/config/libbid/bid_from_int.c +++ b/libgcc/config/libbid/bid_from_int.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_functions.h b/libgcc/config/libbid/bid_functions.h index 53ffecf617..5779740bdf 100644 --- a/libgcc/config/libbid/bid_functions.h +++ b/libgcc/config/libbid/bid_functions.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_gcc_intrinsics.h b/libgcc/config/libbid/bid_gcc_intrinsics.h index 7aa2f2087f..357da006d5 100644 --- a/libgcc/config/libbid/bid_gcc_intrinsics.h +++ b/libgcc/config/libbid/bid_gcc_intrinsics.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_inline_add.h b/libgcc/config/libbid/bid_inline_add.h index ab16b42d90..d3c9af29fd 100644 --- a/libgcc/config/libbid/bid_inline_add.h +++ b/libgcc/config/libbid/bid_inline_add.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_internal.h b/libgcc/config/libbid/bid_internal.h index 7cc31e84e5..2e5d3fab5c 100644 --- a/libgcc/config/libbid/bid_internal.h +++ b/libgcc/config/libbid/bid_internal.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_round.c b/libgcc/config/libbid/bid_round.c index 1a5e5333f3..d15e5ff58c 100644 --- a/libgcc/config/libbid/bid_round.c +++ b/libgcc/config/libbid/bid_round.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libbid/bid_sqrt_macros.h b/libgcc/config/libbid/bid_sqrt_macros.h index 1d41e7047f..fddbe3ba00 100644 --- a/libgcc/config/libbid/bid_sqrt_macros.h +++ b/libgcc/config/libbid/bid_sqrt_macros.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/libgcc-glibc.ver b/libgcc/config/libgcc-glibc.ver index 18bd22a5e4..22251b397b 100644 --- a/libgcc/config/libgcc-glibc.ver +++ b/libgcc/config/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2016 Free Software Foundation, Inc. +# Copyright (C) 2000-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/lm32/_ashlsi3.S b/libgcc/config/lm32/_ashlsi3.S index 2fe9f68f8f..43703c48d9 100644 --- a/libgcc/config/lm32/_ashlsi3.S +++ b/libgcc/config/lm32/_ashlsi3.S @@ -1,7 +1,7 @@ # _ashlsi3.S for Lattice Mico32 # Contributed by Jon Beniston <jon@beniston.com> and Richard Henderson. # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_ashrsi3.S b/libgcc/config/lm32/_ashrsi3.S index a546ea7012..eeb934a785 100644 --- a/libgcc/config/lm32/_ashrsi3.S +++ b/libgcc/config/lm32/_ashrsi3.S @@ -1,7 +1,7 @@ # _ashrsi3.S for Lattice Mico32 # Contributed by Jon Beniston <jon@beniston.com> and Richard Henderson. # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_divsi3.c b/libgcc/config/lm32/_divsi3.c index de85445f71..3f15723da3 100644 --- a/libgcc/config/lm32/_divsi3.c +++ b/libgcc/config/lm32/_divsi3.c @@ -1,7 +1,7 @@ /* _divsi3 for Lattice Mico32. Contributed by Jon Beniston <jon@beniston.com> - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_lshrsi3.S b/libgcc/config/lm32/_lshrsi3.S index 17fce022db..76b3fb6b8f 100644 --- a/libgcc/config/lm32/_lshrsi3.S +++ b/libgcc/config/lm32/_lshrsi3.S @@ -1,7 +1,7 @@ # _lshrsi3.S for Lattice Mico32 # Contributed by Jon Beniston <jon@beniston.com> and Richard Henderson. # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_modsi3.c b/libgcc/config/lm32/_modsi3.c index 5fb25345cf..2973d49af7 100644 --- a/libgcc/config/lm32/_modsi3.c +++ b/libgcc/config/lm32/_modsi3.c @@ -1,7 +1,7 @@ /* _modsi3 for Lattice Mico32. Contributed by Jon Beniston <jon@beniston.com> - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_mulsi3.c b/libgcc/config/lm32/_mulsi3.c index fb1e49a5fe..c5a5a16a3d 100644 --- a/libgcc/config/lm32/_mulsi3.c +++ b/libgcc/config/lm32/_mulsi3.c @@ -1,7 +1,7 @@ /* _mulsi3 for Lattice Mico32. Contributed by Jon Beniston <jon@beniston.com> - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_udivmodsi4.c b/libgcc/config/lm32/_udivmodsi4.c index ab26ea7c77..fae50d03e6 100644 --- a/libgcc/config/lm32/_udivmodsi4.c +++ b/libgcc/config/lm32/_udivmodsi4.c @@ -1,7 +1,7 @@ /* _udivmodsi4 for Lattice Mico32. Contributed by Jon Beniston <jon@beniston.com> - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_udivsi3.c b/libgcc/config/lm32/_udivsi3.c index 5c9b839687..d49ee19f46 100644 --- a/libgcc/config/lm32/_udivsi3.c +++ b/libgcc/config/lm32/_udivsi3.c @@ -1,7 +1,7 @@ /* _udivsi3 for Lattice Mico32. Contributed by Jon Beniston <jon@beniston.com> - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/_umodsi3.c b/libgcc/config/lm32/_umodsi3.c index 5390759f64..65756bf632 100644 --- a/libgcc/config/lm32/_umodsi3.c +++ b/libgcc/config/lm32/_umodsi3.c @@ -1,7 +1,7 @@ /* _umodsi3 for Lattice Mico32. Contributed by Jon Beniston <jon@beniston.com> - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/crti.S b/libgcc/config/lm32/crti.S index ae77eb13e3..75647dd5fc 100644 --- a/libgcc/config/lm32/crti.S +++ b/libgcc/config/lm32/crti.S @@ -1,7 +1,7 @@ # crti.S for Lattice Mico32 # Contributed by Jon Beniston <jon@beniston.com> # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/crtn.S b/libgcc/config/lm32/crtn.S index 7b33caf4e9..ddf21e2efd 100644 --- a/libgcc/config/lm32/crtn.S +++ b/libgcc/config/lm32/crtn.S @@ -1,7 +1,7 @@ # crtn.S for Lattice Mico32 # Contributed by Jon Beniston <jon@beniston.com> # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/lm32/libgcc_lm32.h b/libgcc/config/lm32/libgcc_lm32.h index e0f930166e..2f712b7054 100644 --- a/libgcc/config/lm32/libgcc_lm32.h +++ b/libgcc/config/lm32/libgcc_lm32.h @@ -1,7 +1,7 @@ /* Integer arithmetic support for Lattice Mico32. Contributed by Jon Beniston <jon@beniston.com> - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/m32c/lib1funcs.S b/libgcc/config/m32c/lib1funcs.S index ab2c97a578..6af217a0a1 100644 --- a/libgcc/config/m32c/lib1funcs.S +++ b/libgcc/config/m32c/lib1funcs.S @@ -1,5 +1,5 @@ /* libgcc routines for R8C/M16C/M32C - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/m32c/lib2funcs.c b/libgcc/config/m32c/lib2funcs.c index a979bdabca..010ba569da 100644 --- a/libgcc/config/m32c/lib2funcs.c +++ b/libgcc/config/m32c/lib2funcs.c @@ -1,5 +1,5 @@ /* libgcc routines for R8C/M16C/M32C - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/m32c/trapv.c b/libgcc/config/m32c/trapv.c index 3349b640cf..12c449d1d5 100644 --- a/libgcc/config/m32c/trapv.c +++ b/libgcc/config/m32c/trapv.c @@ -1,5 +1,5 @@ /* 16-bit trapping arithmetic routines for R8C/M16C/M32C - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/m32r/initfini.c b/libgcc/config/m32r/initfini.c index 86c4cb09ca..97f127a3ef 100644 --- a/libgcc/config/m32r/initfini.c +++ b/libgcc/config/m32r/initfini.c @@ -1,7 +1,7 @@ /* .init/.fini section handling + C++ global constructor/destructor handling. This file is based on crtstuff.c, sol2-crti.S, sol2-crtn.S. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/m32r/libgcc-glibc.ver b/libgcc/config/m32r/libgcc-glibc.ver index abcfea0e2c..c4ae5ac732 100644 --- a/libgcc/config/m32r/libgcc-glibc.ver +++ b/libgcc/config/m32r/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2016 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/m68k/crti.S b/libgcc/config/m68k/crti.S index 67bea34510..bc2f600242 100644 --- a/libgcc/config/m68k/crti.S +++ b/libgcc/config/m68k/crti.S @@ -1,6 +1,6 @@ /* Specialized code needed to support construction and destruction of file-scope objects in C++ and Java code, and to support exception handling. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Charles-Antoine Gauthier (charles.gauthier@iit.nrc.ca). This file is part of GCC. diff --git a/libgcc/config/m68k/crtn.S b/libgcc/config/m68k/crtn.S index 10e253795e..33e7f2a986 100644 --- a/libgcc/config/m68k/crtn.S +++ b/libgcc/config/m68k/crtn.S @@ -1,6 +1,6 @@ /* Specialized code needed to support construction and destruction of file-scope objects in C++ and Java code, and to support exception handling. - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Charles-Antoine Gauthier (charles.gauthier@iit.nrc.ca). This file is part of GCC. diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S index c042bc6d5a..9f649f636d 100644 --- a/libgcc/config/m68k/lb1sf68.S +++ b/libgcc/config/m68k/lb1sf68.S @@ -1,5 +1,5 @@ /* libgcc routines for 68000 w/o floating-point hardware. - Copyright (C) 1994-2016 Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/m68k/linux-atomic.c b/libgcc/config/m68k/linux-atomic.c index 5dec6e5f2e..140e261bca 100644 --- a/libgcc/config/m68k/linux-atomic.c +++ b/libgcc/config/m68k/linux-atomic.c @@ -1,5 +1,5 @@ /* Linux-specific atomic operations for m68k Linux. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Based on code contributed by CodeSourcery for ARM EABI Linux. This file is part of GCC. @@ -33,7 +33,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see using the kernel helper defined below. There is no support for 64-bit operations yet. */ -#include <asm/unistd.h> #include <stdbool.h> #ifndef __NR_atomic_cmpxchg_32 diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h index 75b7cf723a..82c7a297a6 100644 --- a/libgcc/config/m68k/linux-unwind.h +++ b/libgcc/config/m68k/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Linux/m68k. - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/mcore/crti.S b/libgcc/config/mcore/crti.S index 148026e142..4b29e0927b 100644 --- a/libgcc/config/mcore/crti.S +++ b/libgcc/config/mcore/crti.S @@ -1,6 +1,6 @@ # crti.S for ELF based systems -# Copyright (C) 1992-2016 Free Software Foundation, Inc. +# Copyright (C) 1992-2017 Free Software Foundation, Inc. # Written By David Vinayak Henkel-Wallace, June 1992 # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/mcore/crtn.S b/libgcc/config/mcore/crtn.S index 5b44967acd..444ebfee7e 100644 --- a/libgcc/config/mcore/crtn.S +++ b/libgcc/config/mcore/crtn.S @@ -1,6 +1,6 @@ # crtn.S for ELF based systems -# Copyright (C) 1992-2016 Free Software Foundation, Inc. +# Copyright (C) 1992-2017 Free Software Foundation, Inc. # Written By David Vinayak Henkel-Wallace, June 1992 # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/mcore/lib1funcs.S b/libgcc/config/mcore/lib1funcs.S index 505aaf0ee5..e141f9ca2f 100644 --- a/libgcc/config/mcore/lib1funcs.S +++ b/libgcc/config/mcore/lib1funcs.S @@ -1,5 +1,5 @@ /* libgcc routines for the MCore. - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/mep/lib1funcs.S b/libgcc/config/mep/lib1funcs.S deleted file mode 100644 index 4ab0d00c39..0000000000 --- a/libgcc/config/mep/lib1funcs.S +++ /dev/null @@ -1,125 +0,0 @@ -/* libgcc routines for Toshiba Media Processor. - Copyright (C) 2001-2016 Free Software Foundation, Inc. - -This file is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -This file is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#define SAVEALL \ - add3 $sp, $sp, -16*4 ; \ - sw $0, ($sp) ; \ - sw $1, 4($sp) ; \ - sw $2, 8($sp) ; \ - sw $3, 12($sp) ; \ - sw $4, 16($sp) ; \ - sw $5, 20($sp) ; \ - sw $6, 24($sp) ; \ - sw $7, 28($sp) ; \ - sw $8, 32($sp) ; \ - sw $9, 36($sp) ; \ - sw $10, 40($sp) ; \ - sw $11, 44($sp) ; \ - sw $12, 48($sp) ; \ - sw $13, 52($sp) ; \ - sw $14, 56($sp) ; \ - ldc $5, $lp ; \ - add $5, 3 ; \ - mov $6, -4 ; \ - and $5, $6 - -#define RESTOREALL \ - stc $5, $lp ; \ - lw $14, 56($sp) ; \ - lw $13, 52($sp) ; \ - lw $12, 48($sp) ; \ - lw $11, 44($sp) ; \ - lw $10, 40($sp) ; \ - lw $9, 36($sp) ; \ - lw $8, 32($sp) ; \ - lw $7, 28($sp) ; \ - lw $6, 24($sp) ; \ - lw $5, 20($sp) ; \ - lw $4, 16($sp) ; \ - lw $3, 12($sp) ; \ - lw $2, 8($sp) ; \ - lw $1, 4($sp) ; \ - lw $0, ($sp) ; \ - add3 $sp, $sp, 16*4 ; \ - ret - -#ifdef L_mep_profile - .text - .global __mep_mcount -__mep_mcount: - SAVEALL - ldc $1, $lp - mov $2, $0 - bsr __mep_mcount_2 - RESTOREALL -#endif - -#ifdef L_mep_bb_init_trace - .text - .global __mep_bb_init_trace_func -__mep_bb_init_trace_func: - SAVEALL - lw $1, ($5) - lw $2, 4($5) - add $5, 8 - bsr __bb_init_trace_func - RESTOREALL -#endif - -#ifdef L_mep_bb_init - .text - .global __mep_bb_init_func -__mep_bb_init_func: - SAVEALL - lw $1, ($5) - add $5, 4 - bsr __bb_init_func - RESTOREALL -#endif - -#ifdef L_mep_bb_trace - .text - .global __mep_bb_trace_func -__mep_bb_trace_func: - SAVEALL - movu $3, __bb - lw $1, ($5) - sw $1, ($3) - lw $2, 4($5) - sw $2, 4($3) - add $5, 8 - bsr __bb_trace_func - RESTOREALL -#endif - -#ifdef L_mep_bb_increment - .text - .global __mep_bb_increment_func -__mep_bb_increment_func: - SAVEALL - lw $1, ($5) - lw $0, ($1) - add $0, 1 - sw $0, ($1) - add $5, 4 - RESTOREALL -#endif diff --git a/libgcc/config/mep/lib2funcs.c b/libgcc/config/mep/lib2funcs.c deleted file mode 100644 index f5d536ad05..0000000000 --- a/libgcc/config/mep/lib2funcs.c +++ /dev/null @@ -1,139 +0,0 @@ -/* libgcc routines for MeP. - Copyright (C) 2001-2016 Free Software Foundation, Inc. - -This file is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -This file is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -typedef int SItype __attribute__ ((mode (SI))); -typedef unsigned int USItype __attribute__ ((mode (SI))); - -typedef int word_type __attribute__ ((mode (__word__))); - -USItype -__mulsi3 (USItype a, USItype b) -{ - USItype c = 0; - - while (a != 0) - { - if (a & 1) - c += b; - a >>= 1; - b <<= 1; - } - - return c; -} - - - -USItype -udivmodsi4(USItype num, USItype den, word_type modwanted) -{ - USItype bit = 1; - USItype res = 0; - - while (den < num && bit && !(den & (1L<<31))) - { - den <<=1; - bit <<=1; - } - while (bit) - { - if (num >= den) - { - num -= den; - res |= bit; - } - bit >>=1; - den >>=1; - } - if (modwanted) return num; - return res; -} - - - -SItype -__divsi3 (SItype a, SItype b) -{ - word_type neg = 0; - SItype res; - - if (a < 0) - { - a = -a; - neg = !neg; - } - - if (b < 0) - { - b = -b; - neg = !neg; - } - - res = udivmodsi4 (a, b, 0); - - if (neg) - res = -res; - - return res; -} - - - -SItype -__modsi3 (SItype a, SItype b) -{ - word_type neg = 0; - SItype res; - - if (a < 0) - { - a = -a; - neg = 1; - } - - if (b < 0) - b = -b; - - res = udivmodsi4 (a, b, 1); - - if (neg) - res = -res; - - return res; -} - - - - -SItype -__udivsi3 (SItype a, SItype b) -{ - return udivmodsi4 (a, b, 0); -} - - - -SItype -__umodsi3 (SItype a, SItype b) -{ - return udivmodsi4 (a, b, 1); -} diff --git a/libgcc/config/mep/t-mep b/libgcc/config/mep/t-mep deleted file mode 100644 index fb3a0d60c4..0000000000 --- a/libgcc/config/mep/t-mep +++ /dev/null @@ -1,16 +0,0 @@ -# profiling support -LIB1ASMSRC = mep/lib1funcs.S - -LIB1ASMFUNCS = _mep_profile \ - _mep_bb_init_trace \ - _mep_bb_init \ - _mep_bb_trace \ - _mep_bb_increment - -# multiply and divide routines -LIB2ADD = \ - $(srcdir)/config/mep/lib2funcs.c \ - $(srcdir)/config/mep/tramp.c - -# Use -O0 instead of -O2 so we don't get complex relocations -CRTSTUFF_CFLAGS += -O0 diff --git a/libgcc/config/mep/tramp.c b/libgcc/config/mep/tramp.c deleted file mode 100644 index d30efe4eb6..0000000000 --- a/libgcc/config/mep/tramp.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Trampoline support for MeP - Copyright (C) 2004-2016 Free Software Foundation, Inc. - Contributed by Red Hat Inc. - -This file is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -This file is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* - 7a0a ldc $10,$pc - c0ae000a lw $0,10($10) - caae000e lw $10,14($10) - 10ae jmp $10 - 00000000 static chain - 00000000 function address -*/ - -static inline int -cache_config_register(void) { - int rv; - asm ("ldc\t%0, $ccfg" : "=r" (rv)); - return rv; -} - -#define ICACHE_SIZE ((cache_config_register() >> 16) & 0x7f) -#define DCACHE_SIZE (cache_config_register() & 0x7f) - -#define ICACHE_DATA_BASE 0x00300000 -#define ICACHE_TAG_BASE 0x00310000 -#define DCACHE_DATA_BASE 0x00320000 -#define DCACHE_TAG_BASE 0x00330000 - -static inline void -flush_dcache (int addr) -{ - asm volatile ("cache\t0, (%0)" : : "r" (addr)); -} - -void -__mep_trampoline_helper (unsigned long *tramp, - int function_address, - int static_chain); - -void -__mep_trampoline_helper (unsigned long *tramp, - int function_address, - int static_chain) -{ - int dsize, isize; - -#ifdef __LITTLE_ENDIAN__ - tramp[0] = 0xc0ae7a0a; - tramp[1] = 0xcaae000a; - tramp[2] = 0x10ae000e; -#else - tramp[0] = 0x7a0ac0ae; - tramp[1] = 0x000acaae; - tramp[2] = 0x000e10ae; -#endif - tramp[3] = static_chain; - tramp[4] = function_address; - - dsize = DCACHE_SIZE; - isize = ICACHE_SIZE; - - if (dsize) - { - flush_dcache ((int)tramp); - flush_dcache ((int)tramp+16); - } - - if (isize) - { - int imask = (isize * 1024) - 1; - int tmask = ~imask; - unsigned int i; - volatile unsigned int *tags; - - imask &= 0xffe0; - - for (i=(unsigned int)tramp; i<(unsigned int)tramp+20; i+=16) - { - tags = (unsigned int *)(ICACHE_TAG_BASE + (i & imask)); - if ((*tags & tmask) == (i & tmask)) - *tags &= ~1; - } - } -} diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S index e979f5e6e8..61626e2692 100644 --- a/libgcc/config/microblaze/crti.S +++ b/libgcc/config/microblaze/crti.S @@ -1,7 +1,7 @@ /* crti.s for __init, __fini This file supplies the prologue for __init and __fini routines - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Michael Eager <eager@eagercon.com>. diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S index 8101adae51..3b9bf7ef52 100644 --- a/libgcc/config/microblaze/crtn.S +++ b/libgcc/config/microblaze/crtn.S @@ -1,7 +1,7 @@ /* crtn.s for __init, __fini This file supplies the epilogue for __init and __fini routines - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Michael Eager <eager@eagercon.com>. diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S index 22fa3eefe5..42f9cb2276 100644 --- a/libgcc/config/microblaze/divsi3.S +++ b/libgcc/config/microblaze/divsi3.S @@ -1,6 +1,6 @@ ###################################- # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # Contributed by Michael Eager <eager@eagercon.com>. # diff --git a/libgcc/config/microblaze/divsi3_table.c b/libgcc/config/microblaze/divsi3_table.c index c87b06ee81..51260c09ac 100644 --- a/libgcc/config/microblaze/divsi3_table.c +++ b/libgcc/config/microblaze/divsi3_table.c @@ -1,6 +1,6 @@ /* Table for software lookup divide for Xilinx MicroBlaze. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Michael Eager <eager@eagercon.com>. diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S index cafba44767..bcea079476 100644 --- a/libgcc/config/microblaze/moddi3.S +++ b/libgcc/config/microblaze/moddi3.S @@ -1,6 +1,6 @@ ################################### # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # Contributed by Michael Eager <eager@eagercon.com>. # diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S index bb41781643..eb671a145a 100644 --- a/libgcc/config/microblaze/modsi3.S +++ b/libgcc/config/microblaze/modsi3.S @@ -1,6 +1,6 @@ ################################### # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # Contributed by Michael Eager <eager@eagercon.com>. # diff --git a/libgcc/config/microblaze/muldi3_hard.S b/libgcc/config/microblaze/muldi3_hard.S index ab0de2b34d..f2188c641f 100644 --- a/libgcc/config/microblaze/muldi3_hard.S +++ b/libgcc/config/microblaze/muldi3_hard.S @@ -1,6 +1,6 @@ ###################################- # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # Contributed by Michael Eager <eager@eagercon.com>. # diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S index b526937cb6..f126b56413 100644 --- a/libgcc/config/microblaze/mulsi3.S +++ b/libgcc/config/microblaze/mulsi3.S @@ -1,6 +1,6 @@ ###################################-*-asm*- # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # Contributed by Michael Eager <eager@eagercon.com>. # diff --git a/libgcc/config/microblaze/stack_overflow_exit.S b/libgcc/config/microblaze/stack_overflow_exit.S index 2ecb396906..63319de17e 100644 --- a/libgcc/config/microblaze/stack_overflow_exit.S +++ b/libgcc/config/microblaze/stack_overflow_exit.S @@ -1,6 +1,6 @@ ###################################-*-asm*- # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # # Contributed by Michael Eager <eager@eagercon.com>. diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S index 701caa9708..2e08fb2033 100644 --- a/libgcc/config/microblaze/udivsi3.S +++ b/libgcc/config/microblaze/udivsi3.S @@ -1,6 +1,6 @@ ###################################- # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # Contributed by Michael Eager <eager@eagercon.com>. # diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S index b450ac074e..b230a8cf80 100644 --- a/libgcc/config/microblaze/umodsi3.S +++ b/libgcc/config/microblaze/umodsi3.S @@ -1,6 +1,6 @@ ################################### # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # Contributed by Michael Eager <eager@eagercon.com>. # diff --git a/libgcc/config/mips/crtfastmath.c b/libgcc/config/mips/crtfastmath.c index 05649af067..dbc1cb164a 100644 --- a/libgcc/config/mips/crtfastmath.c +++ b/libgcc/config/mips/crtfastmath.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2016 Free Software Foundation, Inc. +/* Copyright (C) 2010-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/mips/crti.S b/libgcc/config/mips/crti.S index 8521d3cd5e..2d52a90068 100644 --- a/libgcc/config/mips/crti.S +++ b/libgcc/config/mips/crti.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/mips/crtn.S b/libgcc/config/mips/crtn.S index d80c3429d7..9132ea0ebc 100644 --- a/libgcc/config/mips/crtn.S +++ b/libgcc/config/mips/crtn.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/mips/gthr-mipssde.h b/libgcc/config/mips/gthr-mipssde.h index ccd4b7ef78..e6e953260a 100644 --- a/libgcc/config/mips/gthr-mipssde.h +++ b/libgcc/config/mips/gthr-mipssde.h @@ -1,6 +1,6 @@ /* MIPS SDE threads compatibility routines for libgcc2 and libobjc. */ /* Compile this one with gcc. */ -/* Copyright (C) 2006-2016 Free Software Foundation, Inc. +/* Copyright (C) 2006-2017 Free Software Foundation, Inc. Contributed by Nigel Stephens <nigel@mips.com> This file is part of GCC. diff --git a/libgcc/config/mips/lib2funcs.c b/libgcc/config/mips/lib2funcs.c index bcea5e33b5..2c41e296b0 100644 --- a/libgcc/config/mips/lib2funcs.c +++ b/libgcc/config/mips/lib2funcs.c @@ -1,5 +1,5 @@ /* libgcc routines for MIPS - Copyright (C) 2013-2016 Free Software Foundation, Inc. + Copyright (C) 2013-2017 Free Software Foundation, Inc. DMULT/DDIV replacement support by Juergen Urban, JuergenUrban@gmx.de. This file is part of GCC. diff --git a/libgcc/config/mips/libgcc-mips16.ver b/libgcc/config/mips/libgcc-mips16.ver index 53f0a3d7dd..24d740748d 100644 --- a/libgcc/config/mips/libgcc-mips16.ver +++ b/libgcc/config/mips/libgcc-mips16.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2008-2016 Free Software Foundation, Inc. +# Copyright (C) 2008-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/mips/linux-unwind.h b/libgcc/config/mips/linux-unwind.h index bf12de5354..889f3e1f69 100644 --- a/libgcc/config/mips/linux-unwind.h +++ b/libgcc/config/mips/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for MIPS Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -27,7 +27,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see state data appropriately. See unwind-dw2.c for the structs. */ #include <signal.h> -#include <asm/unistd.h> +#include <sys/syscall.h> /* The third parameter to the signal handler points to something with * this structure defined in asm/ucontext.h, but the name clashes with diff --git a/libgcc/config/mips/mips16.S b/libgcc/config/mips/mips16.S index 5080f86836..81fb924e8c 100644 --- a/libgcc/config/mips/mips16.S +++ b/libgcc/config/mips/mips16.S @@ -1,5 +1,5 @@ /* mips16 floating point support code - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. Contributed by Cygnus Support This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/mips/sfp-machine.h b/libgcc/config/mips/sfp-machine.h index 5ccd0b33e9..07d11580ee 100644 --- a/libgcc/config/mips/sfp-machine.h +++ b/libgcc/config/mips/sfp-machine.h @@ -1,5 +1,5 @@ /* softfp machine description for MIPS. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -96,10 +96,21 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__))); # define _FP_QNANNEGATEDP 1 #endif +#ifdef __mips_nan2008 +/* NaN payloads should be preserved for NAN2008. */ +# define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ + do \ + { \ + R##_s = X##_s; \ + _FP_FRAC_COPY_##wc (R, X); \ + R##_c = FP_CLS_NAN; \ + } \ + while (0) +#else /* Comment from glibc: */ /* From my experiments it seems X is chosen unless one of the NaNs is sNaN, in which case the result is NANSIGN/NANFRAC. */ -#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ +# define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ do { \ if ((_FP_FRAC_HIGH_RAW_##fs(X) | \ _FP_FRAC_HIGH_RAW_##fs(Y)) & _FP_QNANBIT_##fs) \ @@ -114,6 +125,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__))); } \ R##_c = FP_CLS_NAN; \ } while (0) +#endif #ifdef __mips_hard_float #define FP_EX_INVALID 0x40 diff --git a/libgcc/config/mips/t-mips16 b/libgcc/config/mips/t-mips16 index d666d7da57..af03753848 100644 --- a/libgcc/config/mips/t-mips16 +++ b/libgcc/config/mips/t-mips16 @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2016 Free Software Foundation, Inc. +# Copyright (C) 2007-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/mips/vr4120-div.S b/libgcc/config/mips/vr4120-div.S index 9954bc3ab5..7639c06230 100644 --- a/libgcc/config/mips/vr4120-div.S +++ b/libgcc/config/mips/vr4120-div.S @@ -1,5 +1,5 @@ /* Support file for -mfix-vr4120. - Copyright (C) 2002-2016 Free Software Foundation, Inc. + Copyright (C) 2002-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/mmix/crti.S b/libgcc/config/mmix/crti.S index 27a16514cd..8bb74737be 100644 --- a/libgcc/config/mmix/crti.S +++ b/libgcc/config/mmix/crti.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by Hans-Peter Nilsson <hp@bitrange.com> This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/mmix/crtn.S b/libgcc/config/mmix/crtn.S index 24514b225b..5d04f01661 100644 --- a/libgcc/config/mmix/crtn.S +++ b/libgcc/config/mmix/crtn.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by Hans-Peter Nilsson <hp@bitrange.com> This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/moxie/crti.S b/libgcc/config/moxie/crti.S index f789c9eb0f..60c9b465a9 100644 --- a/libgcc/config/moxie/crti.S +++ b/libgcc/config/moxie/crti.S @@ -1,6 +1,6 @@ # crti.S for moxie # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/moxie/crtn.S b/libgcc/config/moxie/crtn.S index 14cbf12210..1d4092b6a0 100644 --- a/libgcc/config/moxie/crtn.S +++ b/libgcc/config/moxie/crtn.S @@ -1,6 +1,6 @@ # crtn.S for moxie # -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/msp430/cmpd.c b/libgcc/config/msp430/cmpd.c index 03e690dff5..c65c466c7b 100644 --- a/libgcc/config/msp430/cmpd.c +++ b/libgcc/config/msp430/cmpd.c @@ -1,4 +1,7 @@ /* Public domain. */ + +int __mspabi_cmpf (float, float); + int __mspabi_cmpf (float x, float y) { @@ -8,6 +11,9 @@ __mspabi_cmpf (float x, float y) return 1; return 0; } + +int __mspabi_cmpd (double, double); + int __mspabi_cmpd (double x, double y) { diff --git a/libgcc/config/msp430/cmpsi2.S b/libgcc/config/msp430/cmpsi2.S index c258e76558..8b24144ed2 100644 --- a/libgcc/config/msp430/cmpsi2.S +++ b/libgcc/config/msp430/cmpsi2.S @@ -1,4 +1,4 @@ -; Copyright (C) 2012-2016 Free Software Foundation, Inc. +; Copyright (C) 2012-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/msp430/epilogue.S b/libgcc/config/msp430/epilogue.S index 8cbc167fa5..f15b204e5a 100644 --- a/libgcc/config/msp430/epilogue.S +++ b/libgcc/config/msp430/epilogue.S @@ -1,4 +1,4 @@ -; Copyright (C) 2012-2016 Free Software Foundation, Inc. +; Copyright (C) 2012-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/msp430/floathidf.c b/libgcc/config/msp430/floathidf.c index 304731d518..a1144223c6 100644 --- a/libgcc/config/msp430/floathidf.c +++ b/libgcc/config/msp430/floathidf.c @@ -1,6 +1,8 @@ /* Public domain. */ extern double __floatsidf (long); +double __floathidf (int); + double __floathidf (int u) { diff --git a/libgcc/config/msp430/floathisf.c b/libgcc/config/msp430/floathisf.c index 64e5d805d2..4b4c16c81a 100644 --- a/libgcc/config/msp430/floathisf.c +++ b/libgcc/config/msp430/floathisf.c @@ -4,6 +4,8 @@ typedef float SFtype __attribute__ ((mode (SF))); extern SFtype __floatsisf (unsigned long); +SFtype __floathisf (HItype); + SFtype __floathisf (HItype u) { diff --git a/libgcc/config/msp430/floatunhidf.c b/libgcc/config/msp430/floatunhidf.c index f13b550769..a02a953d54 100644 --- a/libgcc/config/msp430/floatunhidf.c +++ b/libgcc/config/msp430/floatunhidf.c @@ -5,6 +5,8 @@ typedef float DFtype __attribute__ ((mode (DF))); extern DFtype __floatunsidf (unsigned long); +DFtype __floatunhidf (UHItype); + DFtype __floatunhidf (UHItype u) { diff --git a/libgcc/config/msp430/floatunhisf.c b/libgcc/config/msp430/floatunhisf.c index ea920bd853..423627ab1c 100644 --- a/libgcc/config/msp430/floatunhisf.c +++ b/libgcc/config/msp430/floatunhisf.c @@ -5,6 +5,8 @@ typedef float SFtype __attribute__ ((mode (SF))); extern SFtype __floatunsisf (unsigned long); +SFtype __floatunhisf (UHItype); + SFtype __floatunhisf (UHItype u) { diff --git a/libgcc/config/msp430/lib2bitcountHI.c b/libgcc/config/msp430/lib2bitcountHI.c index 36f3cbe071..79f0b1ffb9 100644 --- a/libgcc/config/msp430/lib2bitcountHI.c +++ b/libgcc/config/msp430/lib2bitcountHI.c @@ -1,5 +1,5 @@ /* libgcc routines for MSP430 - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/msp430/lib2divHI.c b/libgcc/config/msp430/lib2divHI.c index 77d0c92d20..ec2bf4aa2d 100644 --- a/libgcc/config/msp430/lib2divHI.c +++ b/libgcc/config/msp430/lib2divHI.c @@ -1,5 +1,5 @@ /* HI mode divide routines for libgcc for MSP430 - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/msp430/lib2divQI.c b/libgcc/config/msp430/lib2divQI.c index cee3428751..06c7dd23a9 100644 --- a/libgcc/config/msp430/lib2divQI.c +++ b/libgcc/config/msp430/lib2divQI.c @@ -1,5 +1,5 @@ /* QI mode divide routines for libgcc for MSP430 - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/msp430/lib2divSI.c b/libgcc/config/msp430/lib2divSI.c index ceb06b0d2b..8a6949f2eb 100644 --- a/libgcc/config/msp430/lib2divSI.c +++ b/libgcc/config/msp430/lib2divSI.c @@ -1,5 +1,5 @@ /* SI mode divide routines for libgcc for MSP430 - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/msp430/lib2hw_mul.S b/libgcc/config/msp430/lib2hw_mul.S index 4f31750329..979b01725e 100644 --- a/libgcc/config/msp430/lib2hw_mul.S +++ b/libgcc/config/msp430/lib2hw_mul.S @@ -1,4 +1,4 @@ -; Copyright (C) 2014-2016 Free Software Foundation, Inc. +; Copyright (C) 2014-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/msp430/lib2mul.c b/libgcc/config/msp430/lib2mul.c index 04c112280e..f3c1d6f1f5 100644 --- a/libgcc/config/msp430/lib2mul.c +++ b/libgcc/config/msp430/lib2mul.c @@ -1,5 +1,5 @@ /* libgcc routines for MSP430 - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/msp430/lib2shift.c b/libgcc/config/msp430/lib2shift.c index d7e4d24096..4a86f17e4a 100644 --- a/libgcc/config/msp430/lib2shift.c +++ b/libgcc/config/msp430/lib2shift.c @@ -1,5 +1,5 @@ /* Shift functions for the GCC support library for the MSP430 - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. @@ -28,10 +28,10 @@ typedef unsigned int uint32_type __attribute__ ((mode (SI))); typedef int sint16_type __attribute__ ((mode (HI))); typedef unsigned int uint16_type __attribute__ ((mode (HI))); -uint32_type __ashlsi3 (uint32_type in, char bit); -sint32_type __ashrsi3 (sint32_type in, char bit); -int __clrsbhi2 (sint16_type x); -extern int __clrsbsi2 (sint32_type x); +uint32_type __ashlsi3 (uint32_type, signed char); +sint32_type __ashrsi3 (sint32_type, signed char); +int __clrsbhi2 (sint16_type); +extern int __clrsbsi2 (sint32_type); typedef struct { @@ -43,7 +43,7 @@ typedef struct } dd; uint32_type -__ashlsi3 (uint32_type in, char bit) +__ashlsi3 (uint32_type in, signed char bit) { uint16_type h, l; dd d; @@ -77,7 +77,7 @@ __ashlsi3 (uint32_type in, char bit) } sint32_type -__ashrsi3 (sint32_type in, char bit) +__ashrsi3 (sint32_type in, signed char bit) { sint16_type h; uint16_type l; diff --git a/libgcc/config/msp430/msp430-divmod.h b/libgcc/config/msp430/msp430-divmod.h index d9a84f4c62..073bb8763d 100644 --- a/libgcc/config/msp430/msp430-divmod.h +++ b/libgcc/config/msp430/msp430-divmod.h @@ -1,5 +1,5 @@ /* libgcc routines for MSP430 - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/msp430/msp430-mul.h b/libgcc/config/msp430/msp430-mul.h index 912dd44864..eeda7b1316 100644 --- a/libgcc/config/msp430/msp430-mul.h +++ b/libgcc/config/msp430/msp430-mul.h @@ -1,5 +1,5 @@ /* libgcc routines for RL78 - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/msp430/slli.S b/libgcc/config/msp430/slli.S index b1b47b12f4..47cc84e175 100644 --- a/libgcc/config/msp430/slli.S +++ b/libgcc/config/msp430/slli.S @@ -1,4 +1,4 @@ -; Copyright (C) 2012-2016 Free Software Foundation, Inc. +; Copyright (C) 2012-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/msp430/srai.S b/libgcc/config/msp430/srai.S index 2204e7069d..eb76532231 100644 --- a/libgcc/config/msp430/srai.S +++ b/libgcc/config/msp430/srai.S @@ -1,4 +1,4 @@ -; Copyright (C) 2012-2016 Free Software Foundation, Inc. +; Copyright (C) 2012-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/msp430/srli.S b/libgcc/config/msp430/srli.S index 0997a9921b..9aec22ad47 100644 --- a/libgcc/config/msp430/srli.S +++ b/libgcc/config/msp430/srli.S @@ -1,4 +1,4 @@ -; Copyright (C) 2012-2016 Free Software Foundation, Inc. +; Copyright (C) 2012-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/msp430/t-msp430 b/libgcc/config/msp430/t-msp430 index 562c458e23..668b9437dc 100644 --- a/libgcc/config/msp430/t-msp430 +++ b/libgcc/config/msp430/t-msp430 @@ -1,5 +1,5 @@ # Makefile fragment for building LIBGCC for the TI MSP430 processor. -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # Contributed by Red Hat. # # This file is part of GCC. @@ -30,7 +30,6 @@ LIB2ADD = \ $(srcdir)/config/msp430/lib2mul.c \ $(srcdir)/config/msp430/lib2shift.c \ $(srcdir)/config/msp430/epilogue.S \ - $(srcdir)/config/msp430/mpy.c \ $(srcdir)/config/msp430/slli.S \ $(srcdir)/config/msp430/srai.S \ $(srcdir)/config/msp430/srli.S \ @@ -43,6 +42,9 @@ LIB2ADD = \ HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections -mhwmult=none +mpy.o: $(srcdir)/config/msp430/mpy.c + $(gcc_compile) $< -c + lib2_mul_none.o: $(srcdir)/config/msp430/lib2mul.c $(gcc_compile) $< -c -DMUL_NONE @@ -58,17 +60,17 @@ lib2hw_mul_32.o: $(srcdir)/config/msp430/lib2hw_mul.S lib2hw_mul_f5.o: $(srcdir)/config/msp430/lib2hw_mul.S $(gcc_compile) $< -c -DMUL_F5 -libmul_none.a: lib2_mul_none.o - $(AR_CREATE_FOR_TARGET) $@ $^ +libmul_none.a: lib2_mul_none.o mpy.o + $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) libmul_16.a: lib2hw_mul_16.o lib2_mul_16bit.o - $(AR_CREATE_FOR_TARGET) $@ $^ + $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) libmul_32.a: lib2hw_mul_32.o - $(AR_CREATE_FOR_TARGET) $@ $^ + $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) libmul_f5.a: lib2hw_mul_f5.o - $(AR_CREATE_FOR_TARGET) $@ $^ + $(AR_CREATE_FOR_TARGET) $@ $(filter %.o,$^) # Local Variables: # mode: Makefile diff --git a/libgcc/config/nds32/crtzero.S b/libgcc/config/nds32/crtzero.S index 9898525868..9a6c183cb6 100644 --- a/libgcc/config/nds32/crtzero.S +++ b/libgcc/config/nds32/crtzero.S @@ -1,5 +1,5 @@ /* The startup code sample of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/initfini.c b/libgcc/config/nds32/initfini.c index 0aa33f527b..fe204e2bc5 100644 --- a/libgcc/config/nds32/initfini.c +++ b/libgcc/config/nds32/initfini.c @@ -1,7 +1,7 @@ /* .init/.fini section handling + C++ global constructor/destructor handling of Andes NDS32 cpu for GNU compiler. This file is based on crtstuff.c, sol2-crti.asm, sol2-crtn.asm. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/adj_intr_lvl.inc b/libgcc/config/nds32/isr-library/adj_intr_lvl.inc index 3e978b4365..d34efe48fe 100644 --- a/libgcc/config/nds32/isr-library/adj_intr_lvl.inc +++ b/libgcc/config/nds32/isr-library/adj_intr_lvl.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/excp_isr.S b/libgcc/config/nds32/isr-library/excp_isr.S index 6179a98886..aee24dadac 100644 --- a/libgcc/config/nds32/isr-library/excp_isr.S +++ b/libgcc/config/nds32/isr-library/excp_isr.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/excp_isr_4b.S b/libgcc/config/nds32/isr-library/excp_isr_4b.S index af70c7a97b..9c6d2239f6 100644 --- a/libgcc/config/nds32/isr-library/excp_isr_4b.S +++ b/libgcc/config/nds32/isr-library/excp_isr_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/intr_isr.S b/libgcc/config/nds32/isr-library/intr_isr.S index c55da1c6bf..dff66d42a2 100644 --- a/libgcc/config/nds32/isr-library/intr_isr.S +++ b/libgcc/config/nds32/isr-library/intr_isr.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/intr_isr_4b.S b/libgcc/config/nds32/isr-library/intr_isr_4b.S index d82c007a01..69086de40f 100644 --- a/libgcc/config/nds32/isr-library/intr_isr_4b.S +++ b/libgcc/config/nds32/isr-library/intr_isr_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid00.S b/libgcc/config/nds32/isr-library/jmptbl_vid00.S index 1c0c45ffc0..939242acf4 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid00.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid00.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid01.S b/libgcc/config/nds32/isr-library/jmptbl_vid01.S index 7ce69999d3..1c8bea01e0 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid01.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid01.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid02.S b/libgcc/config/nds32/isr-library/jmptbl_vid02.S index dd4e2719f3..51e48a4500 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid02.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid02.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid03.S b/libgcc/config/nds32/isr-library/jmptbl_vid03.S index 85712e69aa..842c5b7500 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid03.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid03.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid04.S b/libgcc/config/nds32/isr-library/jmptbl_vid04.S index 4a57cb6b90..74d64dc790 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid04.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid04.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid05.S b/libgcc/config/nds32/isr-library/jmptbl_vid05.S index 6eff3cabc7..ccb73a9ec0 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid05.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid05.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid06.S b/libgcc/config/nds32/isr-library/jmptbl_vid06.S index 842a614c4b..a2366fca38 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid06.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid06.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid07.S b/libgcc/config/nds32/isr-library/jmptbl_vid07.S index ce5b87a6c6..158410e759 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid07.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid07.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid08.S b/libgcc/config/nds32/isr-library/jmptbl_vid08.S index 7d6062856a..ab195e4256 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid08.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid08.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid09.S b/libgcc/config/nds32/isr-library/jmptbl_vid09.S index 75eac5f05e..2b022b08c5 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid09.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid09.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid10.S b/libgcc/config/nds32/isr-library/jmptbl_vid10.S index d9f25c27cb..aef57c9fd9 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid10.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid10.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid11.S b/libgcc/config/nds32/isr-library/jmptbl_vid11.S index 24bb2d9e7d..d6f9179dc2 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid11.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid11.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid12.S b/libgcc/config/nds32/isr-library/jmptbl_vid12.S index 751855eb9e..8db052f5d6 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid12.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid12.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid13.S b/libgcc/config/nds32/isr-library/jmptbl_vid13.S index 232d31d172..73e8807da3 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid13.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid13.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid14.S b/libgcc/config/nds32/isr-library/jmptbl_vid14.S index 17483e63d2..4065e1ce23 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid14.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid14.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid15.S b/libgcc/config/nds32/isr-library/jmptbl_vid15.S index f80bedcbc9..83654670d2 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid15.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid15.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid16.S b/libgcc/config/nds32/isr-library/jmptbl_vid16.S index 3a799af559..53e88e5102 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid16.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid16.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid17.S b/libgcc/config/nds32/isr-library/jmptbl_vid17.S index 2f7215332a..9d3cd6bde7 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid17.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid17.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid18.S b/libgcc/config/nds32/isr-library/jmptbl_vid18.S index f6eff9d1ba..7b2e0fad9f 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid18.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid18.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid19.S b/libgcc/config/nds32/isr-library/jmptbl_vid19.S index c1ecf3f6be..3321ce6757 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid19.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid19.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid20.S b/libgcc/config/nds32/isr-library/jmptbl_vid20.S index f2606b560d..a9056d0a6e 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid20.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid20.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid21.S b/libgcc/config/nds32/isr-library/jmptbl_vid21.S index f68780fdb9..c22db855fe 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid21.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid21.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid22.S b/libgcc/config/nds32/isr-library/jmptbl_vid22.S index e969195dfe..559869a82e 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid22.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid22.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid23.S b/libgcc/config/nds32/isr-library/jmptbl_vid23.S index 957c026399..fcb3c57651 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid23.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid23.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid24.S b/libgcc/config/nds32/isr-library/jmptbl_vid24.S index 001dbae101..b50d43352f 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid24.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid24.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid25.S b/libgcc/config/nds32/isr-library/jmptbl_vid25.S index 13ed0002ba..6289fa7e49 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid25.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid25.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid26.S b/libgcc/config/nds32/isr-library/jmptbl_vid26.S index 80a0c64e1f..e6da7c089d 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid26.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid26.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid27.S b/libgcc/config/nds32/isr-library/jmptbl_vid27.S index d971e19557..e028ade035 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid27.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid27.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid28.S b/libgcc/config/nds32/isr-library/jmptbl_vid28.S index 9d48e41d1c..8378beb1fd 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid28.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid28.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid29.S b/libgcc/config/nds32/isr-library/jmptbl_vid29.S index 81de0f06ea..1b61f8e1ed 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid29.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid29.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid30.S b/libgcc/config/nds32/isr-library/jmptbl_vid30.S index 4e06277ce7..d59f63538c 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid30.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid30.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid31.S b/libgcc/config/nds32/isr-library/jmptbl_vid31.S index f9206ab2e7..744395aafa 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid31.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid31.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid32.S b/libgcc/config/nds32/isr-library/jmptbl_vid32.S index d94f0eb39f..46d0bc3c3c 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid32.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid32.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid33.S b/libgcc/config/nds32/isr-library/jmptbl_vid33.S index b6aede7e39..db924f17d4 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid33.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid33.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid34.S b/libgcc/config/nds32/isr-library/jmptbl_vid34.S index 27432878c5..9986a8678e 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid34.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid34.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid35.S b/libgcc/config/nds32/isr-library/jmptbl_vid35.S index c77990f36d..38405a507b 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid35.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid35.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid36.S b/libgcc/config/nds32/isr-library/jmptbl_vid36.S index bb66dba6c7..e4618e8721 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid36.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid36.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid37.S b/libgcc/config/nds32/isr-library/jmptbl_vid37.S index 5c846b1e0a..35da7b7774 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid37.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid37.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid38.S b/libgcc/config/nds32/isr-library/jmptbl_vid38.S index 586cda1f9b..4184afbd21 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid38.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid38.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid39.S b/libgcc/config/nds32/isr-library/jmptbl_vid39.S index 917cd885ca..b7b57c2b5d 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid39.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid39.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid40.S b/libgcc/config/nds32/isr-library/jmptbl_vid40.S index f801b69d79..cff8bfbc68 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid40.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid40.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid41.S b/libgcc/config/nds32/isr-library/jmptbl_vid41.S index 4f9829da38..f439d50bb6 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid41.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid41.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid42.S b/libgcc/config/nds32/isr-library/jmptbl_vid42.S index a0e2d38a4c..1e3f0e2b61 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid42.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid42.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid43.S b/libgcc/config/nds32/isr-library/jmptbl_vid43.S index 04097f5c43..318e39bacf 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid43.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid43.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid44.S b/libgcc/config/nds32/isr-library/jmptbl_vid44.S index 10fbfe3f0f..22c25b9ea7 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid44.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid44.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid45.S b/libgcc/config/nds32/isr-library/jmptbl_vid45.S index 03926e6753..6dbf27fb85 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid45.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid45.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid46.S b/libgcc/config/nds32/isr-library/jmptbl_vid46.S index dd31529046..296fa4c4a7 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid46.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid46.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid47.S b/libgcc/config/nds32/isr-library/jmptbl_vid47.S index 07002168a7..0de52918b4 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid47.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid47.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid48.S b/libgcc/config/nds32/isr-library/jmptbl_vid48.S index 2268e3002f..119ab64aff 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid48.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid48.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid49.S b/libgcc/config/nds32/isr-library/jmptbl_vid49.S index 13c87e1d03..64508c493e 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid49.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid49.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid50.S b/libgcc/config/nds32/isr-library/jmptbl_vid50.S index 34cc40d55a..1e36db4ef8 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid50.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid50.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid51.S b/libgcc/config/nds32/isr-library/jmptbl_vid51.S index 5a62896c9a..2881c5e2d7 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid51.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid51.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid52.S b/libgcc/config/nds32/isr-library/jmptbl_vid52.S index 763eb49979..3a1d8529cb 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid52.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid52.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid53.S b/libgcc/config/nds32/isr-library/jmptbl_vid53.S index d8eb9b4648..f8f9f56902 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid53.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid53.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid54.S b/libgcc/config/nds32/isr-library/jmptbl_vid54.S index 324463fe04..3b54ed6839 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid54.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid54.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid55.S b/libgcc/config/nds32/isr-library/jmptbl_vid55.S index 5071a6a7c1..6ccdb79246 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid55.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid55.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid56.S b/libgcc/config/nds32/isr-library/jmptbl_vid56.S index 2b19dc2edc..8235429ae8 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid56.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid56.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid57.S b/libgcc/config/nds32/isr-library/jmptbl_vid57.S index 93c6fff5ae..a4c58b013c 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid57.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid57.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid58.S b/libgcc/config/nds32/isr-library/jmptbl_vid58.S index 849f5e4807..c35d5d3e76 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid58.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid58.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid59.S b/libgcc/config/nds32/isr-library/jmptbl_vid59.S index 33bd08abde..a1ffdc3585 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid59.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid59.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid60.S b/libgcc/config/nds32/isr-library/jmptbl_vid60.S index d484595867..292cfc4e6e 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid60.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid60.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid61.S b/libgcc/config/nds32/isr-library/jmptbl_vid61.S index cf06526816..1a3b5e1cc2 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid61.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid61.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid62.S b/libgcc/config/nds32/isr-library/jmptbl_vid62.S index e2ff397d30..715c4946c6 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid62.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid62.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid63.S b/libgcc/config/nds32/isr-library/jmptbl_vid63.S index b543ef89ef..86e493eea1 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid63.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid63.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid64.S b/libgcc/config/nds32/isr-library/jmptbl_vid64.S index 3f89272df6..896b573c1b 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid64.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid64.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid65.S b/libgcc/config/nds32/isr-library/jmptbl_vid65.S index 0c60acda1e..612fcf25f0 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid65.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid65.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid66.S b/libgcc/config/nds32/isr-library/jmptbl_vid66.S index 730f4ea11f..bf937d6e46 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid66.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid66.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid67.S b/libgcc/config/nds32/isr-library/jmptbl_vid67.S index df82710573..9696268b47 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid67.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid67.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid68.S b/libgcc/config/nds32/isr-library/jmptbl_vid68.S index c6904febdb..4af79b7259 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid68.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid68.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid69.S b/libgcc/config/nds32/isr-library/jmptbl_vid69.S index 9280e00dc8..56b4b4ca7f 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid69.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid69.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid70.S b/libgcc/config/nds32/isr-library/jmptbl_vid70.S index a74574aa93..4fb13fb7d5 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid70.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid70.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid71.S b/libgcc/config/nds32/isr-library/jmptbl_vid71.S index 461c5d1be3..eab9a22bc3 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid71.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid71.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/jmptbl_vid72.S b/libgcc/config/nds32/isr-library/jmptbl_vid72.S index 1a06cd75f4..dca8f0de37 100644 --- a/libgcc/config/nds32/isr-library/jmptbl_vid72.S +++ b/libgcc/config/nds32/isr-library/jmptbl_vid72.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/nmih.S b/libgcc/config/nds32/isr-library/nmih.S index 1f6d677064..4901e96074 100644 --- a/libgcc/config/nds32/isr-library/nmih.S +++ b/libgcc/config/nds32/isr-library/nmih.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/reset.S b/libgcc/config/nds32/isr-library/reset.S index 961d731b77..2bc0a8c0fc 100644 --- a/libgcc/config/nds32/isr-library/reset.S +++ b/libgcc/config/nds32/isr-library/reset.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/reset_4b.S b/libgcc/config/nds32/isr-library/reset_4b.S index 792e65536c..f0e0dbcbaf 100644 --- a/libgcc/config/nds32/isr-library/reset_4b.S +++ b/libgcc/config/nds32/isr-library/reset_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_all.inc b/libgcc/config/nds32/isr-library/restore_all.inc index c25b46ef05..e1bf0ea51d 100644 --- a/libgcc/config/nds32/isr-library/restore_all.inc +++ b/libgcc/config/nds32/isr-library/restore_all.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs.inc index d00d82a637..2958d332e1 100644 --- a/libgcc/config/nds32/isr-library/restore_fpu_regs.inc +++ b/libgcc/config/nds32/isr-library/restore_fpu_regs.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc index 5ccccd557b..5c10a66001 100644 --- a/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc +++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_00.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc index 248a460af9..4a3651e4f5 100644 --- a/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc +++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_01.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc index 879f85f91b..e273e7c0c3 100644 --- a/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc +++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_02.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc b/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc index eb9e7640dd..8e6a15a7d3 100644 --- a/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc +++ b/libgcc/config/nds32/isr-library/restore_fpu_regs_03.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_mac_regs.inc b/libgcc/config/nds32/isr-library/restore_mac_regs.inc index 0ffc9804d7..86c87c0842 100644 --- a/libgcc/config/nds32/isr-library/restore_mac_regs.inc +++ b/libgcc/config/nds32/isr-library/restore_mac_regs.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/restore_partial.inc b/libgcc/config/nds32/isr-library/restore_partial.inc index 70d5421a43..9103c55e07 100644 --- a/libgcc/config/nds32/isr-library/restore_partial.inc +++ b/libgcc/config/nds32/isr-library/restore_partial.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_all.inc b/libgcc/config/nds32/isr-library/save_all.inc index 20eb29d16f..811a0e7abe 100644 --- a/libgcc/config/nds32/isr-library/save_all.inc +++ b/libgcc/config/nds32/isr-library/save_all.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs.inc b/libgcc/config/nds32/isr-library/save_fpu_regs.inc index 51075e1c01..372db8df13 100644 --- a/libgcc/config/nds32/isr-library/save_fpu_regs.inc +++ b/libgcc/config/nds32/isr-library/save_fpu_regs.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc index 77dcc9c9cd..35b7a00f63 100644 --- a/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc +++ b/libgcc/config/nds32/isr-library/save_fpu_regs_00.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc index fb85b566ee..21d4d0370a 100644 --- a/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc +++ b/libgcc/config/nds32/isr-library/save_fpu_regs_01.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc index f179f8e058..75daa20f1b 100644 --- a/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc +++ b/libgcc/config/nds32/isr-library/save_fpu_regs_02.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc b/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc index 0fb0f4fcbe..0e836466a3 100644 --- a/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc +++ b/libgcc/config/nds32/isr-library/save_fpu_regs_03.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_mac_regs.inc b/libgcc/config/nds32/isr-library/save_mac_regs.inc index ddb5e770a1..89f46d1cc3 100644 --- a/libgcc/config/nds32/isr-library/save_mac_regs.inc +++ b/libgcc/config/nds32/isr-library/save_mac_regs.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/save_partial.inc b/libgcc/config/nds32/isr-library/save_partial.inc index ee514c467d..32ea16af48 100644 --- a/libgcc/config/nds32/isr-library/save_partial.inc +++ b/libgcc/config/nds32/isr-library/save_partial.inc @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid00.S b/libgcc/config/nds32/isr-library/vec_vid00.S index ccdbd19e99..ae17070a7a 100644 --- a/libgcc/config/nds32/isr-library/vec_vid00.S +++ b/libgcc/config/nds32/isr-library/vec_vid00.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid00_4b.S b/libgcc/config/nds32/isr-library/vec_vid00_4b.S index e1a37b4253..7a5e28ad19 100644 --- a/libgcc/config/nds32/isr-library/vec_vid00_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid00_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid01.S b/libgcc/config/nds32/isr-library/vec_vid01.S index ed5a88e867..f74bfce37d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid01.S +++ b/libgcc/config/nds32/isr-library/vec_vid01.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid01_4b.S b/libgcc/config/nds32/isr-library/vec_vid01_4b.S index 239bd75da7..d83cb0b9d6 100644 --- a/libgcc/config/nds32/isr-library/vec_vid01_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid01_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid02.S b/libgcc/config/nds32/isr-library/vec_vid02.S index 1a95a5727a..817fea82e8 100644 --- a/libgcc/config/nds32/isr-library/vec_vid02.S +++ b/libgcc/config/nds32/isr-library/vec_vid02.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid02_4b.S b/libgcc/config/nds32/isr-library/vec_vid02_4b.S index c532e625ca..cd777f5623 100644 --- a/libgcc/config/nds32/isr-library/vec_vid02_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid02_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid03.S b/libgcc/config/nds32/isr-library/vec_vid03.S index 9bc572ac61..e49c9e9a23 100644 --- a/libgcc/config/nds32/isr-library/vec_vid03.S +++ b/libgcc/config/nds32/isr-library/vec_vid03.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid03_4b.S b/libgcc/config/nds32/isr-library/vec_vid03_4b.S index cd30906937..7140ba826b 100644 --- a/libgcc/config/nds32/isr-library/vec_vid03_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid03_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid04.S b/libgcc/config/nds32/isr-library/vec_vid04.S index e8d4e10b39..f5e256fab6 100644 --- a/libgcc/config/nds32/isr-library/vec_vid04.S +++ b/libgcc/config/nds32/isr-library/vec_vid04.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid04_4b.S b/libgcc/config/nds32/isr-library/vec_vid04_4b.S index 21fc77ea3b..6d7e8c36f6 100644 --- a/libgcc/config/nds32/isr-library/vec_vid04_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid04_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid05.S b/libgcc/config/nds32/isr-library/vec_vid05.S index 1621a9de93..f9214a16aa 100644 --- a/libgcc/config/nds32/isr-library/vec_vid05.S +++ b/libgcc/config/nds32/isr-library/vec_vid05.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid05_4b.S b/libgcc/config/nds32/isr-library/vec_vid05_4b.S index b86fe19ffa..f217c24a67 100644 --- a/libgcc/config/nds32/isr-library/vec_vid05_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid05_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid06.S b/libgcc/config/nds32/isr-library/vec_vid06.S index 934f0b157f..c842b45d36 100644 --- a/libgcc/config/nds32/isr-library/vec_vid06.S +++ b/libgcc/config/nds32/isr-library/vec_vid06.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid06_4b.S b/libgcc/config/nds32/isr-library/vec_vid06_4b.S index 3624cfdbfa..65da755b72 100644 --- a/libgcc/config/nds32/isr-library/vec_vid06_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid06_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid07.S b/libgcc/config/nds32/isr-library/vec_vid07.S index 0b0484da05..16c478f089 100644 --- a/libgcc/config/nds32/isr-library/vec_vid07.S +++ b/libgcc/config/nds32/isr-library/vec_vid07.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid07_4b.S b/libgcc/config/nds32/isr-library/vec_vid07_4b.S index 997ca75ea1..197256024c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid07_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid07_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid08.S b/libgcc/config/nds32/isr-library/vec_vid08.S index 2a30375547..bb8c69fb35 100644 --- a/libgcc/config/nds32/isr-library/vec_vid08.S +++ b/libgcc/config/nds32/isr-library/vec_vid08.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid08_4b.S b/libgcc/config/nds32/isr-library/vec_vid08_4b.S index 83546d1631..9e6a2c64c3 100644 --- a/libgcc/config/nds32/isr-library/vec_vid08_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid08_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid09.S b/libgcc/config/nds32/isr-library/vec_vid09.S index 9aeaf78604..4d4a6fcbc3 100644 --- a/libgcc/config/nds32/isr-library/vec_vid09.S +++ b/libgcc/config/nds32/isr-library/vec_vid09.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid09_4b.S b/libgcc/config/nds32/isr-library/vec_vid09_4b.S index 2d1944f0ee..031a5a4049 100644 --- a/libgcc/config/nds32/isr-library/vec_vid09_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid09_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid10.S b/libgcc/config/nds32/isr-library/vec_vid10.S index 411edd7de1..d97609c8db 100644 --- a/libgcc/config/nds32/isr-library/vec_vid10.S +++ b/libgcc/config/nds32/isr-library/vec_vid10.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid10_4b.S b/libgcc/config/nds32/isr-library/vec_vid10_4b.S index 04761abf81..520a716e74 100644 --- a/libgcc/config/nds32/isr-library/vec_vid10_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid10_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid11.S b/libgcc/config/nds32/isr-library/vec_vid11.S index 8de45a4f54..97b1f5e63a 100644 --- a/libgcc/config/nds32/isr-library/vec_vid11.S +++ b/libgcc/config/nds32/isr-library/vec_vid11.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid11_4b.S b/libgcc/config/nds32/isr-library/vec_vid11_4b.S index 328c1e6045..0218ff1b9c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid11_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid11_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid12.S b/libgcc/config/nds32/isr-library/vec_vid12.S index ff5c6dfe47..744c725ae3 100644 --- a/libgcc/config/nds32/isr-library/vec_vid12.S +++ b/libgcc/config/nds32/isr-library/vec_vid12.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid12_4b.S b/libgcc/config/nds32/isr-library/vec_vid12_4b.S index 52b7d2390f..e905ff0f72 100644 --- a/libgcc/config/nds32/isr-library/vec_vid12_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid12_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid13.S b/libgcc/config/nds32/isr-library/vec_vid13.S index 66014c3a0d..f8e58ebe50 100644 --- a/libgcc/config/nds32/isr-library/vec_vid13.S +++ b/libgcc/config/nds32/isr-library/vec_vid13.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid13_4b.S b/libgcc/config/nds32/isr-library/vec_vid13_4b.S index 59029adfe7..6e2d2302d0 100644 --- a/libgcc/config/nds32/isr-library/vec_vid13_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid13_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid14.S b/libgcc/config/nds32/isr-library/vec_vid14.S index ca6f66f1d2..433137337a 100644 --- a/libgcc/config/nds32/isr-library/vec_vid14.S +++ b/libgcc/config/nds32/isr-library/vec_vid14.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid14_4b.S b/libgcc/config/nds32/isr-library/vec_vid14_4b.S index 0d2afe4202..b7beff8f2d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid14_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid14_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid15.S b/libgcc/config/nds32/isr-library/vec_vid15.S index c94b42a5d9..c9692c5d48 100644 --- a/libgcc/config/nds32/isr-library/vec_vid15.S +++ b/libgcc/config/nds32/isr-library/vec_vid15.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid15_4b.S b/libgcc/config/nds32/isr-library/vec_vid15_4b.S index 60799d7288..6a6296450e 100644 --- a/libgcc/config/nds32/isr-library/vec_vid15_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid15_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid16.S b/libgcc/config/nds32/isr-library/vec_vid16.S index f19454de94..e35a8b38a0 100644 --- a/libgcc/config/nds32/isr-library/vec_vid16.S +++ b/libgcc/config/nds32/isr-library/vec_vid16.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid16_4b.S b/libgcc/config/nds32/isr-library/vec_vid16_4b.S index 67912048cc..b292cc8576 100644 --- a/libgcc/config/nds32/isr-library/vec_vid16_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid16_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid17.S b/libgcc/config/nds32/isr-library/vec_vid17.S index 486a0aaa2c..f8afc897f6 100644 --- a/libgcc/config/nds32/isr-library/vec_vid17.S +++ b/libgcc/config/nds32/isr-library/vec_vid17.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid17_4b.S b/libgcc/config/nds32/isr-library/vec_vid17_4b.S index 04f4285728..4498d7da2c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid17_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid17_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid18.S b/libgcc/config/nds32/isr-library/vec_vid18.S index 137511f374..13089194cf 100644 --- a/libgcc/config/nds32/isr-library/vec_vid18.S +++ b/libgcc/config/nds32/isr-library/vec_vid18.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid18_4b.S b/libgcc/config/nds32/isr-library/vec_vid18_4b.S index 4d801923e3..dce4ef1427 100644 --- a/libgcc/config/nds32/isr-library/vec_vid18_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid18_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid19.S b/libgcc/config/nds32/isr-library/vec_vid19.S index 791e135f1c..d9488bc428 100644 --- a/libgcc/config/nds32/isr-library/vec_vid19.S +++ b/libgcc/config/nds32/isr-library/vec_vid19.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid19_4b.S b/libgcc/config/nds32/isr-library/vec_vid19_4b.S index 87d4c7cbd1..44e87828a1 100644 --- a/libgcc/config/nds32/isr-library/vec_vid19_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid19_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid20.S b/libgcc/config/nds32/isr-library/vec_vid20.S index e7ab0e363b..5fa80b54b0 100644 --- a/libgcc/config/nds32/isr-library/vec_vid20.S +++ b/libgcc/config/nds32/isr-library/vec_vid20.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid20_4b.S b/libgcc/config/nds32/isr-library/vec_vid20_4b.S index 308385a314..db612d7f47 100644 --- a/libgcc/config/nds32/isr-library/vec_vid20_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid20_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid21.S b/libgcc/config/nds32/isr-library/vec_vid21.S index 315ae56309..a7fa248da3 100644 --- a/libgcc/config/nds32/isr-library/vec_vid21.S +++ b/libgcc/config/nds32/isr-library/vec_vid21.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid21_4b.S b/libgcc/config/nds32/isr-library/vec_vid21_4b.S index 16cf02afcc..439a7a5d34 100644 --- a/libgcc/config/nds32/isr-library/vec_vid21_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid21_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid22.S b/libgcc/config/nds32/isr-library/vec_vid22.S index 6f9de85e4e..9a54ca0e34 100644 --- a/libgcc/config/nds32/isr-library/vec_vid22.S +++ b/libgcc/config/nds32/isr-library/vec_vid22.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid22_4b.S b/libgcc/config/nds32/isr-library/vec_vid22_4b.S index 587ee7fcec..3d962cca8c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid22_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid22_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid23.S b/libgcc/config/nds32/isr-library/vec_vid23.S index 956b5856a8..7016232937 100644 --- a/libgcc/config/nds32/isr-library/vec_vid23.S +++ b/libgcc/config/nds32/isr-library/vec_vid23.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid23_4b.S b/libgcc/config/nds32/isr-library/vec_vid23_4b.S index 5e4b6435a5..7fbbf19bcc 100644 --- a/libgcc/config/nds32/isr-library/vec_vid23_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid23_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid24.S b/libgcc/config/nds32/isr-library/vec_vid24.S index 57086e9bea..68dcc72b18 100644 --- a/libgcc/config/nds32/isr-library/vec_vid24.S +++ b/libgcc/config/nds32/isr-library/vec_vid24.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid24_4b.S b/libgcc/config/nds32/isr-library/vec_vid24_4b.S index 43495f9c22..614dc00a64 100644 --- a/libgcc/config/nds32/isr-library/vec_vid24_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid24_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid25.S b/libgcc/config/nds32/isr-library/vec_vid25.S index 61fa526ff2..2c8c1ee1bb 100644 --- a/libgcc/config/nds32/isr-library/vec_vid25.S +++ b/libgcc/config/nds32/isr-library/vec_vid25.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid25_4b.S b/libgcc/config/nds32/isr-library/vec_vid25_4b.S index 1ce6cf3243..fca309c5c1 100644 --- a/libgcc/config/nds32/isr-library/vec_vid25_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid25_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid26.S b/libgcc/config/nds32/isr-library/vec_vid26.S index 3d9191da6c..cc09df738f 100644 --- a/libgcc/config/nds32/isr-library/vec_vid26.S +++ b/libgcc/config/nds32/isr-library/vec_vid26.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid26_4b.S b/libgcc/config/nds32/isr-library/vec_vid26_4b.S index 58032479a5..af227443ab 100644 --- a/libgcc/config/nds32/isr-library/vec_vid26_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid26_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid27.S b/libgcc/config/nds32/isr-library/vec_vid27.S index ff12cfb3f5..9deed82bce 100644 --- a/libgcc/config/nds32/isr-library/vec_vid27.S +++ b/libgcc/config/nds32/isr-library/vec_vid27.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid27_4b.S b/libgcc/config/nds32/isr-library/vec_vid27_4b.S index d61e3f9bae..736d89c6f2 100644 --- a/libgcc/config/nds32/isr-library/vec_vid27_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid27_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid28.S b/libgcc/config/nds32/isr-library/vec_vid28.S index 6b7610eb6f..0ef5a54d52 100644 --- a/libgcc/config/nds32/isr-library/vec_vid28.S +++ b/libgcc/config/nds32/isr-library/vec_vid28.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid28_4b.S b/libgcc/config/nds32/isr-library/vec_vid28_4b.S index a39d01545e..7cfa335a14 100644 --- a/libgcc/config/nds32/isr-library/vec_vid28_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid28_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid29.S b/libgcc/config/nds32/isr-library/vec_vid29.S index b995841498..bc628e3115 100644 --- a/libgcc/config/nds32/isr-library/vec_vid29.S +++ b/libgcc/config/nds32/isr-library/vec_vid29.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid29_4b.S b/libgcc/config/nds32/isr-library/vec_vid29_4b.S index 803f323b69..b835edb3bd 100644 --- a/libgcc/config/nds32/isr-library/vec_vid29_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid29_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid30.S b/libgcc/config/nds32/isr-library/vec_vid30.S index 57d1507af0..620bd81204 100644 --- a/libgcc/config/nds32/isr-library/vec_vid30.S +++ b/libgcc/config/nds32/isr-library/vec_vid30.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid30_4b.S b/libgcc/config/nds32/isr-library/vec_vid30_4b.S index a2a1e3efd0..e5f707da62 100644 --- a/libgcc/config/nds32/isr-library/vec_vid30_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid30_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid31.S b/libgcc/config/nds32/isr-library/vec_vid31.S index f9aee4ede5..b9014d3851 100644 --- a/libgcc/config/nds32/isr-library/vec_vid31.S +++ b/libgcc/config/nds32/isr-library/vec_vid31.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid31_4b.S b/libgcc/config/nds32/isr-library/vec_vid31_4b.S index 989645f70a..97d71096ff 100644 --- a/libgcc/config/nds32/isr-library/vec_vid31_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid31_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid32.S b/libgcc/config/nds32/isr-library/vec_vid32.S index fc26cad51e..c70dea3c69 100644 --- a/libgcc/config/nds32/isr-library/vec_vid32.S +++ b/libgcc/config/nds32/isr-library/vec_vid32.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid32_4b.S b/libgcc/config/nds32/isr-library/vec_vid32_4b.S index 1ac7e313f3..b2288ced33 100644 --- a/libgcc/config/nds32/isr-library/vec_vid32_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid32_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid33.S b/libgcc/config/nds32/isr-library/vec_vid33.S index dd655e661f..ed47ccb7f5 100644 --- a/libgcc/config/nds32/isr-library/vec_vid33.S +++ b/libgcc/config/nds32/isr-library/vec_vid33.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid33_4b.S b/libgcc/config/nds32/isr-library/vec_vid33_4b.S index 3c99412c6f..0e231927b3 100644 --- a/libgcc/config/nds32/isr-library/vec_vid33_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid33_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid34.S b/libgcc/config/nds32/isr-library/vec_vid34.S index a6b8517cb6..b549a61cc5 100644 --- a/libgcc/config/nds32/isr-library/vec_vid34.S +++ b/libgcc/config/nds32/isr-library/vec_vid34.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid34_4b.S b/libgcc/config/nds32/isr-library/vec_vid34_4b.S index 77c07b9e91..f56bc99044 100644 --- a/libgcc/config/nds32/isr-library/vec_vid34_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid34_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid35.S b/libgcc/config/nds32/isr-library/vec_vid35.S index 65ceeab4d9..e9e3a7c312 100644 --- a/libgcc/config/nds32/isr-library/vec_vid35.S +++ b/libgcc/config/nds32/isr-library/vec_vid35.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid35_4b.S b/libgcc/config/nds32/isr-library/vec_vid35_4b.S index 432873a36e..729a3e5610 100644 --- a/libgcc/config/nds32/isr-library/vec_vid35_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid35_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid36.S b/libgcc/config/nds32/isr-library/vec_vid36.S index 688dbb97c2..0c015f459e 100644 --- a/libgcc/config/nds32/isr-library/vec_vid36.S +++ b/libgcc/config/nds32/isr-library/vec_vid36.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid36_4b.S b/libgcc/config/nds32/isr-library/vec_vid36_4b.S index dadd3815d3..74d0dc7919 100644 --- a/libgcc/config/nds32/isr-library/vec_vid36_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid36_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid37.S b/libgcc/config/nds32/isr-library/vec_vid37.S index 712bbe8b04..46e3ba3e8d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid37.S +++ b/libgcc/config/nds32/isr-library/vec_vid37.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid37_4b.S b/libgcc/config/nds32/isr-library/vec_vid37_4b.S index ec845e142d..3fb8345071 100644 --- a/libgcc/config/nds32/isr-library/vec_vid37_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid37_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid38.S b/libgcc/config/nds32/isr-library/vec_vid38.S index b6e497921d..002c6d72cd 100644 --- a/libgcc/config/nds32/isr-library/vec_vid38.S +++ b/libgcc/config/nds32/isr-library/vec_vid38.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid38_4b.S b/libgcc/config/nds32/isr-library/vec_vid38_4b.S index 84919edc18..abd270cb0d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid38_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid38_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid39.S b/libgcc/config/nds32/isr-library/vec_vid39.S index 2dee2699d2..9884b21e0b 100644 --- a/libgcc/config/nds32/isr-library/vec_vid39.S +++ b/libgcc/config/nds32/isr-library/vec_vid39.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid39_4b.S b/libgcc/config/nds32/isr-library/vec_vid39_4b.S index 8f2f63455f..9ab75d5d19 100644 --- a/libgcc/config/nds32/isr-library/vec_vid39_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid39_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid40.S b/libgcc/config/nds32/isr-library/vec_vid40.S index fe7508ce0b..964c8e4956 100644 --- a/libgcc/config/nds32/isr-library/vec_vid40.S +++ b/libgcc/config/nds32/isr-library/vec_vid40.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid40_4b.S b/libgcc/config/nds32/isr-library/vec_vid40_4b.S index 0aab8f4583..6cf44d385d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid40_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid40_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid41.S b/libgcc/config/nds32/isr-library/vec_vid41.S index 711fcd5f10..856f527e16 100644 --- a/libgcc/config/nds32/isr-library/vec_vid41.S +++ b/libgcc/config/nds32/isr-library/vec_vid41.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid41_4b.S b/libgcc/config/nds32/isr-library/vec_vid41_4b.S index e8a8527de1..790ebe33c5 100644 --- a/libgcc/config/nds32/isr-library/vec_vid41_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid41_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid42.S b/libgcc/config/nds32/isr-library/vec_vid42.S index 0c6a849983..d79c49a9d4 100644 --- a/libgcc/config/nds32/isr-library/vec_vid42.S +++ b/libgcc/config/nds32/isr-library/vec_vid42.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid42_4b.S b/libgcc/config/nds32/isr-library/vec_vid42_4b.S index cfe184c38d..e39e469dad 100644 --- a/libgcc/config/nds32/isr-library/vec_vid42_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid42_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid43.S b/libgcc/config/nds32/isr-library/vec_vid43.S index 2b4681a5e4..9119488d61 100644 --- a/libgcc/config/nds32/isr-library/vec_vid43.S +++ b/libgcc/config/nds32/isr-library/vec_vid43.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid43_4b.S b/libgcc/config/nds32/isr-library/vec_vid43_4b.S index 3edd60637a..1dcf85c72a 100644 --- a/libgcc/config/nds32/isr-library/vec_vid43_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid43_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid44.S b/libgcc/config/nds32/isr-library/vec_vid44.S index 232ef41ef7..dfc2e0997c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid44.S +++ b/libgcc/config/nds32/isr-library/vec_vid44.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid44_4b.S b/libgcc/config/nds32/isr-library/vec_vid44_4b.S index 0f2b8a33c8..82f2d50f16 100644 --- a/libgcc/config/nds32/isr-library/vec_vid44_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid44_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid45.S b/libgcc/config/nds32/isr-library/vec_vid45.S index e2f9863cae..3a2b6a0ab6 100644 --- a/libgcc/config/nds32/isr-library/vec_vid45.S +++ b/libgcc/config/nds32/isr-library/vec_vid45.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid45_4b.S b/libgcc/config/nds32/isr-library/vec_vid45_4b.S index 7358ec1999..07483eb719 100644 --- a/libgcc/config/nds32/isr-library/vec_vid45_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid45_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid46.S b/libgcc/config/nds32/isr-library/vec_vid46.S index f3b93aa80e..8dc728707d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid46.S +++ b/libgcc/config/nds32/isr-library/vec_vid46.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid46_4b.S b/libgcc/config/nds32/isr-library/vec_vid46_4b.S index 2782e86dbb..9fa77b41f2 100644 --- a/libgcc/config/nds32/isr-library/vec_vid46_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid46_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid47.S b/libgcc/config/nds32/isr-library/vec_vid47.S index 130c8d7b68..cf04732f2d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid47.S +++ b/libgcc/config/nds32/isr-library/vec_vid47.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid47_4b.S b/libgcc/config/nds32/isr-library/vec_vid47_4b.S index f237577163..41b59feb86 100644 --- a/libgcc/config/nds32/isr-library/vec_vid47_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid47_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid48.S b/libgcc/config/nds32/isr-library/vec_vid48.S index f3bca05c1f..64d408b147 100644 --- a/libgcc/config/nds32/isr-library/vec_vid48.S +++ b/libgcc/config/nds32/isr-library/vec_vid48.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid48_4b.S b/libgcc/config/nds32/isr-library/vec_vid48_4b.S index 3e35f68acf..8c5ac79425 100644 --- a/libgcc/config/nds32/isr-library/vec_vid48_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid48_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid49.S b/libgcc/config/nds32/isr-library/vec_vid49.S index 0b32691fb8..67fe51ceea 100644 --- a/libgcc/config/nds32/isr-library/vec_vid49.S +++ b/libgcc/config/nds32/isr-library/vec_vid49.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid49_4b.S b/libgcc/config/nds32/isr-library/vec_vid49_4b.S index a510bbb88e..97cc008e76 100644 --- a/libgcc/config/nds32/isr-library/vec_vid49_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid49_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid50.S b/libgcc/config/nds32/isr-library/vec_vid50.S index 48334febbb..3eb744512f 100644 --- a/libgcc/config/nds32/isr-library/vec_vid50.S +++ b/libgcc/config/nds32/isr-library/vec_vid50.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid50_4b.S b/libgcc/config/nds32/isr-library/vec_vid50_4b.S index 1f42b737c7..eaf720d50b 100644 --- a/libgcc/config/nds32/isr-library/vec_vid50_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid50_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid51.S b/libgcc/config/nds32/isr-library/vec_vid51.S index 4c27f270f1..405118df4f 100644 --- a/libgcc/config/nds32/isr-library/vec_vid51.S +++ b/libgcc/config/nds32/isr-library/vec_vid51.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid51_4b.S b/libgcc/config/nds32/isr-library/vec_vid51_4b.S index 7bb8abe94d..9af619ee3f 100644 --- a/libgcc/config/nds32/isr-library/vec_vid51_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid51_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid52.S b/libgcc/config/nds32/isr-library/vec_vid52.S index 4c44811088..046711255c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid52.S +++ b/libgcc/config/nds32/isr-library/vec_vid52.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid52_4b.S b/libgcc/config/nds32/isr-library/vec_vid52_4b.S index 4cb89f68a5..d4f834e61d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid52_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid52_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid53.S b/libgcc/config/nds32/isr-library/vec_vid53.S index 288258311b..bc2901db31 100644 --- a/libgcc/config/nds32/isr-library/vec_vid53.S +++ b/libgcc/config/nds32/isr-library/vec_vid53.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid53_4b.S b/libgcc/config/nds32/isr-library/vec_vid53_4b.S index 9abc8399ec..f31023821d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid53_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid53_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid54.S b/libgcc/config/nds32/isr-library/vec_vid54.S index a014c72fff..5bc71c4350 100644 --- a/libgcc/config/nds32/isr-library/vec_vid54.S +++ b/libgcc/config/nds32/isr-library/vec_vid54.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid54_4b.S b/libgcc/config/nds32/isr-library/vec_vid54_4b.S index f736ba80c7..7bfe26182a 100644 --- a/libgcc/config/nds32/isr-library/vec_vid54_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid54_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid55.S b/libgcc/config/nds32/isr-library/vec_vid55.S index 44d820c058..29540127c1 100644 --- a/libgcc/config/nds32/isr-library/vec_vid55.S +++ b/libgcc/config/nds32/isr-library/vec_vid55.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid55_4b.S b/libgcc/config/nds32/isr-library/vec_vid55_4b.S index d09c665165..104992dcdd 100644 --- a/libgcc/config/nds32/isr-library/vec_vid55_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid55_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid56.S b/libgcc/config/nds32/isr-library/vec_vid56.S index d5cb362252..3418fd2f96 100644 --- a/libgcc/config/nds32/isr-library/vec_vid56.S +++ b/libgcc/config/nds32/isr-library/vec_vid56.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid56_4b.S b/libgcc/config/nds32/isr-library/vec_vid56_4b.S index 86b4103d69..97b7114aee 100644 --- a/libgcc/config/nds32/isr-library/vec_vid56_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid56_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid57.S b/libgcc/config/nds32/isr-library/vec_vid57.S index 5fb3ce9ca8..98edefa25f 100644 --- a/libgcc/config/nds32/isr-library/vec_vid57.S +++ b/libgcc/config/nds32/isr-library/vec_vid57.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid57_4b.S b/libgcc/config/nds32/isr-library/vec_vid57_4b.S index 45c5d29317..d22acbdcad 100644 --- a/libgcc/config/nds32/isr-library/vec_vid57_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid57_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid58.S b/libgcc/config/nds32/isr-library/vec_vid58.S index d420d68d04..401e2ff88d 100644 --- a/libgcc/config/nds32/isr-library/vec_vid58.S +++ b/libgcc/config/nds32/isr-library/vec_vid58.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid58_4b.S b/libgcc/config/nds32/isr-library/vec_vid58_4b.S index 812470cd05..a184f9c618 100644 --- a/libgcc/config/nds32/isr-library/vec_vid58_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid58_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid59.S b/libgcc/config/nds32/isr-library/vec_vid59.S index 78a18854ab..eb550fb6a5 100644 --- a/libgcc/config/nds32/isr-library/vec_vid59.S +++ b/libgcc/config/nds32/isr-library/vec_vid59.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid59_4b.S b/libgcc/config/nds32/isr-library/vec_vid59_4b.S index fa3a46788c..52a3364297 100644 --- a/libgcc/config/nds32/isr-library/vec_vid59_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid59_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid60.S b/libgcc/config/nds32/isr-library/vec_vid60.S index a6f704dbed..9626feecd1 100644 --- a/libgcc/config/nds32/isr-library/vec_vid60.S +++ b/libgcc/config/nds32/isr-library/vec_vid60.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid60_4b.S b/libgcc/config/nds32/isr-library/vec_vid60_4b.S index 505da2abaa..bea7204244 100644 --- a/libgcc/config/nds32/isr-library/vec_vid60_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid60_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid61.S b/libgcc/config/nds32/isr-library/vec_vid61.S index 4e79bde121..6891c347d5 100644 --- a/libgcc/config/nds32/isr-library/vec_vid61.S +++ b/libgcc/config/nds32/isr-library/vec_vid61.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid61_4b.S b/libgcc/config/nds32/isr-library/vec_vid61_4b.S index 9a0cce50ea..bcfc326c1c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid61_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid61_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid62.S b/libgcc/config/nds32/isr-library/vec_vid62.S index 5eef0a6330..3375292c6f 100644 --- a/libgcc/config/nds32/isr-library/vec_vid62.S +++ b/libgcc/config/nds32/isr-library/vec_vid62.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid62_4b.S b/libgcc/config/nds32/isr-library/vec_vid62_4b.S index da8ba2846d..5b27f9088c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid62_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid62_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid63.S b/libgcc/config/nds32/isr-library/vec_vid63.S index 0a8c0ad022..44764db4dc 100644 --- a/libgcc/config/nds32/isr-library/vec_vid63.S +++ b/libgcc/config/nds32/isr-library/vec_vid63.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid63_4b.S b/libgcc/config/nds32/isr-library/vec_vid63_4b.S index 8f1045eece..225bc8f573 100644 --- a/libgcc/config/nds32/isr-library/vec_vid63_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid63_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid64.S b/libgcc/config/nds32/isr-library/vec_vid64.S index b3f034b3ce..c31cea5b42 100644 --- a/libgcc/config/nds32/isr-library/vec_vid64.S +++ b/libgcc/config/nds32/isr-library/vec_vid64.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid64_4b.S b/libgcc/config/nds32/isr-library/vec_vid64_4b.S index 81d967984a..2924d1d7e4 100644 --- a/libgcc/config/nds32/isr-library/vec_vid64_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid64_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid65.S b/libgcc/config/nds32/isr-library/vec_vid65.S index 72db45423a..fc88ea0153 100644 --- a/libgcc/config/nds32/isr-library/vec_vid65.S +++ b/libgcc/config/nds32/isr-library/vec_vid65.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid65_4b.S b/libgcc/config/nds32/isr-library/vec_vid65_4b.S index aa9ad2bdc9..5e30a66ccb 100644 --- a/libgcc/config/nds32/isr-library/vec_vid65_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid65_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid66.S b/libgcc/config/nds32/isr-library/vec_vid66.S index 75469e7cb4..77ef143438 100644 --- a/libgcc/config/nds32/isr-library/vec_vid66.S +++ b/libgcc/config/nds32/isr-library/vec_vid66.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid66_4b.S b/libgcc/config/nds32/isr-library/vec_vid66_4b.S index 9830fe206e..07b00eef0c 100644 --- a/libgcc/config/nds32/isr-library/vec_vid66_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid66_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid67.S b/libgcc/config/nds32/isr-library/vec_vid67.S index 4b076cdee9..b939ba22ae 100644 --- a/libgcc/config/nds32/isr-library/vec_vid67.S +++ b/libgcc/config/nds32/isr-library/vec_vid67.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid67_4b.S b/libgcc/config/nds32/isr-library/vec_vid67_4b.S index c7e31dd50e..ac341b77ba 100644 --- a/libgcc/config/nds32/isr-library/vec_vid67_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid67_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid68.S b/libgcc/config/nds32/isr-library/vec_vid68.S index 7df1cddf1c..d82d9dec85 100644 --- a/libgcc/config/nds32/isr-library/vec_vid68.S +++ b/libgcc/config/nds32/isr-library/vec_vid68.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid68_4b.S b/libgcc/config/nds32/isr-library/vec_vid68_4b.S index 0d6fcb5d24..b110706231 100644 --- a/libgcc/config/nds32/isr-library/vec_vid68_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid68_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid69.S b/libgcc/config/nds32/isr-library/vec_vid69.S index e30e5bf69a..58bbc20e77 100644 --- a/libgcc/config/nds32/isr-library/vec_vid69.S +++ b/libgcc/config/nds32/isr-library/vec_vid69.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid69_4b.S b/libgcc/config/nds32/isr-library/vec_vid69_4b.S index 350816269c..171c984ca5 100644 --- a/libgcc/config/nds32/isr-library/vec_vid69_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid69_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid70.S b/libgcc/config/nds32/isr-library/vec_vid70.S index d436ac5562..502f3a0229 100644 --- a/libgcc/config/nds32/isr-library/vec_vid70.S +++ b/libgcc/config/nds32/isr-library/vec_vid70.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid70_4b.S b/libgcc/config/nds32/isr-library/vec_vid70_4b.S index f3f0dd6c59..e502c50b59 100644 --- a/libgcc/config/nds32/isr-library/vec_vid70_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid70_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid71.S b/libgcc/config/nds32/isr-library/vec_vid71.S index d7d7ab3fc1..6f40b10236 100644 --- a/libgcc/config/nds32/isr-library/vec_vid71.S +++ b/libgcc/config/nds32/isr-library/vec_vid71.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid71_4b.S b/libgcc/config/nds32/isr-library/vec_vid71_4b.S index 505c79edf8..6bebcbb6c4 100644 --- a/libgcc/config/nds32/isr-library/vec_vid71_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid71_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid72.S b/libgcc/config/nds32/isr-library/vec_vid72.S index 08652d2154..fefb100cf2 100644 --- a/libgcc/config/nds32/isr-library/vec_vid72.S +++ b/libgcc/config/nds32/isr-library/vec_vid72.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/vec_vid72_4b.S b/libgcc/config/nds32/isr-library/vec_vid72_4b.S index 1083c0376f..1106077675 100644 --- a/libgcc/config/nds32/isr-library/vec_vid72_4b.S +++ b/libgcc/config/nds32/isr-library/vec_vid72_4b.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/isr-library/wrh.S b/libgcc/config/nds32/isr-library/wrh.S index 02b2b6e651..1403030f83 100644 --- a/libgcc/config/nds32/isr-library/wrh.S +++ b/libgcc/config/nds32/isr-library/wrh.S @@ -1,5 +1,5 @@ /* c-isr library stuff of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/lib1asmsrc-mculib.S b/libgcc/config/nds32/lib1asmsrc-mculib.S index bdbcd7451f..b87ed4ab84 100644 --- a/libgcc/config/nds32/lib1asmsrc-mculib.S +++ b/libgcc/config/nds32/lib1asmsrc-mculib.S @@ -1,5 +1,5 @@ /* mculib libgcc routines of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/lib1asmsrc-newlib.S b/libgcc/config/nds32/lib1asmsrc-newlib.S index a886d13409..70ba3d2c69 100644 --- a/libgcc/config/nds32/lib1asmsrc-newlib.S +++ b/libgcc/config/nds32/lib1asmsrc-newlib.S @@ -1,5 +1,5 @@ /* newlib libgcc routines of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c b/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c index 6afd6abeaa..6203c34a44 100644 --- a/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c +++ b/libgcc/config/nds32/lib2csrc-mculib/_clzdi2.c @@ -1,5 +1,5 @@ /* mculib libgcc routines of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c b/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c index 407caaf4df..5eaf880a50 100644 --- a/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c +++ b/libgcc/config/nds32/lib2csrc-mculib/_clzsi2.c @@ -1,5 +1,5 @@ /* mculib libgcc routines of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/libgcc/config/nds32/sfp-machine.h b/libgcc/config/nds32/sfp-machine.h index d822898b4c..58f5f638ab 100644 --- a/libgcc/config/nds32/sfp-machine.h +++ b/libgcc/config/nds32/sfp-machine.h @@ -1,6 +1,6 @@ /* Machine settings for software floating-point emulation of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GNU C Library. diff --git a/libgcc/config/nds32/t-nds32 b/libgcc/config/nds32/t-nds32 index 20c8a3f9f9..a931420a11 100644 --- a/libgcc/config/nds32/t-nds32 +++ b/libgcc/config/nds32/t-nds32 @@ -1,5 +1,5 @@ # Rules of libgcc and crtstuff of Andes NDS32 cpu for GNU compiler -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by Andes Technology Corporation. # # This file is part of GCC. diff --git a/libgcc/config/nds32/t-nds32-isr b/libgcc/config/nds32/t-nds32-isr index 62b6867cf3..7ce5663adb 100644 --- a/libgcc/config/nds32/t-nds32-isr +++ b/libgcc/config/nds32/t-nds32-isr @@ -1,5 +1,5 @@ # Rules of c-isr library stuff of Andes NDS32 cpu for GNU compiler -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by Andes Technology Corporation. # # This file is part of GCC. diff --git a/libgcc/config/nds32/t-nds32-mculib b/libgcc/config/nds32/t-nds32-mculib index b4f7b4c997..d668fbe6bc 100644 --- a/libgcc/config/nds32/t-nds32-mculib +++ b/libgcc/config/nds32/t-nds32-mculib @@ -1,5 +1,5 @@ # Rules of mculib library makefile of Andes NDS32 cpu for GNU compiler -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by Andes Technology Corporation. # # This file is part of GCC. diff --git a/libgcc/config/nds32/t-nds32-newlib b/libgcc/config/nds32/t-nds32-newlib index e4af03e490..cee0af8405 100644 --- a/libgcc/config/nds32/t-nds32-newlib +++ b/libgcc/config/nds32/t-nds32-newlib @@ -1,5 +1,5 @@ # Rules of newlib library makefile of Andes NDS32 cpu for GNU compiler -# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# Copyright (C) 2012-2017 Free Software Foundation, Inc. # Contributed by Andes Technology Corporation. # # This file is part of GCC. diff --git a/libgcc/config/nios2/crti.S b/libgcc/config/nios2/crti.S index 45eb821ac1..5c4fbef2a8 100644 --- a/libgcc/config/nios2/crti.S +++ b/libgcc/config/nios2/crti.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Jonah Graham (jgraham@altera.com). Contributed by Mentor Graphics, Inc. diff --git a/libgcc/config/nios2/crtn.S b/libgcc/config/nios2/crtn.S index 8f23679705..c2d2e13ac3 100644 --- a/libgcc/config/nios2/crtn.S +++ b/libgcc/config/nios2/crtn.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Jonah Graham (jgraham@altera.com). Contributed by Mentor Graphics, Inc. diff --git a/libgcc/config/nios2/lib2-divmod-hi.c b/libgcc/config/nios2/lib2-divmod-hi.c index 37da08d3f6..95b32b1680 100644 --- a/libgcc/config/nios2/lib2-divmod-hi.c +++ b/libgcc/config/nios2/lib2-divmod-hi.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Altera and Mentor Graphics, Inc. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/nios2/lib2-divmod.c b/libgcc/config/nios2/lib2-divmod.c index 815bee70c6..babfbb0ce4 100644 --- a/libgcc/config/nios2/lib2-divmod.c +++ b/libgcc/config/nios2/lib2-divmod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Altera and Mentor Graphics, Inc. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/nios2/lib2-divtable.c b/libgcc/config/nios2/lib2-divtable.c index f26e412375..c97187d4c3 100644 --- a/libgcc/config/nios2/lib2-divtable.c +++ b/libgcc/config/nios2/lib2-divtable.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Altera and Mentor Graphics, Inc. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/nios2/lib2-mul.c b/libgcc/config/nios2/lib2-mul.c index 9ef96de11d..a434b516c6 100644 --- a/libgcc/config/nios2/lib2-mul.c +++ b/libgcc/config/nios2/lib2-mul.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Altera and Mentor Graphics, Inc. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/nios2/lib2-nios2.h b/libgcc/config/nios2/lib2-nios2.h index 5325c5a30d..35db33eebc 100644 --- a/libgcc/config/nios2/lib2-nios2.h +++ b/libgcc/config/nios2/lib2-nios2.h @@ -1,6 +1,6 @@ /* Integer arithmetic support for Altera Nios II. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Altera and Mentor Graphics, Inc. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/nios2/linux-atomic.c b/libgcc/config/nios2/linux-atomic.c index 593c7b84ff..d78b84f780 100644 --- a/libgcc/config/nios2/linux-atomic.c +++ b/libgcc/config/nios2/linux-atomic.c @@ -1,5 +1,5 @@ /* Linux-specific atomic operations for Nios II Linux. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h index 2304142052..ae82efd6de 100644 --- a/libgcc/config/nios2/linux-unwind.h +++ b/libgcc/config/nios2/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Nios II Linux. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/nios2/sfp-machine.h b/libgcc/config/nios2/sfp-machine.h index c9859ae96f..7998e4761d 100644 --- a/libgcc/config/nios2/sfp-machine.h +++ b/libgcc/config/nios2/sfp-machine.h @@ -1,5 +1,5 @@ /* Soft-FP definitions for Altera Nios II. - Copyright (C) 2013-2016 Free Software Foundation, Inc. + Copyright (C) 2013-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/nios2/tramp.c b/libgcc/config/nios2/tramp.c index c2b2d5a176..1874e4da11 100644 --- a/libgcc/config/nios2/tramp.c +++ b/libgcc/config/nios2/tramp.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2013-2016 Free Software Foundation, Inc. +/* Copyright (C) 2013-2017 Free Software Foundation, Inc. Contributed by Altera and Mentor Graphics, Inc. This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/nvptx/crt0.c b/libgcc/config/nvptx/crt0.c new file mode 100644 index 0000000000..a33c3cc6c7 --- /dev/null +++ b/libgcc/config/nvptx/crt0.c @@ -0,0 +1,49 @@ +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. + + This file is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any + later version. + + This file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +int *__exitval_ptr; + +extern void __attribute__((noreturn)) exit (int status); +extern int main (int, void **); + +/* Always setup soft stacks to allow testing with -msoft-stack but without + -mgomp. 32 is the maximum number of warps in a CTA: the definition here + must match the external declaration emitted by the compiler. */ +void *__nvptx_stacks[32] __attribute__((shared,nocommon)); + +/* Likewise for -muniform-simt. */ +unsigned __nvptx_uni[32] __attribute__((shared,nocommon)); + +void __attribute__((kernel)) +__main (int *rval_ptr, int argc, void **argv) +{ + __exitval_ptr = rval_ptr; + /* Store something non-zero, so the host knows something went wrong, + if we fail to reach exit properly. */ + if (rval_ptr) + *rval_ptr = 255; + + static char stack[131072] __attribute__((aligned(8))); + __nvptx_stacks[0] = stack + sizeof stack; + __nvptx_uni[0] = 0; + + exit (main (argc, argv)); +} diff --git a/libgcc/config/nvptx/crt0.s b/libgcc/config/nvptx/crt0.s deleted file mode 100644 index 38327edceb..0000000000 --- a/libgcc/config/nvptx/crt0.s +++ /dev/null @@ -1,45 +0,0 @@ - .version 3.1 - .target sm_30 - .address_size 64 - -.global .u64 %__exitval; -// BEGIN GLOBAL FUNCTION DEF: abort -.visible .func abort -{ - .reg .u64 %rd1; - ld.global.u64 %rd1,[%__exitval]; - st.u32 [%rd1], 255; - exit; -} -// BEGIN GLOBAL FUNCTION DEF: exit -.visible .func exit (.param .u32 %arg) -{ - .reg .u64 %rd1; - .reg .u32 %val; - ld.param.u32 %val,[%arg]; - ld.global.u64 %rd1,[%__exitval]; - st.u32 [%rd1], %val; - exit; -} - -.extern .func (.param.u32 retval) main (.param.u32 argc, .param.u64 argv); - -.visible .entry __main (.param .u64 __retval, .param.u32 __argc, .param.u64 __argv) -{ - .reg .u32 %r<3>; - .reg .u64 %rd<3>; - .param.u32 %argc; - .param.u64 %argp; - .param.u32 %mainret; - ld.param.u64 %rd0, [__retval]; - st.global.u64 [%__exitval], %rd0; - - ld.param.u32 %r1, [__argc]; - ld.param.u64 %rd1, [__argv]; - st.param.u32 [%argc], %r1; - st.param.u64 [%argp], %rd1; - call.uni (%mainret), main, (%argc, %argp); - ld.param.u32 %r1,[%mainret]; - st.s32 [%rd0], %r1; - exit; -} diff --git a/libgcc/config/nvptx/free.asm b/libgcc/config/nvptx/free.asm deleted file mode 100644 index 3b8e39e43a..0000000000 --- a/libgcc/config/nvptx/free.asm +++ /dev/null @@ -1,50 +0,0 @@ -// A wrapper around free to enable a realloc implementation. - -// Copyright (C) 2014-2016 Free Software Foundation, Inc. - -// This file is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the -// Free Software Foundation; either version 3, or (at your option) any -// later version. - -// This file is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// <http://www.gnu.org/licenses/>. - - .version 3.1 - .target sm_30 - .address_size 64 - -.extern .func free(.param.u64 %in_ar1); - -// BEGIN GLOBAL FUNCTION DEF: __nvptx_free -.visible .func __nvptx_free(.param.u64 %in_ar1) -{ - .reg.u64 %ar1; - .reg.u64 %hr10; - .reg.u64 %r23; - .reg.pred %r25; - .reg.u64 %r27; - ld.param.u64 %ar1, [%in_ar1]; - mov.u64 %r23, %ar1; - setp.eq.u64 %r25,%r23,0; - @%r25 bra $L1; - add.u64 %r27, %r23, -8; - { - .param.u64 %out_arg0; - st.param.u64 [%out_arg0], %r27; - call free, (%out_arg0); - } -$L1: - ret; - } diff --git a/libgcc/config/nvptx/malloc.asm b/libgcc/config/nvptx/malloc.asm deleted file mode 100644 index 3d60981ca7..0000000000 --- a/libgcc/config/nvptx/malloc.asm +++ /dev/null @@ -1,55 +0,0 @@ -// A wrapper around malloc to enable a realloc implementation. - -// Copyright (C) 2014-2016 Free Software Foundation, Inc. - -// This file is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the -// Free Software Foundation; either version 3, or (at your option) any -// later version. - -// This file is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// General Public License for more details. - -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. - -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// <http://www.gnu.org/licenses/>. - - .version 3.1 - .target sm_30 - .address_size 64 - -.extern .func (.param.u64 %out_retval) malloc(.param.u64 %in_ar1); - -// BEGIN GLOBAL FUNCTION DEF: __nvptx_malloc -.visible .func (.param.u64 %out_retval) __nvptx_malloc(.param.u64 %in_ar1) -{ - .reg.u64 %ar1; -.reg.u64 %retval; - .reg.u64 %hr10; - .reg.u64 %r26; - .reg.u64 %r28; - .reg.u64 %r29; - .reg.u64 %r31; - ld.param.u64 %ar1, [%in_ar1]; - mov.u64 %r26, %ar1; - add.u64 %r28, %r26, 8; - { - .param.u64 %retval_in; - .param.u64 %out_arg0; - st.param.u64 [%out_arg0], %r28; - call (%retval_in), malloc, (%out_arg0); - ld.param.u64 %r29, [%retval_in]; - } - st.u64 [%r29], %r26; - add.u64 %r31, %r29, 8; - mov.u64 %retval, %r31; - st.param.u64 [%out_retval], %retval; - ret; -} diff --git a/libgcc/config/nvptx/realloc.c b/libgcc/config/nvptx/mgomp.c index 82d6a02cdd..6efc0938f1 100644 --- a/libgcc/config/nvptx/realloc.c +++ b/libgcc/config/nvptx/mgomp.c @@ -1,6 +1,6 @@ -/* Implement realloc with the help of the malloc and free wrappers. +/* Define shared memory arrays for -msoft-stack and -muniform-simt. - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -21,30 +21,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ -#include <stddef.h> -#include "nvptx-malloc.h" +/* OpenACC offloading does not use these symbols; thus, they are exposed + only for the -mgomp multilib. The same definitions are also provided + in crt0.c for the case of non-offloading compilation. 32 is the maximum + number of warps in a CTA. */ -void * -__nvptx_realloc (void *ptr, size_t newsz) -{ - if (newsz == 0) - { - __nvptx_free (ptr); - return NULL; - } - void *newptr = __nvptx_malloc (newsz); - - size_t oldsz; - if (ptr == NULL) - oldsz = 0; - else - { - size_t *sp = __extension__ (size_t *)(ptr - 8); - oldsz = *sp; - } - if (oldsz != 0) - __builtin_memcpy (newptr, ptr, oldsz > newsz ? newsz : oldsz); - - __nvptx_free (ptr); - return newptr; -} +#if defined(__nvptx_softstack__) && defined(__nvptx_unisimt__) +void *__nvptx_stacks[32] __attribute__((shared,nocommon)); +unsigned __nvptx_uni[32] __attribute__((shared,nocommon)); +#endif diff --git a/libgcc/config/nvptx/nvptx-malloc.h b/libgcc/config/nvptx/nvptx-malloc.h index 9cbd84689b..d19e42a63f 100644 --- a/libgcc/config/nvptx/nvptx-malloc.h +++ b/libgcc/config/nvptx/nvptx-malloc.h @@ -1,6 +1,6 @@ /* Declarations for the malloc wrappers. - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/nvptx/reduction.c b/libgcc/config/nvptx/reduction.c index 5e744b7404..f2c38284af 100644 --- a/libgcc/config/nvptx/reduction.c +++ b/libgcc/config/nvptx/reduction.c @@ -1,5 +1,5 @@ /* Oversized reductions lock variable - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. Contributed by Mentor Graphics. This file is part of GCC. diff --git a/libgcc/config/nvptx/t-nvptx b/libgcc/config/nvptx/t-nvptx index e66188f872..c4d20c94cb 100644 --- a/libgcc/config/nvptx/t-nvptx +++ b/libgcc/config/nvptx/t-nvptx @@ -1,13 +1,11 @@ -LIB2ADD=$(srcdir)/config/nvptx/malloc.asm \ - $(srcdir)/config/nvptx/free.asm \ - $(srcdir)/config/nvptx/realloc.c \ - $(srcdir)/config/nvptx/reduction.c +LIB2ADD=$(srcdir)/config/nvptx/reduction.c \ + $(srcdir)/config/nvptx/mgomp.c LIB2ADDEH= LIB2FUNCS_EXCLUDE=__main -crt0.o: $(srcdir)/config/nvptx/crt0.s - cp $< $@ +crt0.o: $(srcdir)/config/nvptx/crt0.c + $(crt_compile) -c $< # Prevent building "advanced" stuff (for example, gcov support). We don't # support it, and it may cause the build to fail, because of alloca usage, for diff --git a/libgcc/config/pa/fptr.c b/libgcc/config/pa/fptr.c index 3febc9062d..645fa5d833 100644 --- a/libgcc/config/pa/fptr.c +++ b/libgcc/config/pa/fptr.c @@ -1,5 +1,5 @@ /* Subroutine for function pointer canonicalization on PA-RISC with ELF32. - Copyright (C) 2002-2016 Free Software Foundation, Inc. + Copyright (C) 2002-2017 Free Software Foundation, Inc. Contributed by John David Anglin (dave.anglin@nrc.ca). This file is part of GCC. @@ -113,7 +113,7 @@ __canonicalize_funcptr_for_compare (fptr_t fptr) /* Build a plabel for an indirect call to _dl_fixup. */ fixup_plabel[0] = (unsigned int) iptr + 8; /* address of fixup */ fixup_plabel[1] = got[-1]; /* ltp for fixup */ - fixup = (fixup_t) ((int) fixup_plabel | 3); + fixup = (fixup_t) ((int) fixup_plabel | 2); /* Call fixup to resolve the function address. got[1] contains the link_map pointer and plabel[1] the relocation offset. */ diff --git a/libgcc/config/pa/gthr-dce.h b/libgcc/config/pa/gthr-dce.h index 9ad8b6b1d7..3cceb91c87 100644 --- a/libgcc/config/pa/gthr-dce.h +++ b/libgcc/config/pa/gthr-dce.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2 and libobjc. */ /* Compile this one with gcc. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/pa/hpux-unwind.h b/libgcc/config/pa/hpux-unwind.h index d21a130d85..094ee793c1 100644 --- a/libgcc/config/pa/hpux-unwind.h +++ b/libgcc/config/pa/hpux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for PA HP-UX. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/pa/lib2funcs.S b/libgcc/config/pa/lib2funcs.S index 539a290425..6480ff05a4 100644 --- a/libgcc/config/pa/lib2funcs.S +++ b/libgcc/config/pa/lib2funcs.S @@ -1,6 +1,6 @@ ; Subroutines for calling unbound dynamic functions from within GDB for HPPA. ; Subroutines for out of line prologues and epilogues on for the HPPA -; Copyright (C) 1994-2016 Free Software Foundation, Inc. +; Copyright (C) 1994-2017 Free Software Foundation, Inc. ; This file is part of GCC. diff --git a/libgcc/config/pa/linux-atomic.c b/libgcc/config/pa/linux-atomic.c index 1fe34866a5..e4cdb1fa25 100644 --- a/libgcc/config/pa/linux-atomic.c +++ b/libgcc/config/pa/linux-atomic.c @@ -1,5 +1,5 @@ /* Linux-specific atomic operations for PA Linux. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2017 Free Software Foundation, Inc. Based on code contributed by CodeSourcery for ARM EABI Linux. Modifications for PA Linux by Helge Deller <deller@gmx.de> diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h index 9a2657f295..580c18dad6 100644 --- a/libgcc/config/pa/linux-unwind.h +++ b/libgcc/config/pa/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for PA Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/pa/milli64.S b/libgcc/config/pa/milli64.S index a1c9bc949d..cfd4d83329 100644 --- a/libgcc/config/pa/milli64.S +++ b/libgcc/config/pa/milli64.S @@ -2,7 +2,7 @@ adapted for gcc by Paul Bame <bame@debian.org> and Alan Modra <alan@linuxcare.com.au>. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/pa/pa64-hpux-lib.h b/libgcc/config/pa/pa64-hpux-lib.h new file mode 100644 index 0000000000..3900d4a0b5 --- /dev/null +++ b/libgcc/config/pa/pa64-hpux-lib.h @@ -0,0 +1,101 @@ +/* Definitions of target machine for GNU compiler, for HPs running + HP-UX using the 64bit runtime model. + Copyright (C) 1999-2017 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +/* We use DTOR_LIST_BEGIN to carry a bunch of hacks to allow us to use + the init and fini array sections with both the HP and GNU linkers. + The linkers setup the required dynamic entries in the dynamic segment + and the dynamic linker does the calls. This approach avoids using + collect2. + + The first hack is to implement __do_global_ctors_aux in crtbegin as + it needs to be the first entry in the init array so that it is called + last. HP got the order of the init array backwards. The DT_INIT_ARRAY + is supposed to be executed in the same order as the addresses appear in + the array. DT_FINI_ARRAY is supposed to be executed in the opposite + order. + + The second hack is a set of plabels to implement the effect of + CRT_CALL_STATIC_FUNCTION. HP-UX 11 only supports DI_INIT_ARRAY and + DT_FINI_ARRAY and they put the arrays in .init and .fini, rather than + in .init_array and .fini_array. The standard defines for .init and + .fini have the execute flag set. So, the assembler has to be hacked + to munge the standard flags for these sections to make them agree + with what the HP linker expects. With the GNU linker, we need to + used the .init_array and .fini_array sections. So, we set up for + both just in case. Once we have built the table, the linker does + the rest of the work. + The order is significant. Placing __do_global_ctors_aux first in + the list, results in it being called last. User specified initializers, + either using the linker +init command or a plabel, run before the + initializers specified here. */ + +/* We need to add frame_dummy to the initializer list if EH_FRAME_SECTION_NAME + is defined. */ +#if defined(__LIBGCC_EH_FRAME_SECTION_NAME__) +#define PA_INIT_FRAME_DUMMY_ASM_OP ".dword P%frame_dummy" +#else +#define PA_INIT_FRAME_DUMMY_ASM_OP "" +#endif + +/* The following hack sets up the .init, .init_array, .fini and + .fini_array sections. */ +#define PA_CRTBEGIN_HACK \ +asm (TEXT_SECTION_ASM_OP); \ +static void __attribute__((used)) \ +__do_global_ctors_aux (void) \ +{ \ + func_ptr *p = __CTOR_LIST__; \ + while (*(p + 1)) \ + p++; \ + for (; *p != (func_ptr) -1; p--) \ + (*p) (); \ +} \ + \ +asm (HP_INIT_ARRAY_SECTION_ASM_OP); \ +asm (".align 8"); \ +asm (".dword P%__do_global_ctors_aux"); \ +asm (PA_INIT_FRAME_DUMMY_ASM_OP); \ +asm (GNU_INIT_ARRAY_SECTION_ASM_OP); \ +asm (".align 8"); \ +asm (".dword P%__do_global_ctors_aux"); \ +asm (PA_INIT_FRAME_DUMMY_ASM_OP); \ +asm (HP_FINI_ARRAY_SECTION_ASM_OP); \ +asm (".align 8"); \ +asm (".dword P%__do_global_dtors_aux"); \ +asm (GNU_FINI_ARRAY_SECTION_ASM_OP); \ +asm (".align 8"); \ +asm (".dword P%__do_global_dtors_aux") + +/* The following two variants of DTOR_LIST_BEGIN are identical to those + in crtstuff.c except for the addition of the above crtbegin hack. */ +#ifdef __LIBGCC_DTORS_SECTION_ASM_OP__ +#define DTOR_LIST_BEGIN \ +asm (DTORS_SECTION_ASM_OP); \ +STATIC func_ptr __DTOR_LIST__[1] \ + __attribute__ ((aligned(sizeof(func_ptr)))) \ + = { (func_ptr) (-1) }; \ +PA_CRTBEGIN_HACK +#else +#define DTOR_LIST_BEGIN \ +STATIC func_ptr __DTOR_LIST__[1] \ + __attribute__ ((section(".dtors"), aligned(sizeof(func_ptr)))) \ + = { (func_ptr) (-1) }; \ +PA_CRTBEGIN_HACK +#endif diff --git a/libgcc/config/pa/quadlib.c b/libgcc/config/pa/quadlib.c index bca97abeb7..309fa6a3dd 100644 --- a/libgcc/config/pa/quadlib.c +++ b/libgcc/config/pa/quadlib.c @@ -1,5 +1,5 @@ /* Subroutines for long double support. - Copyright (C) 2000-2016 Free Software Foundation, Inc. + Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/pa/stublib.c b/libgcc/config/pa/stublib.c index 56fad5cec1..33a1c5d08b 100644 --- a/libgcc/config/pa/stublib.c +++ b/libgcc/config/pa/stublib.c @@ -1,5 +1,5 @@ /* Stub functions. - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/pa/t-slibgcc-hpux b/libgcc/config/pa/t-slibgcc-hpux index fdc7422654..ebbe297238 100644 --- a/libgcc/config/pa/t-slibgcc-hpux +++ b/libgcc/config/pa/t-slibgcc-hpux @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2016 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/riscv/atomic.c b/libgcc/config/riscv/atomic.c new file mode 100644 index 0000000000..448b0e55b5 --- /dev/null +++ b/libgcc/config/riscv/atomic.c @@ -0,0 +1,111 @@ +/* Legacy sub-word atomics for RISC-V. + + Copyright (C) 2016-2017 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +#ifdef __riscv_atomic + +#include <stdbool.h> + +#define INVERT "not %[tmp1], %[tmp1]\n\t" +#define DONT_INVERT "" + +#define GENERATE_FETCH_AND_OP(type, size, opname, insn, invert, cop) \ + type __sync_fetch_and_ ## opname ## _ ## size (type *p, type v) \ + { \ + unsigned long aligned_addr = ((unsigned long) p) & ~3UL; \ + int shift = (((unsigned long) p) & 3) * 8; \ + unsigned mask = ((1U << ((sizeof v) * 8)) - 1) << shift; \ + unsigned old, tmp1, tmp2; \ + \ + asm volatile ("1:\n\t" \ + "lr.w.aq %[old], %[mem]\n\t" \ + #insn " %[tmp1], %[old], %[value]\n\t" \ + invert \ + "and %[tmp1], %[tmp1], %[mask]\n\t" \ + "and %[tmp2], %[old], %[not_mask]\n\t" \ + "or %[tmp2], %[tmp2], %[tmp1]\n\t" \ + "sc.w.rl %[tmp1], %[tmp2], %[mem]\n\t" \ + "bnez %[tmp1], 1b" \ + : [old] "=&r" (old), \ + [mem] "+A" (*(volatile unsigned*) aligned_addr), \ + [tmp1] "=&r" (tmp1), \ + [tmp2] "=&r" (tmp2) \ + : [value] "r" (((unsigned) v) << shift), \ + [mask] "r" (mask), \ + [not_mask] "r" (~mask)); \ + \ + return (type) (old >> shift); \ + } \ + \ + type __sync_ ## opname ## _and_fetch_ ## size (type *p, type v) \ + { \ + type o = __sync_fetch_and_ ## opname ## _ ## size (p, v); \ + return cop; \ + } + +#define GENERATE_COMPARE_AND_SWAP(type, size) \ + type __sync_val_compare_and_swap_ ## size (type *p, type o, type n) \ + { \ + unsigned long aligned_addr = ((unsigned long) p) & ~3UL; \ + int shift = (((unsigned long) p) & 3) * 8; \ + unsigned mask = ((1U << ((sizeof o) * 8)) - 1) << shift; \ + unsigned old, tmp1; \ + \ + asm volatile ("1:\n\t" \ + "lr.w.aq %[old], %[mem]\n\t" \ + "and %[tmp1], %[old], %[mask]\n\t" \ + "bne %[tmp1], %[o], 1f\n\t" \ + "and %[tmp1], %[old], %[not_mask]\n\t" \ + "or %[tmp1], %[tmp1], %[n]\n\t" \ + "sc.w.rl %[tmp1], %[tmp1], %[mem]\n\t" \ + "bnez %[tmp1], 1b\n\t" \ + "1:" \ + : [old] "=&r" (old), \ + [mem] "+A" (*(volatile unsigned*) aligned_addr), \ + [tmp1] "=&r" (tmp1) \ + : [o] "r" ((((unsigned) o) << shift) & mask), \ + [n] "r" ((((unsigned) n) << shift) & mask), \ + [mask] "r" (mask), \ + [not_mask] "r" (~mask)); \ + \ + return (type) (old >> shift); \ + } \ + bool __sync_bool_compare_and_swap_ ## size (type *p, type o, type n) \ + { \ + return __sync_val_compare_and_swap(p, o, n) == o; \ + } + +#define GENERATE_ALL(type, size) \ + GENERATE_FETCH_AND_OP(type, size, add, add, DONT_INVERT, o + v) \ + GENERATE_FETCH_AND_OP(type, size, sub, sub, DONT_INVERT, o - v) \ + GENERATE_FETCH_AND_OP(type, size, and, and, DONT_INVERT, o & v) \ + GENERATE_FETCH_AND_OP(type, size, xor, xor, DONT_INVERT, o ^ v) \ + GENERATE_FETCH_AND_OP(type, size, or, or, DONT_INVERT, o | v) \ + GENERATE_FETCH_AND_OP(type, size, nand, and, INVERT, ~(o & v)) \ + GENERATE_COMPARE_AND_SWAP(type, size) + +GENERATE_ALL(unsigned char, 1) +GENERATE_ALL(unsigned short, 2) + +#endif diff --git a/libgcc/config/riscv/crti.S b/libgcc/config/riscv/crti.S new file mode 100644 index 0000000000..89bac706c6 --- /dev/null +++ b/libgcc/config/riscv/crti.S @@ -0,0 +1 @@ +/* crti.S is empty because .init_array/.fini_array are used exclusively. */ diff --git a/libgcc/config/riscv/crtn.S b/libgcc/config/riscv/crtn.S new file mode 100644 index 0000000000..ca6ee7b6fb --- /dev/null +++ b/libgcc/config/riscv/crtn.S @@ -0,0 +1 @@ +/* crtn.S is empty because .init_array/.fini_array are used exclusively. */ diff --git a/libgcc/config/riscv/div.S b/libgcc/config/riscv/div.S new file mode 100644 index 0000000000..63d542e846 --- /dev/null +++ b/libgcc/config/riscv/div.S @@ -0,0 +1,146 @@ +/* Integer division routines for RISC-V. + + Copyright (C) 2016-2017 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + + .text + .align 2 + +#if __riscv_xlen == 32 +/* Our RV64 64-bit routines are equivalent to our RV32 32-bit routines. */ +# define __udivdi3 __udivsi3 +# define __umoddi3 __umodsi3 +# define __divdi3 __divsi3 +# define __moddi3 __modsi3 +#else + .globl __udivsi3 +__udivsi3: + /* Compute __udivdi3(a0 << 32, a1 << 32); cast result to uint32_t. */ + sll a0, a0, 32 + sll a1, a1, 32 + move t0, ra + jal __udivdi3 + sext.w a0, a0 + jr t0 + + .globl __umodsi3 +__umodsi3: + /* Compute __udivdi3((uint32_t)a0, (uint32_t)a1); cast a1 to uint32_t. */ + sll a0, a0, 32 + sll a1, a1, 32 + srl a0, a0, 32 + srl a1, a1, 32 + move t0, ra + jal __udivdi3 + sext.w a0, a1 + jr t0 + + .globl __modsi3 + __modsi3 = __moddi3 + + .globl __divsi3 +__divsi3: + /* Check for special case of INT_MIN/-1. Otherwise, fall into __divdi3. */ + li t0, -1 + beq a1, t0, .L20 +#endif + + .globl __divdi3 +__divdi3: + bltz a0, .L10 + bltz a1, .L11 + /* Since the quotient is positive, fall into __udivdi3. */ + + .globl __udivdi3 +__udivdi3: + mv a2, a1 + mv a1, a0 + li a0, -1 + beqz a2, .L5 + li a3, 1 + bgeu a2, a1, .L2 +.L1: + blez a2, .L2 + slli a2, a2, 1 + slli a3, a3, 1 + bgtu a1, a2, .L1 +.L2: + li a0, 0 +.L3: + bltu a1, a2, .L4 + sub a1, a1, a2 + or a0, a0, a3 +.L4: + srli a3, a3, 1 + srli a2, a2, 1 + bnez a3, .L3 +.L5: + ret + + .globl __umoddi3 +__umoddi3: + /* Call __udivdi3(a0, a1), then return the remainder, which is in a1. */ + move t0, ra + jal __udivdi3 + move a0, a1 + jr t0 + + /* Handle negative arguments to __divdi3. */ +.L10: + neg a0, a0 + bgez a1, .L12 /* Compute __udivdi3(-a0, a1), then negate the result. */ + neg a1, a1 + j __udivdi3 /* Compute __udivdi3(-a0, -a1). */ +.L11: /* Compute __udivdi3(a0, -a1), then negate the result. */ + neg a1, a1 +.L12: + move t0, ra + jal __udivdi3 + neg a0, a0 + jr t0 + + .globl __moddi3 +__moddi3: + move t0, ra + bltz a1, .L31 + bltz a0, .L32 +.L30: + jal __udivdi3 /* The dividend is not negative. */ + move a0, a1 + jr t0 +.L31: + neg a1, a1 + bgez a0, .L30 +.L32: + neg a0, a0 + jal __udivdi3 /* The dividend is hella negative. */ + neg a0, a1 + jr t0 + +#if __riscv_xlen == 64 + /* continuation of __divsi3 */ +.L20: + sll t0, t0, 31 + bne a0, t0, __divdi3 + ret +#endif diff --git a/libgcc/config/riscv/linux-unwind.h b/libgcc/config/riscv/linux-unwind.h new file mode 100644 index 0000000000..a051a2869d --- /dev/null +++ b/libgcc/config/riscv/linux-unwind.h @@ -0,0 +1,89 @@ +/* Copyright (C) 2016-2017 Free Software Foundation, Inc. + + This file is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any + later version. + + This file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef inhibit_libc + +#include <signal.h> +#include <stdint.h> +#include <sys/ucontext.h> + +#define LI_A7_8B 0x08b00893 +#define ECALL 0x00000073 + +#define MD_FALLBACK_FRAME_STATE_FOR riscv_fallback_frame_state + +static _Unwind_Reason_Code +riscv_fallback_frame_state (struct _Unwind_Context *context, + _Unwind_FrameState * fs) +{ + /* The kernel creates an rt_sigframe on the stack immediately prior + to delivering a signal. + + This structure must have the same shape as the linux kernel + equivalent. */ + struct rt_sigframe + { + siginfo_t info; + struct ucontext uc; + }; + + struct rt_sigframe *rt_; + _Unwind_Ptr new_cfa; + uint16_t *pc = context->ra; + struct sigcontext *sc; + int i; + + /* A signal frame will have a return address pointing to + __default_sa_restorer. This code is hardwired as: + + 0x08b00893 li a7,0x8b + 0x00000073 ecall + + Note, the PC might only have 2-byte alignment. + */ + if (pc[0] != (uint16_t)LI_A7_8B || pc[1] != (uint16_t)(LI_A7_8B >> 16) + || pc[2] != (uint16_t)ECALL || pc[3] != (uint16_t)(ECALL >> 16)) + return _URC_END_OF_STACK; + + rt_ = context->cfa; + sc = &rt_->uc.uc_mcontext; + + new_cfa = (_Unwind_Ptr) sc; + fs->regs.cfa_how = CFA_REG_OFFSET; + fs->regs.cfa_reg = __LIBGCC_STACK_POINTER_REGNUM__; + fs->regs.cfa_offset = new_cfa - (_Unwind_Ptr) context->cfa; + + for (i = 0; i < 32; i++) + { + fs->regs.reg[i].how = REG_SAVED_OFFSET; + fs->regs.reg[i].loc.offset = (_Unwind_Ptr) &sc->gregs[i] - new_cfa; + } + + fs->signal_frame = 1; + fs->retaddr_column = __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__; + fs->regs.reg[fs->retaddr_column].how = REG_SAVED_VAL_OFFSET; + fs->regs.reg[fs->retaddr_column].loc.offset = + (_Unwind_Ptr) sc->gregs[0] - new_cfa; + + return _URC_NO_REASON; +} + +#endif diff --git a/libgcc/config/arc/crtgend.S b/libgcc/config/riscv/muldi3.S index fad630f139..eb3d9b0df3 100644 --- a/libgcc/config/arc/crtgend.S +++ b/libgcc/config/riscv/muldi3.S @@ -1,8 +1,6 @@ -/* Code to start and stop profiling for the Synopsys DesignWare ARC CPU. +/* Integer multiplication routines for RISC-V. - Copyright (C) 1994-2016 Free Software Foundation, Inc. - Contributor: Joern Rennecke <joern.rennecke@embecosm.com> - on behalf of Synopsys Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -25,9 +23,24 @@ a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ - .section .__arc_profile_desc, "a" - .global __arc_profile_desc_secend -__arc_profile_desc_secend: - .section .__arc_profile_forward, "a" - .global __arc_profile_forward_secend -__arc_profile_forward_secend: + .text + .align 2 + +#if __riscv_xlen == 32 +/* Our RV64 64-bit routine is equivalent to our RV32 32-bit routine. */ +# define __muldi3 __mulsi3 +#endif + + .globl __muldi3 +__muldi3: + mv a2, a0 + li a0, 0 +.L1: + andi a3, a1, 1 + beqz a3, .L2 + add a0, a0, a2 +.L2: + srli a1, a1, 1 + slli a2, a2, 1 + bnez a1, .L1 + ret diff --git a/libgcc/config/riscv/multi3.S b/libgcc/config/riscv/multi3.S new file mode 100644 index 0000000000..4d454e6501 --- /dev/null +++ b/libgcc/config/riscv/multi3.S @@ -0,0 +1,81 @@ +/* Integer multiplication routines for RISC-V. + + Copyright (C) 2016-2017 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + + .text + .align 2 + +#if __riscv_xlen == 32 +/* Our RV64 64-bit routines are equivalent to our RV32 32-bit routines. */ +# define __multi3 __muldi3 +#endif + + .globl __multi3 +__multi3: + +#if __riscv_xlen == 32 +/* Our RV64 64-bit routines are equivalent to our RV32 32-bit routines. */ +# define __muldi3 __mulsi3 +#endif + +/* We rely on the fact that __muldi3 doesn't clobber the t-registers. */ + + mv t0, ra + mv t5, a0 + mv a0, a1 + mv t6, a3 + mv a1, t5 + mv a4, a2 + li a5, 0 + li t2, 0 + li t4, 0 +.L1: + add a6, t2, a1 + andi t3, a4, 1 + slli a7, a5, 1 + slti t1, a1, 0 + srli a4, a4, 1 + add a5, t4, a5 + beqz t3, .L2 + sltu t3, a6, t2 + mv t2, a6 + add t4, t3, a5 +.L2: + slli a1, a1, 1 + or a5, t1, a7 + bnez a4, .L1 + beqz a0, .L3 + mv a1, a2 + call __muldi3 + add t4, t4, a0 +.L3: + beqz t6, .L4 + mv a1, t6 + mv a0, t5 + call __muldi3 + add t4, t4, a0 +.L4: + mv a0, t2 + mv a1, t4 + jr t0 diff --git a/libgcc/config/riscv/save-restore.S b/libgcc/config/riscv/save-restore.S new file mode 100644 index 0000000000..2073a73089 --- /dev/null +++ b/libgcc/config/riscv/save-restore.S @@ -0,0 +1,463 @@ +/* Callee-saved register spill and fill routines for RISC-V. + + Copyright (C) 2016-2017 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + + .text + + .globl __riscv_save_12 + .globl __riscv_save_11 + .globl __riscv_save_10 + .globl __riscv_save_9 + .globl __riscv_save_8 + .globl __riscv_save_7 + .globl __riscv_save_6 + .globl __riscv_save_5 + .globl __riscv_save_4 + .globl __riscv_save_3 + .globl __riscv_save_2 + .globl __riscv_save_1 + .globl __riscv_save_0 + + .globl __riscv_restore_12 + .globl __riscv_restore_11 + .globl __riscv_restore_10 + .globl __riscv_restore_9 + .globl __riscv_restore_8 + .globl __riscv_restore_7 + .globl __riscv_restore_6 + .globl __riscv_restore_5 + .globl __riscv_restore_4 + .globl __riscv_restore_3 + .globl __riscv_restore_2 + .globl __riscv_restore_1 + .globl __riscv_restore_0 + +#if __riscv_xlen == 64 + +__riscv_save_12: + .cfi_startproc + # __riscv_save_* routine use t0/x5 as return address + .cfi_return_column 5 + addi sp, sp, -112 + .cfi_def_cfa_offset 112 + li t1, 0 + sd s11, 8(sp) + .cfi_offset 27, -104 + j .Ls10 + +__riscv_save_11: +__riscv_save_10: + .cfi_restore 27 + addi sp, sp, -112 + .cfi_def_cfa_offset 112 + li t1, -16 +.Ls10: + sd s10, 16(sp) + .cfi_offset 26, -96 + sd s9, 24(sp) + .cfi_offset 25, -88 + j .Ls8 + +__riscv_save_9: +__riscv_save_8: + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + addi sp, sp, -112 + .cfi_def_cfa_offset 112 + li t1, -32 +.Ls8: + sd s8, 32(sp) + .cfi_offset 24, -80 + sd s7, 40(sp) + .cfi_offset 23, -72 + j .Ls6 + +__riscv_save_7: +__riscv_save_6: + .cfi_restore 23 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + addi sp, sp, -112 + .cfi_def_cfa_offset 112 + li t1, -48 +.Ls6: + sd s6, 48(sp) + .cfi_offset 22, -64 + sd s5, 56(sp) + .cfi_offset 21, -56 + j .Ls4 + +__riscv_save_5: +__riscv_save_4: + .cfi_restore 21 + .cfi_restore 22 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + addi sp, sp, -112 + .cfi_def_cfa_offset 112 + li t1, -64 +.Ls4: + sd s4, 64(sp) + .cfi_offset 20, -48 + sd s3, 72(sp) + .cfi_offset 19, -40 + j .Ls2 + +__riscv_save_3: +__riscv_save_2: + .cfi_restore 19 + .cfi_restore 20 + .cfi_restore 21 + .cfi_restore 22 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + addi sp, sp, -112 + .cfi_def_cfa_offset 112 + li t1, -80 +.Ls2: + sd s2, 80(sp) + .cfi_offset 18, -32 + sd s1, 88(sp) + .cfi_offset 9, -24 + sd s0, 96(sp) + .cfi_offset 8, -16 + sd ra, 104(sp) + .cfi_offset 1, -8 + # CFA info is not correct in next 2 instruction since t1's + # value is depend on how may register really save. + sub sp, sp, t1 + jr t0 + .cfi_endproc + +__riscv_save_1: +__riscv_save_0: + .cfi_startproc + # __riscv_save_* routine use t0/x5 as return address + .cfi_return_column 5 + addi sp, sp, -16 + .cfi_def_cfa_offset 16 + sd s0, 0(sp) + .cfi_offset 8, -16 + sd ra, 8(sp) + .cfi_offset 1, -8 + jr t0 + .cfi_endproc + +__riscv_restore_12: + .cfi_startproc + .cfi_def_cfa_offset 112 + .cfi_offset 27, -104 + .cfi_offset 26, -96 + .cfi_offset 25, -88 + .cfi_offset 24, -80 + .cfi_offset 23, -72 + .cfi_offset 22, -64 + .cfi_offset 21, -56 + .cfi_offset 20, -48 + .cfi_offset 19, -40 + .cfi_offset 18, -32 + .cfi_offset 9, -24 + .cfi_offset 8, -16 + .cfi_offset 1, -8 + ld s11, 8(sp) + .cfi_restore 27 + addi sp, sp, 16 + +__riscv_restore_11: +__riscv_restore_10: + .cfi_restore 27 + .cfi_def_cfa_offset 96 + ld s10, 0(sp) + .cfi_restore 26 + ld s9, 8(sp) + .cfi_restore 25 + addi sp, sp, 16 + +__riscv_restore_9: +__riscv_restore_8: + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_def_cfa_offset 80 + ld s8, 0(sp) + .cfi_restore 24 + ld s7, 8(sp) + .cfi_restore 23 + addi sp, sp, 16 + +__riscv_restore_7: +__riscv_restore_6: + .cfi_restore 23 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_def_cfa_offset 64 + ld s6, 0(sp) + .cfi_restore 22 + ld s5, 8(sp) + .cfi_restore 21 + addi sp, sp, 16 + +__riscv_restore_5: +__riscv_restore_4: + .cfi_restore 21 + .cfi_restore 22 + .cfi_restore 23 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_def_cfa_offset 48 + ld s4, 0(sp) + .cfi_restore 20 + ld s3, 8(sp) + .cfi_restore 19 + addi sp, sp, 16 + +__riscv_restore_3: +__riscv_restore_2: + .cfi_restore 19 + .cfi_restore 20 + .cfi_restore 21 + .cfi_restore 22 + .cfi_restore 23 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_def_cfa_offset 32 + ld s2, 0(sp) + .cfi_restore 18 + ld s1, 8(sp) + .cfi_restore 9 + addi sp, sp, 16 + +__riscv_restore_1: +__riscv_restore_0: + .cfi_restore 9 + .cfi_restore 18 + .cfi_restore 19 + .cfi_restore 20 + .cfi_restore 21 + .cfi_restore 22 + .cfi_restore 23 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_def_cfa_offset 16 + ld s0, 0(sp) + .cfi_restore 8 + ld ra, 8(sp) + .cfi_restore 1 + addi sp, sp, 16 + .cfi_def_cfa_offset 0 + ret + .cfi_endproc + +#else + +__riscv_save_12: + .cfi_startproc + # __riscv_save_* routine use t0/x5 as return address + .cfi_return_column 5 + addi sp, sp, -64 + .cfi_def_cfa_offset 64 + li t1, 0 + sw s11, 12(sp) + .cfi_offset 27, -52 + j .Ls10 + +__riscv_save_11: +__riscv_save_10: +__riscv_save_9: +__riscv_save_8: + .cfi_restore 27 + addi sp, sp, -64 + .cfi_def_cfa_offset 64 + li t1, -16 +.Ls10: + sw s10, 16(sp) + .cfi_offset 26, -48 + sw s9, 20(sp) + .cfi_offset 25, -44 + sw s8, 24(sp) + .cfi_offset 24, -40 + sw s7, 28(sp) + .cfi_offset 23, -36 + j .Ls6 + +__riscv_save_7: +__riscv_save_6: +__riscv_save_5: +__riscv_save_4: + .cfi_restore 23 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + addi sp, sp, -64 + .cfi_def_cfa_offset 64 + li t1, -32 +.Ls6: + sw s6, 32(sp) + .cfi_offset 22, -32 + sw s5, 36(sp) + .cfi_offset 21, -28 + sw s4, 40(sp) + .cfi_offset 20, -24 + sw s3, 44(sp) + .cfi_offset 19, -20 + sw s2, 48(sp) + .cfi_offset 18, -16 + sw s1, 52(sp) + .cfi_offset 9, -12 + sw s0, 56(sp) + .cfi_offset 8, -8 + sw ra, 60(sp) + .cfi_offset 1, -4 + # CFA info is not correct in next 2 instruction since t1's + # value is depend on how may register really save. + sub sp, sp, t1 + jr t0 + .cfi_endproc + +__riscv_save_3: +__riscv_save_2: +__riscv_save_1: +__riscv_save_0: + .cfi_startproc + # __riscv_save_* routine use t0/x5 as return address + .cfi_return_column 5 + addi sp, sp, -16 + .cfi_def_cfa_offset 16 + sw s2, 0(sp) + sw s1, 4(sp) + .cfi_offset 9, -16 + sw s0, 8(sp) + .cfi_offset 8, -8 + sw ra, 12(sp) + .cfi_offset 1, -4 + jr t0 + .cfi_endproc + +__riscv_restore_12: + .cfi_startproc + .cfi_def_cfa_offset 64 + .cfi_offset 27, -52 + .cfi_offset 26, -48 + .cfi_offset 25, -44 + .cfi_offset 24, -40 + .cfi_offset 23, -36 + .cfi_offset 22, -32 + .cfi_offset 21, -28 + .cfi_offset 20, -24 + .cfi_offset 19, -20 + .cfi_offset 18, -16 + .cfi_offset 9, -12 + .cfi_offset 8, -8 + .cfi_offset 1, -4 + lw s11, 12(sp) + .cfi_restore 27 + addi sp, sp, 16 + +__riscv_restore_11: +__riscv_restore_10: +__riscv_restore_9: +__riscv_restore_8: + .cfi_restore 27 + .cfi_def_cfa_offset 48 + lw s10, 0(sp) + .cfi_restore 26 + lw s9, 4(sp) + .cfi_restore 25 + lw s8, 8(sp) + .cfi_restore 24 + lw s7, 12(sp) + .cfi_restore 23 + addi sp, sp, 16 + +__riscv_restore_7: +__riscv_restore_6: +__riscv_restore_5: +__riscv_restore_4: + .cfi_restore 23 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_def_cfa_offset 32 + lw s6, 0(sp) + .cfi_restore 22 + lw s5, 4(sp) + .cfi_restore 21 + lw s4, 8(sp) + .cfi_restore 20 + lw s3, 12(sp) + .cfi_restore 19 + addi sp, sp, 16 + +__riscv_restore_3: +__riscv_restore_2: +__riscv_restore_1: +__riscv_restore_0: + .cfi_restore 19 + .cfi_restore 20 + .cfi_restore 21 + .cfi_restore 22 + .cfi_restore 24 + .cfi_restore 25 + .cfi_restore 26 + .cfi_restore 27 + .cfi_def_cfa_offset 16 + lw s2, 0(sp) + .cfi_restore 18 + lw s1, 4(sp) + .cfi_restore 9 + lw s0, 8(sp) + .cfi_restore 8 + lw ra, 12(sp) + .cfi_restore 1 + addi sp, sp, 16 + .cfi_def_cfa_offset 0 + ret + .cfi_endproc + +#endif diff --git a/libgcc/config/riscv/sfp-machine.h b/libgcc/config/riscv/sfp-machine.h new file mode 100644 index 0000000000..b1a27e7ed4 --- /dev/null +++ b/libgcc/config/riscv/sfp-machine.h @@ -0,0 +1,137 @@ +/* Software floating-point machine description for RISC-V. + + Copyright (C) 2016-2017 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +#if __riscv_xlen == 32 + +#define _FP_W_TYPE_SIZE 32 +#define _FP_W_TYPE unsigned long +#define _FP_WS_TYPE signed long +#define _FP_I_TYPE long + +#define _FP_MUL_MEAT_S(R,X,Y) \ + _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_D(R,X,Y) \ + _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_Q(R,X,Y) \ + _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) + +#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(S,R,X,Y) +#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y) +#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y) + +#define _FP_NANFRAC_S _FP_QNANBIT_S +#define _FP_NANFRAC_D _FP_QNANBIT_D, 0 +#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0, 0, 0 + +#else + +#define _FP_W_TYPE_SIZE 64 +#define _FP_W_TYPE unsigned long long +#define _FP_WS_TYPE signed long long +#define _FP_I_TYPE long long + +#define _FP_MUL_MEAT_S(R,X,Y) \ + _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y) +#define _FP_MUL_MEAT_D(R,X,Y) \ + _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) +#define _FP_MUL_MEAT_Q(R,X,Y) \ + _FP_MUL_MEAT_2_wide_3mul(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) + +#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm) +#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y) +#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) + +#define _FP_NANFRAC_S _FP_QNANBIT_S +#define _FP_NANFRAC_D _FP_QNANBIT_D +#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0 + +#endif + +#if __riscv_xlen == 64 +typedef int TItype __attribute__ ((mode (TI))); +typedef unsigned int UTItype __attribute__ ((mode (TI))); +#define TI_BITS (__CHAR_BIT__ * (int)sizeof(TItype)) +#endif + +/* The type of the result of a floating point comparison. This must + match __libgcc_cmp_return__ in GCC for the target. */ +typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__))); +#define CMPtype __gcc_CMPtype + +#define _FP_NANSIGN_S 0 +#define _FP_NANSIGN_D 0 +#define _FP_NANSIGN_Q 0 + +#define _FP_KEEPNANFRACP 0 +#define _FP_QNANNEGATEDP 0 + +#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ + do { \ + R##_s = _FP_NANSIGN_##fs; \ + _FP_FRAC_SET_##wc(R,_FP_NANFRAC_##fs); \ + R##_c = FP_CLS_NAN; \ + } while (0) + +#define _FP_DECL_EX int _frm __attribute__ ((unused)); +#define FP_ROUNDMODE _frm + +#define FP_RND_NEAREST 0x0 +#define FP_RND_ZERO 0x1 +#define FP_RND_PINF 0x3 +#define FP_RND_MINF 0x2 + +#define FP_EX_INVALID 0x10 +#define FP_EX_OVERFLOW 0x04 +#define FP_EX_UNDERFLOW 0x02 +#define FP_EX_DIVZERO 0x08 +#define FP_EX_INEXACT 0x01 + +#define _FP_TININESS_AFTER_ROUNDING 1 + +#ifdef __riscv_flen +#define FP_INIT_ROUNDMODE \ +do { \ + __asm__ volatile ("frrm %0" : "=r" (_frm)); \ +} while (0) + +#define FP_HANDLE_EXCEPTIONS \ +do { \ + if (__builtin_expect (_fex, 0)) \ + __asm__ volatile ("csrs fflags, %0" : : "rK" (_fex)); \ +} while (0) +#else +#define FP_INIT_ROUNDMODE _frm = FP_RND_NEAREST +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 + +#define __BYTE_ORDER __LITTLE_ENDIAN + + +/* Define ALIASNAME as a strong alias for NAME. */ +# define strong_alias(name, aliasname) _strong_alias(name, aliasname) +# define _strong_alias(name, aliasname) \ + extern __typeof (name) aliasname __attribute__ ((alias (#name))); diff --git a/libgcc/config/riscv/t-elf b/libgcc/config/riscv/t-elf new file mode 100644 index 0000000000..01d5ebaa41 --- /dev/null +++ b/libgcc/config/riscv/t-elf @@ -0,0 +1,6 @@ +LIB2ADD += $(srcdir)/config/riscv/save-restore.S \ + $(srcdir)/config/riscv/muldi3.S \ + $(srcdir)/config/riscv/multi3.S \ + $(srcdir)/config/riscv/div.S \ + $(srcdir)/config/riscv/atomic.c \ + diff --git a/libgcc/config/riscv/t-elf32 b/libgcc/config/riscv/t-elf32 new file mode 100644 index 0000000000..f3751234d5 --- /dev/null +++ b/libgcc/config/riscv/t-elf32 @@ -0,0 +1 @@ +LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _udivsi3 _umodsi3 _mulsi3 _muldi3 diff --git a/libgcc/config/riscv/t-elf64 b/libgcc/config/riscv/t-elf64 new file mode 100644 index 0000000000..f3751234d5 --- /dev/null +++ b/libgcc/config/riscv/t-elf64 @@ -0,0 +1 @@ +LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _udivsi3 _umodsi3 _mulsi3 _muldi3 diff --git a/libgcc/config/riscv/t-softfp32 b/libgcc/config/riscv/t-softfp32 new file mode 100644 index 0000000000..1bd51e803d --- /dev/null +++ b/libgcc/config/riscv/t-softfp32 @@ -0,0 +1,26 @@ +ABI_SINGLE:=$(findstring __riscv_float_abi_single,$(shell $(gcc_compile_bare) -dM -E - </dev/null)) +ABI_DOUBLE:=$(findstring __riscv_float_abi_double,$(shell $(gcc_compile_bare) -dM -E - </dev/null)) +ABI_QUAD:=$(findstring __riscv_float_abi_quad,$(shell $(gcc_compile_bare) -dM -E - </dev/null)) + +softfp_int_modes := si di +softfp_exclude_libgcc2 := n + +ifndef ABI_QUAD +ifdef ABI_DOUBLE + +softfp_float_modes := tf +softfp_extensions := sftf dftf +softfp_truncations := tfsf tfdf + +else + +softfp_float_modes := df tf +softfp_extensions := sfdf sftf dftf +softfp_truncations := dfsf tfsf tfdf + +ifndef ABI_SINGLE +softfp_float_modes += sf +endif + +endif +endif diff --git a/libgcc/config/riscv/t-softfp64 b/libgcc/config/riscv/t-softfp64 new file mode 100644 index 0000000000..7587095120 --- /dev/null +++ b/libgcc/config/riscv/t-softfp64 @@ -0,0 +1,3 @@ +include $(srcdir)/config/riscv/t-softfp32 + +softfp_int_modes += ti diff --git a/libgcc/config/rl78/bit-count.S b/libgcc/config/rl78/bit-count.S index e9089b6e99..f024975b89 100644 --- a/libgcc/config/rl78/bit-count.S +++ b/libgcc/config/rl78/bit-count.S @@ -1,4 +1,4 @@ -; Copyright (C) 2012-2016 Free Software Foundation, Inc. +; Copyright (C) 2012-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rl78/cmpsi2.S b/libgcc/config/rl78/cmpsi2.S index 0d5f435cdb..20899973cc 100644 --- a/libgcc/config/rl78/cmpsi2.S +++ b/libgcc/config/rl78/cmpsi2.S @@ -1,4 +1,4 @@ -; Copyright (C) 2011-2016 Free Software Foundation, Inc. +; Copyright (C) 2011-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rl78/divmodhi.S b/libgcc/config/rl78/divmodhi.S index fd61903229..5eb201998a 100644 --- a/libgcc/config/rl78/divmodhi.S +++ b/libgcc/config/rl78/divmodhi.S @@ -1,5 +1,5 @@ /* HImode div/mod functions for the GCC support library for the Renesas RL78 processors. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/divmodqi.S b/libgcc/config/rl78/divmodqi.S index c342c78d77..abc0908672 100644 --- a/libgcc/config/rl78/divmodqi.S +++ b/libgcc/config/rl78/divmodqi.S @@ -1,5 +1,5 @@ /* QImode div/mod functions for the GCC support library for the Renesas RL78 processors. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/divmodsi.S b/libgcc/config/rl78/divmodsi.S index d824f4e8d7..896b95fc98 100644 --- a/libgcc/config/rl78/divmodsi.S +++ b/libgcc/config/rl78/divmodsi.S @@ -1,5 +1,5 @@ /* SImode div/mod functions for the GCC support library for the Renesas RL78 processors. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/lib2div.c b/libgcc/config/rl78/lib2div.c index 012e51e54c..ff01892017 100644 --- a/libgcc/config/rl78/lib2div.c +++ b/libgcc/config/rl78/lib2div.c @@ -1,5 +1,5 @@ /* libgcc routines for RL78 - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/lib2mul.c b/libgcc/config/rl78/lib2mul.c index 8479671e62..ef801d1f58 100644 --- a/libgcc/config/rl78/lib2mul.c +++ b/libgcc/config/rl78/lib2mul.c @@ -1,5 +1,5 @@ /* libgcc routines for RL78 - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/lib2shift.c b/libgcc/config/rl78/lib2shift.c index 2de3b669ae..61b77ed629 100644 --- a/libgcc/config/rl78/lib2shift.c +++ b/libgcc/config/rl78/lib2shift.c @@ -1,5 +1,5 @@ /* Shift functions for the GCC support library for the Renesas RL78 processors. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/lshrsi3.S b/libgcc/config/rl78/lshrsi3.S index 3d231c8211..5014c47796 100644 --- a/libgcc/config/rl78/lshrsi3.S +++ b/libgcc/config/rl78/lshrsi3.S @@ -1,4 +1,4 @@ -; Copyright (C) 2011-2016 Free Software Foundation, Inc. +; Copyright (C) 2011-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rl78/mulsi3.S b/libgcc/config/rl78/mulsi3.S index 894b8c6638..e74dd9ad8b 100644 --- a/libgcc/config/rl78/mulsi3.S +++ b/libgcc/config/rl78/mulsi3.S @@ -1,4 +1,4 @@ -; Copyright (C) 2011-2016 Free Software Foundation, Inc. +; Copyright (C) 2011-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rl78/rl78-divmod.h b/libgcc/config/rl78/rl78-divmod.h index c6bd90c887..0f2f711936 100644 --- a/libgcc/config/rl78/rl78-divmod.h +++ b/libgcc/config/rl78/rl78-divmod.h @@ -1,5 +1,5 @@ /* libgcc routines for RL78 - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/rl78-mul.h b/libgcc/config/rl78/rl78-mul.h index 912dd44864..eeda7b1316 100644 --- a/libgcc/config/rl78/rl78-mul.h +++ b/libgcc/config/rl78/rl78-mul.h @@ -1,5 +1,5 @@ /* libgcc routines for RL78 - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rl78/signbit.S b/libgcc/config/rl78/signbit.S index f576ff4699..aa8c303e0d 100644 --- a/libgcc/config/rl78/signbit.S +++ b/libgcc/config/rl78/signbit.S @@ -1,4 +1,4 @@ -; Copyright (C) 2012-2016 Free Software Foundation, Inc. +; Copyright (C) 2012-2017 Free Software Foundation, Inc. ; Contributed by Red Hat. ; ; This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rl78/t-rl78 b/libgcc/config/rl78/t-rl78 index f421a9e1ed..6e48a856a7 100644 --- a/libgcc/config/rl78/t-rl78 +++ b/libgcc/config/rl78/t-rl78 @@ -1,5 +1,5 @@ # Makefile fragment for building LIBGCC for the Renesas RL78 target. -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # Contributed by Red Hat. # # This file is part of GCC. diff --git a/libgcc/config/rl78/trampoline.S b/libgcc/config/rl78/trampoline.S index fb6fdf7b8d..ecb25decdf 100644 --- a/libgcc/config/rl78/trampoline.S +++ b/libgcc/config/rl78/trampoline.S @@ -1,5 +1,5 @@ /* libgcc routines for RL78 - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rs6000/_divkc3.c b/libgcc/config/rs6000/_divkc3.c index 638e18336a..74ed279863 100644 --- a/libgcc/config/rs6000/_divkc3.c +++ b/libgcc/config/rs6000/_divkc3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/_mulkc3.c b/libgcc/config/rs6000/_mulkc3.c index 25da7b9955..c5312a7bed 100644 --- a/libgcc/config/rs6000/_mulkc3.c +++ b/libgcc/config/rs6000/_mulkc3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/aix-unwind.h b/libgcc/config/rs6000/aix-unwind.h index 4edeaf4606..c513a12299 100644 --- a/libgcc/config/rs6000/aix-unwind.h +++ b/libgcc/config/rs6000/aix-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for AIX. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/atexit.c b/libgcc/config/rs6000/atexit.c index 19211df6c2..343ced39db 100644 --- a/libgcc/config/rs6000/atexit.c +++ b/libgcc/config/rs6000/atexit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff --git a/libgcc/config/rs6000/crtcxa.c b/libgcc/config/rs6000/crtcxa.c index 12fa39b2a5..a3a5b9cb9f 100644 --- a/libgcc/config/rs6000/crtcxa.c +++ b/libgcc/config/rs6000/crtcxa.c @@ -1,5 +1,5 @@ /* __dso_handle initialization for AIX. - Copyright (C) 2013-2016 Free Software Foundation, Inc. + Copyright (C) 2013-2017 Free Software Foundation, Inc. Written by David Edelsohn, IBM. This file is part of GCC. diff --git a/libgcc/config/rs6000/crtdbase.S b/libgcc/config/rs6000/crtdbase.S index 46d8e000aa..c8199a656b 100644 --- a/libgcc/config/rs6000/crtdbase.S +++ b/libgcc/config/rs6000/crtdbase.S @@ -1,6 +1,6 @@ /* Defines __gcc_unwind_dbase - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/rs6000/crtresfpr.S b/libgcc/config/rs6000/crtresfpr.S index 84689f4131..7e59da2786 100644 --- a/libgcc/config/rs6000/crtresfpr.S +++ b/libgcc/config/rs6000/crtresfpr.S @@ -1,7 +1,7 @@ /* * Special support for eabi and SVR4 * - * Copyright (C) 1995-2016 Free Software Foundation, Inc. + * Copyright (C) 1995-2017 Free Software Foundation, Inc. * Written By Michael Meissner * 64-bit support written by David Edelsohn * diff --git a/libgcc/config/rs6000/crtresgpr.S b/libgcc/config/rs6000/crtresgpr.S index ddfd100bdd..3ed6036a0d 100644 --- a/libgcc/config/rs6000/crtresgpr.S +++ b/libgcc/config/rs6000/crtresgpr.S @@ -1,7 +1,7 @@ /* * Special support for eabi and SVR4 * - * Copyright (C) 1995-2016 Free Software Foundation, Inc. + * Copyright (C) 1995-2017 Free Software Foundation, Inc. * Written By Michael Meissner * 64-bit support written by David Edelsohn * diff --git a/libgcc/config/rs6000/crtrestvr.S b/libgcc/config/rs6000/crtrestvr.S index ac9beca72c..a44ab89c86 100644 --- a/libgcc/config/rs6000/crtrestvr.S +++ b/libgcc/config/rs6000/crtrestvr.S @@ -1,6 +1,6 @@ /* Routines for restoring vector registers. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Written by Alan Modra, IBM This file is free software; you can redistribute it and/or modify it @@ -31,6 +31,7 @@ /* Called with r0 pointing just beyond the end of the vector save area. */ + .machine altivec .section ".text" CFI_STARTPROC HIDDEN_FUNC(_restvr_20) diff --git a/libgcc/config/rs6000/crtresxfpr.S b/libgcc/config/rs6000/crtresxfpr.S index 62aca0d50f..cc758bed05 100644 --- a/libgcc/config/rs6000/crtresxfpr.S +++ b/libgcc/config/rs6000/crtresxfpr.S @@ -1,7 +1,7 @@ /* * Special support for eabi and SVR4 * - * Copyright (C) 1995-2016 Free Software Foundation, Inc. + * Copyright (C) 1995-2017 Free Software Foundation, Inc. * Written By Michael Meissner * 64-bit support written by David Edelsohn * diff --git a/libgcc/config/rs6000/crtresxgpr.S b/libgcc/config/rs6000/crtresxgpr.S index 2df2cfc0b0..995fe32927 100644 --- a/libgcc/config/rs6000/crtresxgpr.S +++ b/libgcc/config/rs6000/crtresxgpr.S @@ -1,7 +1,7 @@ /* * Special support for eabi and SVR4 * - * Copyright (C) 1995-2016 Free Software Foundation, Inc. + * Copyright (C) 1995-2017 Free Software Foundation, Inc. * Written By Michael Meissner * 64-bit support written by David Edelsohn * diff --git a/libgcc/config/rs6000/crtsavevr.S b/libgcc/config/rs6000/crtsavevr.S index 63d91744ac..bc0201923f 100644 --- a/libgcc/config/rs6000/crtsavevr.S +++ b/libgcc/config/rs6000/crtsavevr.S @@ -1,6 +1,6 @@ /* Routines for saving vector registers. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. Written by Alan Modra, IBM This file is free software; you can redistribute it and/or modify it @@ -31,6 +31,7 @@ /* Called with r0 pointing just beyond the end of the vector save area. */ + .machine altivec .section ".text" CFI_STARTPROC HIDDEN_FUNC(_savevr_20) diff --git a/libgcc/config/rs6000/crtsavfpr.S b/libgcc/config/rs6000/crtsavfpr.S index da4dd27923..95445b69f1 100644 --- a/libgcc/config/rs6000/crtsavfpr.S +++ b/libgcc/config/rs6000/crtsavfpr.S @@ -1,7 +1,7 @@ /* * Special support for eabi and SVR4 * - * Copyright (C) 1995-2016 Free Software Foundation, Inc. + * Copyright (C) 1995-2017 Free Software Foundation, Inc. * Written By Michael Meissner * 64-bit support written by David Edelsohn * diff --git a/libgcc/config/rs6000/crtsavgpr.S b/libgcc/config/rs6000/crtsavgpr.S index f48c4c46c5..2302968559 100644 --- a/libgcc/config/rs6000/crtsavgpr.S +++ b/libgcc/config/rs6000/crtsavgpr.S @@ -1,7 +1,7 @@ /* * Special support for eabi and SVR4 * - * Copyright (C) 1995-2016 Free Software Foundation, Inc. + * Copyright (C) 1995-2017 Free Software Foundation, Inc. * Written By Michael Meissner * 64-bit support written by David Edelsohn * diff --git a/libgcc/config/rs6000/cxa_atexit.c b/libgcc/config/rs6000/cxa_atexit.c index 5728031c8e..c6659bb006 100644 --- a/libgcc/config/rs6000/cxa_atexit.c +++ b/libgcc/config/rs6000/cxa_atexit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff --git a/libgcc/config/rs6000/cxa_finalize.c b/libgcc/config/rs6000/cxa_finalize.c index b410270f2e..8dbc2631a0 100644 --- a/libgcc/config/rs6000/cxa_finalize.c +++ b/libgcc/config/rs6000/cxa_finalize.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff --git a/libgcc/config/rs6000/darwin-asm.h b/libgcc/config/rs6000/darwin-asm.h index 4517e74d94..6a4456d82a 100644 --- a/libgcc/config/rs6000/darwin-asm.h +++ b/libgcc/config/rs6000/darwin-asm.h @@ -1,7 +1,7 @@ /* Macro definitions to used to support 32/64-bit code in Darwin's * assembly files. * - * Copyright (C) 2004-2016 Free Software Foundation, Inc. + * Copyright (C) 2004-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/rs6000/darwin-crt2.c b/libgcc/config/rs6000/darwin-crt2.c index 50629b6437..f5a4b4230a 100644 --- a/libgcc/config/rs6000/darwin-crt2.c +++ b/libgcc/config/rs6000/darwin-crt2.c @@ -1,5 +1,5 @@ /* KeyMgr backwards-compatibility support for Darwin. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/darwin-fallback.c b/libgcc/config/rs6000/darwin-fallback.c index fb8e1d750f..943b026f21 100644 --- a/libgcc/config/rs6000/darwin-fallback.c +++ b/libgcc/config/rs6000/darwin-fallback.c @@ -1,5 +1,5 @@ /* Fallback frame-state unwinder for Darwin. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/darwin-fpsave.S b/libgcc/config/rs6000/darwin-fpsave.S index d3a34d4ea9..da765e4e65 100644 --- a/libgcc/config/rs6000/darwin-fpsave.S +++ b/libgcc/config/rs6000/darwin-fpsave.S @@ -1,6 +1,6 @@ /* This file contains the floating-point save and restore routines. * - * Copyright (C) 2004-2016 Free Software Foundation, Inc. + * Copyright (C) 2004-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/rs6000/darwin-gpsave.S b/libgcc/config/rs6000/darwin-gpsave.S index b61557b383..4ef92b7d58 100644 --- a/libgcc/config/rs6000/darwin-gpsave.S +++ b/libgcc/config/rs6000/darwin-gpsave.S @@ -1,6 +1,6 @@ /* This file contains the GPR save and restore routines for Darwin. * - * Copyright (C) 2011-2016 Free Software Foundation, Inc. + * Copyright (C) 2011-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/rs6000/darwin-tramp.S b/libgcc/config/rs6000/darwin-tramp.S index f7bbf4744d..551df4295e 100644 --- a/libgcc/config/rs6000/darwin-tramp.S +++ b/libgcc/config/rs6000/darwin-tramp.S @@ -1,6 +1,6 @@ /* Special support for trampolines * - * Copyright (C) 1996-2016 Free Software Foundation, Inc. + * Copyright (C) 1996-2017 Free Software Foundation, Inc. * Written By Michael Meissner * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/darwin-unwind.h b/libgcc/config/rs6000/darwin-unwind.h index 6788334ed6..9716090b32 100644 --- a/libgcc/config/rs6000/darwin-unwind.h +++ b/libgcc/config/rs6000/darwin-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for 32-bit PowerPC Darwin. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/darwin-vecsave.S b/libgcc/config/rs6000/darwin-vecsave.S index 2b82feea1b..2574a16821 100644 --- a/libgcc/config/rs6000/darwin-vecsave.S +++ b/libgcc/config/rs6000/darwin-vecsave.S @@ -1,6 +1,6 @@ /* This file contains the vector save and restore routines. * - * Copyright (C) 2004-2016 Free Software Foundation, Inc. + * Copyright (C) 2004-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/rs6000/darwin-world.S b/libgcc/config/rs6000/darwin-world.S index 58efaaf2e0..9aec4de9d6 100644 --- a/libgcc/config/rs6000/darwin-world.S +++ b/libgcc/config/rs6000/darwin-world.S @@ -2,7 +2,7 @@ * restore_world routines, which need to do a run-time check to see if * they should save and restore the vector registers. * - * Copyright (C) 2004-2016 Free Software Foundation, Inc. + * Copyright (C) 2004-2017 Free Software Foundation, Inc. * * This file is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/rs6000/e500crtres32gpr.S b/libgcc/config/rs6000/e500crtres32gpr.S index 90f1e7b422..cc938fbc44 100644 --- a/libgcc/config/rs6000/e500crtres32gpr.S +++ b/libgcc/config/rs6000/e500crtres32gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtres64gpr.S b/libgcc/config/rs6000/e500crtres64gpr.S index 60a6f38b12..e115bdc24e 100644 --- a/libgcc/config/rs6000/e500crtres64gpr.S +++ b/libgcc/config/rs6000/e500crtres64gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtres64gprctr.S b/libgcc/config/rs6000/e500crtres64gprctr.S index bb4a5f5779..2f7c1e3460 100644 --- a/libgcc/config/rs6000/e500crtres64gprctr.S +++ b/libgcc/config/rs6000/e500crtres64gprctr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtrest32gpr.S b/libgcc/config/rs6000/e500crtrest32gpr.S index 8b39e10d03..e973823aeb 100644 --- a/libgcc/config/rs6000/e500crtrest32gpr.S +++ b/libgcc/config/rs6000/e500crtrest32gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtrest64gpr.S b/libgcc/config/rs6000/e500crtrest64gpr.S index 75f1db8e5c..bab9291cb3 100644 --- a/libgcc/config/rs6000/e500crtrest64gpr.S +++ b/libgcc/config/rs6000/e500crtrest64gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtresx32gpr.S b/libgcc/config/rs6000/e500crtresx32gpr.S index 9a0c2efa65..b7bd3e7e31 100644 --- a/libgcc/config/rs6000/e500crtresx32gpr.S +++ b/libgcc/config/rs6000/e500crtresx32gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtresx64gpr.S b/libgcc/config/rs6000/e500crtresx64gpr.S index c1b6b8f020..5959c03e36 100644 --- a/libgcc/config/rs6000/e500crtresx64gpr.S +++ b/libgcc/config/rs6000/e500crtresx64gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtsav32gpr.S b/libgcc/config/rs6000/e500crtsav32gpr.S index 4a7dde19cf..50693a8e76 100644 --- a/libgcc/config/rs6000/e500crtsav32gpr.S +++ b/libgcc/config/rs6000/e500crtsav32gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtsav64gpr.S b/libgcc/config/rs6000/e500crtsav64gpr.S index 2e790b384e..32cf483383 100644 --- a/libgcc/config/rs6000/e500crtsav64gpr.S +++ b/libgcc/config/rs6000/e500crtsav64gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtsav64gprctr.S b/libgcc/config/rs6000/e500crtsav64gprctr.S index d936d1ce9e..6b9dc22d3e 100644 --- a/libgcc/config/rs6000/e500crtsav64gprctr.S +++ b/libgcc/config/rs6000/e500crtsav64gprctr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtsavg32gpr.S b/libgcc/config/rs6000/e500crtsavg32gpr.S index afedb1ca67..83eeaad36b 100644 --- a/libgcc/config/rs6000/e500crtsavg32gpr.S +++ b/libgcc/config/rs6000/e500crtsavg32gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtsavg64gpr.S b/libgcc/config/rs6000/e500crtsavg64gpr.S index 206316b302..8a814f3b3d 100644 --- a/libgcc/config/rs6000/e500crtsavg64gpr.S +++ b/libgcc/config/rs6000/e500crtsavg64gpr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/e500crtsavg64gprctr.S b/libgcc/config/rs6000/e500crtsavg64gprctr.S index 0b9cda565f..ce556967b5 100644 --- a/libgcc/config/rs6000/e500crtsavg64gprctr.S +++ b/libgcc/config/rs6000/e500crtsavg64gprctr.S @@ -1,7 +1,7 @@ /* * Special support for e500 eabi and SVR4 * - * Copyright (C) 2008-2016 Free Software Foundation, Inc. + * Copyright (C) 2008-2017 Free Software Foundation, Inc. * Written by Nathan Froyd * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/eabi-ci.S b/libgcc/config/rs6000/eabi-ci.S index 67b376ae6f..999c802701 100644 --- a/libgcc/config/rs6000/eabi-ci.S +++ b/libgcc/config/rs6000/eabi-ci.S @@ -1,5 +1,5 @@ /* crti.s for eabi - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. Written By Michael Meissner This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/eabi-cn.S b/libgcc/config/rs6000/eabi-cn.S index 63187662a6..98778644de 100644 --- a/libgcc/config/rs6000/eabi-cn.S +++ b/libgcc/config/rs6000/eabi-cn.S @@ -1,5 +1,5 @@ /* crtn.s for eabi - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. Written By Michael Meissner This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/eabi.S b/libgcc/config/rs6000/eabi.S index f56efebd38..1dadeb175d 100644 --- a/libgcc/config/rs6000/eabi.S +++ b/libgcc/config/rs6000/eabi.S @@ -1,7 +1,7 @@ /* * Special support for eabi and SVR4 * - * Copyright (C) 1995-2016 Free Software Foundation, Inc. + * Copyright (C) 1995-2017 Free Software Foundation, Inc. * Written By Michael Meissner * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/exit.h b/libgcc/config/rs6000/exit.h index 03626a517e..f66d8791f8 100644 --- a/libgcc/config/rs6000/exit.h +++ b/libgcc/config/rs6000/exit.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2016 Free Software Foundation, Inc. +/* Copyright (C) 1991-2017 Free Software Foundation, Inc. Derived from exit.h in GNU C Library. diff --git a/libgcc/config/rs6000/extendkftf2-sw.c b/libgcc/config/rs6000/extendkftf2-sw.c index 2ce2f7d550..196a6dfc18 100644 --- a/libgcc/config/rs6000/extendkftf2-sw.c +++ b/libgcc/config/rs6000/extendkftf2-sw.c @@ -1,6 +1,6 @@ /* Software IEEE 128-bit floating-point emulation for PowerPC. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Michael Meissner (meissner@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rs6000/fixkfti.c b/libgcc/config/rs6000/fixkfti.c index 80e10f078c..c254a82e81 100644 --- a/libgcc/config/rs6000/fixkfti.c +++ b/libgcc/config/rs6000/fixkfti.c @@ -1,7 +1,7 @@ /* Software floating-point emulation, convert IEEE quad to 128bit signed integer. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Steven Munroe (munroesj@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rs6000/fixunskfti.c b/libgcc/config/rs6000/fixunskfti.c index 56c3671612..75302498f4 100644 --- a/libgcc/config/rs6000/fixunskfti.c +++ b/libgcc/config/rs6000/fixunskfti.c @@ -1,7 +1,7 @@ /* Software floating-point emulation, convert IEEE quad to 128bit unsigned integer. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Steven Munroe (munroesj@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rs6000/float128-hw.c b/libgcc/config/rs6000/float128-hw.c index 43f70f4e7f..a55ca49d7a 100644 --- a/libgcc/config/rs6000/float128-hw.c +++ b/libgcc/config/rs6000/float128-hw.c @@ -1,7 +1,7 @@ /* Automatic switching between software and hardware IEEE 128-bit floating-point emulation for PowerPC. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Michael Meissner (meissner@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rs6000/float128-ifunc.c b/libgcc/config/rs6000/float128-ifunc.c index d21010557d..e456ab13ce 100644 --- a/libgcc/config/rs6000/float128-ifunc.c +++ b/libgcc/config/rs6000/float128-ifunc.c @@ -1,7 +1,7 @@ /* Automatic switching between software and hardware IEEE 128-bit floating-point emulation for PowerPC. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Michael Meissner (meissner@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rs6000/floattikf.c b/libgcc/config/rs6000/floattikf.c index 4c65230815..b9c93412de 100644 --- a/libgcc/config/rs6000/floattikf.c +++ b/libgcc/config/rs6000/floattikf.c @@ -1,7 +1,7 @@ /* Software floating-point emulation, convert a 128bit signed integer to IEEE quad. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Steven Munroe (munroesj@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rs6000/floatuntikf.c b/libgcc/config/rs6000/floatuntikf.c index 6dabf7b33b..2eab210e5c 100644 --- a/libgcc/config/rs6000/floatuntikf.c +++ b/libgcc/config/rs6000/floatuntikf.c @@ -1,7 +1,7 @@ /* Software floating-point emulation, convert a 128bit unsigned integer to IEEE quad. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Steven Munroe (munroesj@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rs6000/freebsd-unwind.h b/libgcc/config/rs6000/freebsd-unwind.h index f29c745e78..bf0a8796fb 100644 --- a/libgcc/config/rs6000/freebsd-unwind.h +++ b/libgcc/config/rs6000/freebsd-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for PowerPC64 FreeBSD. - Copyright (C) 2012-2016 Free Software Foundation, Inc. + Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/gthr-aix.h b/libgcc/config/rs6000/gthr-aix.h index 70a23516fb..65c6a720d6 100644 --- a/libgcc/config/rs6000/gthr-aix.h +++ b/libgcc/config/rs6000/gthr-aix.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2 and libobjc. */ /* Compile this one with gcc. */ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/ibm-ldouble-format b/libgcc/config/rs6000/ibm-ldouble-format index 4a06dfb686..b5b1060f4a 100644 --- a/libgcc/config/rs6000/ibm-ldouble-format +++ b/libgcc/config/rs6000/ibm-ldouble-format @@ -84,7 +84,7 @@ Division is also performed using a library routine. Its result will be within 3ulp of the correct result. -Copyright (C) 2004-2016 Free Software Foundation, Inc. +Copyright (C) 2004-2017 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libgcc/config/rs6000/ibm-ldouble.c b/libgcc/config/rs6000/ibm-ldouble.c index 3116cf44d8..949b50c98c 100644 --- a/libgcc/config/rs6000/ibm-ldouble.c +++ b/libgcc/config/rs6000/ibm-ldouble.c @@ -1,5 +1,5 @@ /* 128-bit long double support routines for Darwin. - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/libgcc-darwin.10.4.ver b/libgcc/config/rs6000/libgcc-darwin.10.4.ver index 8051bd972f..6b1e3f8e80 100644 --- a/libgcc/config/rs6000/libgcc-darwin.10.4.ver +++ b/libgcc/config/rs6000/libgcc-darwin.10.4.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2016 Free Software Foundation, Inc. +# Copyright (C) 2005-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/rs6000/libgcc-darwin.10.5.ver b/libgcc/config/rs6000/libgcc-darwin.10.5.ver index 0c28564c44..0bff59eaff 100644 --- a/libgcc/config/rs6000/libgcc-darwin.10.5.ver +++ b/libgcc/config/rs6000/libgcc-darwin.10.5.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2016 Free Software Foundation, Inc. +# Copyright (C) 2005-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/rs6000/libgcc-glibc.ver b/libgcc/config/rs6000/libgcc-glibc.ver index ec1fff631f..d3efc0c88c 100644 --- a/libgcc/config/rs6000/libgcc-glibc.ver +++ b/libgcc/config/rs6000/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2016 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/rs6000/linux-unwind.h b/libgcc/config/rs6000/linux-unwind.h index 60531ed68d..cf5103733a 100644 --- a/libgcc/config/rs6000/linux-unwind.h +++ b/libgcc/config/rs6000/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for PowerPC and PowerPC64 Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/morestack.S b/libgcc/config/rs6000/morestack.S index 3be2e1dbe3..5fb6cc90cb 100644 --- a/libgcc/config/rs6000/morestack.S +++ b/libgcc/config/rs6000/morestack.S @@ -1,6 +1,6 @@ #ifdef __powerpc64__ # PowerPC64 support for -fsplit-stack. -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # Contributed by Alan Modra <amodra@gmail.com>. # This file is part of GCC. diff --git a/libgcc/config/rs6000/on_exit.c b/libgcc/config/rs6000/on_exit.c index a9be1ae709..d567f7fd9a 100644 --- a/libgcc/config/rs6000/on_exit.c +++ b/libgcc/config/rs6000/on_exit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2016 Free Software Foundation, Inc. +/* Copyright (C) 1999-2017 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). diff --git a/libgcc/config/rs6000/ppc64-fp.c b/libgcc/config/rs6000/ppc64-fp.c index 8454f1aa1b..5e1cbddb1c 100644 --- a/libgcc/config/rs6000/ppc64-fp.c +++ b/libgcc/config/rs6000/ppc64-fp.c @@ -1,7 +1,7 @@ /* Functions needed for soft-float on powerpc64-linux, copied from libgcc2.c with macros expanded to force the use of specific types. - Copyright (C) 1989-2016 Free Software Foundation, Inc. + Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/rs6000/quad-float128.h b/libgcc/config/rs6000/quad-float128.h index 244a047525..7d69c87c2a 100644 --- a/libgcc/config/rs6000/quad-float128.h +++ b/libgcc/config/rs6000/quad-float128.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Definitions for IEEE Quad Precision on the PowerPC. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Michael Meissner (meissner@linux.vnet.ibm.com). diff --git a/libgcc/config/rs6000/sfp-exceptions.c b/libgcc/config/rs6000/sfp-exceptions.c index efd21da532..0d5aa4e786 100644 --- a/libgcc/config/rs6000/sfp-exceptions.c +++ b/libgcc/config/rs6000/sfp-exceptions.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016 Free Software Foundation, Inc. +/* Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/rs6000/sol-ci.S b/libgcc/config/rs6000/sol-ci.S index b10cfa42bc..379f282010 100644 --- a/libgcc/config/rs6000/sol-ci.S +++ b/libgcc/config/rs6000/sol-ci.S @@ -1,6 +1,6 @@ # crti.s for sysv4 -# Copyright (C) 1996-2016 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # Written By Michael Meissner # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/sol-cn.S b/libgcc/config/rs6000/sol-cn.S index a0a66a2afd..d5e22a73f8 100644 --- a/libgcc/config/rs6000/sol-cn.S +++ b/libgcc/config/rs6000/sol-cn.S @@ -1,6 +1,6 @@ # crtn.s for sysv4 -# Copyright (C) 1996-2016 Free Software Foundation, Inc. +# Copyright (C) 1996-2017 Free Software Foundation, Inc. # Written By Michael Meissner # # This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/t-crtstuff b/libgcc/config/rs6000/t-crtstuff index 7422d38375..0b2601b05b 100644 --- a/libgcc/config/rs6000/t-crtstuff +++ b/libgcc/config/rs6000/t-crtstuff @@ -1,3 +1,6 @@ # If .sdata is enabled __CTOR_{LIST,END}__ go into .sdata instead of # .ctors. -CRTSTUFF_T_CFLAGS = -msdata=none +# Do not build crtend.o with -Os as that can result in references to +# out-of-line register save/restore functions, which may be unresolved +# as crtend.o is linked after libgcc.a. See PR45053. +CRTSTUFF_T_CFLAGS = -msdata=none -O2 diff --git a/libgcc/config/rs6000/t-e500v1-fp b/libgcc/config/rs6000/t-e500v1-fp index 88f9a031d0..8f9a073333 100644 --- a/libgcc/config/rs6000/t-e500v1-fp +++ b/libgcc/config/rs6000/t-e500v1-fp @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2016 Free Software Foundation, Inc. +# Copyright (C) 2014-2017 Free Software Foundation, Inc. # This file is part of GCC. diff --git a/libgcc/config/rs6000/t-e500v2-fp b/libgcc/config/rs6000/t-e500v2-fp index c251888fb0..171e0e01a5 100644 --- a/libgcc/config/rs6000/t-e500v2-fp +++ b/libgcc/config/rs6000/t-e500v2-fp @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2016 Free Software Foundation, Inc. +# Copyright (C) 2014-2017 Free Software Foundation, Inc. # This file is part of GCC. diff --git a/libgcc/config/rs6000/t-freebsd b/libgcc/config/rs6000/t-freebsd index 5aba6a5283..b71116a8f8 100644 --- a/libgcc/config/rs6000/t-freebsd +++ b/libgcc/config/rs6000/t-freebsd @@ -1,6 +1,6 @@ # Overrides for FreeBSD PowerPC # -# Copyright (C) 2011-2016 Free Software Foundation, Inc. +# Copyright (C) 2011-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/rs6000/t-slibgcc-aix b/libgcc/config/rs6000/t-slibgcc-aix index f0a8647d7e..0132eeafaa 100644 --- a/libgcc/config/rs6000/t-slibgcc-aix +++ b/libgcc/config/rs6000/t-slibgcc-aix @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2016 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/rs6000/tramp.S b/libgcc/config/rs6000/tramp.S index 9bdae59f7e..a393484523 100644 --- a/libgcc/config/rs6000/tramp.S +++ b/libgcc/config/rs6000/tramp.S @@ -1,6 +1,6 @@ /* Special support for trampolines * - * Copyright (C) 1996-2016 Free Software Foundation, Inc. + * Copyright (C) 1996-2017 Free Software Foundation, Inc. * Written By Michael Meissner * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/rs6000/trunctfkf2-sw.c b/libgcc/config/rs6000/trunctfkf2-sw.c index 4d8ffe53dc..88abdcf250 100644 --- a/libgcc/config/rs6000/trunctfkf2-sw.c +++ b/libgcc/config/rs6000/trunctfkf2-sw.c @@ -1,6 +1,6 @@ /* Software IEEE 128-bit floating-point emulation for PowerPC. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Michael Meissner (meissner@linux.vnet.ibm.com) Code is based on the main soft-fp library written by: diff --git a/libgcc/config/rx/rx-abi-functions.c b/libgcc/config/rx/rx-abi-functions.c index 2ae4b27ff9..fc58965221 100644 --- a/libgcc/config/rx/rx-abi-functions.c +++ b/libgcc/config/rx/rx-abi-functions.c @@ -1,5 +1,5 @@ /* RX C ABI functions - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rx/rx-abi.h b/libgcc/config/rx/rx-abi.h index c2d41a81b1..7e4831f655 100644 --- a/libgcc/config/rx/rx-abi.h +++ b/libgcc/config/rx/rx-abi.h @@ -1,5 +1,5 @@ /* Header file for RX ABI versions of libgcc functions. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Red Hat. This file is part of GCC. diff --git a/libgcc/config/rx/t-rx b/libgcc/config/rx/t-rx index ab67dc6395..365a672e54 100644 --- a/libgcc/config/rx/t-rx +++ b/libgcc/config/rx/t-rx @@ -1,5 +1,5 @@ # Makefile fragment for building LIBGCC for the Renesas RX target. -# Copyright (C) 2008-2016 Free Software Foundation, Inc. +# Copyright (C) 2008-2017 Free Software Foundation, Inc. # Contributed by Red Hat. # # This file is part of GCC. diff --git a/libgcc/config/s390/32/_fixdfdi.c b/libgcc/config/s390/32/_fixdfdi.c index 54360c19e6..12594bf19d 100644 --- a/libgcc/config/s390/32/_fixdfdi.c +++ b/libgcc/config/s390/32/_fixdfdi.c @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390 - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). diff --git a/libgcc/config/s390/32/_fixsfdi.c b/libgcc/config/s390/32/_fixsfdi.c index 718d019bf8..04b741e902 100644 --- a/libgcc/config/s390/32/_fixsfdi.c +++ b/libgcc/config/s390/32/_fixsfdi.c @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390 - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). diff --git a/libgcc/config/s390/32/_fixtfdi.c b/libgcc/config/s390/32/_fixtfdi.c index 0573d3957a..595be52a6d 100644 --- a/libgcc/config/s390/32/_fixtfdi.c +++ b/libgcc/config/s390/32/_fixtfdi.c @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390 - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). diff --git a/libgcc/config/s390/32/_fixunsdfdi.c b/libgcc/config/s390/32/_fixunsdfdi.c index 0b666d7ee8..ef4fd8f0f0 100644 --- a/libgcc/config/s390/32/_fixunsdfdi.c +++ b/libgcc/config/s390/32/_fixunsdfdi.c @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390 - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). diff --git a/libgcc/config/s390/32/_fixunssfdi.c b/libgcc/config/s390/32/_fixunssfdi.c index 68863e810e..6003caa6ab 100644 --- a/libgcc/config/s390/32/_fixunssfdi.c +++ b/libgcc/config/s390/32/_fixunssfdi.c @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390 - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). diff --git a/libgcc/config/s390/32/_fixunstfdi.c b/libgcc/config/s390/32/_fixunstfdi.c index 9382c44214..b3b243f94c 100644 --- a/libgcc/config/s390/32/_fixunstfdi.c +++ b/libgcc/config/s390/32/_fixunstfdi.c @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for IBM S/390 - Copyright (C) 1999-2016 Free Software Foundation, Inc. + Copyright (C) 1999-2017 Free Software Foundation, Inc. Contributed by Hartmut Penner (hpenner@de.ibm.com) and Ulrich Weigand (uweigand@de.ibm.com). diff --git a/libgcc/config/s390/gthr-tpf.h b/libgcc/config/s390/gthr-tpf.h index 75b73deaff..323037e89c 100644 --- a/libgcc/config/s390/gthr-tpf.h +++ b/libgcc/config/s390/gthr-tpf.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2 and libobjc. Compile this one with gcc. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/s390/libgcc-glibc.ver b/libgcc/config/s390/libgcc-glibc.ver index 7d40508aae..e0e78f01d4 100644 --- a/libgcc/config/s390/libgcc-glibc.ver +++ b/libgcc/config/s390/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2016 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/s390/linux-unwind.h b/libgcc/config/s390/linux-unwind.h index 5393ea2b8e..0dc2d65361 100644 --- a/libgcc/config/s390/linux-unwind.h +++ b/libgcc/config/s390/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for S/390 Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/s390/morestack.S b/libgcc/config/s390/morestack.S index fa6951badf..f6b7193b56 100644 --- a/libgcc/config/s390/morestack.S +++ b/libgcc/config/s390/morestack.S @@ -1,5 +1,5 @@ # s390 support for -fsplit-stack. -# Copyright (C) 2015 Free Software Foundation, Inc. +# Copyright (C) 2015-2017 Free Software Foundation, Inc. # Contributed by Marcin KoÅ›cielnicki <koriakin@0x04.net>. # This file is part of GCC. diff --git a/libgcc/config/s390/tpf-unwind.h b/libgcc/config/s390/tpf-unwind.h index 8166aa893f..40a3518d61 100644 --- a/libgcc/config/s390/tpf-unwind.h +++ b/libgcc/config/s390/tpf-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for TPF OS. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. Contributed by P.J. Darcy (darcypj@us.ibm.com). This file is part of GCC. diff --git a/libgcc/config/score/crti.S b/libgcc/config/score/crti.S index 571e36f7e4..00d27d40ee 100644 --- a/libgcc/config/score/crti.S +++ b/libgcc/config/score/crti.S @@ -1,6 +1,6 @@ # crti.S for Sunplus S+CORE # -# Copyright (C) 2005-2016 Free Software Foundation, Inc. +# Copyright (C) 2005-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/score/crtn.S b/libgcc/config/score/crtn.S index 795665e498..87629d0e0e 100644 --- a/libgcc/config/score/crtn.S +++ b/libgcc/config/score/crtn.S @@ -1,6 +1,6 @@ # crtn.S for Sunplus S+CORE -# Copyright (C) 2005-2016 Free Software Foundation, Inc. +# Copyright (C) 2005-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/sh/crt.h b/libgcc/config/sh/crt.h index 612ceb7281..2ac5910451 100644 --- a/libgcc/config/sh/crt.h +++ b/libgcc/config/sh/crt.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/sh/crt1.S b/libgcc/config/sh/crt1.S index 45e4aadbf8..99579523e3 100644 --- a/libgcc/config/sh/crt1.S +++ b/libgcc/config/sh/crt1.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file was pretty much copied from newlib. This file is part of GCC. @@ -38,648 +38,6 @@ __timer_stack: /* ;---------------------------------------- Normal newlib crt1.S */ -#ifdef __SH5__ - .section .data,"aw" - .global ___data -___data: - - .section .rodata,"a" - .global ___rodata -___rodata: - -#define ICCR_BASE 0x01600000 -#define OCCR_BASE 0x01e00000 -#define MMUIR_BASE 0x00000000 -#define MMUDR_BASE 0x00800000 - -#define PTE_ENABLED 1 -#define PTE_DISABLED 0 - -#define PTE_SHARED (1 << 1) -#define PTE_NOT_SHARED 0 - -#define PTE_CB_UNCACHEABLE 0 -#define PTE_CB_DEVICE 1 -#define PTE_CB_CACHEABLE_WB 2 -#define PTE_CB_CACHEABLE_WT 3 - -#define PTE_SZ_4KB (0 << 3) -#define PTE_SZ_64KB (1 << 3) -#define PTE_SZ_1MB (2 << 3) -#define PTE_SZ_512MB (3 << 3) - -#define PTE_PRR (1 << 6) -#define PTE_PRX (1 << 7) -#define PTE_PRW (1 << 8) -#define PTE_PRU (1 << 9) - -#define SR_MMU_BIT 31 -#define SR_BL_BIT 28 - -#define ALIGN_4KB (0xfff) -#define ALIGN_1MB (0xfffff) -#define ALIGN_512MB (0x1fffffff) - -#define DYNACON_BASE 0x0f000000 -#define DM_CB_DLINK_BASE 0x0c000000 -#define DM_DB_DLINK_BASE 0x0b000000 - -#define FEMI_AREA_0 0x00000000 -#define FEMI_AREA_1 0x04000000 -#define FEMI_AREA_2 0x05000000 -#define FEMI_AREA_3 0x06000000 -#define FEMI_AREA_4 0x07000000 -#define FEMI_CB 0x08000000 - -#define EMI_BASE 0X80000000 - -#define DMA_BASE 0X0e000000 - -#define CPU_BASE 0X0d000000 - -#define PERIPH_BASE 0X09000000 -#define DMAC_BASE 0x0e000000 -#define INTC_BASE 0x0a000000 -#define CPRC_BASE 0x0a010000 -#define TMU_BASE 0x0a020000 -#define SCIF_BASE 0x0a030000 -#define RTC_BASE 0x0a040000 - - - -#define LOAD_CONST32(val, reg) \ - movi ((val) >> 16) & 65535, reg; \ - shori (val) & 65535, reg - -#define LOAD_PTEH_VAL(sym, align, bits, scratch_reg, reg) \ - LOAD_ADDR (sym, reg); \ - LOAD_CONST32 ((align), scratch_reg); \ - andc reg, scratch_reg, reg; \ - LOAD_CONST32 ((bits), scratch_reg); \ - or reg, scratch_reg, reg - -#define LOAD_PTEL_VAL(sym, align, bits, scratch_reg, reg) \ - LOAD_ADDR (sym, reg); \ - LOAD_CONST32 ((align), scratch_reg); \ - andc reg, scratch_reg, reg; \ - LOAD_CONST32 ((bits), scratch_reg); \ - or reg, scratch_reg, reg - -#define SET_PTE(pte_addr_reg, pteh_val_reg, ptel_val_reg) \ - putcfg pte_addr_reg, 0, r63; \ - putcfg pte_addr_reg, 1, ptel_val_reg; \ - putcfg pte_addr_reg, 0, pteh_val_reg - -#if __SH5__ == 64 - .section .text,"ax" -#define LOAD_ADDR(sym, reg) \ - movi (sym >> 48) & 65535, reg; \ - shori (sym >> 32) & 65535, reg; \ - shori (sym >> 16) & 65535, reg; \ - shori sym & 65535, reg -#else - .mode SHmedia - .section .text..SHmedia32,"ax" -#define LOAD_ADDR(sym, reg) \ - movi (sym >> 16) & 65535, reg; \ - shori sym & 65535, reg -#endif - .global start -start: - LOAD_ADDR (_stack, r15) - -#ifdef MMU_SUPPORT - ! Set up the VM using the MMU and caches - - ! .vm_ep is first instruction to execute - ! after VM initialization - pt/l .vm_ep, tr1 - - ! Configure instruction cache (ICCR) - movi 3, r2 - movi 0, r3 - LOAD_ADDR (ICCR_BASE, r1) - putcfg r1, 0, r2 - putcfg r1, 1, r3 - - ! movi 7, r2 ! write through - ! Configure operand cache (OCCR) - LOAD_ADDR (OCCR_BASE, r1) - putcfg r1, 0, r2 - putcfg r1, 1, r3 - - ! Disable all PTE translations - LOAD_ADDR (MMUIR_BASE, r1) - LOAD_ADDR (MMUDR_BASE, r2) - movi 64, r3 - pt/l .disable_ptes_loop, tr0 -.disable_ptes_loop: - putcfg r1, 0, r63 - putcfg r2, 0, r63 - addi r1, 16, r1 - addi r2, 16, r2 - addi r3, -1, r3 - bgt r3, r63, tr0 - - LOAD_ADDR (MMUIR_BASE, r1) - - ! FEMI instruction mappings - ! Area 0 - 1Mb cacheable at 0x00000000 - ! Area 1 - None - ! Area 2 - 1Mb cacheable at 0x05000000 - ! - 1Mb cacheable at 0x05100000 - ! Area 3 - None - ! Area 4 - None - - ! Map a 1Mb page for instructions at 0x00000000 - LOAD_PTEH_VAL (FEMI_AREA_0, ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (FEMI_AREA_0, ALIGN_1MB, PTE_CB_CACHEABLE_WB | PTE_SZ_1MB | PTE_PRX | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1Mb page for instructions at 0x05000000 - addi r1, 16, r1 - LOAD_PTEH_VAL (FEMI_AREA_2, ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (FEMI_AREA_2, ALIGN_1MB, PTE_CB_CACHEABLE_WB | PTE_SZ_1MB | PTE_PRX | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1Mb page for instructions at 0x05100000 - addi r1, 16, r1 - LOAD_PTEH_VAL ((FEMI_AREA_2+0x100000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((FEMI_AREA_2+0x100000), ALIGN_1MB, PTE_CB_CACHEABLE_WB | PTE_SZ_1MB | PTE_PRX | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 512M page for instructions at EMI base - addi r1, 16, r1 - LOAD_PTEH_VAL (EMI_BASE, ALIGN_512MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (EMI_BASE, ALIGN_512MB, PTE_CB_CACHEABLE_WB | PTE_SZ_512MB | PTE_PRX | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 4K page for instructions at DM_DB_DLINK_BASE - addi r1, 16, r1 - LOAD_PTEH_VAL (DM_DB_DLINK_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (DM_DB_DLINK_BASE, ALIGN_4KB, PTE_CB_CACHEABLE_WB | PTE_SZ_4KB | PTE_PRX | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - LOAD_ADDR (MMUDR_BASE, r1) - - ! FEMI data mappings - ! Area 0 - 1Mb cacheable at 0x00000000 - ! Area 1 - 1Mb device at 0x04000000 - ! Area 2 - 1Mb cacheable at 0x05000000 - ! - 1Mb cacheable at 0x05100000 - ! Area 3 - None - ! Area 4 - None - ! CB - 1Mb device at 0x08000000 - - ! Map a 1Mb page for data at 0x00000000 - LOAD_PTEH_VAL (FEMI_AREA_0, ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (FEMI_AREA_0, ALIGN_1MB, PTE_CB_CACHEABLE_WB | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1Mb page for data at 0x04000000 - addi r1, 16, r1 - LOAD_PTEH_VAL (FEMI_AREA_1, ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (FEMI_AREA_1, ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1Mb page for data at 0x05000000 - addi r1, 16, r1 - LOAD_PTEH_VAL (FEMI_AREA_2, ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (FEMI_AREA_2, ALIGN_1MB, PTE_CB_CACHEABLE_WB | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1Mb page for data at 0x05100000 - addi r1, 16, r1 - LOAD_PTEH_VAL ((FEMI_AREA_2+0x100000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((FEMI_AREA_2+0x100000), ALIGN_1MB, PTE_CB_CACHEABLE_WB | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 4K page for registers at 0x08000000 - addi r1, 16, r1 - LOAD_PTEH_VAL (FEMI_CB, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (FEMI_CB, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 512M page for data at EMI - addi r1, 16, r1 - LOAD_PTEH_VAL (EMI_BASE, ALIGN_512MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (EMI_BASE, ALIGN_512MB, PTE_CB_CACHEABLE_WB | PTE_SZ_512MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 4K page for DYNACON at DYNACON_BASE - addi r1, 16, r1 - LOAD_PTEH_VAL (DYNACON_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (DYNACON_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 4K page for instructions at DM_DB_DLINK_BASE - addi r1, 16, r1 - LOAD_PTEH_VAL (DM_DB_DLINK_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (DM_DB_DLINK_BASE, ALIGN_4KB, PTE_CB_CACHEABLE_WB | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 4K page for data at DM_DB_DLINK_BASE+0x1000 - addi r1, 16, r1 - LOAD_PTEH_VAL ((DM_DB_DLINK_BASE+0x1000), ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((DM_DB_DLINK_BASE+0x1000), ALIGN_4KB, PTE_CB_UNCACHEABLE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 4K page for stack DM_DB_DLINK_BASE+0x2000 - addi r1, 16, r1 - LOAD_PTEH_VAL ((DM_DB_DLINK_BASE+0x2000), ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((DM_DB_DLINK_BASE+0x2000), ALIGN_4KB, PTE_CB_CACHEABLE_WB | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1M page for DM_CB_BASE2 at DM_CB_DLINK - ! 0x0c000000 - 0x0c0fffff - addi r1, 16, r1 - LOAD_PTEH_VAL (DM_CB_DLINK_BASE, ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (DM_CB_DLINK_BASE, ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1M page for DM_CB_BASE2 at DM_CB_DLINK - ! 0x0c100000 - 0x0c1fffff - addi r1, 16, r1 - LOAD_PTEH_VAL ((DM_CB_DLINK_BASE+0x100000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((DM_CB_DLINK_BASE+0x100000), ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1M page for DM_CB_BASE2 at DM_CB_DLINK - ! 0x0c200000 - 0x0c2fffff - addi r1, 16, r1 - LOAD_PTEH_VAL ((DM_CB_DLINK_BASE+0x200000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((DM_CB_DLINK_BASE+0x200000), ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1M page for DM_CB_BASE2 at DM_CB_DLINK - ! 0x0c400000 - 0x0c4fffff - addi r1, 16, r1 - LOAD_PTEH_VAL ((DM_CB_DLINK_BASE+0x400000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((DM_CB_DLINK_BASE+0x400000), ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 1M page for DM_CB_BASE2 at DM_CB_DLINK - ! 0x0c800000 - 0x0c8fffff - addi r1, 16, r1 - LOAD_PTEH_VAL ((DM_CB_DLINK_BASE+0x800000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((DM_CB_DLINK_BASE+0x800000), ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map a 4K page for DMA control registers - addi r1, 16, r1 - LOAD_PTEH_VAL (DMA_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (DMA_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map lots of 4K pages for peripherals - - ! /* peripheral */ - addi r1, 16, r1 - LOAD_PTEH_VAL (PERIPH_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (PERIPH_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - ! /* dmac */ - addi r1, 16, r1 - LOAD_PTEH_VAL (DMAC_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (DMAC_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - ! /* intc */ - addi r1, 16, r1 - LOAD_PTEH_VAL (INTC_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (INTC_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - ! /* rtc */ - addi r1, 16, r1 - LOAD_PTEH_VAL (RTC_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (RTC_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - ! /* dmac */ - addi r1, 16, r1 - LOAD_PTEH_VAL (TMU_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (TMU_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - ! /* scif */ - addi r1, 16, r1 - LOAD_PTEH_VAL (SCIF_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (SCIF_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - ! /* cprc */ - addi r1, 16, r1 - LOAD_PTEH_VAL (CPRC_BASE, ALIGN_4KB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (CPRC_BASE, ALIGN_4KB, PTE_CB_DEVICE | PTE_SZ_4KB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Map CPU WPC registers - addi r1, 16, r1 - LOAD_PTEH_VAL (CPU_BASE, ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL (CPU_BASE, ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - addi r1, 16, r1 - - LOAD_PTEH_VAL ((CPU_BASE+0x100000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((CPU_BASE+0x100000), ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - addi r1, 16, r1 - LOAD_PTEH_VAL ((CPU_BASE+0x200000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((CPU_BASE+0x200000), ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - addi r1, 16, r1 - LOAD_PTEH_VAL ((CPU_BASE+0x400000), ALIGN_1MB, PTE_ENABLED | PTE_NOT_SHARED, r25, r2) - LOAD_PTEL_VAL ((CPU_BASE+0x400000), ALIGN_1MB, PTE_CB_DEVICE | PTE_SZ_1MB | PTE_PRR | PTE_PRW | PTE_PRU, r25, r3) - SET_PTE (r1, r2, r3) - - ! Switch over to virtual addressing and enabled cache - getcon sr, r1 - movi 1, r2 - shlli r2, SR_BL_BIT, r2 - or r1, r2, r1 - putcon r1, ssr - getcon sr, r1 - movi 1, r2 - shlli r2, SR_MMU_BIT, r2 - or r1, r2, r1 - putcon r1, ssr - gettr tr1, r1 - putcon r1, spc - synco - rte - - ! VM entry point. From now on, we are in VM mode. -.vm_ep: - - ! Install the trap handler, by seeding vbr with the - ! correct value, and by assigning sr.bl = 0. - - LOAD_ADDR (vbr_start, r1) - putcon r1, vbr - movi ~(1<<28), r1 - getcon sr, r2 - and r1, r2, r2 - putcon r2, sr -#endif /* MMU_SUPPORT */ - - pt/l .Lzero_bss_loop, tr0 - pt/l GLOBAL(_init), tr5 - pt/l ___setup_argv_and_call_main, tr6 - pt/l _exit, tr7 - - ! zero out bss - LOAD_ADDR (_edata, r0) - LOAD_ADDR (_end, r1) -.Lzero_bss_loop: - stx.q r0, r63, r63 - addi r0, 8, r0 - bgt/l r1, r0, tr0 - - LOAD_ADDR (___data, r26) - LOAD_ADDR (___rodata, r27) - -#ifdef __SH_FPU_ANY__ - getcon sr, r0 - ! enable the FP unit, by resetting SR.FD - ! also zero out SR.FR, SR.SZ and SR.PR, as mandated by the ABI - movi 0, r1 - shori 0xf000, r1 - andc r0, r1, r0 - putcon r0, sr -#if __SH5__ == 32 - pt/l ___set_fpscr, tr0 - movi 0, r4 - blink tr0, r18 -#endif -#endif - - ! arrange for exit to call fini - pt/l _atexit, tr1 - LOAD_ADDR (GLOBAL(_fini), r2) - blink tr1, r18 - - ! call init - blink tr5, r18 - - ! call the mainline - blink tr6, r18 - - ! call exit - blink tr7, r18 - ! We should never return from _exit but in case we do we would enter the - ! the following tight loop. This avoids executing any data that might follow. -limbo: - pt/l limbo, tr0 - blink tr0, r63 - -#ifdef MMU_SUPPORT - ! All these traps are handled in the same place. - .balign 256 -vbr_start: - pt/l handler, tr0 ! tr0 trashed. - blink tr0, r63 - .balign 256 -vbr_100: - pt/l handler, tr0 ! tr0 trashed. - blink tr0, r63 -vbr_100_end: - .balign 256 -vbr_200: - pt/l handler, tr0 ! tr0 trashed. - blink tr0, r63 - .balign 256 -vbr_300: - pt/l handler, tr0 ! tr0 trashed. - blink tr0, r63 - .balign 256 -vbr_400: ! Should be at vbr+0x400 -handler: - /* If the trap handler is there call it */ - LOAD_ADDR (__superh_trap_handler, r2) - pta chandler,tr2 - beq r2, r63, tr2 /* If zero, ie not present branch around to chandler */ - /* Now call the trap handler with as much of the context unchanged as possible. - Move trapping address into R18 to make it look like the trap point */ - getcon spc, r18 - pt/l __superh_trap_handler, tr0 - blink tr0, r7 -chandler: - getcon spc, r62 - getcon expevt, r2 - pt/l _exit, tr0 - blink tr0, r63 - - /* Simulated trap handler */ - .section .text..SHmedia32,"ax" -gcc2_compiled.: - .section .debug_abbrev -.Ldebug_abbrev0: - .section .text..SHmedia32 -.Ltext0: - .section .debug_info -.Ldebug_info0: - .section .debug_line -.Ldebug_line0: - .section .text..SHmedia32,"ax" - .align 5 - .global __superh_trap_handler - .type __superh_trap_handler,@function -__superh_trap_handler: -.LFB1: - ptabs r18, tr0 - addi.l r15, -8, r15 - st.l r15, 4, r14 - addi.l r15, -8, r15 - add.l r15, r63, r14 - st.l r14, 0, r2 - ptabs r7, tr0 - addi.l r14, 8, r14 - add.l r14, r63, r15 - ld.l r15, 4, r14 - addi.l r15, 8, r15 - blink tr0, r63 -.LFE1: -.Lfe1: - .size __superh_trap_handler,.Lfe1-__superh_trap_handler - - .section .text..SHmedia32 -.Letext0: - - .section .debug_info - .ualong 0xa7 - .uaword 0x2 - .ualong .Ldebug_abbrev0 - .byte 0x4 - .byte 0x1 - .ualong .Ldebug_line0 - .ualong .Letext0 - .ualong .Ltext0 - .string "trap_handler.c" - - .string "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" - - .string "GNU C 2.97-sh5-010522" - - .byte 0x1 - .byte 0x2 - .ualong 0x9a - .byte 0x1 - .string "_superh_trap_handler" - - .byte 0x1 - .byte 0x2 - .byte 0x1 - .ualong .LFB1 - .ualong .LFE1 - .byte 0x1 - .byte 0x5e - .byte 0x3 - .string "trap_reason" - - .byte 0x1 - .byte 0x1 - .ualong 0x9a - .byte 0x2 - .byte 0x91 - .byte 0x0 - .byte 0x0 - .byte 0x4 - .string "unsigned int" - - .byte 0x4 - .byte 0x7 - .byte 0x0 - - .section .debug_abbrev - .byte 0x1 - .byte 0x11 - .byte 0x1 - .byte 0x10 - .byte 0x6 - .byte 0x12 - .byte 0x1 - .byte 0x11 - .byte 0x1 - .byte 0x3 - .byte 0x8 - .byte 0x1b - .byte 0x8 - .byte 0x25 - .byte 0x8 - .byte 0x13 - .byte 0xb - .byte 0,0 - .byte 0x2 - .byte 0x2e - .byte 0x1 - .byte 0x1 - .byte 0x13 - .byte 0x3f - .byte 0xc - .byte 0x3 - .byte 0x8 - .byte 0x3a - .byte 0xb - .byte 0x3b - .byte 0xb - .byte 0x27 - .byte 0xc - .byte 0x11 - .byte 0x1 - .byte 0x12 - .byte 0x1 - .byte 0x40 - .byte 0xa - .byte 0,0 - .byte 0x3 - .byte 0x5 - .byte 0x0 - .byte 0x3 - .byte 0x8 - .byte 0x3a - .byte 0xb - .byte 0x3b - .byte 0xb - .byte 0x49 - .byte 0x13 - .byte 0x2 - .byte 0xa - .byte 0,0 - .byte 0x4 - .byte 0x24 - .byte 0x0 - .byte 0x3 - .byte 0x8 - .byte 0xb - .byte 0xb - .byte 0x3e - .byte 0xb - .byte 0,0 - .byte 0 - - .section .debug_pubnames - .ualong 0x27 - .uaword 0x2 - .ualong .Ldebug_info0 - .ualong 0xab - .ualong 0x5b - .string "_superh_trap_handler" - - .ualong 0x0 - - .section .debug_aranges - .ualong 0x1c - .uaword 0x2 - .ualong .Ldebug_info0 - .byte 0x4 - .byte 0x0 - .uaword 0x0,0 - .ualong .Ltext0 - .ualong .Letext0-.Ltext0 - .ualong 0x0 - .ualong 0x0 - .ident "GCC: (GNU) 2.97-sh5-010522" -#endif /* MMU_SUPPORT */ -#else /* ! __SH5__ */ - ! make a place to keep any previous value of the vbr register ! this will only have a value if it has been set by redboot (for example) .section .bss @@ -1364,4 +722,3 @@ __superh_trap_handler: .ualong 0x0 .ualong 0x0 #endif /* VBR_SETUP */ -#endif /* ! __SH5__ */ diff --git a/libgcc/config/sh/crti.S b/libgcc/config/sh/crti.S index 0c7a28bd0d..9dbc140fd4 100644 --- a/libgcc/config/sh/crti.S +++ b/libgcc/config/sh/crti.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file was adapted from glibc sources. This file is part of GCC. @@ -47,19 +47,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #endif .global GLOBAL(_init) GLOBAL(_init): -#if __SHMEDIA__ - addi r15, -16, r15 - st.q r15, 8, r14 - st.q r15, 0, r18 - add r15, r63, r14 -#elif __SH5__ && ! __SHMEDIA__ - mov r15,r0 - add #-8,r15 - mov.l r14,@-r0 - sts.l pr,@-r0 - mov r15,r14 - nop -#else #ifdef __ELF__ mov.l r12,@-r15 mova 0f,r0 @@ -78,7 +65,6 @@ GLOBAL(_init): 0: .long _GLOBAL_OFFSET_TABLE_ 1: #endif -#endif /* __SHMEDIA__ */ .section .fini /* The alignment below can't be smaller, otherwise the mova below @@ -92,19 +78,6 @@ GLOBAL(_init): #endif .global GLOBAL(_fini) GLOBAL(_fini): -#if __SHMEDIA__ - addi r15, -16, r15 - st.q r15, 8, r14 - st.q r15, 0, r18 - add r15, r63, r14 -#elif __SH5__ && ! __SHMEDIA__ - mov r15,r0 - add #-8,r15 - mov.l r14,@-r0 - sts.l pr,@-r0 - mov r15,r14 - nop -#else #ifdef __ELF__ mov.l r12,@-r15 mova 0f,r0 @@ -123,4 +96,3 @@ GLOBAL(_fini): 0: .long _GLOBAL_OFFSET_TABLE_ 1: #endif -#endif /* __SHMEDIA__ */ diff --git a/libgcc/config/sh/crtn.S b/libgcc/config/sh/crtn.S index 1ca76c8697..2d6cd2bf1e 100644 --- a/libgcc/config/sh/crtn.S +++ b/libgcc/config/sh/crtn.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file was adapted from glibc sources. This file is part of GCC. @@ -25,20 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* See an explanation about .init and .fini in crti.S. */ .section .init -#if __SHMEDIA__ - add r14, r63, r15 - ld.q r15, 0, r18 - ptabs r18, tr0 - ld.q r15, 8, r14 - addi r15, 16, r15 - blink tr0, r63 -#elif __SH5__ && ! __SHMEDIA__ - mov r14,r15 - lds.l @r14+,pr - mov.l @r14,r14 - rts - add #8,r15 -#else mov r14,r15 lds.l @r15+,pr mov.l @r15+,r14 @@ -48,23 +34,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #else nop #endif -#endif /* __SHMEDIA__ */ .section .fini -#if __SHMEDIA__ - add r14, r63, r15 - ld.q r15, 0, r18 - ptabs r18, tr0 - ld.q r15, 8, r14 - addi r15, 16, r15 - blink tr0, r63 -#elif __SH5__ && ! __SHMEDIA__ - mov r14,r15 - lds.l @r14+,pr - mov.l @r14,r14 - rts - add #8,r15 -#else mov r14,r15 lds.l @r15+,pr mov.l @r15+,r14 @@ -74,4 +45,3 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #else nop #endif -#endif /* __SHMEDIA__ */ diff --git a/libgcc/config/sh/lib1funcs-4-300.S b/libgcc/config/sh/lib1funcs-4-300.S index caf49f789f..2cba362a1f 100644 --- a/libgcc/config/sh/lib1funcs-4-300.S +++ b/libgcc/config/sh/lib1funcs-4-300.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2016 Free Software Foundation, Inc. +/* Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -25,7 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "lib1funcs.h" -#if !__SHMEDIA__ #ifdef L_div_table #if defined (__SH3__) || defined (__SH3E__) || defined (__SH4__) || defined (__SH4_SINGLE__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH4_NOFPU__) /* This code used shld, thus is not suitable for SH1 / SH2. */ @@ -933,4 +932,3 @@ LOCAL(div_table_inv): #endif /* SH3 / SH4 */ #endif /* L_div_table */ -#endif /* !__SHMEDIA__ */ diff --git a/libgcc/config/sh/lib1funcs-Os-4-200.S b/libgcc/config/sh/lib1funcs-Os-4-200.S index 1cb826f5c1..767c7729e6 100644 --- a/libgcc/config/sh/lib1funcs-Os-4-200.S +++ b/libgcc/config/sh/lib1funcs-Os-4-200.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2016 Free Software Foundation, Inc. +/* Copyright (C) 2006-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -25,7 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "lib1funcs.h" -#if !__SHMEDIA__ #ifdef L_udivsi3_i4i /* 88 bytes; sh4-200 cycle counts: @@ -319,4 +318,3 @@ L1: ENDFUNC(GLOBAL(sdivsi3_i4i)) #endif /* __SH_FPU_DOUBLE__ */ #endif /* L_sdivsi3_i4i */ -#endif /* !__SHMEDIA__ */ diff --git a/libgcc/config/sh/lib1funcs.S b/libgcc/config/sh/lib1funcs.S index 905e5ef64a..a59ff0a2c6 100644 --- a/libgcc/config/sh/lib1funcs.S +++ b/libgcc/config/sh/lib1funcs.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2016 Free Software Foundation, Inc. +/* Copyright (C) 1994-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -46,7 +46,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define NO_FPSCR_VALUES #endif -#if ! __SH5__ #ifdef L_ashiftrt .global GLOBAL(ashiftrt_r4_0) .global GLOBAL(ashiftrt_r4_1) @@ -1002,7 +1001,6 @@ hiset: sts macl,r0 ! r0 = bb*dd ENDFUNC(GLOBAL(mulsi3)) #endif -#endif /* ! __SH5__ */ /*------------------------------------------------------------------------------ 32 bit signed integer division that uses FPU double precision division. */ @@ -1028,17 +1026,13 @@ GLOBAL(sdivsi3_i4): ENDFUNC(GLOBAL(sdivsi3_i4)) -#elif defined (__SH2A_SINGLE__) || defined (__SH2A_SINGLE_ONLY__) || defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__) +#elif defined (__SH2A_SINGLE__) || defined (__SH2A_SINGLE_ONLY__) || defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) /* This variant is used when FPSCR.PR = 0 (sigle precision) is the default setting. Args in r4 and r5, result in fpul, clobber r2, dr0, dr2. For this to work, we must temporarily switch the FPU do double precision, but we better do not touch FPSCR.FR. See PR 6526. */ -#if ! __SH5__ || __SH5__ == 32 -#if __SH5__ - .mode SHcompact -#endif .global GLOBAL(sdivsi3_i4) HIDDEN_FUNC(GLOBAL(sdivsi3_i4)) GLOBAL(sdivsi3_i4): @@ -1074,7 +1068,6 @@ GLOBAL(sdivsi3_i4): #endif /* __SH4A__ */ ENDFUNC(GLOBAL(sdivsi3_i4)) -#endif /* ! __SH5__ || __SH5__ == 32 */ #endif /* ! __SH4__ || __SH2A__ */ #endif /* L_sdivsi3_i4 */ @@ -1091,226 +1084,8 @@ GLOBAL(sdivsi3_i4): !! args in r4 and r5, result in r0 clobber r1, r2, r3, and t bit .global GLOBAL(sdivsi3) -#if __SHMEDIA__ -#if __SH5__ == 32 - .section .text..SHmedia32,"ax" -#else - .text -#endif .align 2 -#if 0 -/* The assembly code that follows is a hand-optimized version of the C - code that follows. Note that the registers that are modified are - exactly those listed as clobbered in the patterns divsi3_i1 and - divsi3_i1_media. - -int __sdivsi3 (i, j) - int i, j; -{ - register unsigned long long r18 asm ("r18"); - register unsigned long long r19 asm ("r19"); - register unsigned long long r0 asm ("r0") = 0; - register unsigned long long r1 asm ("r1") = 1; - register int r2 asm ("r2") = i >> 31; - register int r3 asm ("r3") = j >> 31; - - r2 = r2 ? r2 : r1; - r3 = r3 ? r3 : r1; - r18 = i * r2; - r19 = j * r3; - r2 *= r3; - - r19 <<= 31; - r1 <<= 31; - do - if (r18 >= r19) - r0 |= r1, r18 -= r19; - while (r19 >>= 1, r1 >>= 1); - - return r2 * (int)r0; -} -*/ -GLOBAL(sdivsi3): - pt/l LOCAL(sdivsi3_dontadd), tr2 - pt/l LOCAL(sdivsi3_loop), tr1 - ptabs/l r18, tr0 - movi 0, r0 - movi 1, r1 - shari.l r4, 31, r2 - shari.l r5, 31, r3 - cmveq r2, r1, r2 - cmveq r3, r1, r3 - muls.l r4, r2, r18 - muls.l r5, r3, r19 - muls.l r2, r3, r2 - shlli r19, 31, r19 - shlli r1, 31, r1 -LOCAL(sdivsi3_loop): - bgtu r19, r18, tr2 - or r0, r1, r0 - sub r18, r19, r18 -LOCAL(sdivsi3_dontadd): - shlri r1, 1, r1 - shlri r19, 1, r19 - bnei r1, 0, tr1 - muls.l r0, r2, r0 - add.l r0, r63, r0 - blink tr0, r63 -#elif 0 /* ! 0 */ - // inputs: r4,r5 - // clobbered: r1,r2,r3,r18,r19,r20,r21,r25,tr0 - // result in r0 -GLOBAL(sdivsi3): - // can create absolute value without extra latency, - // but dependent on proper sign extension of inputs: - // shari.l r5,31,r2 - // xor r5,r2,r20 - // sub r20,r2,r20 // r20 is now absolute value of r5, zero-extended. - shari.l r5,31,r2 - ori r2,1,r2 - muls.l r5,r2,r20 // r20 is now absolute value of r5, zero-extended. - movi 0xffffffffffffbb0c,r19 // shift count eqiv 76 - shari.l r4,31,r3 - nsb r20,r0 - shlld r20,r0,r25 - shlri r25,48,r25 - sub r19,r25,r1 - mmulfx.w r1,r1,r2 - mshflo.w r1,r63,r1 - // If r4 was to be used in-place instead of r21, could use this sequence - // to compute absolute: - // sub r63,r4,r19 // compute absolute value of r4 - // shlri r4,32,r3 // into lower 32 bit of r4, keeping - // mcmv r19,r3,r4 // the sign in the upper 32 bits intact. - ori r3,1,r3 - mmulfx.w r25,r2,r2 - sub r19,r0,r0 - muls.l r4,r3,r21 - msub.w r1,r2,r2 - addi r2,-2,r1 - mulu.l r21,r1,r19 - mmulfx.w r2,r2,r2 - shlli r1,15,r1 - shlrd r19,r0,r19 - mulu.l r19,r20,r3 - mmacnfx.wl r25,r2,r1 - ptabs r18,tr0 - sub r21,r3,r25 - - mulu.l r25,r1,r2 - addi r0,14,r0 - xor r4,r5,r18 - shlrd r2,r0,r2 - mulu.l r2,r20,r3 - add r19,r2,r19 - shari.l r18,31,r18 - sub r25,r3,r25 - - mulu.l r25,r1,r2 - sub r25,r20,r25 - add r19,r18,r19 - shlrd r2,r0,r2 - mulu.l r2,r20,r3 - addi r25,1,r25 - add r19,r2,r19 - - cmpgt r25,r3,r25 - add.l r19,r25,r0 - xor r0,r18,r0 - blink tr0,r63 -#else /* ! 0 && ! 0 */ - - // inputs: r4,r5 - // clobbered: r1,r18,r19,r20,r21,r25,tr0 - // result in r0 - HIDDEN_FUNC(GLOBAL(sdivsi3_2)) -#ifndef __pic__ - FUNC(GLOBAL(sdivsi3)) -GLOBAL(sdivsi3): /* this is the shcompact entry point */ - // The special SHmedia entry point sdivsi3_1 prevents accidental linking - // with the SHcompact implementation, which clobbers tr1 / tr2. - .global GLOBAL(sdivsi3_1) -GLOBAL(sdivsi3_1): - .global GLOBAL(div_table_internal) - movi (GLOBAL(div_table_internal) >> 16) & 65535, r20 - shori GLOBAL(div_table_internal) & 65535, r20 -#endif - .global GLOBAL(sdivsi3_2) - // div_table in r20 - // clobbered: r1,r18,r19,r21,r25,tr0 -GLOBAL(sdivsi3_2): - nsb r5, r1 - shlld r5, r1, r25 // normalize; [-2 ..1, 1..2) in s2.62 - shari r25, 58, r21 // extract 5(6) bit index (s2.4 with hole -1..1) - ldx.ub r20, r21, r19 // u0.8 - shari r25, 32, r25 // normalize to s2.30 - shlli r21, 1, r21 - muls.l r25, r19, r19 // s2.38 - ldx.w r20, r21, r21 // s2.14 - ptabs r18, tr0 - shari r19, 24, r19 // truncate to s2.14 - sub r21, r19, r19 // some 11 bit inverse in s1.14 - muls.l r19, r19, r21 // u0.28 - sub r63, r1, r1 - addi r1, 92, r1 - muls.l r25, r21, r18 // s2.58 - shlli r19, 45, r19 // multiply by two and convert to s2.58 - /* bubble */ - sub r19, r18, r18 - shari r18, 28, r18 // some 22 bit inverse in s1.30 - muls.l r18, r25, r0 // s2.60 - muls.l r18, r4, r25 // s32.30 - /* bubble */ - shari r0, 16, r19 // s-16.44 - muls.l r19, r18, r19 // s-16.74 - shari r25, 63, r0 - shari r4, 14, r18 // s19.-14 - shari r19, 30, r19 // s-16.44 - muls.l r19, r18, r19 // s15.30 - xor r21, r0, r21 // You could also use the constant 1 << 27. - add r21, r25, r21 - sub r21, r19, r21 - shard r21, r1, r21 - sub r21, r0, r0 - blink tr0, r63 -#ifndef __pic__ - ENDFUNC(GLOBAL(sdivsi3)) -#endif - ENDFUNC(GLOBAL(sdivsi3_2)) -#endif -#elif __SHMEDIA__ -/* m5compact-nofpu */ - // clobbered: r18,r19,r20,r21,r25,tr0,tr1,tr2 - .mode SHmedia - .section .text..SHmedia32,"ax" - .align 2 - FUNC(GLOBAL(sdivsi3)) -GLOBAL(sdivsi3): - pt/l LOCAL(sdivsi3_dontsub), tr0 - pt/l LOCAL(sdivsi3_loop), tr1 - ptabs/l r18,tr2 - shari.l r4,31,r18 - shari.l r5,31,r19 - xor r4,r18,r20 - xor r5,r19,r21 - sub.l r20,r18,r20 - sub.l r21,r19,r21 - xor r18,r19,r19 - shlli r21,32,r25 - addi r25,-1,r21 - addz.l r20,r63,r20 -LOCAL(sdivsi3_loop): - shlli r20,1,r20 - bgeu/u r21,r20,tr0 - sub r20,r21,r20 -LOCAL(sdivsi3_dontsub): - addi.l r25,-1,r25 - bnei r25,-32,tr1 - xor r20,r19,r20 - sub.l r20,r19,r0 - blink tr2,r63 - ENDFUNC(GLOBAL(sdivsi3)) -#else /* ! __SHMEDIA__ */ + FUNC(GLOBAL(sdivsi3)) GLOBAL(sdivsi3): mov r4,r1 @@ -1397,7 +1172,6 @@ div0: rts mov #0,r0 ENDFUNC(GLOBAL(sdivsi3)) -#endif /* ! __SHMEDIA__ */ #endif /* L_sdivsi3 */ /*------------------------------------------------------------------------------ @@ -1451,28 +1225,6 @@ L1: ENDFUNC(GLOBAL(udivsi3_i4)) -#elif defined (__SH5__) && ! defined (__SH4_NOFPU__) && ! defined (__SH2A_NOFPU__) -#if ! __SH5__ || __SH5__ == 32 -!! args in r4 and r5, result in fpul, clobber r20, r21, dr0, fr33 - .mode SHmedia - .global GLOBAL(udivsi3_i4) - HIDDEN_FUNC(GLOBAL(udivsi3_i4)) -GLOBAL(udivsi3_i4): - addz.l r4,r63,r20 - addz.l r5,r63,r21 - fmov.qd r20,dr0 - fmov.qd r21,dr32 - ptabs r18,tr0 - float.qd dr0,dr0 - float.qd dr32,dr32 - fdiv.d dr0,dr32,dr0 - ftrc.dq dr0,dr32 - fmov.s fr33,fr32 - blink tr0,r63 - - ENDFUNC(GLOBAL(udivsi3_i4)) -#endif /* ! __SH5__ || __SH5__ == 32 */ - #elif defined (__SH2A_SINGLE__) || defined (__SH2A_SINGLE_ONLY__) || defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) /* This variant is used when FPSCR.PR = 0 (sigle precision) is the default setting. @@ -1581,133 +1333,6 @@ L1: .global GLOBAL(udivsi3) HIDDEN_FUNC(GLOBAL(udivsi3)) -#if __SHMEDIA__ -#if __SH5__ == 32 - .section .text..SHmedia32,"ax" -#else - .text -#endif - .align 2 -#if 0 -/* The assembly code that follows is a hand-optimized version of the C - code that follows. Note that the registers that are modified are - exactly those listed as clobbered in the patterns udivsi3_i1 and - udivsi3_i1_media. - -unsigned -__udivsi3 (i, j) - unsigned i, j; -{ - register unsigned long long r0 asm ("r0") = 0; - register unsigned long long r18 asm ("r18") = 1; - register unsigned long long r4 asm ("r4") = i; - register unsigned long long r19 asm ("r19") = j; - - r19 <<= 31; - r18 <<= 31; - do - if (r4 >= r19) - r0 |= r18, r4 -= r19; - while (r19 >>= 1, r18 >>= 1); - - return r0; -} -*/ -GLOBAL(udivsi3): - pt/l LOCAL(udivsi3_dontadd), tr2 - pt/l LOCAL(udivsi3_loop), tr1 - ptabs/l r18, tr0 - movi 0, r0 - movi 1, r18 - addz.l r5, r63, r19 - addz.l r4, r63, r4 - shlli r19, 31, r19 - shlli r18, 31, r18 -LOCAL(udivsi3_loop): - bgtu r19, r4, tr2 - or r0, r18, r0 - sub r4, r19, r4 -LOCAL(udivsi3_dontadd): - shlri r18, 1, r18 - shlri r19, 1, r19 - bnei r18, 0, tr1 - blink tr0, r63 -#else -GLOBAL(udivsi3): - // inputs: r4,r5 - // clobbered: r18,r19,r20,r21,r22,r25,tr0 - // result in r0. - addz.l r5,r63,r22 - nsb r22,r0 - shlld r22,r0,r25 - shlri r25,48,r25 - movi 0xffffffffffffbb0c,r20 // shift count eqiv 76 - sub r20,r25,r21 - mmulfx.w r21,r21,r19 - mshflo.w r21,r63,r21 - ptabs r18,tr0 - mmulfx.w r25,r19,r19 - sub r20,r0,r0 - /* bubble */ - msub.w r21,r19,r19 - addi r19,-2,r21 /* It would be nice for scheduling to do this add to r21 - before the msub.w, but we need a different value for - r19 to keep errors under control. */ - mulu.l r4,r21,r18 - mmulfx.w r19,r19,r19 - shlli r21,15,r21 - shlrd r18,r0,r18 - mulu.l r18,r22,r20 - mmacnfx.wl r25,r19,r21 - /* bubble */ - sub r4,r20,r25 - - mulu.l r25,r21,r19 - addi r0,14,r0 - /* bubble */ - shlrd r19,r0,r19 - mulu.l r19,r22,r20 - add r18,r19,r18 - /* bubble */ - sub.l r25,r20,r25 - - mulu.l r25,r21,r19 - addz.l r25,r63,r25 - sub r25,r22,r25 - shlrd r19,r0,r19 - mulu.l r19,r22,r20 - addi r25,1,r25 - add r18,r19,r18 - - cmpgt r25,r20,r25 - add.l r18,r25,r0 - blink tr0,r63 -#endif -#elif __SHMEDIA__ -/* m5compact-nofpu - more emphasis on code size than on speed, but don't - ignore speed altogether - div1 needs 9 cycles, subc 7 and rotcl 4. - So use a short shmedia loop. */ - // clobbered: r20,r21,r25,tr0,tr1,tr2 - .mode SHmedia - .section .text..SHmedia32,"ax" - .align 2 -GLOBAL(udivsi3): - pt/l LOCAL(udivsi3_dontsub), tr0 - pt/l LOCAL(udivsi3_loop), tr1 - ptabs/l r18,tr2 - shlli r5,32,r25 - addi r25,-1,r21 - addz.l r4,r63,r20 -LOCAL(udivsi3_loop): - shlli r20,1,r20 - bgeu/u r21,r20,tr0 - sub r20,r21,r20 -LOCAL(udivsi3_dontsub): - addi.l r25,-1,r25 - bnei r25,-32,tr1 - add.l r20,r63,r0 - blink tr2,r63 -#else /* ! __SHMEDIA__ */ LOCAL(div8): div1 r5,r4 LOCAL(div7): @@ -1769,320 +1394,11 @@ LOCAL(large_divisor): rotcl r0 ENDFUNC(GLOBAL(udivsi3)) -#endif /* ! __SHMEDIA__ */ #endif /* L_udivsi3 */ -#ifdef L_udivdi3 -#if __SHMEDIA__ - .mode SHmedia - .section .text..SHmedia32,"ax" - .align 2 - .global GLOBAL(udivdi3) - FUNC(GLOBAL(udivdi3)) -GLOBAL(udivdi3): - HIDDEN_ALIAS(udivdi3_internal,udivdi3) - shlri r3,1,r4 - nsb r4,r22 - shlld r3,r22,r6 - shlri r6,49,r5 - movi 0xffffffffffffbaf1,r21 /* .l shift count 17. */ - sub r21,r5,r1 - mmulfx.w r1,r1,r4 - mshflo.w r1,r63,r1 - sub r63,r22,r20 // r63 == 64 % 64 - mmulfx.w r5,r4,r4 - pta LOCAL(large_divisor),tr0 - addi r20,32,r9 - msub.w r1,r4,r1 - madd.w r1,r1,r1 - mmulfx.w r1,r1,r4 - shlri r6,32,r7 - bgt/u r9,r63,tr0 // large_divisor - mmulfx.w r5,r4,r4 - shlri r2,32+14,r19 - addi r22,-31,r0 - msub.w r1,r4,r1 - - mulu.l r1,r7,r4 - addi r1,-3,r5 - mulu.l r5,r19,r5 - sub r63,r4,r4 // Negate to make sure r1 ends up <= 1/r2 - shlri r4,2,r4 /* chop off leading %0000000000000000 001.00000000000 - or, as - the case may be, %0000000000000000 000.11111111111, still */ - muls.l r1,r4,r4 /* leaving at least one sign bit. */ - mulu.l r5,r3,r8 - mshalds.l r1,r21,r1 - shari r4,26,r4 - shlld r8,r0,r8 - add r1,r4,r1 // 31 bit unsigned reciprocal now in r1 (msb equiv. 0.5) - sub r2,r8,r2 - /* Can do second step of 64 : 32 div now, using r1 and the rest in r2. */ - - shlri r2,22,r21 - mulu.l r21,r1,r21 - shlld r5,r0,r8 - addi r20,30-22,r0 - shlrd r21,r0,r21 - mulu.l r21,r3,r5 - add r8,r21,r8 - mcmpgt.l r21,r63,r21 // See Note 1 - addi r20,30,r0 - mshfhi.l r63,r21,r21 - sub r2,r5,r2 - andc r2,r21,r2 - - /* small divisor: need a third divide step */ - mulu.l r2,r1,r7 - ptabs r18,tr0 - addi r2,1,r2 - shlrd r7,r0,r7 - mulu.l r7,r3,r5 - add r8,r7,r8 - sub r2,r3,r2 - cmpgt r2,r5,r5 - add r8,r5,r2 - /* could test r3 here to check for divide by zero. */ - blink tr0,r63 - -LOCAL(large_divisor): - mmulfx.w r5,r4,r4 - shlrd r2,r9,r25 - shlri r25,32,r8 - msub.w r1,r4,r1 - - mulu.l r1,r7,r4 - addi r1,-3,r5 - mulu.l r5,r8,r5 - sub r63,r4,r4 // Negate to make sure r1 ends up <= 1/r2 - shlri r4,2,r4 /* chop off leading %0000000000000000 001.00000000000 - or, as - the case may be, %0000000000000000 000.11111111111, still */ - muls.l r1,r4,r4 /* leaving at least one sign bit. */ - shlri r5,14-1,r8 - mulu.l r8,r7,r5 - mshalds.l r1,r21,r1 - shari r4,26,r4 - add r1,r4,r1 // 31 bit unsigned reciprocal now in r1 (msb equiv. 0.5) - sub r25,r5,r25 - /* Can do second step of 64 : 32 div now, using r1 and the rest in r25. */ - - shlri r25,22,r21 - mulu.l r21,r1,r21 - pta LOCAL(no_lo_adj),tr0 - addi r22,32,r0 - shlri r21,40,r21 - mulu.l r21,r7,r5 - add r8,r21,r8 - shlld r2,r0,r2 - sub r25,r5,r25 - bgtu/u r7,r25,tr0 // no_lo_adj - addi r8,1,r8 - sub r25,r7,r25 -LOCAL(no_lo_adj): - mextr4 r2,r25,r2 - - /* large_divisor: only needs a few adjustments. */ - mulu.l r8,r6,r5 - ptabs r18,tr0 - /* bubble */ - cmpgtu r5,r2,r5 - sub r8,r5,r2 - blink tr0,r63 - ENDFUNC(GLOBAL(udivdi3)) -/* Note 1: To shift the result of the second divide stage so that the result - always fits into 32 bits, yet we still reduce the rest sufficiently - would require a lot of instructions to do the shifts just right. Using - the full 64 bit shift result to multiply with the divisor would require - four extra instructions for the upper 32 bits (shift / mulu / shift / sub). - Fortunately, if the upper 32 bits of the shift result are nonzero, we - know that the rest after taking this partial result into account will - fit into 32 bits. So we just clear the upper 32 bits of the rest if the - upper 32 bits of the partial result are nonzero. */ -#endif /* __SHMEDIA__ */ -#endif /* L_udivdi3 */ - -#ifdef L_divdi3 -#if __SHMEDIA__ - .mode SHmedia - .section .text..SHmedia32,"ax" - .align 2 - .global GLOBAL(divdi3) - FUNC(GLOBAL(divdi3)) -GLOBAL(divdi3): - pta GLOBAL(udivdi3_internal),tr0 - shari r2,63,r22 - shari r3,63,r23 - xor r2,r22,r2 - xor r3,r23,r3 - sub r2,r22,r2 - sub r3,r23,r3 - beq/u r22,r23,tr0 - ptabs r18,tr1 - blink tr0,r18 - sub r63,r2,r2 - blink tr1,r63 - ENDFUNC(GLOBAL(divdi3)) -#endif /* __SHMEDIA__ */ -#endif /* L_divdi3 */ - -#ifdef L_umoddi3 -#if __SHMEDIA__ - .mode SHmedia - .section .text..SHmedia32,"ax" - .align 2 - .global GLOBAL(umoddi3) - FUNC(GLOBAL(umoddi3)) -GLOBAL(umoddi3): - HIDDEN_ALIAS(umoddi3_internal,umoddi3) - shlri r3,1,r4 - nsb r4,r22 - shlld r3,r22,r6 - shlri r6,49,r5 - movi 0xffffffffffffbaf1,r21 /* .l shift count 17. */ - sub r21,r5,r1 - mmulfx.w r1,r1,r4 - mshflo.w r1,r63,r1 - sub r63,r22,r20 // r63 == 64 % 64 - mmulfx.w r5,r4,r4 - pta LOCAL(large_divisor),tr0 - addi r20,32,r9 - msub.w r1,r4,r1 - madd.w r1,r1,r1 - mmulfx.w r1,r1,r4 - shlri r6,32,r7 - bgt/u r9,r63,tr0 // large_divisor - mmulfx.w r5,r4,r4 - shlri r2,32+14,r19 - addi r22,-31,r0 - msub.w r1,r4,r1 - - mulu.l r1,r7,r4 - addi r1,-3,r5 - mulu.l r5,r19,r5 - sub r63,r4,r4 // Negate to make sure r1 ends up <= 1/r2 - shlri r4,2,r4 /* chop off leading %0000000000000000 001.00000000000 - or, as - the case may be, %0000000000000000 000.11111111111, still */ - muls.l r1,r4,r4 /* leaving at least one sign bit. */ - mulu.l r5,r3,r5 - mshalds.l r1,r21,r1 - shari r4,26,r4 - shlld r5,r0,r5 - add r1,r4,r1 // 31 bit unsigned reciprocal now in r1 (msb equiv. 0.5) - sub r2,r5,r2 - /* Can do second step of 64 : 32 div now, using r1 and the rest in r2. */ - - shlri r2,22,r21 - mulu.l r21,r1,r21 - addi r20,30-22,r0 - /* bubble */ /* could test r3 here to check for divide by zero. */ - shlrd r21,r0,r21 - mulu.l r21,r3,r5 - mcmpgt.l r21,r63,r21 // See Note 1 - addi r20,30,r0 - mshfhi.l r63,r21,r21 - sub r2,r5,r2 - andc r2,r21,r2 - - /* small divisor: need a third divide step */ - mulu.l r2,r1,r7 - ptabs r18,tr0 - sub r2,r3,r8 /* re-use r8 here for rest - r3 */ - shlrd r7,r0,r7 - mulu.l r7,r3,r5 - /* bubble */ - addi r8,1,r7 - cmpgt r7,r5,r7 - cmvne r7,r8,r2 - sub r2,r5,r2 - blink tr0,r63 - -LOCAL(large_divisor): - mmulfx.w r5,r4,r4 - shlrd r2,r9,r25 - shlri r25,32,r8 - msub.w r1,r4,r1 - - mulu.l r1,r7,r4 - addi r1,-3,r5 - mulu.l r5,r8,r5 - sub r63,r4,r4 // Negate to make sure r1 ends up <= 1/r2 - shlri r4,2,r4 /* chop off leading %0000000000000000 001.00000000000 - or, as - the case may be, %0000000000000000 000.11111111111, still */ - muls.l r1,r4,r4 /* leaving at least one sign bit. */ - shlri r5,14-1,r8 - mulu.l r8,r7,r5 - mshalds.l r1,r21,r1 - shari r4,26,r4 - add r1,r4,r1 // 31 bit unsigned reciprocal now in r1 (msb equiv. 0.5) - sub r25,r5,r25 - /* Can do second step of 64 : 32 div now, using r1 and the rest in r25. */ - - shlri r25,22,r21 - mulu.l r21,r1,r21 - pta LOCAL(no_lo_adj),tr0 - addi r22,32,r0 - shlri r21,40,r21 - mulu.l r21,r7,r5 - add r8,r21,r8 - shlld r2,r0,r2 - sub r25,r5,r25 - bgtu/u r7,r25,tr0 // no_lo_adj - addi r8,1,r8 - sub r25,r7,r25 -LOCAL(no_lo_adj): - mextr4 r2,r25,r2 - - /* large_divisor: only needs a few adjustments. */ - mulu.l r8,r6,r5 - ptabs r18,tr0 - add r2,r6,r7 - cmpgtu r5,r2,r8 - cmvne r8,r7,r2 - sub r2,r5,r2 - shlrd r2,r22,r2 - blink tr0,r63 - ENDFUNC(GLOBAL(umoddi3)) -/* Note 1: To shift the result of the second divide stage so that the result - always fits into 32 bits, yet we still reduce the rest sufficiently - would require a lot of instructions to do the shifts just right. Using - the full 64 bit shift result to multiply with the divisor would require - four extra instructions for the upper 32 bits (shift / mulu / shift / sub). - Fortunately, if the upper 32 bits of the shift result are nonzero, we - know that the rest after taking this partial result into account will - fit into 32 bits. So we just clear the upper 32 bits of the rest if the - upper 32 bits of the partial result are nonzero. */ -#endif /* __SHMEDIA__ */ -#endif /* L_umoddi3 */ - -#ifdef L_moddi3 -#if __SHMEDIA__ - .mode SHmedia - .section .text..SHmedia32,"ax" - .align 2 - .global GLOBAL(moddi3) - FUNC(GLOBAL(moddi3)) -GLOBAL(moddi3): - pta GLOBAL(umoddi3_internal),tr0 - shari r2,63,r22 - shari r3,63,r23 - xor r2,r22,r2 - xor r3,r23,r3 - sub r2,r22,r2 - sub r3,r23,r3 - beq/u r22,r63,tr0 - ptabs r18,tr1 - blink tr0,r18 - sub r63,r2,r2 - blink tr1,r63 - ENDFUNC(GLOBAL(moddi3)) -#endif /* __SHMEDIA__ */ -#endif /* L_moddi3 */ - #ifdef L_set_fpscr #if !defined (__SH2A_NOFPU__) -#if defined (__SH2E__) || defined (__SH2A__) || defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || __SH5__ == 32 -#ifdef __SH5__ - .mode SHcompact -#endif +#if defined (__SH2E__) || defined (__SH2A__) || defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) .global GLOBAL(set_fpscr) HIDDEN_FUNC(GLOBAL(set_fpscr)) GLOBAL(set_fpscr): @@ -2161,39 +1477,8 @@ LOCAL(set_fpscr_L1): #endif /* __SH2A_NOFPU__ */ #endif /* L_set_fpscr */ #ifdef L_ic_invalidate -#if __SH5__ == 32 - .mode SHmedia - .section .text..SHmedia32,"ax" - .align 2 - .global GLOBAL(init_trampoline) - HIDDEN_FUNC(GLOBAL(init_trampoline)) -GLOBAL(init_trampoline): - st.l r0,8,r2 -#ifdef __LITTLE_ENDIAN__ - movi 9,r20 - shori 0x402b,r20 - shori 0xd101,r20 - shori 0xd002,r20 -#else - movi 0xffffffffffffd002,r20 - shori 0xd101,r20 - shori 0x402b,r20 - shori 9,r20 -#endif - st.q r0,0,r20 - st.l r0,12,r3 - ENDFUNC(GLOBAL(init_trampoline)) - .global GLOBAL(ic_invalidate) - HIDDEN_FUNC(GLOBAL(ic_invalidate)) -GLOBAL(ic_invalidate): - ocbwb r0,0 - synco - icbi r0, 0 - ptabs r18, tr0 - synci - blink tr0, r63 - ENDFUNC(GLOBAL(ic_invalidate)) -#elif defined(__SH4A__) + +#if defined(__SH4A__) .global GLOBAL(ic_invalidate) HIDDEN_FUNC(GLOBAL(ic_invalidate)) GLOBAL(ic_invalidate): @@ -2203,7 +1488,7 @@ GLOBAL(ic_invalidate): rts nop ENDFUNC(GLOBAL(ic_invalidate)) -#elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || (defined(__SH4_NOFPU__) && !defined(__SH5__)) +#elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || defined(__SH4_NOFPU__) /* For system code, we use ic_invalidate_line_i, but user code needs a different mechanism. A kernel call is generally not available, and it would also be slow. Different SH4 variants use @@ -2259,7 +1544,7 @@ GLOBAL(ic_invalidate): #endif /* L_ic_invalidate */ #ifdef L_ic_invalidate_array -#if defined(__SH4A__) || (defined (__FORCE_SH4A__) && (defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || (defined(__SH4_NOFPU__) && !defined(__SH5__)))) +#if defined(__SH4A__) || (defined (__FORCE_SH4A__) && (defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || defined(__SH4_NOFPU__))) .global GLOBAL(ic_invalidate_array) /* This is needed when an SH4 dso with trampolines is used on SH4A. */ .global GLOBAL(ic_invalidate_array) @@ -2273,7 +1558,7 @@ GLOBAL(ic_invalidate_array): .align 2 .long 0 ENDFUNC(GLOBAL(ic_invalidate_array)) -#elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || (defined(__SH4_NOFPU__) && !defined(__SH5__)) +#elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || defined(__SH4_NOFPU__) .global GLOBAL(ic_invalidate_array) .p2align 5 FUNC(GLOBAL(ic_invalidate_array)) @@ -2329,1047 +1614,10 @@ GLOBAL(ic_invalidate_array): #endif /* SH4 */ #endif /* L_ic_invalidate_array */ -#if defined (__SH5__) && __SH5__ == 32 -#ifdef L_shcompact_call_trampoline - .section .rodata - .align 1 -LOCAL(ct_main_table): -.word LOCAL(ct_r2_fp) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r2_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r2_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r3_fp) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r3_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r3_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r4_fp) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r4_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r4_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r5_fp) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r5_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r5_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r6_fph) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r6_fpl) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r6_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r6_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r7_fph) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r7_fpl) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r7_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r7_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r8_fph) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r8_fpl) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r8_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r8_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r9_fph) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r9_fpl) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r9_ld) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r9_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_pop_seq) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_pop_seq) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_r9_pop) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_ret_wide) - datalabel LOCAL(ct_main_label) -.word LOCAL(ct_call_func) - datalabel LOCAL(ct_main_label) - .mode SHmedia - .section .text..SHmedia32, "ax" - .align 2 - - /* This function loads 64-bit general-purpose registers from the - stack, from a memory address contained in them or from an FP - register, according to a cookie passed in r1. Its execution - time is linear on the number of registers that actually have - to be copied. See sh.h for details on the actual bit pattern. - - The function to be called is passed in r0. If a 32-bit return - value is expected, the actual function will be tail-called, - otherwise the return address will be stored in r10 (that the - caller should expect to be clobbered) and the return value - will be expanded into r2/r3 upon return. */ - - .global GLOBAL(GCC_shcompact_call_trampoline) - FUNC(GLOBAL(GCC_shcompact_call_trampoline)) -GLOBAL(GCC_shcompact_call_trampoline): - ptabs/l r0, tr0 /* Prepare to call the actual function. */ - movi ((datalabel LOCAL(ct_main_table) - 31 * 2) >> 16) & 65535, r0 - pt/l LOCAL(ct_loop), tr1 - addz.l r1, r63, r1 - shori ((datalabel LOCAL(ct_main_table) - 31 * 2)) & 65535, r0 -LOCAL(ct_loop): - nsb r1, r28 - shlli r28, 1, r29 - ldx.w r0, r29, r30 -LOCAL(ct_main_label): - ptrel/l r30, tr2 - blink tr2, r63 -LOCAL(ct_r2_fp): /* Copy r2 from an FP register. */ - /* It must be dr0, so just do it. */ - fmov.dq dr0, r2 - movi 7, r30 - shlli r30, 29, r31 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r3_fp): /* Copy r3 from an FP register. */ - /* It is either dr0 or dr2. */ - movi 7, r30 - shlri r1, 26, r32 - shlli r30, 26, r31 - andc r1, r31, r1 - fmov.dq dr0, r3 - beqi/l r32, 4, tr1 - fmov.dq dr2, r3 - blink tr1, r63 -LOCAL(ct_r4_fp): /* Copy r4 from an FP register. */ - shlri r1, 23 - 3, r34 - andi r34, 3 << 3, r33 - addi r33, LOCAL(ct_r4_fp_copy) - datalabel LOCAL(ct_r4_fp_base), r32 -LOCAL(ct_r4_fp_base): - ptrel/l r32, tr2 - movi 7, r30 - shlli r30, 23, r31 - andc r1, r31, r1 - blink tr2, r63 -LOCAL(ct_r4_fp_copy): - fmov.dq dr0, r4 - blink tr1, r63 - fmov.dq dr2, r4 - blink tr1, r63 - fmov.dq dr4, r4 - blink tr1, r63 -LOCAL(ct_r5_fp): /* Copy r5 from an FP register. */ - shlri r1, 20 - 3, r34 - andi r34, 3 << 3, r33 - addi r33, LOCAL(ct_r5_fp_copy) - datalabel LOCAL(ct_r5_fp_base), r32 -LOCAL(ct_r5_fp_base): - ptrel/l r32, tr2 - movi 7, r30 - shlli r30, 20, r31 - andc r1, r31, r1 - blink tr2, r63 -LOCAL(ct_r5_fp_copy): - fmov.dq dr0, r5 - blink tr1, r63 - fmov.dq dr2, r5 - blink tr1, r63 - fmov.dq dr4, r5 - blink tr1, r63 - fmov.dq dr6, r5 - blink tr1, r63 -LOCAL(ct_r6_fph): /* Copy r6 from a high FP register. */ - /* It must be dr8. */ - fmov.dq dr8, r6 - movi 15, r30 - shlli r30, 16, r31 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r6_fpl): /* Copy r6 from a low FP register. */ - shlri r1, 16 - 3, r34 - andi r34, 3 << 3, r33 - addi r33, LOCAL(ct_r6_fp_copy) - datalabel LOCAL(ct_r6_fp_base), r32 -LOCAL(ct_r6_fp_base): - ptrel/l r32, tr2 - movi 7, r30 - shlli r30, 16, r31 - andc r1, r31, r1 - blink tr2, r63 -LOCAL(ct_r6_fp_copy): - fmov.dq dr0, r6 - blink tr1, r63 - fmov.dq dr2, r6 - blink tr1, r63 - fmov.dq dr4, r6 - blink tr1, r63 - fmov.dq dr6, r6 - blink tr1, r63 -LOCAL(ct_r7_fph): /* Copy r7 from a high FP register. */ - /* It is either dr8 or dr10. */ - movi 15 << 12, r31 - shlri r1, 12, r32 - andc r1, r31, r1 - fmov.dq dr8, r7 - beqi/l r32, 8, tr1 - fmov.dq dr10, r7 - blink tr1, r63 -LOCAL(ct_r7_fpl): /* Copy r7 from a low FP register. */ - shlri r1, 12 - 3, r34 - andi r34, 3 << 3, r33 - addi r33, LOCAL(ct_r7_fp_copy) - datalabel LOCAL(ct_r7_fp_base), r32 -LOCAL(ct_r7_fp_base): - ptrel/l r32, tr2 - movi 7 << 12, r31 - andc r1, r31, r1 - blink tr2, r63 -LOCAL(ct_r7_fp_copy): - fmov.dq dr0, r7 - blink tr1, r63 - fmov.dq dr2, r7 - blink tr1, r63 - fmov.dq dr4, r7 - blink tr1, r63 - fmov.dq dr6, r7 - blink tr1, r63 -LOCAL(ct_r8_fph): /* Copy r8 from a high FP register. */ - /* It is either dr8 or dr10. */ - movi 15 << 8, r31 - andi r1, 1 << 8, r32 - andc r1, r31, r1 - fmov.dq dr8, r8 - beq/l r32, r63, tr1 - fmov.dq dr10, r8 - blink tr1, r63 -LOCAL(ct_r8_fpl): /* Copy r8 from a low FP register. */ - shlri r1, 8 - 3, r34 - andi r34, 3 << 3, r33 - addi r33, LOCAL(ct_r8_fp_copy) - datalabel LOCAL(ct_r8_fp_base), r32 -LOCAL(ct_r8_fp_base): - ptrel/l r32, tr2 - movi 7 << 8, r31 - andc r1, r31, r1 - blink tr2, r63 -LOCAL(ct_r8_fp_copy): - fmov.dq dr0, r8 - blink tr1, r63 - fmov.dq dr2, r8 - blink tr1, r63 - fmov.dq dr4, r8 - blink tr1, r63 - fmov.dq dr6, r8 - blink tr1, r63 -LOCAL(ct_r9_fph): /* Copy r9 from a high FP register. */ - /* It is either dr8 or dr10. */ - movi 15 << 4, r31 - andi r1, 1 << 4, r32 - andc r1, r31, r1 - fmov.dq dr8, r9 - beq/l r32, r63, tr1 - fmov.dq dr10, r9 - blink tr1, r63 -LOCAL(ct_r9_fpl): /* Copy r9 from a low FP register. */ - shlri r1, 4 - 3, r34 - andi r34, 3 << 3, r33 - addi r33, LOCAL(ct_r9_fp_copy) - datalabel LOCAL(ct_r9_fp_base), r32 -LOCAL(ct_r9_fp_base): - ptrel/l r32, tr2 - movi 7 << 4, r31 - andc r1, r31, r1 - blink tr2, r63 -LOCAL(ct_r9_fp_copy): - fmov.dq dr0, r9 - blink tr1, r63 - fmov.dq dr2, r9 - blink tr1, r63 - fmov.dq dr4, r9 - blink tr1, r63 - fmov.dq dr6, r9 - blink tr1, r63 -LOCAL(ct_r2_ld): /* Copy r2 from a memory address. */ - pt/l LOCAL(ct_r2_load), tr2 - movi 3, r30 - shlli r30, 29, r31 - and r1, r31, r32 - andc r1, r31, r1 - beq/l r31, r32, tr2 - addi.l r2, 8, r3 - ldx.q r2, r63, r2 - /* Fall through. */ -LOCAL(ct_r3_ld): /* Copy r3 from a memory address. */ - pt/l LOCAL(ct_r3_load), tr2 - movi 3, r30 - shlli r30, 26, r31 - and r1, r31, r32 - andc r1, r31, r1 - beq/l r31, r32, tr2 - addi.l r3, 8, r4 - ldx.q r3, r63, r3 -LOCAL(ct_r4_ld): /* Copy r4 from a memory address. */ - pt/l LOCAL(ct_r4_load), tr2 - movi 3, r30 - shlli r30, 23, r31 - and r1, r31, r32 - andc r1, r31, r1 - beq/l r31, r32, tr2 - addi.l r4, 8, r5 - ldx.q r4, r63, r4 -LOCAL(ct_r5_ld): /* Copy r5 from a memory address. */ - pt/l LOCAL(ct_r5_load), tr2 - movi 3, r30 - shlli r30, 20, r31 - and r1, r31, r32 - andc r1, r31, r1 - beq/l r31, r32, tr2 - addi.l r5, 8, r6 - ldx.q r5, r63, r5 -LOCAL(ct_r6_ld): /* Copy r6 from a memory address. */ - pt/l LOCAL(ct_r6_load), tr2 - movi 3 << 16, r31 - and r1, r31, r32 - andc r1, r31, r1 - beq/l r31, r32, tr2 - addi.l r6, 8, r7 - ldx.q r6, r63, r6 -LOCAL(ct_r7_ld): /* Copy r7 from a memory address. */ - pt/l LOCAL(ct_r7_load), tr2 - movi 3 << 12, r31 - and r1, r31, r32 - andc r1, r31, r1 - beq/l r31, r32, tr2 - addi.l r7, 8, r8 - ldx.q r7, r63, r7 -LOCAL(ct_r8_ld): /* Copy r8 from a memory address. */ - pt/l LOCAL(ct_r8_load), tr2 - movi 3 << 8, r31 - and r1, r31, r32 - andc r1, r31, r1 - beq/l r31, r32, tr2 - addi.l r8, 8, r9 - ldx.q r8, r63, r8 -LOCAL(ct_r9_ld): /* Copy r9 from a memory address. */ - pt/l LOCAL(ct_check_tramp), tr2 - ldx.q r9, r63, r9 - blink tr2, r63 -LOCAL(ct_r2_load): - ldx.q r2, r63, r2 - blink tr1, r63 -LOCAL(ct_r3_load): - ldx.q r3, r63, r3 - blink tr1, r63 -LOCAL(ct_r4_load): - ldx.q r4, r63, r4 - blink tr1, r63 -LOCAL(ct_r5_load): - ldx.q r5, r63, r5 - blink tr1, r63 -LOCAL(ct_r6_load): - ldx.q r6, r63, r6 - blink tr1, r63 -LOCAL(ct_r7_load): - ldx.q r7, r63, r7 - blink tr1, r63 -LOCAL(ct_r8_load): - ldx.q r8, r63, r8 - blink tr1, r63 -LOCAL(ct_r2_pop): /* Pop r2 from the stack. */ - movi 1, r30 - ldx.q r15, r63, r2 - shlli r30, 29, r31 - addi.l r15, 8, r15 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r3_pop): /* Pop r3 from the stack. */ - movi 1, r30 - ldx.q r15, r63, r3 - shlli r30, 26, r31 - addi.l r15, 8, r15 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r4_pop): /* Pop r4 from the stack. */ - movi 1, r30 - ldx.q r15, r63, r4 - shlli r30, 23, r31 - addi.l r15, 8, r15 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r5_pop): /* Pop r5 from the stack. */ - movi 1, r30 - ldx.q r15, r63, r5 - shlli r30, 20, r31 - addi.l r15, 8, r15 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r6_pop): /* Pop r6 from the stack. */ - movi 1, r30 - ldx.q r15, r63, r6 - shlli r30, 16, r31 - addi.l r15, 8, r15 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r7_pop): /* Pop r7 from the stack. */ - ldx.q r15, r63, r7 - movi 1 << 12, r31 - addi.l r15, 8, r15 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_r8_pop): /* Pop r8 from the stack. */ - ldx.q r15, r63, r8 - movi 1 << 8, r31 - addi.l r15, 8, r15 - andc r1, r31, r1 - blink tr1, r63 -LOCAL(ct_pop_seq): /* Pop a sequence of registers off the stack. */ - andi r1, 7 << 1, r30 - movi (LOCAL(ct_end_of_pop_seq) >> 16) & 65535, r32 - shlli r30, 2, r31 - shori LOCAL(ct_end_of_pop_seq) & 65535, r32 - sub.l r32, r31, r33 - ptabs/l r33, tr2 - blink tr2, r63 -LOCAL(ct_start_of_pop_seq): /* Beginning of pop sequence. */ - ldx.q r15, r63, r3 - addi.l r15, 8, r15 - ldx.q r15, r63, r4 - addi.l r15, 8, r15 - ldx.q r15, r63, r5 - addi.l r15, 8, r15 - ldx.q r15, r63, r6 - addi.l r15, 8, r15 - ldx.q r15, r63, r7 - addi.l r15, 8, r15 - ldx.q r15, r63, r8 - addi.l r15, 8, r15 -LOCAL(ct_r9_pop): /* Pop r9 from the stack. */ - ldx.q r15, r63, r9 - addi.l r15, 8, r15 -LOCAL(ct_end_of_pop_seq): /* Label used to compute first pop instruction. */ -LOCAL(ct_check_tramp): /* Check whether we need a trampoline. */ - pt/u LOCAL(ct_ret_wide), tr2 - andi r1, 1, r1 - bne/u r1, r63, tr2 -LOCAL(ct_call_func): /* Just branch to the function. */ - blink tr0, r63 -LOCAL(ct_ret_wide): /* Call the function, so that we can unpack its - 64-bit return value. */ - add.l r18, r63, r10 - blink tr0, r18 - ptabs r10, tr0 -#if __LITTLE_ENDIAN__ - shari r2, 32, r3 - add.l r2, r63, r2 -#else - add.l r2, r63, r3 - shari r2, 32, r2 -#endif - blink tr0, r63 - - ENDFUNC(GLOBAL(GCC_shcompact_call_trampoline)) -#endif /* L_shcompact_call_trampoline */ - -#ifdef L_shcompact_return_trampoline - /* This function does the converse of the code in `ret_wide' - above. It is tail-called by SHcompact functions returning - 64-bit non-floating-point values, to pack the 32-bit values in - r2 and r3 into r2. */ - - .mode SHmedia - .section .text..SHmedia32, "ax" - .align 2 - .global GLOBAL(GCC_shcompact_return_trampoline) - HIDDEN_FUNC(GLOBAL(GCC_shcompact_return_trampoline)) -GLOBAL(GCC_shcompact_return_trampoline): - ptabs/l r18, tr0 -#if __LITTLE_ENDIAN__ - addz.l r2, r63, r2 - shlli r3, 32, r3 -#else - addz.l r3, r63, r3 - shlli r2, 32, r2 -#endif - or r3, r2, r2 - blink tr0, r63 - - ENDFUNC(GLOBAL(GCC_shcompact_return_trampoline)) -#endif /* L_shcompact_return_trampoline */ - -#ifdef L_shcompact_incoming_args - .section .rodata - .align 1 -LOCAL(ia_main_table): -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r2_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r2_push) - datalabel LOCAL(ia_main_label) -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r3_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r3_push) - datalabel LOCAL(ia_main_label) -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r4_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r4_push) - datalabel LOCAL(ia_main_label) -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r5_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r5_push) - datalabel LOCAL(ia_main_label) -.word 1 /* Invalid, just loop */ -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r6_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r6_push) - datalabel LOCAL(ia_main_label) -.word 1 /* Invalid, just loop */ -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r7_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r7_push) - datalabel LOCAL(ia_main_label) -.word 1 /* Invalid, just loop */ -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r8_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r8_push) - datalabel LOCAL(ia_main_label) -.word 1 /* Invalid, just loop */ -.word 1 /* Invalid, just loop */ -.word LOCAL(ia_r9_ld) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r9_push) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_push_seq) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_push_seq) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_r9_push) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_return) - datalabel LOCAL(ia_main_label) -.word LOCAL(ia_return) - datalabel LOCAL(ia_main_label) - .mode SHmedia - .section .text..SHmedia32, "ax" - .align 2 - - /* This function stores 64-bit general-purpose registers back in - the stack, and loads the address in which each register - was stored into itself. The lower 32 bits of r17 hold the address - to begin storing, and the upper 32 bits of r17 hold the cookie. - Its execution time is linear on the - number of registers that actually have to be copied, and it is - optimized for structures larger than 64 bits, as opposed to - individual `long long' arguments. See sh.h for details on the - actual bit pattern. */ - - .global GLOBAL(GCC_shcompact_incoming_args) - FUNC(GLOBAL(GCC_shcompact_incoming_args)) -GLOBAL(GCC_shcompact_incoming_args): - ptabs/l r18, tr0 /* Prepare to return. */ - shlri r17, 32, r0 /* Load the cookie. */ - movi ((datalabel LOCAL(ia_main_table) - 31 * 2) >> 16) & 65535, r43 - pt/l LOCAL(ia_loop), tr1 - add.l r17, r63, r17 - shori ((datalabel LOCAL(ia_main_table) - 31 * 2)) & 65535, r43 -LOCAL(ia_loop): - nsb r0, r36 - shlli r36, 1, r37 - ldx.w r43, r37, r38 -LOCAL(ia_main_label): - ptrel/l r38, tr2 - blink tr2, r63 -LOCAL(ia_r2_ld): /* Store r2 and load its address. */ - movi 3, r38 - shlli r38, 29, r39 - and r0, r39, r40 - andc r0, r39, r0 - stx.q r17, r63, r2 - add.l r17, r63, r2 - addi.l r17, 8, r17 - beq/u r39, r40, tr1 -LOCAL(ia_r3_ld): /* Store r3 and load its address. */ - movi 3, r38 - shlli r38, 26, r39 - and r0, r39, r40 - andc r0, r39, r0 - stx.q r17, r63, r3 - add.l r17, r63, r3 - addi.l r17, 8, r17 - beq/u r39, r40, tr1 -LOCAL(ia_r4_ld): /* Store r4 and load its address. */ - movi 3, r38 - shlli r38, 23, r39 - and r0, r39, r40 - andc r0, r39, r0 - stx.q r17, r63, r4 - add.l r17, r63, r4 - addi.l r17, 8, r17 - beq/u r39, r40, tr1 -LOCAL(ia_r5_ld): /* Store r5 and load its address. */ - movi 3, r38 - shlli r38, 20, r39 - and r0, r39, r40 - andc r0, r39, r0 - stx.q r17, r63, r5 - add.l r17, r63, r5 - addi.l r17, 8, r17 - beq/u r39, r40, tr1 -LOCAL(ia_r6_ld): /* Store r6 and load its address. */ - movi 3, r38 - shlli r38, 16, r39 - and r0, r39, r40 - andc r0, r39, r0 - stx.q r17, r63, r6 - add.l r17, r63, r6 - addi.l r17, 8, r17 - beq/u r39, r40, tr1 -LOCAL(ia_r7_ld): /* Store r7 and load its address. */ - movi 3 << 12, r39 - and r0, r39, r40 - andc r0, r39, r0 - stx.q r17, r63, r7 - add.l r17, r63, r7 - addi.l r17, 8, r17 - beq/u r39, r40, tr1 -LOCAL(ia_r8_ld): /* Store r8 and load its address. */ - movi 3 << 8, r39 - and r0, r39, r40 - andc r0, r39, r0 - stx.q r17, r63, r8 - add.l r17, r63, r8 - addi.l r17, 8, r17 - beq/u r39, r40, tr1 -LOCAL(ia_r9_ld): /* Store r9 and load its address. */ - stx.q r17, r63, r9 - add.l r17, r63, r9 - blink tr0, r63 -LOCAL(ia_r2_push): /* Push r2 onto the stack. */ - movi 1, r38 - shlli r38, 29, r39 - andc r0, r39, r0 - stx.q r17, r63, r2 - addi.l r17, 8, r17 - blink tr1, r63 -LOCAL(ia_r3_push): /* Push r3 onto the stack. */ - movi 1, r38 - shlli r38, 26, r39 - andc r0, r39, r0 - stx.q r17, r63, r3 - addi.l r17, 8, r17 - blink tr1, r63 -LOCAL(ia_r4_push): /* Push r4 onto the stack. */ - movi 1, r38 - shlli r38, 23, r39 - andc r0, r39, r0 - stx.q r17, r63, r4 - addi.l r17, 8, r17 - blink tr1, r63 -LOCAL(ia_r5_push): /* Push r5 onto the stack. */ - movi 1, r38 - shlli r38, 20, r39 - andc r0, r39, r0 - stx.q r17, r63, r5 - addi.l r17, 8, r17 - blink tr1, r63 -LOCAL(ia_r6_push): /* Push r6 onto the stack. */ - movi 1, r38 - shlli r38, 16, r39 - andc r0, r39, r0 - stx.q r17, r63, r6 - addi.l r17, 8, r17 - blink tr1, r63 -LOCAL(ia_r7_push): /* Push r7 onto the stack. */ - movi 1 << 12, r39 - andc r0, r39, r0 - stx.q r17, r63, r7 - addi.l r17, 8, r17 - blink tr1, r63 -LOCAL(ia_r8_push): /* Push r8 onto the stack. */ - movi 1 << 8, r39 - andc r0, r39, r0 - stx.q r17, r63, r8 - addi.l r17, 8, r17 - blink tr1, r63 -LOCAL(ia_push_seq): /* Push a sequence of registers onto the stack. */ - andi r0, 7 << 1, r38 - movi (LOCAL(ia_end_of_push_seq) >> 16) & 65535, r40 - shlli r38, 2, r39 - shori LOCAL(ia_end_of_push_seq) & 65535, r40 - sub.l r40, r39, r41 - ptabs/l r41, tr2 - blink tr2, r63 -LOCAL(ia_stack_of_push_seq): /* Beginning of push sequence. */ - stx.q r17, r63, r3 - addi.l r17, 8, r17 - stx.q r17, r63, r4 - addi.l r17, 8, r17 - stx.q r17, r63, r5 - addi.l r17, 8, r17 - stx.q r17, r63, r6 - addi.l r17, 8, r17 - stx.q r17, r63, r7 - addi.l r17, 8, r17 - stx.q r17, r63, r8 - addi.l r17, 8, r17 -LOCAL(ia_r9_push): /* Push r9 onto the stack. */ - stx.q r17, r63, r9 -LOCAL(ia_return): /* Return. */ - blink tr0, r63 -LOCAL(ia_end_of_push_seq): /* Label used to compute the first push instruction. */ - ENDFUNC(GLOBAL(GCC_shcompact_incoming_args)) -#endif /* L_shcompact_incoming_args */ -#endif -#if __SH5__ -#ifdef L_nested_trampoline -#if __SH5__ == 32 - .section .text..SHmedia32,"ax" -#else - .text -#endif - .align 3 /* It is copied in units of 8 bytes in SHmedia mode. */ - .global GLOBAL(GCC_nested_trampoline) - HIDDEN_FUNC(GLOBAL(GCC_nested_trampoline)) -GLOBAL(GCC_nested_trampoline): - .mode SHmedia - ptrel/u r63, tr0 - gettr tr0, r0 -#if __SH5__ == 64 - ld.q r0, 24, r1 -#else - ld.l r0, 24, r1 -#endif - ptabs/l r1, tr1 -#if __SH5__ == 64 - ld.q r0, 32, r1 -#else - ld.l r0, 28, r1 -#endif - blink tr1, r63 - - ENDFUNC(GLOBAL(GCC_nested_trampoline)) -#endif /* L_nested_trampoline */ -#endif /* __SH5__ */ -#if __SH5__ == 32 -#ifdef L_push_pop_shmedia_regs - .section .text..SHmedia32,"ax" - .mode SHmedia - .align 2 -#ifndef __SH4_NOFPU__ - .global GLOBAL(GCC_push_shmedia_regs) - FUNC(GLOBAL(GCC_push_shmedia_regs)) -GLOBAL(GCC_push_shmedia_regs): - addi.l r15, -14*8, r15 - fst.d r15, 13*8, dr62 - fst.d r15, 12*8, dr60 - fst.d r15, 11*8, dr58 - fst.d r15, 10*8, dr56 - fst.d r15, 9*8, dr54 - fst.d r15, 8*8, dr52 - fst.d r15, 7*8, dr50 - fst.d r15, 6*8, dr48 - fst.d r15, 5*8, dr46 - fst.d r15, 4*8, dr44 - fst.d r15, 3*8, dr42 - fst.d r15, 2*8, dr40 - fst.d r15, 1*8, dr38 - fst.d r15, 0*8, dr36 -#else /* ! __SH4_NOFPU__ */ - .global GLOBAL(GCC_push_shmedia_regs_nofpu) - FUNC(GLOBAL(GCC_push_shmedia_regs_nofpu)) -GLOBAL(GCC_push_shmedia_regs_nofpu): -#endif /* ! __SH4_NOFPU__ */ - ptabs/l r18, tr0 - addi.l r15, -27*8, r15 - gettr tr7, r62 - gettr tr6, r61 - gettr tr5, r60 - st.q r15, 26*8, r62 - st.q r15, 25*8, r61 - st.q r15, 24*8, r60 - st.q r15, 23*8, r59 - st.q r15, 22*8, r58 - st.q r15, 21*8, r57 - st.q r15, 20*8, r56 - st.q r15, 19*8, r55 - st.q r15, 18*8, r54 - st.q r15, 17*8, r53 - st.q r15, 16*8, r52 - st.q r15, 15*8, r51 - st.q r15, 14*8, r50 - st.q r15, 13*8, r49 - st.q r15, 12*8, r48 - st.q r15, 11*8, r47 - st.q r15, 10*8, r46 - st.q r15, 9*8, r45 - st.q r15, 8*8, r44 - st.q r15, 7*8, r35 - st.q r15, 6*8, r34 - st.q r15, 5*8, r33 - st.q r15, 4*8, r32 - st.q r15, 3*8, r31 - st.q r15, 2*8, r30 - st.q r15, 1*8, r29 - st.q r15, 0*8, r28 - blink tr0, r63 -#ifndef __SH4_NOFPU__ - ENDFUNC(GLOBAL(GCC_push_shmedia_regs)) -#else - ENDFUNC(GLOBAL(GCC_push_shmedia_regs_nofpu)) -#endif -#ifndef __SH4_NOFPU__ - .global GLOBAL(GCC_pop_shmedia_regs) - FUNC(GLOBAL(GCC_pop_shmedia_regs)) -GLOBAL(GCC_pop_shmedia_regs): - pt .L0, tr1 - movi 41*8, r0 - fld.d r15, 40*8, dr62 - fld.d r15, 39*8, dr60 - fld.d r15, 38*8, dr58 - fld.d r15, 37*8, dr56 - fld.d r15, 36*8, dr54 - fld.d r15, 35*8, dr52 - fld.d r15, 34*8, dr50 - fld.d r15, 33*8, dr48 - fld.d r15, 32*8, dr46 - fld.d r15, 31*8, dr44 - fld.d r15, 30*8, dr42 - fld.d r15, 29*8, dr40 - fld.d r15, 28*8, dr38 - fld.d r15, 27*8, dr36 - blink tr1, r63 -#else /* ! __SH4_NOFPU__ */ - .global GLOBAL(GCC_pop_shmedia_regs_nofpu) - FUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu)) -GLOBAL(GCC_pop_shmedia_regs_nofpu): -#endif /* ! __SH4_NOFPU__ */ - movi 27*8, r0 -.L0: - ptabs r18, tr0 - ld.q r15, 26*8, r62 - ld.q r15, 25*8, r61 - ld.q r15, 24*8, r60 - ptabs r62, tr7 - ptabs r61, tr6 - ptabs r60, tr5 - ld.q r15, 23*8, r59 - ld.q r15, 22*8, r58 - ld.q r15, 21*8, r57 - ld.q r15, 20*8, r56 - ld.q r15, 19*8, r55 - ld.q r15, 18*8, r54 - ld.q r15, 17*8, r53 - ld.q r15, 16*8, r52 - ld.q r15, 15*8, r51 - ld.q r15, 14*8, r50 - ld.q r15, 13*8, r49 - ld.q r15, 12*8, r48 - ld.q r15, 11*8, r47 - ld.q r15, 10*8, r46 - ld.q r15, 9*8, r45 - ld.q r15, 8*8, r44 - ld.q r15, 7*8, r35 - ld.q r15, 6*8, r34 - ld.q r15, 5*8, r33 - ld.q r15, 4*8, r32 - ld.q r15, 3*8, r31 - ld.q r15, 2*8, r30 - ld.q r15, 1*8, r29 - ld.q r15, 0*8, r28 - add.l r15, r0, r15 - blink tr0, r63 - -#ifndef __SH4_NOFPU__ - ENDFUNC(GLOBAL(GCC_pop_shmedia_regs)) -#else - ENDFUNC(GLOBAL(GCC_pop_shmedia_regs_nofpu)) -#endif -#endif /* __SH5__ == 32 */ -#endif /* L_push_pop_shmedia_regs */ #ifdef L_div_table -#if __SH5__ -#if defined(__pic__) && __SHMEDIA__ - .global GLOBAL(sdivsi3) - FUNC(GLOBAL(sdivsi3)) -#if __SH5__ == 32 - .section .text..SHmedia32,"ax" -#else - .text -#endif -#if 0 -/* ??? FIXME: Presumably due to a linker bug, exporting data symbols - in a text section does not work (at least for shared libraries): - the linker sets the LSB of the address as if this was SHmedia code. */ -#define TEXT_DATA_BUG -#endif - .align 2 - // inputs: r4,r5 - // clobbered: r1,r18,r19,r20,r21,r25,tr0 - // result in r0 - .global GLOBAL(sdivsi3) -GLOBAL(sdivsi3): -#ifdef TEXT_DATA_BUG - ptb datalabel Local_div_table,tr0 -#else - ptb GLOBAL(div_table_internal),tr0 -#endif - nsb r5, r1 - shlld r5, r1, r25 // normalize; [-2 ..1, 1..2) in s2.62 - shari r25, 58, r21 // extract 5(6) bit index (s2.4 with hole -1..1) - /* bubble */ - gettr tr0,r20 - ldx.ub r20, r21, r19 // u0.8 - shari r25, 32, r25 // normalize to s2.30 - shlli r21, 1, r21 - muls.l r25, r19, r19 // s2.38 - ldx.w r20, r21, r21 // s2.14 - ptabs r18, tr0 - shari r19, 24, r19 // truncate to s2.14 - sub r21, r19, r19 // some 11 bit inverse in s1.14 - muls.l r19, r19, r21 // u0.28 - sub r63, r1, r1 - addi r1, 92, r1 - muls.l r25, r21, r18 // s2.58 - shlli r19, 45, r19 // multiply by two and convert to s2.58 - /* bubble */ - sub r19, r18, r18 - shari r18, 28, r18 // some 22 bit inverse in s1.30 - muls.l r18, r25, r0 // s2.60 - muls.l r18, r4, r25 // s32.30 - /* bubble */ - shari r0, 16, r19 // s-16.44 - muls.l r19, r18, r19 // s-16.74 - shari r25, 63, r0 - shari r4, 14, r18 // s19.-14 - shari r19, 30, r19 // s-16.44 - muls.l r19, r18, r19 // s15.30 - xor r21, r0, r21 // You could also use the constant 1 << 27. - add r21, r25, r21 - sub r21, r19, r21 - shard r21, r1, r21 - sub r21, r0, r0 - blink tr0, r63 - ENDFUNC(GLOBAL(sdivsi3)) -/* This table has been generated by divtab.c . -Defects for bias -330: - Max defect: 6.081536e-07 at -1.000000e+00 - Min defect: 2.849516e-08 at 1.030651e+00 - Max 2nd step defect: 9.606539e-12 at -1.000000e+00 - Min 2nd step defect: 0.000000e+00 at 0.000000e+00 - Defect at 1: 1.238659e-07 - Defect at -2: 1.061708e-07 */ -#else /* ! __pic__ || ! __SHMEDIA__ */ - .section .rodata -#endif /* __pic__ */ -#if defined(TEXT_DATA_BUG) && defined(__pic__) && __SHMEDIA__ - .balign 2 - .type Local_div_table,@object - .size Local_div_table,128 -/* negative division constants */ - .word -16638 - .word -17135 - .word -17737 - .word -18433 - .word -19103 - .word -19751 - .word -20583 - .word -21383 - .word -22343 - .word -23353 - .word -24407 - .word -25582 - .word -26863 - .word -28382 - .word -29965 - .word -31800 -/* negative division factors */ - .byte 66 - .byte 70 - .byte 75 - .byte 81 - .byte 87 - .byte 93 - .byte 101 - .byte 109 - .byte 119 - .byte 130 - .byte 142 - .byte 156 - .byte 172 - .byte 192 - .byte 214 - .byte 241 - .skip 16 -Local_div_table: - .skip 16 -/* positive division factors */ - .byte 241 - .byte 214 - .byte 192 - .byte 172 - .byte 156 - .byte 142 - .byte 130 - .byte 119 - .byte 109 - .byte 101 - .byte 93 - .byte 87 - .byte 81 - .byte 75 - .byte 70 - .byte 66 -/* positive division constants */ - .word 31801 - .word 29966 - .word 28383 - .word 26864 - .word 25583 - .word 24408 - .word 23354 - .word 22344 - .word 21384 - .word 20584 - .word 19752 - .word 19104 - .word 18434 - .word 17738 - .word 17136 - .word 16639 - .section .rodata -#endif /* TEXT_DATA_BUG */ - .balign 2 - .type GLOBAL(div_table),@object - .size GLOBAL(div_table),128 -/* negative division constants */ - .word -16638 - .word -17135 - .word -17737 - .word -18433 - .word -19103 - .word -19751 - .word -20583 - .word -21383 - .word -22343 - .word -23353 - .word -24407 - .word -25582 - .word -26863 - .word -28382 - .word -29965 - .word -31800 -/* negative division factors */ - .byte 66 - .byte 70 - .byte 75 - .byte 81 - .byte 87 - .byte 93 - .byte 101 - .byte 109 - .byte 119 - .byte 130 - .byte 142 - .byte 156 - .byte 172 - .byte 192 - .byte 214 - .byte 241 - .skip 16 - .global GLOBAL(div_table) -GLOBAL(div_table): - HIDDEN_ALIAS(div_table_internal,div_table) - .skip 16 -/* positive division factors */ - .byte 241 - .byte 214 - .byte 192 - .byte 172 - .byte 156 - .byte 142 - .byte 130 - .byte 119 - .byte 109 - .byte 101 - .byte 93 - .byte 87 - .byte 81 - .byte 75 - .byte 70 - .byte 66 -/* positive division constants */ - .word 31801 - .word 29966 - .word 28383 - .word 26864 - .word 25583 - .word 24408 - .word 23354 - .word 22344 - .word 21384 - .word 20584 - .word 19752 - .word 19104 - .word 18434 - .word 17738 - .word 17136 - .word 16639 - -#elif defined (__SH2A__) || defined (__SH3__) || defined (__SH3E__) || defined (__SH4__) || defined (__SH4_SINGLE__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH4_NOFPU__) + +#if defined (__SH2A__) || defined (__SH3__) || defined (__SH3E__) || defined (__SH4__) || defined (__SH4_SINGLE__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH4_NOFPU__) /* This code uses shld, thus is not suitable for SH1 / SH2. */ /* Signed / unsigned division without use of FPU, optimized for SH4. @@ -3999,7 +2247,6 @@ LOCAL(div_table_inv): #endif /* L_div_table */ #ifdef L_udiv_qrnnd_16 -#if !__SHMEDIA__ HIDDEN_FUNC(GLOBAL(udiv_qrnnd_16)) /* r0: rn r1: qn */ /* r0: n1 r4: n0 r5: d r6: d1 */ /* r2: __m */ /* n1 < d, but n1 might be larger than d1. */ @@ -4043,5 +2290,4 @@ GLOBAL(udiv_qrnnd_16): 0: rts nop ENDFUNC(GLOBAL(udiv_qrnnd_16)) -#endif /* !__SHMEDIA__ */ #endif /* L_udiv_qrnnd_16 */ diff --git a/libgcc/config/sh/lib1funcs.h b/libgcc/config/sh/lib1funcs.h index 32c7b34f3f..64d764eda8 100644 --- a/libgcc/config/sh/lib1funcs.h +++ b/libgcc/config/sh/lib1funcs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2016 Free Software Foundation, Inc. +/* Copyright (C) 1994-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/libgcc/config/sh/libgcc-glibc.ver b/libgcc/config/sh/libgcc-glibc.ver index 86cd2833f8..ffa7032f8a 100644 --- a/libgcc/config/sh/libgcc-glibc.ver +++ b/libgcc/config/sh/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2016 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/sh/linux-atomic.c b/libgcc/config/sh/linux-atomic.c index 1f21aae4aa..da14322292 100644 --- a/libgcc/config/sh/linux-atomic.c +++ b/libgcc/config/sh/linux-atomic.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h index e389cacaab..1038caeb5c 100644 --- a/libgcc/config/sh/linux-unwind.h +++ b/libgcc/config/sh/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for SH Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -33,14 +33,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include <sys/ucontext.h> #include "insn-constants.h" -# if defined (__SH5__) -#define SH_DWARF_FRAME_GP0 0 -#define SH_DWARF_FRAME_FP0 77 -#define SH_DWARF_FRAME_BT0 68 -#define SH_DWARF_FRAME_PR_MEDIA 18 -#define SH_DWARF_FRAME_SR 65 -#define SH_DWARF_FRAME_FPSCR 76 -#else #define SH_DWARF_FRAME_GP0 0 #define SH_DWARF_FRAME_FP0 25 #define SH_DWARF_FRAME_XD0 87 @@ -52,96 +44,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #define SH_DWARF_FRAME_SR 22 #define SH_DWARF_FRAME_FPUL 23 #define SH_DWARF_FRAME_FPSCR 24 -#endif /* defined (__SH5__) */ - -#if defined (__SH5__) - -#define MD_FALLBACK_FRAME_STATE_FOR shmedia_fallback_frame_state - -static _Unwind_Reason_Code -shmedia_fallback_frame_state (struct _Unwind_Context *context, - _Unwind_FrameState *fs) -{ - unsigned char *pc = context->ra; - struct sigcontext *sc; - long new_cfa; - int i, r; - - /* movi 0x10,r9; shori 0x77,r9; trapa r9; nop (sigreturn) */ - /* movi 0x10,r9; shori 0xad,r9; trapa r9; nop (rt_sigreturn) */ - if ((*(unsigned long *) (pc-1) == 0xcc004090) - && (*(unsigned long *) (pc+3) == 0xc801dc90) - && (*(unsigned long *) (pc+7) == 0x6c91fff0) - && (*(unsigned long *) (pc+11) == 0x6ff0fff0)) - sc = context->cfa; - else if ((*(unsigned long *) (pc-1) == 0xcc004090) - && (*(unsigned long *) (pc+3) == 0xc802b490) - && (*(unsigned long *) (pc+7) == 0x6c91fff0) - && (*(unsigned long *) (pc+11) == 0x6ff0fff0)) - { - struct rt_sigframe { - siginfo_t *pinfo; - void *puc; - siginfo_t info; - struct ucontext uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem - because it does not alias anything. */ - sc = (struct sigcontext *) (void *) &rt_->uc.uc_mcontext; - } - else - return _URC_END_OF_STACK; - - new_cfa = sc->sc_regs[15]; - fs->regs.cfa_how = CFA_REG_OFFSET; - fs->regs.cfa_reg = 15; - fs->regs.cfa_offset = new_cfa - (long) context->cfa; - - for (i = 0; i < 63; i++) - { - if (i == 15) - continue; - - fs->regs.reg[i].how = REG_SAVED_OFFSET; - fs->regs.reg[i].loc.offset - = (long)&(sc->sc_regs[i]) - new_cfa; - } - - fs->regs.reg[SH_DWARF_FRAME_SR].how = REG_SAVED_OFFSET; - fs->regs.reg[SH_DWARF_FRAME_SR].loc.offset - = (long)&(sc->sc_sr) - new_cfa; - - r = SH_DWARF_FRAME_BT0; - for (i = 0; i < 8; i++) - { - fs->regs.reg[r+i].how = REG_SAVED_OFFSET; - fs->regs.reg[r+i].loc.offset - = (long)&(sc->sc_tregs[i]) - new_cfa; - } - - r = SH_DWARF_FRAME_FP0; - for (i = 0; i < 32; i++) - { - fs->regs.reg[r+i].how = REG_SAVED_OFFSET; - fs->regs.reg[r+i].loc.offset - = (long)&(sc->sc_fpregs[i]) - new_cfa; - } - - fs->regs.reg[SH_DWARF_FRAME_FPSCR].how = REG_SAVED_OFFSET; - fs->regs.reg[SH_DWARF_FRAME_FPSCR].loc.offset - = (long)&(sc->sc_fpscr) - new_cfa; - - /* We use the slot for the zero register to save return address. */ - fs->regs.reg[63].how = REG_SAVED_OFFSET; - fs->regs.reg[63].loc.offset - = (long)&(sc->sc_pc) - new_cfa; - fs->retaddr_column = 63; - fs->signal_frame = 1; - return _URC_NO_REASON; -} - -#else /* defined (__SH5__) */ #define MD_FALLBACK_FRAME_STATE_FOR sh_fallback_frame_state @@ -250,6 +152,5 @@ sh_fallback_frame_state (struct _Unwind_Context *context, fs->signal_frame = 1; return _URC_NO_REASON; } -#endif /* defined (__SH5__) */ #endif /* inhibit_libc */ diff --git a/libgcc/config/sh/t-sh b/libgcc/config/sh/t-sh index f4567c46c8..10869c47c9 100644 --- a/libgcc/config/sh/t-sh +++ b/libgcc/config/sh/t-sh @@ -1,4 +1,4 @@ -# Copyright (C) 1993-2016 Free Software Foundation, Inc. +# Copyright (C) 1993-2017 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -45,7 +45,7 @@ sdivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.S $(gcc_compile) -c -DL_sdivsi3_i4i $< udivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.S $(gcc_compile) -c -DL_udivsi3_i4i $< -unwind-dw2-Os-4-200.o: $(srcdir)/unwind-dw2.c +unwind-dw2-Os-4-200.o: $(srcdir)/unwind-dw2.c $(LIBGCC_LINKS) $(gcc_compile) $(LIBGCC2_CFLAGS) $(vis_hide) -fexceptions -Os -c $< OBJS_Os_4_200=sdivsi3_i4i-Os-4-200.o udivsi3_i4i-Os-4-200.o unwind-dw2-Os-4-200.o diff --git a/libgcc/config/sh/t-sh64 b/libgcc/config/sh/t-sh64 deleted file mode 100644 index fa9950e03b..0000000000 --- a/libgcc/config/sh/t-sh64 +++ /dev/null @@ -1,6 +0,0 @@ -LIB1ASMFUNCS = \ - _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \ - _shcompact_call_trampoline _shcompact_return_trampoline \ - _shcompact_incoming_args _ic_invalidate _nested_trampoline \ - _push_pop_shmedia_regs \ - _udivdi3 _divdi3 _umoddi3 _moddi3 _div_table diff --git a/libgcc/config/sol2/crtp.c b/libgcc/config/sol2/crtp.c index 38b33c15cd..63f07387f6 100644 --- a/libgcc/config/sol2/crtp.c +++ b/libgcc/config/sol2/crtp.c @@ -1,5 +1,5 @@ /* Dummy _mcount when mixing profiling and non-profiling objects. - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/sol2/crtpg.c b/libgcc/config/sol2/crtpg.c index 38ee21cc9b..dcebfcdcdf 100644 --- a/libgcc/config/sol2/crtpg.c +++ b/libgcc/config/sol2/crtpg.c @@ -1,5 +1,5 @@ /* Register profiling startup and cleanup with Solaris CRTs. - Copyright (C) 2015-2016 Free Software Foundation, Inc. + Copyright (C) 2015-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/sol2/t-sol2 b/libgcc/config/sol2/t-sol2 index 31b6f2364e..70c8861e6e 100644 --- a/libgcc/config/sol2/t-sol2 +++ b/libgcc/config/sol2/t-sol2 @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2016 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/sparc/crtfastmath.c b/libgcc/config/sparc/crtfastmath.c index 24bcb45cd1..71424cfdd2 100644 --- a/libgcc/config/sparc/crtfastmath.c +++ b/libgcc/config/sparc/crtfastmath.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2001-2016 Free Software Foundation, Inc. + * Copyright (C) 2001-2017 Free Software Foundation, Inc. * Contributed by David S. Miller (davem@redhat.com) * * This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/sparc/crti.S b/libgcc/config/sparc/crti.S index b3d36519f2..4336cb09cd 100644 --- a/libgcc/config/sparc/crti.S +++ b/libgcc/config/sparc/crti.S @@ -1,6 +1,6 @@ ! crti.S for SPARC -! Copyright (C) 1992-2016 Free Software Foundation, Inc. +! Copyright (C) 1992-2017 Free Software Foundation, Inc. ! Written By David Vinayak Henkel-Wallace, June 1992 ! ! This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/sparc/crtn.S b/libgcc/config/sparc/crtn.S index a46a3367e5..bab84d91f7 100644 --- a/libgcc/config/sparc/crtn.S +++ b/libgcc/config/sparc/crtn.S @@ -1,6 +1,6 @@ ! crtn.S for SPARC -! Copyright (C) 1992-2016 Free Software Foundation, Inc. +! Copyright (C) 1992-2017 Free Software Foundation, Inc. ! Written By David Vinayak Henkel-Wallace, June 1992 ! ! This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/sparc/libgcc-glibc.ver b/libgcc/config/sparc/libgcc-glibc.ver index 38c22cb05f..16cd404322 100644 --- a/libgcc/config/sparc/libgcc-glibc.ver +++ b/libgcc/config/sparc/libgcc-glibc.ver @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2016 Free Software Foundation, Inc. +# Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/sparc/linux-unwind.h b/libgcc/config/sparc/linux-unwind.h index 098c145f2d..2dfb67b64d 100644 --- a/libgcc/config/sparc/linux-unwind.h +++ b/libgcc/config/sparc/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for SPARC Linux. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/sparc/sol2-c1.S b/libgcc/config/sparc/sol2-c1.S index c65a3a4115..856932636c 100644 --- a/libgcc/config/sparc/sol2-c1.S +++ b/libgcc/config/sparc/sol2-c1.S @@ -1,6 +1,6 @@ ! crt1.s for sparc & sparcv9 (SunOS 5) -! Copyright (C) 1992-2016 Free Software Foundation, Inc. +! Copyright (C) 1992-2017 Free Software Foundation, Inc. ! Written By David Vinayak Henkel-Wallace, June 1992 ! ! This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/sparc/sol2-unwind.h b/libgcc/config/sparc/sol2-unwind.h index 6cb6d40aee..6a421baa39 100644 --- a/libgcc/config/sparc/sol2-unwind.h +++ b/libgcc/config/sparc/sol2-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for SPARC Solaris. - Copyright (C) 2009-2016 Free Software Foundation, Inc. + Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/cache.S b/libgcc/config/spu/cache.S index a712c01775..f93ed8ccfe 100644 --- a/libgcc/config/spu/cache.S +++ b/libgcc/config/spu/cache.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/cachemgr.c b/libgcc/config/spu/cachemgr.c index ced9100c15..d8701f0827 100644 --- a/libgcc/config/spu/cachemgr.c +++ b/libgcc/config/spu/cachemgr.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/divmodti4.c b/libgcc/config/spu/divmodti4.c index cb03262bf2..7400e2151c 100644 --- a/libgcc/config/spu/divmodti4.c +++ b/libgcc/config/spu/divmodti4.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/spu/divv2df3.c b/libgcc/config/spu/divv2df3.c index 58a857ae37..cbaeb3a78e 100644 --- a/libgcc/config/spu/divv2df3.c +++ b/libgcc/config/spu/divv2df3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/spu/float_disf.c b/libgcc/config/spu/float_disf.c index 239f527b03..f4a5601fdf 100644 --- a/libgcc/config/spu/float_disf.c +++ b/libgcc/config/spu/float_disf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/spu/float_unsdidf.c b/libgcc/config/spu/float_unsdidf.c index d468744979..3927171716 100644 --- a/libgcc/config/spu/float_unsdidf.c +++ b/libgcc/config/spu/float_unsdidf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2016 Free Software Foundation, Inc. +/* Copyright (C) 2006-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/spu/float_unsdisf.c b/libgcc/config/spu/float_unsdisf.c index b38bd80797..613de94e70 100644 --- a/libgcc/config/spu/float_unsdisf.c +++ b/libgcc/config/spu/float_unsdisf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/spu/float_unssidf.c b/libgcc/config/spu/float_unssidf.c index 159fa0293b..c816362cae 100644 --- a/libgcc/config/spu/float_unssidf.c +++ b/libgcc/config/spu/float_unssidf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2016 Free Software Foundation, Inc. +/* Copyright (C) 2006-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/spu/mfc_multi_tag_release.c b/libgcc/config/spu/mfc_multi_tag_release.c index b34c056ed9..8979a1863d 100644 --- a/libgcc/config/spu/mfc_multi_tag_release.c +++ b/libgcc/config/spu/mfc_multi_tag_release.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/mfc_multi_tag_reserve.c b/libgcc/config/spu/mfc_multi_tag_reserve.c index 6ad9330cc6..3187118111 100644 --- a/libgcc/config/spu/mfc_multi_tag_reserve.c +++ b/libgcc/config/spu/mfc_multi_tag_reserve.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/mfc_tag_release.c b/libgcc/config/spu/mfc_tag_release.c index 710ed4ac5d..2ccc4455e2 100644 --- a/libgcc/config/spu/mfc_tag_release.c +++ b/libgcc/config/spu/mfc_tag_release.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/mfc_tag_reserve.c b/libgcc/config/spu/mfc_tag_reserve.c index 3b8c4b16c1..bf1d2ff21e 100644 --- a/libgcc/config/spu/mfc_tag_reserve.c +++ b/libgcc/config/spu/mfc_tag_reserve.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/mfc_tag_table.c b/libgcc/config/spu/mfc_tag_table.c index 2f25793524..f5e4650f81 100644 --- a/libgcc/config/spu/mfc_tag_table.c +++ b/libgcc/config/spu/mfc_tag_table.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2016 Free Software Foundation, Inc. +/* Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/spu/multi3.c b/libgcc/config/spu/multi3.c index ebac38b043..3c3270f520 100644 --- a/libgcc/config/spu/multi3.c +++ b/libgcc/config/spu/multi3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/libgcc/config/stormy16/lib2funcs.c b/libgcc/config/stormy16/lib2funcs.c index 27a04b1f33..ac0291315b 100644 --- a/libgcc/config/stormy16/lib2funcs.c +++ b/libgcc/config/stormy16/lib2funcs.c @@ -4,7 +4,7 @@ files. On this glorious day maybe this code can be integrated into it too. */ -/* Copyright (C) 2005-2016 Free Software Foundation, Inc. +/* Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/stormy16/t-stormy16 b/libgcc/config/stormy16/t-stormy16 index 9a5c8a6d79..e7ae4431c8 100644 --- a/libgcc/config/stormy16/t-stormy16 +++ b/libgcc/config/stormy16/t-stormy16 @@ -1,6 +1,6 @@ # -*- makefile -*- # -# Copyright (C) 2001-2016 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/t-darwin b/libgcc/config/t-darwin index a69169fa61..13ca6ed99d 100644 --- a/libgcc/config/t-darwin +++ b/libgcc/config/t-darwin @@ -1,3 +1,7 @@ +# Set this as a minimum (unless overriden by arch t-files) since it's a +# reasonable lowest common denominator that works for all our archs. +HOST_LIBGCC2_CFLAGS += -mmacosx-version-min=10.5 + crt3.o: $(srcdir)/config/darwin-crt3.c $(crt_compile) $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) -c $< diff --git a/libgcc/config/t-hardfp b/libgcc/config/t-hardfp index 443f618a4d..c94bfb0a9f 100644 --- a/libgcc/config/t-hardfp +++ b/libgcc/config/t-hardfp @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2016 Free Software Foundation, Inc. +# Copyright (C) 2014-2017 Free Software Foundation, Inc. # This file is part of GCC. diff --git a/libgcc/config/t-hardfp-sfdf b/libgcc/config/t-hardfp-sfdf index 7878ded16c..1e4bc25028 100644 --- a/libgcc/config/t-hardfp-sfdf +++ b/libgcc/config/t-hardfp-sfdf @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2016 Free Software Foundation, Inc. +# Copyright (C) 2014-2017 Free Software Foundation, Inc. # This file is part of GCC. diff --git a/libgcc/config/t-libunwind-elf b/libgcc/config/t-libunwind-elf index cfde66e190..84ebff5a8d 100644 --- a/libgcc/config/t-libunwind-elf +++ b/libgcc/config/t-libunwind-elf @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2016 Free Software Foundation, Inc. +# Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc index 8c5f890721..76be771096 100644 --- a/libgcc/config/t-slibgcc +++ b/libgcc/config/t-slibgcc @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2016 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/t-slibgcc-libgcc b/libgcc/config/t-slibgcc-libgcc index f7d0bff0e1..0896eaefaa 100644 --- a/libgcc/config/t-slibgcc-libgcc +++ b/libgcc/config/t-slibgcc-libgcc @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2016 Free Software Foundation, Inc. +# Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/t-softfp b/libgcc/config/t-softfp index 897c79c3c2..be6f0ef8e1 100644 --- a/libgcc/config/t-softfp +++ b/libgcc/config/t-softfp @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2016 Free Software Foundation, Inc. +# Copyright (C) 2006-2017 Free Software Foundation, Inc. # This file is part of GCC. diff --git a/libgcc/config/tilepro/atomic.c b/libgcc/config/tilepro/atomic.c index 87665f7ecc..c33e84a22b 100644 --- a/libgcc/config/tilepro/atomic.c +++ b/libgcc/config/tilepro/atomic.c @@ -1,5 +1,5 @@ /* TILE atomics. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Walter Lee (walt@tilera.com) This file is free software; you can redistribute it and/or modify it @@ -33,11 +33,11 @@ static inline void pre_atomic_barrier (int model) { - switch ((enum memmodel) model) + switch (model) { - case MEMMODEL_RELEASE: - case MEMMODEL_ACQ_REL: - case MEMMODEL_SEQ_CST: + case __ATOMIC_RELEASE: + case __ATOMIC_ACQ_REL: + case __ATOMIC_SEQ_CST: __atomic_thread_fence (model); break; default: @@ -49,11 +49,11 @@ pre_atomic_barrier (int model) static inline void post_atomic_barrier (int model) { - switch ((enum memmodel) model) + switch (model) { - case MEMMODEL_ACQUIRE: - case MEMMODEL_ACQ_REL: - case MEMMODEL_SEQ_CST: + case __ATOMIC_ACQUIRE: + case __ATOMIC_ACQ_REL: + case __ATOMIC_SEQ_CST: __atomic_thread_fence (model); break; default: diff --git a/libgcc/config/tilepro/atomic.h b/libgcc/config/tilepro/atomic.h index 78fa9a9df5..078ace01cc 100644 --- a/libgcc/config/tilepro/atomic.h +++ b/libgcc/config/tilepro/atomic.h @@ -1,5 +1,5 @@ /* Macros for atomic functionality for tile. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Walter Lee (walt@tilera.com) This file is free software; you can redistribute it and/or modify it @@ -93,9 +93,11 @@ #endif #ifdef __tilegx__ -#include <arch/spr_def.h> +#define SPR_CMPEXCH_VALUE 0x2780 #else -#include <asm/unistd.h> +#define __NR_FAST_cmpxchg -1 +#define __NR_FAST_atomic_update -2 +#define __NR_FAST_cmpxchg64 -3 #endif diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h index 796e97620b..a8dc440571 100644 --- a/libgcc/config/tilepro/linux-unwind.h +++ b/libgcc/config/tilepro/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for TILEPro. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Walter Lee (walt@tilera.com) This file is part of GCC. diff --git a/libgcc/config/tilepro/softdivide.c b/libgcc/config/tilepro/softdivide.c index f6986a5c74..19bbab5845 100644 --- a/libgcc/config/tilepro/softdivide.c +++ b/libgcc/config/tilepro/softdivide.c @@ -1,5 +1,5 @@ /* Division and remainder routines for Tile. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Walter Lee (walt@tilera.com) This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/tilepro/softmpy.S b/libgcc/config/tilepro/softmpy.S index ce1e4ec2da..d5e3ec8685 100644 --- a/libgcc/config/tilepro/softmpy.S +++ b/libgcc/config/tilepro/softmpy.S @@ -1,5 +1,5 @@ /* 64-bit multiplication support for TILEPro. - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Walter Lee (walt@tilera.com) This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/config/unwind-dw2-fde-darwin.c b/libgcc/config/unwind-dw2-fde-darwin.c index 04ae452a14..b80a3a9899 100644 --- a/libgcc/config/unwind-dw2-fde-darwin.c +++ b/libgcc/config/unwind-dw2-fde-darwin.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/v850/lib1funcs.S b/libgcc/config/v850/lib1funcs.S index 3aedfcae2e..175a6e77c6 100644 --- a/libgcc/config/v850/lib1funcs.S +++ b/libgcc/config/v850/lib1funcs.S @@ -1,5 +1,5 @@ /* libgcc routines for NEC V850. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/vax/lib1funcs.S b/libgcc/config/vax/lib1funcs.S index 7e050bd46f..5785a307ea 100644 --- a/libgcc/config/vax/lib1funcs.S +++ b/libgcc/config/vax/lib1funcs.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. This file is part of GCC. Contributed by Maciej W. Rozycki <macro@linux-mips.org>. diff --git a/libgcc/config/visium/crti.S b/libgcc/config/visium/crti.S index 2ec5f0d0e7..58228fb509 100644 --- a/libgcc/config/visium/crti.S +++ b/libgcc/config/visium/crti.S @@ -1,5 +1,5 @@ /* crti.S for Visium. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/crtn.S b/libgcc/config/visium/crtn.S index 4904a78c0f..f58bd68968 100644 --- a/libgcc/config/visium/crtn.S +++ b/libgcc/config/visium/crtn.S @@ -1,5 +1,5 @@ /* crtn.S for Visium. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/divdi3.c b/libgcc/config/visium/divdi3.c index 7cf241f171..cb30b1cb00 100644 --- a/libgcc/config/visium/divdi3.c +++ b/libgcc/config/visium/divdi3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/lib2funcs.c b/libgcc/config/visium/lib2funcs.c index 8fc09dfda4..8dcdab9511 100644 --- a/libgcc/config/visium/lib2funcs.c +++ b/libgcc/config/visium/lib2funcs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/memcpy.c b/libgcc/config/visium/memcpy.c index 294389a4fb..54496f5452 100644 --- a/libgcc/config/visium/memcpy.c +++ b/libgcc/config/visium/memcpy.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/memcpy.h b/libgcc/config/visium/memcpy.h index 04ef57c58a..4ef01740d3 100644 --- a/libgcc/config/visium/memcpy.h +++ b/libgcc/config/visium/memcpy.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/memset.c b/libgcc/config/visium/memset.c index 4609510786..210b4da0c1 100644 --- a/libgcc/config/visium/memset.c +++ b/libgcc/config/visium/memset.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/memset.h b/libgcc/config/visium/memset.h index 53f363204d..25d8079b65 100644 --- a/libgcc/config/visium/memset.h +++ b/libgcc/config/visium/memset.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/moddi3.c b/libgcc/config/visium/moddi3.c index 37b0f726f8..4ea549d871 100644 --- a/libgcc/config/visium/moddi3.c +++ b/libgcc/config/visium/moddi3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/set_trampoline_parity.c b/libgcc/config/visium/set_trampoline_parity.c index 61902ca273..a39ea3a369 100644 --- a/libgcc/config/visium/set_trampoline_parity.c +++ b/libgcc/config/visium/set_trampoline_parity.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/t-visium b/libgcc/config/visium/t-visium index 3b161dfe76..473dfee6a0 100644 --- a/libgcc/config/visium/t-visium +++ b/libgcc/config/visium/t-visium @@ -1,4 +1,4 @@ -# Copyright (C) 2003-2016 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/config/visium/udivdi3.c b/libgcc/config/visium/udivdi3.c index 6e33987dd9..9d0bc24a0c 100644 --- a/libgcc/config/visium/udivdi3.c +++ b/libgcc/config/visium/udivdi3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/udivmoddi4.c b/libgcc/config/visium/udivmoddi4.c index 1eff95c398..7f65172ee1 100644 --- a/libgcc/config/visium/udivmoddi4.c +++ b/libgcc/config/visium/udivmoddi4.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/visium/umoddi3.c b/libgcc/config/visium/umoddi3.c index 4022146c38..fbd080b377 100644 --- a/libgcc/config/visium/umoddi3.c +++ b/libgcc/config/visium/umoddi3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/vms/vms-ucrt0.c b/libgcc/config/vms/vms-ucrt0.c index cd8c1da806..8a8defee88 100644 --- a/libgcc/config/vms/vms-ucrt0.c +++ b/libgcc/config/vms/vms-ucrt0.c @@ -1,5 +1,5 @@ /* VMS crt0 returning Unix style condition codes. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by Douglas B. Rupp (rupp@gnat.com). This file is part of GCC. diff --git a/libgcc/config/vxlib-tls.c b/libgcc/config/vxlib-tls.c index 09b1ea05cb..bfae9fa8be 100644 --- a/libgcc/config/vxlib-tls.c +++ b/libgcc/config/vxlib-tls.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2016 Free Software Foundation, Inc. +/* Copyright (C) 2002-2017 Free Software Foundation, Inc. Contributed by Zack Weinberg <zack@codesourcery.com> This file is part of GCC. diff --git a/libgcc/config/vxlib.c b/libgcc/config/vxlib.c index 4ea32ca086..3cb8690789 100644 --- a/libgcc/config/vxlib.c +++ b/libgcc/config/vxlib.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2016 Free Software Foundation, Inc. +/* Copyright (C) 2002-2017 Free Software Foundation, Inc. Contributed by Zack Weinberg <zack@codesourcery.com> This file is part of GCC. diff --git a/libgcc/config/xtensa/crti.S b/libgcc/config/xtensa/crti.S index 026b93b8cc..58bb19ae5d 100644 --- a/libgcc/config/xtensa/crti.S +++ b/libgcc/config/xtensa/crti.S @@ -1,5 +1,5 @@ # Start .init and .fini sections. -# Copyright (C) 2003-2016 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by diff --git a/libgcc/config/xtensa/crtn.S b/libgcc/config/xtensa/crtn.S index 7dfc173800..27e5253b0b 100644 --- a/libgcc/config/xtensa/crtn.S +++ b/libgcc/config/xtensa/crtn.S @@ -1,5 +1,5 @@ # End of .init and .fini sections. -# Copyright (C) 2003-2016 Free Software Foundation, Inc. +# Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by diff --git a/libgcc/config/xtensa/ieee754-df.S b/libgcc/config/xtensa/ieee754-df.S index 1d9ef468f0..bdd27e52b1 100644 --- a/libgcc/config/xtensa/ieee754-df.S +++ b/libgcc/config/xtensa/ieee754-df.S @@ -1,5 +1,5 @@ /* IEEE-754 double-precision functions for Xtensa - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. @@ -1217,8 +1217,58 @@ __muldf3: #ifdef L_divdf3 - .literal_position /* Division */ + +#if XCHAL_HAVE_DFP_DIV + + .text + .align 4 + .global __divdf3 + .type __divdf3, @function +__divdf3: + leaf_entry sp, 16 + + wfrd f1, xh, xl + wfrd f2, yh, yl + + div0.d f3, f2 + nexp01.d f4, f2 + const.d f0, 1 + maddn.d f0, f4, f3 + const.d f5, 0 + mov.d f7, f2 + mkdadj.d f7, f1 + maddn.d f3, f0, f3 + maddn.d f5, f0, f0 + nexp01.d f1, f1 + div0.d f2, f2 + maddn.d f3, f5, f3 + const.d f5, 1 + const.d f0, 0 + neg.d f6, f1 + maddn.d f5, f4, f3 + maddn.d f0, f6, f2 + maddn.d f3, f5, f3 + maddn.d f6, f4, f0 + const.d f2, 1 + maddn.d f2, f4, f3 + maddn.d f0, f6, f3 + neg.d f1, f1 + maddn.d f3, f2, f3 + maddn.d f1, f4, f0 + addexpm.d f0, f7 + addexp.d f3, f7 + divn.d f0, f1, f3 + + rfr xl, f0 + rfrd xh, f0 + + leaf_return + +#else + + .literal_position + __divdf3_aux: /* Handle unusual cases (zeros, subnormals, NaNs and Infinities). @@ -1537,6 +1587,8 @@ __divdf3: movi xl, 0 leaf_return +#endif /* XCHAL_HAVE_DFP_DIV */ + #endif /* L_divdf3 */ #ifdef L_cmpdf2 @@ -2388,3 +2440,127 @@ __extendsfdf2: #endif /* L_extendsfdf2 */ +#if XCHAL_HAVE_DFP_SQRT +#ifdef L_sqrt + + .text + .align 4 + .global __ieee754_sqrt + .type __ieee754_sqrt, @function +__ieee754_sqrt: + leaf_entry sp, 16 + + wfrd f1, xh, xl + + sqrt0.d f2, f1 + const.d f4, 0 + maddn.d f4, f2, f2 + nexp01.d f3, f1 + const.d f0, 3 + addexp.d f3, f0 + maddn.d f0, f4, f3 + nexp01.d f4, f1 + maddn.d f2, f0, f2 + const.d f5, 0 + maddn.d f5, f2, f3 + const.d f0, 3 + maddn.d f0, f5, f2 + neg.d f6, f4 + maddn.d f2, f0, f2 + const.d f0, 0 + const.d f5, 0 + const.d f7, 0 + maddn.d f0, f6, f2 + maddn.d f5, f2, f3 + const.d f3, 3 + maddn.d f7, f3, f2 + maddn.d f4, f0, f0 + maddn.d f3, f5, f2 + neg.d f2, f7 + maddn.d f0, f4, f2 + maddn.d f7, f3, f7 + mksadj.d f2, f1 + nexp01.d f1, f1 + maddn.d f1, f0, f0 + neg.d f3, f7 + addexpm.d f0, f2 + addexp.d f3, f2 + divn.d f0, f1, f3 + + rfr xl, f0 + rfrd xh, f0 + + leaf_return + +#endif /* L_sqrt */ +#endif /* XCHAL_HAVE_DFP_SQRT */ + +#if XCHAL_HAVE_DFP_RECIP +#ifdef L_recipdf2 + /* Reciprocal */ + + .align 4 + .global __recipdf2 + .type __recipdf2, @function +__recipdf2: + leaf_entry sp, 16 + + wfrd f1, xh, xl + + recip0.d f0, f1 + const.d f2, 2 + msub.d f2, f1, f0 + mul.d f3, f1, f0 + const.d f4, 2 + mul.d f5, f0, f2 + msub.d f4, f3, f2 + const.d f2, 1 + mul.d f0, f5, f4 + msub.d f2, f1, f0 + maddn.d f0, f0, f2 + + rfr xl, f0 + rfrd xh, f0 + + leaf_return + +#endif /* L_recipdf2 */ +#endif /* XCHAL_HAVE_DFP_RECIP */ + +#if XCHAL_HAVE_DFP_RSQRT +#ifdef L_rsqrtdf2 + /* Reciprocal square root */ + + .align 4 + .global __rsqrtdf2 + .type __rsqrtdf2, @function +__rsqrtdf2: + leaf_entry sp, 16 + + wfrd f1, xh, xl + + rsqrt0.d f0, f1 + mul.d f2, f1, f0 + const.d f3, 3 + mul.d f4, f3, f0 + const.d f5, 1 + msub.d f5, f2, f0 + maddn.d f0, f4, f5 + const.d f2, 1 + mul.d f4, f1, f0 + mul.d f5, f3, f0 + msub.d f2, f4, f0 + maddn.d f0, f5, f2 + const.d f2, 1 + mul.d f1, f1, f0 + mul.d f3, f3, f0 + msub.d f2, f1, f0 + maddn.d f0, f3, f2 + + rfr xl, f0 + rfrd xh, f0 + + leaf_return + +#endif /* L_rsqrtdf2 */ +#endif /* XCHAL_HAVE_DFP_RSQRT */ diff --git a/libgcc/config/xtensa/ieee754-sf.S b/libgcc/config/xtensa/ieee754-sf.S index 7864a74eef..a61aba94b5 100644 --- a/libgcc/config/xtensa/ieee754-sf.S +++ b/libgcc/config/xtensa/ieee754-sf.S @@ -1,5 +1,5 @@ /* IEEE-754 single-precision functions for Xtensa - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. @@ -885,8 +885,52 @@ __mulsf3: #ifdef L_divsf3 - .literal_position /* Division */ + +#if XCHAL_HAVE_FP_DIV + + .align 4 + .global __divsf3 + .type __divsf3, @function +__divsf3: + leaf_entry sp, 16 + + wfr f1, a2 /* dividend */ + wfr f2, a3 /* divisor */ + + div0.s f3, f2 + nexp01.s f4, f2 + const.s f5, 1 + maddn.s f5, f4, f3 + mov.s f6, f3 + mov.s f7, f2 + nexp01.s f2, f1 + maddn.s f6, f5, f6 + const.s f5, 1 + const.s f0, 0 + neg.s f8, f2 + maddn.s f5, f4, f6 + maddn.s f0, f8, f3 + mkdadj.s f7, f1 + maddn.s f6, f5, f6 + maddn.s f8, f4, f0 + const.s f3, 1 + maddn.s f3, f4, f6 + maddn.s f0, f8, f6 + neg.s f2, f2 + maddn.s f6, f3, f6 + maddn.s f2, f4, f0 + addexpm.s f0, f7 + addexp.s f6, f7 + divn.s f0, f2, f6 + + rfr a2, f0 + + leaf_return + +#else + + .literal_position __divsf3_aux: /* Handle unusual cases (zeros, subnormals, NaNs and Infinities). @@ -1112,6 +1156,8 @@ __divsf3: slli a2, a2, 31 leaf_return +#endif /* XCHAL_HAVE_FP_DIV */ + #endif /* L_divsf3 */ #ifdef L_cmpsf2 @@ -1757,3 +1803,111 @@ __floatdisf: leaf_return #endif /* L_floatdisf */ + +#if XCHAL_HAVE_FP_SQRT +#ifdef L_sqrtf + /* Square root */ + + .align 4 + .global __ieee754_sqrtf + .type __ieee754_sqrtf, @function +__ieee754_sqrtf: + leaf_entry sp, 16 + + wfr f1, a2 + + sqrt0.s f2, f1 + const.s f3, 0 + maddn.s f3, f2, f2 + nexp01.s f4, f1 + const.s f0, 3 + addexp.s f4, f0 + maddn.s f0, f3, f4 + nexp01.s f3, f1 + neg.s f5, f3 + maddn.s f2, f0, f2 + const.s f0, 0 + const.s f6, 0 + const.s f7, 0 + maddn.s f0, f5, f2 + maddn.s f6, f2, f4 + const.s f4, 3 + maddn.s f7, f4, f2 + maddn.s f3, f0, f0 + maddn.s f4, f6, f2 + neg.s f2, f7 + maddn.s f0, f3, f2 + maddn.s f7, f4, f7 + mksadj.s f2, f1 + nexp01.s f1, f1 + maddn.s f1, f0, f0 + neg.s f3, f7 + addexpm.s f0, f2 + addexp.s f3, f2 + divn.s f0, f1, f3 + + rfr a2, f0 + + leaf_return + +#endif /* L_sqrtf */ +#endif /* XCHAL_HAVE_FP_SQRT */ + +#if XCHAL_HAVE_FP_RECIP +#ifdef L_recipsf2 + /* Reciprocal */ + + .align 4 + .global __recipsf2 + .type __recipsf2, @function +__recipsf2: + leaf_entry sp, 16 + + wfr f1, a2 + + recip0.s f0, f1 + const.s f2, 1 + msub.s f2, f1, f0 + maddn.s f0, f0, f2 + const.s f2, 1 + msub.s f2, f1, f0 + maddn.s f0, f0, f2 + + rfr a2, f0 + + leaf_return + +#endif /* L_recipsf2 */ +#endif /* XCHAL_HAVE_FP_RECIP */ + +#if XCHAL_HAVE_FP_RSQRT +#ifdef L_rsqrtsf2 + /* Reciprocal square root */ + + .align 4 + .global __rsqrtsf2 + .type __rsqrtsf2, @function +__rsqrtsf2: + leaf_entry sp, 16 + + wfr f1, a2 + + rsqrt0.s f0, f1 + mul.s f2, f1, f0 + const.s f3, 3; + mul.s f4, f3, f0 + const.s f5, 1 + msub.s f5, f2, f0 + maddn.s f0, f4, f5 + mul.s f2, f1, f0 + mul.s f1, f3, f0 + const.s f3, 1 + msub.s f3, f2, f0 + maddn.s f0, f1, f3 + + rfr a2, f0 + + leaf_return + +#endif /* L_rsqrtsf2 */ +#endif /* XCHAL_HAVE_FP_RSQRT */ diff --git a/libgcc/config/xtensa/lib1funcs.S b/libgcc/config/xtensa/lib1funcs.S index 87f1406279..e0ea2dccc4 100644 --- a/libgcc/config/xtensa/lib1funcs.S +++ b/libgcc/config/xtensa/lib1funcs.S @@ -1,5 +1,5 @@ /* Assembly functions for the Xtensa version of libgcc1. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. diff --git a/libgcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S index 606246aa4f..2e047a8334 100644 --- a/libgcc/config/xtensa/lib2funcs.S +++ b/libgcc/config/xtensa/lib2funcs.S @@ -1,5 +1,5 @@ /* Assembly functions for libgcc2. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h index 9872492acc..67c272820d 100644 --- a/libgcc/config/xtensa/linux-unwind.h +++ b/libgcc/config/xtensa/linux-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Xtensa. - Copyright (C) 2008-2016 Free Software Foundation, Inc. + Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/xtensa/t-elf b/libgcc/config/xtensa/t-elf index 59d51210b9..967cf9bfa6 100644 --- a/libgcc/config/xtensa/t-elf +++ b/libgcc/config/xtensa/t-elf @@ -3,3 +3,5 @@ CRTSTUFF_T_CFLAGS += -mlongcalls CRTSTUFF_T_CFLAGS_S += -mlongcalls HOST_LIBGCC2_CFLAGS += -mlongcalls + +LIB2ADDEH_XTENSA_UNWIND_DW2_FDE = $(srcdir)/unwind-dw2-fde.c diff --git a/libgcc/config/xtensa/t-linux b/libgcc/config/xtensa/t-linux index 6f4ae89348..412eccae18 100644 --- a/libgcc/config/xtensa/t-linux +++ b/libgcc/config/xtensa/t-linux @@ -1 +1,3 @@ SHLIB_MAPFILES += $(srcdir)/config/xtensa/libgcc-glibc.ver + +LIB2ADDEH_XTENSA_UNWIND_DW2_FDE = $(srcdir)/unwind-dw2-fde-dip.c diff --git a/libgcc/config/xtensa/t-windowed b/libgcc/config/xtensa/t-windowed index a99156cc21..f140136277 100644 --- a/libgcc/config/xtensa/t-windowed +++ b/libgcc/config/xtensa/t-windowed @@ -1,2 +1,2 @@ LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ - $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c + $(LIB2ADDEH_XTENSA_UNWIND_DW2_FDE) $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c diff --git a/libgcc/config/xtensa/t-xtensa b/libgcc/config/xtensa/t-xtensa index ed3eb84a71..90df5f15da 100644 --- a/libgcc/config/xtensa/t-xtensa +++ b/libgcc/config/xtensa/t-xtensa @@ -4,10 +4,12 @@ LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 _udivsi3 _umodsi3 \ _ashldi3 _ashrdi3 _lshrdi3 \ _negsf2 _addsubsf3 _mulsf3 _divsf3 _cmpsf2 _fixsfsi _fixsfdi \ _fixunssfsi _fixunssfdi _floatsisf _floatunsisf \ + _sqrtf _recipsf2 _rsqrtsf2 \ _floatdisf _floatundisf \ _negdf2 _addsubdf3 _muldf3 _divdf3 _cmpdf2 _fixdfsi _fixdfdi \ _fixunsdfsi _fixunsdfdi _floatsidf _floatunsidf \ _floatdidf _floatundidf \ - _truncdfsf2 _extendsfdf2 + _truncdfsf2 _extendsfdf2 \ + _sqrt _recipdf2 _rsqrtdf2 LIB2ADD = $(srcdir)/config/xtensa/lib2funcs.S diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.c b/libgcc/config/xtensa/unwind-dw2-xtensa.c index d0278f4369..60b80bd0f7 100644 --- a/libgcc/config/xtensa/unwind-dw2-xtensa.c +++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c @@ -1,5 +1,5 @@ /* DWARF2 exception handling and frame unwinding for Xtensa. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/config/xtensa/unwind-dw2-xtensa.h b/libgcc/config/xtensa/unwind-dw2-xtensa.h index 7b99ffe9f8..0a2feb74c7 100644 --- a/libgcc/config/xtensa/unwind-dw2-xtensa.h +++ b/libgcc/config/xtensa/unwind-dw2-xtensa.h @@ -1,5 +1,5 @@ /* DWARF2 frame unwind data structure for Xtensa. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/configure b/libgcc/configure index e7d6c75a6f..45c459788c 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -555,9 +555,13 @@ ac_unique_file="static-object.mk" ac_includes_default='/* none */' ac_subst_vars='LTLIBOBJS LIBOBJS +md_unwind_header +unwind_header +enable_execute_stack asm_hidden_op extra_parts cpu_type +get_gcc_base_ver thread_header tm_defines tm_file @@ -673,6 +677,7 @@ with_system_libunwind enable_explicit_exception_frame_registration with_glibc_version enable_tls +with_gcc_major_version_only ' ac_precious_vars='build_alias host_alias @@ -1327,6 +1332,8 @@ Optional Packages: --with-system-libunwind use installed libunwind --with-glibc-version=M.N assume GCC used with glibc version M.N or later + --with-gcc-major-version-only + use only GCC major number in filesystem paths Some influential environment variables: CC C compiler command @@ -2306,7 +2313,7 @@ case "${host}" in # If we are using a compiler supporting mdynamic-no-pic # and the option has been tested as safe to add, then cancel # it here, since the code generated is incompatible with shared - # libs. + # libs. *-mdynamic-no-pic*) PICFLAG='-fno-common -mno-dynamic-no-pic' ;; *) PICFLAG=-fno-common ;; esac @@ -4772,6 +4779,8 @@ case ${host} in # software libraries, and whether the assembler can handle xsaddqp # for hardware support. powerpc*-*-linux*) + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mabi=altivec -mvsx -mfloat128" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PowerPC ISA 2.06 to build __float128 libraries" >&5 $as_echo_n "checking for PowerPC ISA 2.06 to build __float128 libraries... " >&6; } if test "${libgcc_cv_powerpc_float128+set}" = set; then : @@ -4779,8 +4788,7 @@ if test "${libgcc_cv_powerpc_float128+set}" = set; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#pragma GCC target ("vsx") - vector double dadd (vector double a, vector double b) { return a + b; } +vector double dadd (vector double a, vector double b) { return a + b; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : libgcc_cv_powerpc_float128=yes @@ -4792,6 +4800,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_float128" >&5 $as_echo "$libgcc_cv_powerpc_float128" >&6; } + CFLAGS="$CFLAGS -mpower9-vector -mfloat128-hardware" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PowerPC ISA 3.0 to build hardware __float128 libraries" >&5 $as_echo_n "checking for PowerPC ISA 3.0 to build hardware __float128 libraries... " >&6; } if test "${libgcc_cv_powerpc_float128_hw+set}" = set; then : @@ -4799,12 +4808,11 @@ if test "${libgcc_cv_powerpc_float128_hw+set}" = set; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#pragma GCC target ("vsx,power9-vector") - #include <sys/auxv.h> +#include <sys/auxv.h> #ifndef AT_PLATFORM #error "AT_PLATFORM is not defined" #endif - vector unsigned char (vector unsigned char a, vector unsigned char b) + vector unsigned char add (vector unsigned char a, vector unsigned char b) { vector unsigned char ret; __asm__ ("xsaddqp %0,%1,%2" : "=v" (ret) : "v" (a), "v" (b)); @@ -4823,6 +4831,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_powerpc_float128_hw" >&5 $as_echo "$libgcc_cv_powerpc_float128_hw" >&6; } + CFLAGS="$saved_CFLAGS" esac # Collect host-machine-specific information. @@ -5081,19 +5090,29 @@ esac +# Determine what GCC version number to use in filesystem paths. + + get_gcc_base_ver="cat" + +# Check whether --with-gcc-major-version-only was given. +if test "${with_gcc_major_version_only+set}" = set; then : + withval=$with_gcc_major_version_only; if test x$with_gcc_major_version_only = xyes ; then + get_gcc_base_ver="sed -e 's/^\([0-9]*\).*\$\$/\1/'" + fi + +fi + + + + # Substitute configuration variables -ac_config_links="$ac_config_links enable-execute-stack.c:$enable_execute_stack" -ac_config_links="$ac_config_links unwind.h:$unwind_header" -ac_config_links="$ac_config_links md-unwind-support.h:config/$md_unwind_header" -ac_config_links="$ac_config_links sfp-machine.h:config/$sfp_machine_header" -ac_config_links="$ac_config_links gthr-default.h:$thread_header" # We need multilib support. @@ -5633,7 +5652,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" -config_links="$ac_config_links" config_commands="$ac_config_commands" _ACEOF @@ -5663,9 +5681,6 @@ $config_files Configuration headers: $config_headers -Configuration links: -$config_links - Configuration commands: $config_commands @@ -5805,11 +5820,6 @@ for ac_config_target in $ac_config_targets do case $ac_config_target in "auto-target.h") CONFIG_HEADERS="$CONFIG_HEADERS auto-target.h:config.in" ;; - "enable-execute-stack.c") CONFIG_LINKS="$CONFIG_LINKS enable-execute-stack.c:$enable_execute_stack" ;; - "unwind.h") CONFIG_LINKS="$CONFIG_LINKS unwind.h:$unwind_header" ;; - "md-unwind-support.h") CONFIG_LINKS="$CONFIG_LINKS md-unwind-support.h:config/$md_unwind_header" ;; - "sfp-machine.h") CONFIG_LINKS="$CONFIG_LINKS sfp-machine.h:config/$sfp_machine_header" ;; - "gthr-default.h") CONFIG_LINKS="$CONFIG_LINKS gthr-default.h:$thread_header" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; @@ -5825,7 +5835,6 @@ done if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi @@ -6113,7 +6122,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_HEADERS" -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do @@ -6349,38 +6358,7 @@ $as_echo "$as_me: $ac_file is unchanged" >&6;} || as_fn_error "could not create -" "$LINENO" 5 fi ;; - :L) - # - # CONFIG_LINK - # - - if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then - : - else - # Prefer the file from the source tree if names are identical. - if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then - ac_source=$srcdir/$ac_source - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 -$as_echo "$as_me: linking $ac_source to $ac_file" >&6;} - if test ! -r "$ac_source"; then - as_fn_error "$ac_source: file not found" "$LINENO" 5 - fi - rm -f "$ac_file" - - # Try a relative symlink, then a hard link, then a copy. - case $srcdir in - [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; - *) ac_rel_source=$ac_top_build_prefix$ac_source ;; - esac - ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || - ln "$ac_source" "$ac_file" 2>/dev/null || - cp -p "$ac_source" "$ac_file" || - as_fn_error "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 - fi - ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; diff --git a/libgcc/configure.ac b/libgcc/configure.ac index 269997f23e..af15147370 100644 --- a/libgcc/configure.ac +++ b/libgcc/configure.ac @@ -379,23 +379,24 @@ case ${host} in # software libraries, and whether the assembler can handle xsaddqp # for hardware support. powerpc*-*-linux*) + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mabi=altivec -mvsx -mfloat128" AC_CACHE_CHECK([for PowerPC ISA 2.06 to build __float128 libraries], [libgcc_cv_powerpc_float128], [AC_COMPILE_IFELSE( - [#pragma GCC target ("vsx") - vector double dadd (vector double a, vector double b) { return a + b; }], + [vector double dadd (vector double a, vector double b) { return a + b; }], [libgcc_cv_powerpc_float128=yes], [libgcc_cv_powerpc_float128=no])]) + CFLAGS="$CFLAGS -mpower9-vector -mfloat128-hardware" AC_CACHE_CHECK([for PowerPC ISA 3.0 to build hardware __float128 libraries], [libgcc_cv_powerpc_float128_hw], [AC_COMPILE_IFELSE( - [#pragma GCC target ("vsx,power9-vector") - #include <sys/auxv.h> + [#include <sys/auxv.h> #ifndef AT_PLATFORM #error "AT_PLATFORM is not defined" #endif - vector unsigned char (vector unsigned char a, vector unsigned char b) + vector unsigned char add (vector unsigned char a, vector unsigned char b) { vector unsigned char ret; __asm__ ("xsaddqp %0,%1,%2" : "=v" (ret) : "v" (a), "v" (b)); @@ -406,6 +407,7 @@ powerpc*-*-linux*) __attribute__ ((__ifunc__ ("add_resolver")));], [libgcc_cv_powerpc_float128_hw=yes], [libgcc_cv_powerpc_float128_hw=no])]) + CFLAGS="$saved_CFLAGS" esac # Collect host-machine-specific information. @@ -544,15 +546,18 @@ AC_SUBST(tm_defines) # Map from thread model to thread header. GCC_AC_THREAD_HEADER([$target_thread_file]) +# Determine what GCC version number to use in filesystem paths. +GCC_BASE_VER + # Substitute configuration variables AC_SUBST(cpu_type) AC_SUBST(extra_parts) AC_SUBST(asm_hidden_op) -AC_CONFIG_LINKS([enable-execute-stack.c:$enable_execute_stack]) -AC_CONFIG_LINKS([unwind.h:$unwind_header]) -AC_CONFIG_LINKS([md-unwind-support.h:config/$md_unwind_header]) -AC_CONFIG_LINKS([sfp-machine.h:config/$sfp_machine_header]) -AC_CONFIG_LINKS([gthr-default.h:$thread_header]) +AC_SUBST(enable_execute_stack) +AC_SUBST(unwind_header) +AC_SUBST(md_unwind_header) +AC_SUBST(sfp_machine_header) +AC_SUBST(thread_header) # We need multilib support. AC_CONFIG_FILES([Makefile]) diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c index f3343fc4fd..52ed6d39cc 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -1,6 +1,6 @@ /* Specialized bits of code needed to support construction and destruction of file-scope objects in C++ code. - Copyright (C) 1991-2016 Free Software Foundation, Inc. + Copyright (C) 1991-2017 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@monkeys.com). This file is part of GCC. @@ -81,7 +81,7 @@ call_ ## FUNC (void) \ #endif #if defined(TARGET_DL_ITERATE_PHDR) && \ - (defined(__DragonFly__) || defined(__FreeBSD__)) + (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)) #define BSD_DL_ITERATE_PHDR_AVAILABLE #endif @@ -266,15 +266,6 @@ STATIC EH_FRAME_SECTION_CONST char __EH_FRAME_BEGIN__[] = { }; #endif /* USE_EH_FRAME_REGISTRY */ -#ifdef __LIBGCC_JCR_SECTION_NAME__ -/* Stick a label at the beginning of the java class registration info - so we can register them properly. */ -STATIC void *__JCR_LIST__[] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), - aligned(sizeof(void*)))) - = { }; -#endif /* __LIBGCC_JCR_SECTION_NAME__ */ - #if USE_TM_CLONE_REGISTRY STATIC func_ptr __TMC_LIST__[] __attribute__((used, section(".tm_clone_table"), aligned(sizeof(void*)))) @@ -289,7 +280,10 @@ deregister_tm_clones (void) void (*fn) (void *); #ifdef HAVE_GAS_HIDDEN - if (__TMC_END__ - __TMC_LIST__ == 0) + func_ptr *end = __TMC_END__; + // Do not optimize the comparison to false. + __asm ("" : "+g" (end)); + if (__TMC_LIST__ == end) return; #else if (__TMC_LIST__[0] == NULL) @@ -309,7 +303,10 @@ register_tm_clones (void) size_t size; #ifdef HAVE_GAS_HIDDEN - size = (__TMC_END__ - __TMC_LIST__) / 2; + func_ptr *end = __TMC_END__; + // Do not optimize the comparison to false. + __asm ("" : "+g" (end)); + size = (end - __TMC_LIST__) / 2; #else for (size = 0; __TMC_LIST__[size * 2] != NULL; size++) continue; @@ -449,7 +446,6 @@ CRT_CALL_STATIC_FUNCTION (__LIBGCC_INIT_SECTION_ASM_OP__, #endif #if defined(USE_EH_FRAME_REGISTRY) \ - || defined(__LIBGCC_JCR_SECTION_NAME__) \ || defined(USE_TM_CLONE_REGISTRY) /* Stick a call to __register_frame_info into the .init section. For some reason calls with no arguments work more reliably in .init, so stick the @@ -472,18 +468,6 @@ frame_dummy (void) #endif /* CRT_GET_RFIB_DATA */ #endif /* USE_EH_FRAME_REGISTRY */ -#ifdef __LIBGCC_JCR_SECTION_NAME__ - void **jcr_list; - __asm ("" : "=g" (jcr_list) : "0" (__JCR_LIST__)); - if (__builtin_expect (*jcr_list != NULL, 0)) - { - void (*register_classes) (void *) = _Jv_RegisterClasses; - __asm ("" : "+r" (register_classes)); - if (register_classes) - register_classes (jcr_list); - } -#endif /* __LIBGCC_JCR_SECTION_NAME__ */ - #if USE_TM_CLONE_REGISTRY register_tm_clones (); #endif /* USE_TM_CLONE_REGISTRY */ @@ -496,7 +480,7 @@ static func_ptr __frame_dummy_init_array_entry[] __attribute__ ((__used__, section(".init_array"), aligned(sizeof(func_ptr)))) = { frame_dummy }; #endif /* !defined(__LIBGCC_INIT_SECTION_ASM_OP__) */ -#endif /* USE_EH_FRAME_REGISTRY || __LIBGCC_JCR_SECTION_NAME__ || USE_TM_CLONE_REGISTRY */ +#endif /* USE_EH_FRAME_REGISTRY || USE_TM_CLONE_REGISTRY */ #else /* OBJECT_FORMAT_ELF */ @@ -564,7 +548,6 @@ __do_global_dtors (void) } #if defined(USE_EH_FRAME_REGISTRY) \ - || defined(__LIBGCC_JCR_SECTION_NAME__) \ || defined(USE_TM_CLONE_REGISTRY) /* A helper function for __do_global_ctors, which is in crtend.o. Here in crtbegin.o, we can reference a couple of symbols not visible there. @@ -579,23 +562,11 @@ __do_global_ctors_1(void) __register_frame_info (__EH_FRAME_BEGIN__, &object); #endif -#ifdef __LIBGCC_JCR_SECTION_NAME__ - void **jcr_list; - __asm ("" : "=g" (jcr_list) : "0" (__JCR_LIST__)); - if (__builtin_expect (*jcr_list != NULL, 0)) - { - void (*register_classes) (void *) = _Jv_RegisterClasses; - __asm ("" : "+r" (register_classes)); - if (register_classes) - register_classes (jcr_list); - } -#endif - #if USE_TM_CLONE_REGISTRY register_tm_clones (); #endif /* USE_TM_CLONE_REGISTRY */ } -#endif /* USE_EH_FRAME_REGISTRY || __LIBGCC_JCR_SECTION_NAME__ || USE_TM_CLONE_REGISTRY */ +#endif /* USE_EH_FRAME_REGISTRY || USE_TM_CLONE_REGISTRY */ #else /* ! __LIBGCC_INIT_SECTION_ASM_OP__ && ! HAS_INIT_SECTION */ #error "What are you doing with crtstuff.c, then?" @@ -671,14 +642,6 @@ STATIC EH_FRAME_SECTION_CONST int32 __FRAME_END__[] = { 0 }; #endif /* __LIBGCC_EH_FRAME_SECTION_NAME__ */ -#ifdef __LIBGCC_JCR_SECTION_NAME__ -/* Null terminate the .jcr section array. */ -STATIC void *__JCR_END__[1] - __attribute__ ((used, section(__LIBGCC_JCR_SECTION_NAME__), - aligned(sizeof(void *)))) - = { 0 }; -#endif /* __LIBGCC_JCR_SECTION_NAME__ */ - #if USE_TM_CLONE_REGISTRY # ifndef HAVE_GAS_HIDDEN static @@ -757,7 +720,6 @@ __do_global_ctors (void) { func_ptr *p; #if defined(USE_EH_FRAME_REGISTRY) \ - || defined(__LIBGCC_JCR_SECTION_NAME__) \ || defined(USE_TM_CLONE_REGISTRY) __do_global_ctors_1(); #endif diff --git a/libgcc/dfp-bit.c b/libgcc/dfp-bit.c index 0a9922be55..8718d94eb5 100644 --- a/libgcc/dfp-bit.c +++ b/libgcc/dfp-bit.c @@ -1,5 +1,5 @@ /* This is a software decimal floating point library. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/dfp-bit.h b/libgcc/dfp-bit.h index 19df768862..3d2a3adfc3 100644 --- a/libgcc/dfp-bit.h +++ b/libgcc/dfp-bit.h @@ -1,5 +1,5 @@ /* Header file for dfp-bit.c. - Copyright (C) 2005-2016 Free Software Foundation, Inc. + Copyright (C) 2005-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/divmod.c b/libgcc/divmod.c index 270bf4eb78..ca529db8b7 100644 --- a/libgcc/divmod.c +++ b/libgcc/divmod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/emutls.c b/libgcc/emutls.c index 110dfb966e..ea01f0ef19 100644 --- a/libgcc/emutls.c +++ b/libgcc/emutls.c @@ -1,5 +1,5 @@ /* TLS emulation. - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2017 Free Software Foundation, Inc. Contributed by Jakub Jelinek <jakub@redhat.com>. This file is part of GCC. diff --git a/libgcc/enable-execute-stack-mprotect.c b/libgcc/enable-execute-stack-mprotect.c index 909a904420..b038657907 100644 --- a/libgcc/enable-execute-stack-mprotect.c +++ b/libgcc/enable-execute-stack-mprotect.c @@ -1,5 +1,5 @@ /* Implement __enable_execute_stack using mprotect(2). - Copyright (C) 2011-2016 Free Software Foundation, Inc. + Copyright (C) 2011-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/find-symver.awk b/libgcc/find-symver.awk index b220c05647..5d4b859f43 100644 --- a/libgcc/find-symver.awk +++ b/libgcc/find-symver.awk @@ -1,5 +1,5 @@ # Extract the version of a single symbol from the version map. -# Copyright (C) 2014-2016 Free Software Foundation, Inc. +# Copyright (C) 2014-2017 Free Software Foundation, Inc. # # This file is part of GCC. # diff --git a/libgcc/fixed-bit.c b/libgcc/fixed-bit.c index 9ffb4ca502..35b3d38c90 100644 --- a/libgcc/fixed-bit.c +++ b/libgcc/fixed-bit.c @@ -1,5 +1,5 @@ /* This is a software fixed-point library. - Copyright (C) 2007-2016 Free Software Foundation, Inc. + Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/fixed-bit.h b/libgcc/fixed-bit.h index ccf27b3e89..dec1a2623a 100644 --- a/libgcc/fixed-bit.h +++ b/libgcc/fixed-bit.h @@ -1,5 +1,5 @@ /* This is a software fixed-point library. - Copyright (C) 2007-2016 Free Software Foundation, Inc. + Copyright (C) 2007-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/fp-bit.c b/libgcc/fp-bit.c index 89b6a3fb11..38849f65b1 100644 --- a/libgcc/fp-bit.c +++ b/libgcc/fp-bit.c @@ -1,6 +1,6 @@ /* This is a software floating point library which can be used for targets without hardware floating point. - Copyright (C) 1994-2016 Free Software Foundation, Inc. + Copyright (C) 1994-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/fp-bit.h b/libgcc/fp-bit.h index 4b8e699d12..7267131bf7 100644 --- a/libgcc/fp-bit.h +++ b/libgcc/fp-bit.h @@ -1,5 +1,5 @@ /* Header file for fp-bit.c. */ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/gbl-ctors.h b/libgcc/gbl-ctors.h index c6c695779a..86607e9035 100644 --- a/libgcc/gbl-ctors.h +++ b/libgcc/gbl-ctors.h @@ -2,7 +2,7 @@ for getting g++ file-scope static objects constructed. This file will get included either by libgcc2.c (for systems that don't support a .init section) or by crtstuff.c (for those that do). - Copyright (C) 1991-2016 Free Software Foundation, Inc. + Copyright (C) 1991-2017 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@segfault.us.com) This file is part of GCC. diff --git a/libgcc/gcov.h b/libgcc/gcov.h new file mode 100644 index 0000000000..0333ecca83 --- /dev/null +++ b/libgcc/gcov.h @@ -0,0 +1,41 @@ +/* GCOV interface routines. + Copyright (C) 2017 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 3, or (at your option) any later + version. + + GCC is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef GCC_GCOV_H +#define GCC_GCOV_H + +/* Set all counters to zero. */ + +extern void __gcov_reset (void); + +/* Write profile information to a file. */ + +extern void __gcov_dump (void); + +/* Write profile information to a file and reset counters to zero. + The function does operations under a mutex. */ + +extern void __gcov_flush (void); + +#endif /* GCC_GCOV_H */ diff --git a/libgcc/generic-morestack-thread.c b/libgcc/generic-morestack-thread.c index 59e514c9d0..f42b91f577 100644 --- a/libgcc/generic-morestack-thread.c +++ b/libgcc/generic-morestack-thread.c @@ -1,5 +1,5 @@ /* Thread library support for -fsplit-stack. */ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Ian Lance Taylor <iant@google.com>. This file is part of GCC. diff --git a/libgcc/generic-morestack.c b/libgcc/generic-morestack.c index b8eec4e739..adbe436df4 100644 --- a/libgcc/generic-morestack.c +++ b/libgcc/generic-morestack.c @@ -1,5 +1,5 @@ /* Library support for -fsplit-stack. */ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Ian Lance Taylor <iant@google.com>. This file is part of GCC. diff --git a/libgcc/generic-morestack.h b/libgcc/generic-morestack.h index be0416c9ad..a21bf0e20b 100644 --- a/libgcc/generic-morestack.h +++ b/libgcc/generic-morestack.h @@ -1,5 +1,5 @@ /* Library support for -fsplit-stack. */ -/* Copyright (C) 2009-2016 Free Software Foundation, Inc. +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. Contributed by Ian Lance Taylor <iant@google.com>. This file is part of GCC. diff --git a/libgcc/gthr-posix.h b/libgcc/gthr-posix.h index 555c0fe245..a54a32e5f9 100644 --- a/libgcc/gthr-posix.h +++ b/libgcc/gthr-posix.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2 and libobjc. */ /* Compile this one with gcc. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/gthr-single.h b/libgcc/gthr-single.h index d302718224..ab4df679e7 100644 --- a/libgcc/gthr-single.h +++ b/libgcc/gthr-single.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2 and libobjc. */ /* Compile this one with gcc. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/gthr.h b/libgcc/gthr.h index 47a7d061a9..ed22dc9447 100644 --- a/libgcc/gthr.h +++ b/libgcc/gthr.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2. */ /* Compile this one with gcc. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/libgcc-std.ver.in b/libgcc/libgcc-std.ver.in index c8ca62fbe0..c0a3b3eb29 100644 --- a/libgcc/libgcc-std.ver.in +++ b/libgcc/libgcc-std.ver.in @@ -1,4 +1,4 @@ -# Copyright (C) 2000-2016 Free Software Foundation, Inc. +# Copyright (C) 2000-2017 Free Software Foundation, Inc. # # This file is part of GCC. # @@ -1938,3 +1938,9 @@ GCC_4.7.0 { %inherit GCC_4.8.0 GCC_4.7.0 GCC_4.8.0 { } + +%inherit GCC_7.0.0 GCC_4.8.0 +GCC_7.0.0 { + __PFX__divmoddi4 + __PFX__divmodti4 +} diff --git a/libgcc/libgcc2.c b/libgcc/libgcc2.c index 6bc9a2f6c4..5d3c69f16a 100644 --- a/libgcc/libgcc2.c +++ b/libgcc/libgcc2.c @@ -1,6 +1,6 @@ /* More subroutines needed by GCC output code on some machines. */ /* Compile this one with gcc. */ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -680,7 +680,8 @@ __udiv_w_sdiv (UWtype *rp __attribute__ ((__unused__)), #endif #if (defined (L_udivdi3) || defined (L_divdi3) || \ - defined (L_umoddi3) || defined (L_moddi3)) + defined (L_umoddi3) || defined (L_moddi3) || \ + defined (L_divmoddi4)) #define L_udivmoddi4 #endif @@ -937,7 +938,8 @@ __parityDI2 (UDWtype x) #ifdef TARGET_HAS_NO_HW_DIVIDE #if (defined (L_udivdi3) || defined (L_divdi3) || \ - defined (L_umoddi3) || defined (L_moddi3)) + defined (L_umoddi3) || defined (L_moddi3) || \ + defined (L_divmoddi4)) static inline __attribute__ ((__always_inline__)) #endif UDWtype @@ -1004,7 +1006,8 @@ __udivmoddi4 (UDWtype n, UDWtype d, UDWtype *rp) #else #if (defined (L_udivdi3) || defined (L_divdi3) || \ - defined (L_umoddi3) || defined (L_moddi3)) + defined (L_umoddi3) || defined (L_moddi3) || \ + defined (L_divmoddi4)) static inline __attribute__ ((__always_inline__)) #endif UDWtype @@ -1269,6 +1272,34 @@ __moddi3 (DWtype u, DWtype v) } #endif +#ifdef L_divmoddi4 +DWtype +__divmoddi4 (DWtype u, DWtype v, DWtype *rp) +{ + Wtype c1 = 0, c2 = 0; + DWunion uu = {.ll = u}; + DWunion vv = {.ll = v}; + DWtype w; + DWtype r; + + if (uu.s.high < 0) + c1 = ~c1, c2 = ~c2, + uu.ll = -uu.ll; + if (vv.s.high < 0) + c1 = ~c1, + vv.ll = -vv.ll; + + w = __udivmoddi4 (uu.ll, vv.ll, (UDWtype*)&r); + if (c1) + w = -w; + if (c2) + r = -r; + + *rp = r; + return w; +} +#endif + #ifdef L_umoddi3 UDWtype __umoddi3 (UDWtype u, UDWtype v) @@ -1643,6 +1674,11 @@ FUNC (DWtype u) hi = -(UWtype) hi; UWtype count, shift; +#if !defined (COUNT_LEADING_ZEROS_0) || COUNT_LEADING_ZEROS_0 != W_TYPE_SIZE + if (hi == 0) + count = W_TYPE_SIZE; + else +#endif count_leading_zeros (count, hi); /* No leading bits means u == minimum. */ @@ -1852,7 +1888,8 @@ NAME (TYPE x, int m) #endif -#if ((defined(L_mulsc3) || defined(L_divsc3)) && LIBGCC2_HAS_SF_MODE) \ +#if((defined(L_mulhc3) || defined(L_divhc3)) && LIBGCC2_HAS_HF_MODE) \ + || ((defined(L_mulsc3) || defined(L_divsc3)) && LIBGCC2_HAS_SF_MODE) \ || ((defined(L_muldc3) || defined(L_divdc3)) && LIBGCC2_HAS_DF_MODE) \ || ((defined(L_mulxc3) || defined(L_divxc3)) && LIBGCC2_HAS_XF_MODE) \ || ((defined(L_multc3) || defined(L_divtc3)) && LIBGCC2_HAS_TF_MODE) @@ -1861,30 +1898,36 @@ NAME (TYPE x, int m) #undef double #undef long -#if defined(L_mulsc3) || defined(L_divsc3) +#if defined(L_mulhc3) || defined(L_divhc3) +# define MTYPE HFtype +# define CTYPE HCtype +# define MODE hc +# define CEXT __LIBGCC_HF_FUNC_EXT__ +# define NOTRUNC (!__LIBGCC_HF_EXCESS_PRECISION__) +#elif defined(L_mulsc3) || defined(L_divsc3) # define MTYPE SFtype # define CTYPE SCtype # define MODE sc # define CEXT __LIBGCC_SF_FUNC_EXT__ -# define NOTRUNC __LIBGCC_SF_EXCESS_PRECISION__ +# define NOTRUNC (!__LIBGCC_SF_EXCESS_PRECISION__) #elif defined(L_muldc3) || defined(L_divdc3) # define MTYPE DFtype # define CTYPE DCtype # define MODE dc # define CEXT __LIBGCC_DF_FUNC_EXT__ -# define NOTRUNC __LIBGCC_DF_EXCESS_PRECISION__ +# define NOTRUNC (!__LIBGCC_DF_EXCESS_PRECISION__) #elif defined(L_mulxc3) || defined(L_divxc3) # define MTYPE XFtype # define CTYPE XCtype # define MODE xc # define CEXT __LIBGCC_XF_FUNC_EXT__ -# define NOTRUNC __LIBGCC_XF_EXCESS_PRECISION__ +# define NOTRUNC (!__LIBGCC_XF_EXCESS_PRECISION__) #elif defined(L_multc3) || defined(L_divtc3) # define MTYPE TFtype # define CTYPE TCtype # define MODE tc # define CEXT __LIBGCC_TF_FUNC_EXT__ -# define NOTRUNC __LIBGCC_TF_EXCESS_PRECISION__ +# define NOTRUNC (!__LIBGCC_TF_EXCESS_PRECISION__) #else # error #endif @@ -1922,7 +1965,7 @@ extern void *compile_type_assert[sizeof(INFINITY) == sizeof(MTYPE) ? 1 : -1]; # define TRUNC(x) __asm__ ("" : "=m"(x) : "m"(x)) #endif -#if defined(L_mulsc3) || defined(L_muldc3) \ +#if defined(L_mulhc3) || defined(L_mulsc3) || defined(L_muldc3) \ || defined(L_mulxc3) || defined(L_multc3) CTYPE @@ -1992,7 +2035,7 @@ CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d) } #endif /* complex multiply */ -#if defined(L_divsc3) || defined(L_divdc3) \ +#if defined(L_divhc3) || defined(L_divsc3) || defined(L_divdc3) \ || defined(L_divxc3) || defined(L_divtc3) CTYPE @@ -2309,8 +2352,7 @@ SYMBOL__MAIN (void) must be in the bss/common section. Long term no port should use those extensions. But many still do. */ -#if !defined(__LIBGCC_INIT_SECTION_ASM_OP__) \ - && !defined(CTOR_LISTS_DEFINED_EXTERNALLY) +#if !defined(__LIBGCC_INIT_SECTION_ASM_OP__) #if defined (TARGET_ASM_CONSTRUCTOR) || defined (USE_COLLECT2) func_ptr __CTOR_LIST__[2] = {0, 0}; func_ptr __DTOR_LIST__[2] = {0, 0}; @@ -2318,6 +2360,6 @@ func_ptr __DTOR_LIST__[2] = {0, 0}; func_ptr __CTOR_LIST__[2]; func_ptr __DTOR_LIST__[2]; #endif -#endif /* no __LIBGCC_INIT_SECTION_ASM_OP__ and not CTOR_LISTS_DEFINED_EXTERNALLY */ +#endif /* no __LIBGCC_INIT_SECTION_ASM_OP__ */ #endif /* L_ctors */ #endif /* LIBGCC2_UNITS_PER_WORD <= MIN_UNITS_PER_WORD */ diff --git a/libgcc/libgcc2.h b/libgcc/libgcc2.h index 72bb873ac3..097d28161b 100644 --- a/libgcc/libgcc2.h +++ b/libgcc/libgcc2.h @@ -1,5 +1,5 @@ /* Header file for libgcc2.c. */ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -34,6 +34,12 @@ extern void __clear_cache (char *, char *); extern void __eprintf (const char *, const char *, unsigned int, const char *) __attribute__ ((__noreturn__)); +#ifdef __LIBGCC_HAS_HF_MODE__ +#define LIBGCC2_HAS_HF_MODE 1 +#else +#define LIBGCC2_HAS_HF_MODE 0 +#endif + #ifdef __LIBGCC_HAS_SF_MODE__ #define LIBGCC2_HAS_SF_MODE 1 #else @@ -133,6 +139,10 @@ typedef unsigned int UTItype __attribute__ ((mode (TI))); #endif #endif +#if LIBGCC2_HAS_HF_MODE +typedef float HFtype __attribute__ ((mode (HF))); +typedef _Complex float HCtype __attribute__ ((mode (HC))); +#endif #if LIBGCC2_HAS_SF_MODE typedef float SFtype __attribute__ ((mode (SF))); typedef _Complex float SCtype __attribute__ ((mode (SC))); @@ -271,6 +281,7 @@ typedef int shift_count_type __attribute__((mode (__libgcc_shift_count__))); #define __ashrdi3 __NDW(ashr,3) #define __cmpdi2 __NDW(cmp,2) #define __ucmpdi2 __NDW(ucmp,2) +#define __divmoddi4 __NDW(divmod,4) #define __udivmoddi4 __NDW(udivmod,4) #define __fixunstfDI __NDW(fixunstf,) #define __fixtfdi __NDW(fixtf,) @@ -366,10 +377,12 @@ extern DWtype __divdi3 (DWtype, DWtype); extern UDWtype __udivdi3 (UDWtype, UDWtype); extern UDWtype __umoddi3 (UDWtype, UDWtype); extern DWtype __moddi3 (DWtype, DWtype); +extern DWtype __divmoddi4 (DWtype, DWtype, DWtype *); /* __udivmoddi4 is static inline when building other libgcc2 portions. */ #if (!defined (L_udivdi3) && !defined (L_divdi3) && \ - !defined (L_umoddi3) && !defined (L_moddi3)) + !defined (L_umoddi3) && !defined (L_moddi3) && \ + !defined (L_divmoddi4)) extern UDWtype __udivmoddi4 (UDWtype, UDWtype, UDWtype *); #endif @@ -424,6 +437,10 @@ extern SItype __negvsi2 (SItype); #endif /* COMPAT_SIMODE_TRAPPING_ARITHMETIC */ #undef int +#if LIBGCC2_HAS_HF_MODE +extern HCtype __divhc3 (HFtype, HFtype, HFtype, HFtype); +extern HCtype __mulhc3 (HFtype, HFtype, HFtype, HFtype); +#endif #if LIBGCC2_HAS_SF_MODE extern DWtype __fixsfdi (SFtype); extern SFtype __floatdisf (DWtype); diff --git a/libgcc/libgcov-driver-system.c b/libgcc/libgcov-driver-system.c index 4e3b244c7c..5cfc950ab0 100644 --- a/libgcc/libgcov-driver-system.c +++ b/libgcc/libgcov-driver-system.c @@ -1,6 +1,6 @@ /* Routines required for instrumenting a program. */ /* Compile this one with gcc. */ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -23,19 +23,62 @@ a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ -/* A utility function for outputing errors. */ +#if !IN_GCOV_TOOL +/* Configured via the GCOV_ERROR_FILE environment variable; + it will either be stderr, or a file of the user's choosing. + Non-static to prevent multiple gcov-aware shared objects from + instantiating their own copies. */ +FILE *__gcov_error_file = NULL; +#endif + +/* A utility function to populate the __gcov_error_file pointer. + This should NOT be called outside of the gcov system driver code. */ + +static FILE * +get_gcov_error_file (void) +{ +#if IN_GCOV_TOOL + return stderr; +#else + if (!__gcov_error_file) + { + const char *gcov_error_filename = getenv ("GCOV_ERROR_FILE"); + + if (gcov_error_filename) + __gcov_error_file = fopen (gcov_error_filename, "a"); + if (!__gcov_error_file) + __gcov_error_file = stderr; + } + return __gcov_error_file; +#endif +} + +/* A utility function for outputting errors. */ static int __attribute__((format(printf, 1, 2))) gcov_error (const char *fmt, ...) { int ret; va_list argp; + va_start (argp, fmt); - ret = vfprintf (stderr, fmt, argp); + ret = vfprintf (get_gcov_error_file (), fmt, argp); va_end (argp); return ret; } +#if !IN_GCOV_TOOL +static void +gcov_error_exit (void) +{ + if (__gcov_error_file && __gcov_error_file != stderr) + { + fclose (__gcov_error_file); + __gcov_error_file = NULL; + } +} +#endif + /* Make sure path component of the given FILENAME exists, create missing directories. FILENAME must be writable. Returns zero on success, or -1 if an error occurred. */ diff --git a/libgcc/libgcov-driver.c b/libgcc/libgcov-driver.c index 9c4eeca016..c3b2fd4d5c 100644 --- a/libgcc/libgcov-driver.c +++ b/libgcc/libgcov-driver.c @@ -1,6 +1,6 @@ /* Routines required for instrumenting a program. */ /* Compile this one with gcc. */ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -43,9 +43,13 @@ void __gcov_init (struct gcov_info *p __attribute__ ((unused))) {} #ifdef L_gcov -/* A utility function for outputing errors. */ +/* A utility function for outputting errors. */ static int gcov_error (const char *, ...); +#if !IN_GCOV_TOOL +static void gcov_error_exit (void); +#endif + #include "gcov-io.c" struct gcov_fn_buffer @@ -848,6 +852,15 @@ gcov_do_dump (struct gcov_info *list, int run_counted) free (gf.filename); } +#if IN_GCOV_TOOL +const char * +__attribute__ ((unused)) +gcov_get_filename (struct gcov_info *list) +{ + return list->filename; +} +#endif + #if !IN_GCOV_TOOL void __gcov_dump_one (struct gcov_root *root) @@ -868,8 +881,8 @@ struct gcov_root __gcov_root; struct gcov_master __gcov_master = {GCOV_VERSION, 0}; -static void -gcov_exit (void) +void +__gcov_exit (void) { __gcov_dump_one (&__gcov_root); if (__gcov_root.next) @@ -878,6 +891,8 @@ gcov_exit (void) __gcov_root.prev->next = __gcov_root.next; else __gcov_master.root = __gcov_root.next; + + gcov_error_exit (); } /* Add a new object file onto the bb chain. Invoked automatically @@ -900,7 +915,6 @@ __gcov_init (struct gcov_info *info) __gcov_master.root->prev = &__gcov_root; __gcov_master.root = &__gcov_root; } - atexit (gcov_exit); } info->next = __gcov_root.list; diff --git a/libgcc/libgcov-interface.c b/libgcc/libgcov-interface.c index 4b12797e8a..61089e9700 100644 --- a/libgcc/libgcov-interface.c +++ b/libgcc/libgcov-interface.c @@ -1,6 +1,6 @@ /* Routines required for instrumenting a program. */ /* Compile this one with gcc. */ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/libgcov-merge.c b/libgcc/libgcov-merge.c index 3a8bb2c7df..f5be02cfd1 100644 --- a/libgcc/libgcov-merge.c +++ b/libgcc/libgcov-merge.c @@ -1,6 +1,6 @@ /* Routines required for instrumenting a program. */ /* Compile this one with gcc. */ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -38,11 +38,6 @@ void __gcov_merge_single (gcov_type *counters __attribute__ ((unused)), unsigned n_counters __attribute__ ((unused))) {} #endif -#ifdef L_gcov_merge_delta -void __gcov_merge_delta (gcov_type *counters __attribute__ ((unused)), - unsigned n_counters __attribute__ ((unused))) {} -#endif - #else #ifdef L_gcov_merge_add @@ -127,46 +122,6 @@ __gcov_merge_single (gcov_type *counters, unsigned n_counters) } #endif /* L_gcov_merge_single */ -#ifdef L_gcov_merge_delta -/* The profile merging function for choosing the most common - difference between two consecutive evaluations of the value. It is - given an array COUNTERS of N_COUNTERS old counters and it reads the - same number of counters from the gcov file. The counters are split - into 4-tuples where the members of the tuple have meanings: - - -- the last value of the measured entity - -- the stored candidate on the most common difference - -- counter - -- total number of evaluations of the value */ -void -__gcov_merge_delta (gcov_type *counters, unsigned n_counters) -{ - unsigned i, n_measures; - gcov_type value, counter, all; - - gcc_assert (!(n_counters % 4)); - n_measures = n_counters / 4; - for (i = 0; i < n_measures; i++, counters += 4) - { - /* last = */ gcov_get_counter (); - value = gcov_get_counter_target (); - counter = gcov_get_counter (); - all = gcov_get_counter (); - - if (counters[1] == value) - counters[2] += counter; - else if (counter > counters[2]) - { - counters[1] = value; - counters[2] = counter - counters[2]; - } - else - counters[2] -= counter; - counters[3] += all; - } -} -#endif /* L_gcov_merge_delta */ - #ifdef L_gcov_merge_icall_topn /* The profile merging function used for merging indirect call counts This function is given array COUNTERS of N_COUNTERS old counters and it diff --git a/libgcc/libgcov-profiler.c b/libgcc/libgcov-profiler.c index e94718834e..067d762c2a 100644 --- a/libgcc/libgcov-profiler.c +++ b/libgcc/libgcov-profiler.c @@ -1,6 +1,6 @@ /* Routines required for instrumenting a program. */ /* Compile this one with gcc. */ -/* Copyright (C) 1989-2016 Free Software Foundation, Inc. +/* Copyright (C) 1989-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -26,6 +26,17 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "libgcov.h" #if !defined(inhibit_libc) +/* Detect whether target can support atomic update of profilers. */ +#if __SIZEOF_LONG_LONG__ == 4 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 +#define GCOV_SUPPORTS_ATOMIC 1 +#else +#if __SIZEOF_LONG_LONG__ == 8 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +#define GCOV_SUPPORTS_ATOMIC 1 +#else +#define GCOV_SUPPORTS_ATOMIC 0 +#endif +#endif + #ifdef L_gcov_interval_profiler /* If VALUE is in interval <START, START + STEPS - 1>, then increases the corresponding counter in COUNTERS. If the VALUE is above or below @@ -46,6 +57,26 @@ __gcov_interval_profiler (gcov_type *counters, gcov_type value, } #endif +#if defined(L_gcov_interval_profiler_atomic) && GCOV_SUPPORTS_ATOMIC +/* If VALUE is in interval <START, START + STEPS - 1>, then increases the + corresponding counter in COUNTERS. If the VALUE is above or below + the interval, COUNTERS[STEPS] or COUNTERS[STEPS + 1] is increased + instead. Function is thread-safe. */ + +void +__gcov_interval_profiler_atomic (gcov_type *counters, gcov_type value, + int start, unsigned steps) +{ + gcov_type delta = value - start; + if (delta < 0) + __atomic_fetch_add (&counters[steps + 1], 1, __ATOMIC_RELAXED); + else if (delta >= steps) + __atomic_fetch_add (&counters[steps], 1, __ATOMIC_RELAXED); + else + __atomic_fetch_add (&counters[delta], 1, __ATOMIC_RELAXED); +} +#endif + #ifdef L_gcov_pow2_profiler /* If VALUE is a power of two, COUNTERS[1] is incremented. Otherwise COUNTERS[0] is incremented. */ @@ -53,13 +84,28 @@ __gcov_interval_profiler (gcov_type *counters, gcov_type value, void __gcov_pow2_profiler (gcov_type *counters, gcov_type value) { - if (value & (value - 1)) + if (value == 0 || (value & (value - 1))) counters[0]++; else counters[1]++; } #endif +#if defined(L_gcov_pow2_profiler_atomic) && GCOV_SUPPORTS_ATOMIC +/* If VALUE is a power of two, COUNTERS[1] is incremented. Otherwise + COUNTERS[0] is incremented. Function is thread-safe. */ + +void +__gcov_pow2_profiler_atomic (gcov_type *counters, gcov_type value) +{ + if (value == 0 || (value & (value - 1))) + __atomic_fetch_add (&counters[0], 1, __ATOMIC_RELAXED); + else + __atomic_fetch_add (&counters[1], 1, __ATOMIC_RELAXED); +} +#endif + + /* Tries to determine the most common value among its inputs. Checks if the value stored in COUNTERS[0] matches VALUE. If this is the case, COUNTERS[1] is incremented. If this is not the case and COUNTERS[1] is not zero, @@ -68,10 +114,12 @@ __gcov_pow2_profiler (gcov_type *counters, gcov_type value) function is called more than 50% of the time with one value, this value will be in COUNTERS[0] in the end. - In any case, COUNTERS[2] is incremented. */ + In any case, COUNTERS[2] is incremented. If USE_ATOMIC is set to 1, + COUNTERS[2] is updated with an atomic instruction. */ static inline void -__gcov_one_value_profiler_body (gcov_type *counters, gcov_type value) +__gcov_one_value_profiler_body (gcov_type *counters, gcov_type value, + int use_atomic) { if (value == counters[0]) counters[1]++; @@ -82,14 +130,36 @@ __gcov_one_value_profiler_body (gcov_type *counters, gcov_type value) } else counters[1]--; - counters[2]++; + + if (use_atomic) + __atomic_fetch_add (&counters[2], 1, __ATOMIC_RELAXED); + else + counters[2]++; } #ifdef L_gcov_one_value_profiler void __gcov_one_value_profiler (gcov_type *counters, gcov_type value) { - __gcov_one_value_profiler_body (counters, value); + __gcov_one_value_profiler_body (counters, value, 0); +} +#endif + +#if defined(L_gcov_one_value_profiler_atomic) && GCOV_SUPPORTS_ATOMIC + +/* Update one value profilers (COUNTERS) for a given VALUE. + + CAVEAT: Following function is not thread-safe, only total number + of executions (COUNTERS[2]) is update with an atomic instruction. + Problem is that one cannot atomically update two counters + (COUNTERS[0] and COUNTERS[1]), for more information please read + following email thread: + https://gcc.gnu.org/ml/gcc-patches/2016-08/msg00024.html. */ + +void +__gcov_one_value_profiler_atomic (gcov_type *counters, gcov_type value) +{ + __gcov_one_value_profiler_body (counters, value, 1); } #endif @@ -231,33 +301,6 @@ __gcov_indirect_call_topn_profiler (gcov_type value, void* cur_func) } #endif -#ifdef L_gcov_indirect_call_profiler -/* This function exist only for workaround of binutils bug 14342. - Once this compatibility hack is obsolette, it can be removed. */ - -/* By default, the C++ compiler will use function addresses in the - vtable entries. Setting TARGET_VTABLE_USES_DESCRIPTORS to nonzero - tells the compiler to use function descriptors instead. The value - of this macro says how many words wide the descriptor is (normally 2). - - It is assumed that the address of a function descriptor may be treated - as a pointer to a function. */ - -/* Tries to determine the most common value among its inputs. */ -void -__gcov_indirect_call_profiler (gcov_type* counter, gcov_type value, - void* cur_func, void* callee_func) -{ - /* If the C++ virtual tables contain function descriptors then one - function may have multiple descriptors and we need to dereference - the descriptors to see if they point to the same function. */ - if (cur_func == callee_func - || (__LIBGCC_VTABLE_USES_DESCRIPTORS__ && callee_func - && *(void **) cur_func == *(void **) callee_func)) - __gcov_one_value_profiler_body (counter, value); -} -#endif - #ifdef L_gcov_indirect_call_profiler_v2 /* These two variables are used to actually track caller and callee. Keep @@ -292,23 +335,15 @@ __gcov_indirect_call_profiler_v2 (gcov_type value, void* cur_func) if (cur_func == __gcov_indirect_call_callee || (__LIBGCC_VTABLE_USES_DESCRIPTORS__ && __gcov_indirect_call_callee && *(void **) cur_func == *(void **) __gcov_indirect_call_callee)) - __gcov_one_value_profiler_body (__gcov_indirect_call_counters, value); + __gcov_one_value_profiler_body (__gcov_indirect_call_counters, value, 0); } #endif #ifdef L_gcov_time_profiler /* Counter for first visit of each function. */ -static gcov_type function_counter; +gcov_type __gcov_time_profiler_counter ATTRIBUTE_HIDDEN; -/* Sets corresponding COUNTERS if there is no value. */ - -void -__gcov_time_profiler (gcov_type* counters) -{ - if (!counters[0]) - counters[0] = ++function_counter; -} #endif #ifdef L_gcov_average_profiler @@ -323,6 +358,18 @@ __gcov_average_profiler (gcov_type *counters, gcov_type value) } #endif +#if defined(L_gcov_average_profiler_atomic) && GCOV_SUPPORTS_ATOMIC +/* Increase corresponding COUNTER by VALUE. FIXME: Perhaps we want + to saturate up. Function is thread-safe. */ + +void +__gcov_average_profiler_atomic (gcov_type *counters, gcov_type value) +{ + __atomic_fetch_add (&counters[0], value, __ATOMIC_RELAXED); + __atomic_fetch_add (&counters[1], 1, __ATOMIC_RELAXED); +} +#endif + #ifdef L_gcov_ior_profiler /* Bitwise-OR VALUE into COUNTER. */ @@ -333,4 +380,15 @@ __gcov_ior_profiler (gcov_type *counters, gcov_type value) } #endif +#if defined(L_gcov_ior_profiler_atomic) && GCOV_SUPPORTS_ATOMIC +/* Bitwise-OR VALUE into COUNTER. Function is thread-safe. */ + +void +__gcov_ior_profiler_atomic (gcov_type *counters, gcov_type value) +{ + __atomic_fetch_or (&counters[0], value, __ATOMIC_RELAXED); +} +#endif + + #endif /* inhibit_libc */ diff --git a/libgcc/libgcov-util.c b/libgcc/libgcov-util.c index 7b3bc31ec5..fd1d1ddb0e 100644 --- a/libgcc/libgcov-util.c +++ b/libgcc/libgcov-util.c @@ -1,6 +1,6 @@ /* Utility functions for reading gcda files into in-memory gcov_info structures and offline profile processing. */ -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. +/* Copyright (C) 2014-2017 Free Software Foundation, Inc. Contributed by Rong Xu <xur@google.com>. This file is part of GCC. @@ -673,6 +673,7 @@ gcov_profile_merge (struct gcov_info *tgt_profile, struct gcov_info *src_profile { gi_ptr = in_src_not_tgt[i]; gcov_merge (gi_ptr, gi_ptr, w2 - 1); + gi_ptr->next = NULL; tgt_tail->next = gi_ptr; tgt_tail = gi_ptr; } @@ -719,23 +720,6 @@ __gcov_time_profile_counter_op (gcov_type *counters ATTRIBUTE_UNUSED, /* Do nothing. */ } -/* Performaing FN upon delta counters. */ - -static void -__gcov_delta_counter_op (gcov_type *counters, unsigned n_counters, - counter_op_fn fn, void *data1, void *data2) -{ - unsigned i, n_measures; - - gcc_assert (!(n_counters % 4)); - n_measures = n_counters / 4; - for (i = 0; i < n_measures; i++, counters += 4) - { - counters[2] = fn (counters[2], data1, data2); - counters[3] = fn (counters[3], data1, data2); - } -} - /* Performing FN upon single counters. */ static void @@ -1391,7 +1375,8 @@ calculate_overlap (struct gcov_info *gcov_list1, return prg_val; } -/* Computer the overlap score of two lists of gcov_info objects PROFILE1 and PROFILE2. +/* Compute the overlap score of two lists of gcov_info objects PROFILE1 and + PROFILE2. Return 0 on success: without mismatch. Reutrn 1 on error. */ int diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h index ae779985ef..4c1204ca83 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -1,5 +1,5 @@ /* Header file for libgcov-*.c. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -42,6 +42,7 @@ #include "coretypes.h" #include "tm.h" #include "libgcc_tm.h" +#include "gcov.h" #if __CHAR_BIT__ == 8 typedef unsigned gcov_unsigned_t __attribute__ ((mode (SI))); @@ -126,7 +127,6 @@ typedef unsigned gcov_position_t; #define L_gcov 1 #define L_gcov_merge_add 1 #define L_gcov_merge_single 1 -#define L_gcov_merge_delta 1 #define L_gcov_merge_ior 1 #define L_gcov_merge_time_profile 1 #define L_gcov_merge_icall_topn 1 @@ -235,16 +235,14 @@ extern void __gcov_dump_one (struct gcov_root *) ATTRIBUTE_HIDDEN; /* Register a new object file module. */ extern void __gcov_init (struct gcov_info *) ATTRIBUTE_HIDDEN; -/* Called before fork, to avoid double counting. */ -extern void __gcov_flush (void) ATTRIBUTE_HIDDEN; +/* GCOV exit function registered via a static destructor. */ +extern void __gcov_exit (void) ATTRIBUTE_HIDDEN; /* Function to reset all counters to 0. Both externally visible (and overridable) and internal version. */ -extern void __gcov_reset (void); extern void __gcov_reset_int (void) ATTRIBUTE_HIDDEN; /* User function to enable early write of profile information so far. */ -extern void __gcov_dump (void); extern void __gcov_dump_int (void) ATTRIBUTE_HIDDEN; /* The merge function that just sums the counters. */ @@ -256,10 +254,6 @@ extern void __gcov_merge_time_profile (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; /* The merge function to choose the most common value. */ extern void __gcov_merge_single (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; -/* The merge function to choose the most common difference between - consecutive values. */ -extern void __gcov_merge_delta (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; - /* The merge function that just ors the counters together. */ extern void __gcov_merge_ior (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; @@ -268,14 +262,19 @@ extern void __gcov_merge_icall_topn (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; /* The profiler functions. */ extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned); +extern void __gcov_interval_profiler_atomic (gcov_type *, gcov_type, int, + unsigned); extern void __gcov_pow2_profiler (gcov_type *, gcov_type); +extern void __gcov_pow2_profiler_atomic (gcov_type *, gcov_type); extern void __gcov_one_value_profiler (gcov_type *, gcov_type); -extern void __gcov_indirect_call_profiler (gcov_type*, gcov_type, - void*, void*); +extern void __gcov_one_value_profiler_atomic (gcov_type *, gcov_type); extern void __gcov_indirect_call_profiler_v2 (gcov_type, void *); extern void __gcov_time_profiler (gcov_type *); +extern void __gcov_time_profiler_atomic (gcov_type *); extern void __gcov_average_profiler (gcov_type *, gcov_type); +extern void __gcov_average_profiler_atomic (gcov_type *, gcov_type); extern void __gcov_ior_profiler (gcov_type *, gcov_type); +extern void __gcov_ior_profiler_atomic (gcov_type *, gcov_type); extern void __gcov_indirect_call_topn_profiler (gcov_type, void *); extern void gcov_sort_n_vals (gcov_type *, int); diff --git a/libgcc/mkheader.sh b/libgcc/mkheader.sh index a884b20751..ebf05f2717 100755 --- a/libgcc/mkheader.sh +++ b/libgcc/mkheader.sh @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2001-2016 Free Software Foundation, Inc. +# Copyright (C) 2001-2017 Free Software Foundation, Inc. # This file is part of GCC. # GCC is free software; you can redistribute it and/or modify diff --git a/libgcc/mkmap-flat.awk b/libgcc/mkmap-flat.awk index 890f4948b2..e213cd4283 100644 --- a/libgcc/mkmap-flat.awk +++ b/libgcc/mkmap-flat.awk @@ -1,5 +1,5 @@ # Generate a flat list of symbols to export. -# Copyright (C) 2007-2016 Free Software Foundation, Inc. +# Copyright (C) 2007-2017 Free Software Foundation, Inc. # Contributed by Richard Henderson <rth@cygnus.com> # # This file is part of GCC. diff --git a/libgcc/mkmap-symver.awk b/libgcc/mkmap-symver.awk index 266832ae41..3d36010374 100644 --- a/libgcc/mkmap-symver.awk +++ b/libgcc/mkmap-symver.awk @@ -1,5 +1,5 @@ # Generate an ELF symbol version map a-la Solaris and GNU ld. -# Copyright (C) 2007-2016 Free Software Foundation, Inc. +# Copyright (C) 2007-2017 Free Software Foundation, Inc. # Contributed by Richard Henderson <rth@cygnus.com> # # This file is part of GCC. @@ -47,7 +47,11 @@ state == "nm" && ($1 == "U" || $2 == "U") { state == "nm" && NF == 3 { split ($3, s, "@") - def[s[1]] = 1; + if (skip_underscore && substr(s[1], 1, 1) == "_") + symname = substr(s[1], 2); + else + symname = s[1]; + def[symname] = 1; sawsymbol = 1; next; } diff --git a/libgcc/offloadstuff.c b/libgcc/offloadstuff.c index 4ab639721c..301439fc36 100644 --- a/libgcc/offloadstuff.c +++ b/libgcc/offloadstuff.c @@ -1,5 +1,5 @@ /* Specialized bits of code needed for the offloading tables. - Copyright (C) 2014-2016 Free Software Foundation, Inc. + Copyright (C) 2014-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/soft-fp/adddf3.c b/libgcc/soft-fp/adddf3.c index 4d09525d3e..358b38d40b 100644 --- a/libgcc/soft-fp/adddf3.c +++ b/libgcc/soft-fp/adddf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a + b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/addsf3.c b/libgcc/soft-fp/addsf3.c index 5006af40e9..0135b3d648 100644 --- a/libgcc/soft-fp/addsf3.c +++ b/libgcc/soft-fp/addsf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a + b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/addtf3.c b/libgcc/soft-fp/addtf3.c index 5894fec954..13cee71767 100644 --- a/libgcc/soft-fp/addtf3.c +++ b/libgcc/soft-fp/addtf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a + b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/divdf3.c b/libgcc/soft-fp/divdf3.c index 878d932976..ded0ad06a4 100644 --- a/libgcc/soft-fp/divdf3.c +++ b/libgcc/soft-fp/divdf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a / b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/divsf3.c b/libgcc/soft-fp/divsf3.c index 50de502057..46fe9ad163 100644 --- a/libgcc/soft-fp/divsf3.c +++ b/libgcc/soft-fp/divsf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a / b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/divtf3.c b/libgcc/soft-fp/divtf3.c index e74591964d..e03889c862 100644 --- a/libgcc/soft-fp/divtf3.c +++ b/libgcc/soft-fp/divtf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a / b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/double.h b/libgcc/soft-fp/double.h index a05713f683..88d4bd7b7a 100644 --- a/libgcc/soft-fp/double.h +++ b/libgcc/soft-fp/double.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Definitions for IEEE Double Precision - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), diff --git a/libgcc/soft-fp/eqdf2.c b/libgcc/soft-fp/eqdf2.c index 37d2684448..951f86dd07 100644 --- a/libgcc/soft-fp/eqdf2.c +++ b/libgcc/soft-fp/eqdf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 otherwise - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/eqsf2.c b/libgcc/soft-fp/eqsf2.c index f6f83b7297..89bdc364a8 100644 --- a/libgcc/soft-fp/eqsf2.c +++ b/libgcc/soft-fp/eqsf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 otherwise - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/eqtf2.c b/libgcc/soft-fp/eqtf2.c index 23ac78854b..f91720e9e0 100644 --- a/libgcc/soft-fp/eqtf2.c +++ b/libgcc/soft-fp/eqtf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 otherwise - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/extenddftf2.c b/libgcc/soft-fp/extenddftf2.c index c89af56f01..94e55276eb 100644 --- a/libgcc/soft-fp/extenddftf2.c +++ b/libgcc/soft-fp/extenddftf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a converted to IEEE quad - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/extended.h b/libgcc/soft-fp/extended.h index 428f9178a6..7b19e835f7 100644 --- a/libgcc/soft-fp/extended.h +++ b/libgcc/soft-fp/extended.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Definitions for IEEE Extended Precision. - Copyright (C) 1999-2015 Free Software Foundation, Inc. + Copyright (C) 1999-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek (jj@ultra.linux.cz). @@ -104,6 +104,7 @@ union _FP_UNION_E X##_f[3] = 0; \ X##_f[0] = FP_UNPACK_RAW_E_flo.bits.frac0; \ X##_f[1] = FP_UNPACK_RAW_E_flo.bits.frac1; \ + X##_f[1] &= ~_FP_IMPLBIT_E; \ X##_e = FP_UNPACK_RAW_E_flo.bits.exp; \ X##_s = FP_UNPACK_RAW_E_flo.bits.sign; \ } \ @@ -119,6 +120,7 @@ union _FP_UNION_E X##_f[3] = 0; \ X##_f[0] = FP_UNPACK_RAW_EP_flo->bits.frac0; \ X##_f[1] = FP_UNPACK_RAW_EP_flo->bits.frac1; \ + X##_f[1] &= ~_FP_IMPLBIT_E; \ X##_e = FP_UNPACK_RAW_EP_flo->bits.exp; \ X##_s = FP_UNPACK_RAW_EP_flo->bits.sign; \ } \ @@ -332,6 +334,7 @@ union _FP_UNION_E FP_UNPACK_RAW_E_flo.flt = (val); \ \ X##_f0 = FP_UNPACK_RAW_E_flo.bits.frac; \ + X##_f0 &= ~_FP_IMPLBIT_E; \ X##_f1 = 0; \ X##_e = FP_UNPACK_RAW_E_flo.bits.exp; \ X##_s = FP_UNPACK_RAW_E_flo.bits.sign; \ @@ -345,6 +348,7 @@ union _FP_UNION_E = (union _FP_UNION_E *) (val); \ \ X##_f0 = FP_UNPACK_RAW_EP_flo->bits.frac; \ + X##_f0 &= ~_FP_IMPLBIT_E; \ X##_f1 = 0; \ X##_e = FP_UNPACK_RAW_EP_flo->bits.exp; \ X##_s = FP_UNPACK_RAW_EP_flo->bits.sign; \ diff --git a/libgcc/soft-fp/extendhftf2.c b/libgcc/soft-fp/extendhftf2.c new file mode 100644 index 0000000000..6ff6438e6d --- /dev/null +++ b/libgcc/soft-fp/extendhftf2.c @@ -0,0 +1,53 @@ +/* Software floating-point emulation. + Return an IEEE half converted to IEEE quad + Copyright (C) 1997-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define FP_NO_EXACT_UNDERFLOW +#include "soft-fp.h" +#include "half.h" +#include "quad.h" + +TFtype +__extendhftf2 (HFtype a) +{ + FP_DECL_EX; + FP_DECL_H (A); + FP_DECL_Q (R); + TFtype r; + + FP_INIT_EXCEPTIONS; + FP_UNPACK_RAW_H (A, a); +#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q + FP_EXTEND (Q, H, 4, 1, R, A); +#else + FP_EXTEND (Q, H, 2, 1, R, A); +#endif + FP_PACK_RAW_Q (r, R); + FP_HANDLE_EXCEPTIONS; + + return r; +} diff --git a/libgcc/soft-fp/extendsfdf2.c b/libgcc/soft-fp/extendsfdf2.c index 21bf18fa43..221584cbcc 100644 --- a/libgcc/soft-fp/extendsfdf2.c +++ b/libgcc/soft-fp/extendsfdf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a converted to IEEE double - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/extendsftf2.c b/libgcc/soft-fp/extendsftf2.c index e5bfbbe1e4..6eab3a6438 100644 --- a/libgcc/soft-fp/extendsftf2.c +++ b/libgcc/soft-fp/extendsftf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a converted to IEEE quad - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/extendxftf2.c b/libgcc/soft-fp/extendxftf2.c index 87e4c7a0a5..1975d672a8 100644 --- a/libgcc/soft-fp/extendxftf2.c +++ b/libgcc/soft-fp/extendxftf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a converted to IEEE quad - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/fixdfdi.c b/libgcc/soft-fp/fixdfdi.c index 9a6894d5c5..d697fc48a0 100644 --- a/libgcc/soft-fp/fixdfdi.c +++ b/libgcc/soft-fp/fixdfdi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 64bit signed integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixdfsi.c b/libgcc/soft-fp/fixdfsi.c index bebee75bbd..3e312aa99e 100644 --- a/libgcc/soft-fp/fixdfsi.c +++ b/libgcc/soft-fp/fixdfsi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 32bit signed integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixdfti.c b/libgcc/soft-fp/fixdfti.c index 549166892c..07d7a82cfc 100644 --- a/libgcc/soft-fp/fixdfti.c +++ b/libgcc/soft-fp/fixdfti.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert IEEE double to 128bit signed integer - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/fixhfti.c b/libgcc/soft-fp/fixhfti.c new file mode 100644 index 0000000000..3610f4cc31 --- /dev/null +++ b/libgcc/soft-fp/fixhfti.c @@ -0,0 +1,45 @@ +/* Software floating-point emulation. + Convert IEEE half to 128bit signed integer + Copyright (C) 2007-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include "soft-fp.h" +#include "half.h" + +TItype +__fixhfti (HFtype a) +{ + FP_DECL_EX; + FP_DECL_H (A); + UTItype r; + + FP_INIT_EXCEPTIONS; + FP_UNPACK_RAW_H (A, a); + FP_TO_INT_H (r, A, TI_BITS, 1); + FP_HANDLE_EXCEPTIONS; + + return r; +} diff --git a/libgcc/soft-fp/fixsfdi.c b/libgcc/soft-fp/fixsfdi.c index 42a15b98c7..cd37e8edd3 100644 --- a/libgcc/soft-fp/fixsfdi.c +++ b/libgcc/soft-fp/fixsfdi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 64bit signed integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixsfsi.c b/libgcc/soft-fp/fixsfsi.c index 1bf3dd8fb9..6417bd436b 100644 --- a/libgcc/soft-fp/fixsfsi.c +++ b/libgcc/soft-fp/fixsfsi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 32bit signed integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixsfti.c b/libgcc/soft-fp/fixsfti.c index fea7d86f5f..0ff3b9a1f9 100644 --- a/libgcc/soft-fp/fixsfti.c +++ b/libgcc/soft-fp/fixsfti.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert IEEE single to 128bit signed integer - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/fixtfdi.c b/libgcc/soft-fp/fixtfdi.c index 84be9b12d3..1ea4ad9117 100644 --- a/libgcc/soft-fp/fixtfdi.c +++ b/libgcc/soft-fp/fixtfdi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 64bit signed integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixtfsi.c b/libgcc/soft-fp/fixtfsi.c index 7f694ca697..e4f8be190c 100644 --- a/libgcc/soft-fp/fixtfsi.c +++ b/libgcc/soft-fp/fixtfsi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 32bit signed integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixtfti.c b/libgcc/soft-fp/fixtfti.c index e36a6b6ea4..d4acebaf49 100644 --- a/libgcc/soft-fp/fixtfti.c +++ b/libgcc/soft-fp/fixtfti.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert IEEE quad to 128bit signed integer - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/fixunsdfdi.c b/libgcc/soft-fp/fixunsdfdi.c index 16eeded22a..5ae4c2c411 100644 --- a/libgcc/soft-fp/fixunsdfdi.c +++ b/libgcc/soft-fp/fixunsdfdi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 64bit unsigned integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixunsdfsi.c b/libgcc/soft-fp/fixunsdfsi.c index dba8ccdd73..96bf6db3d7 100644 --- a/libgcc/soft-fp/fixunsdfsi.c +++ b/libgcc/soft-fp/fixunsdfsi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 32bit unsigned integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixunsdfti.c b/libgcc/soft-fp/fixunsdfti.c index a803ee7f65..942334169b 100644 --- a/libgcc/soft-fp/fixunsdfti.c +++ b/libgcc/soft-fp/fixunsdfti.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert IEEE double to 128bit unsigned integer - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/fixunshfti.c b/libgcc/soft-fp/fixunshfti.c new file mode 100644 index 0000000000..30edbfe5d8 --- /dev/null +++ b/libgcc/soft-fp/fixunshfti.c @@ -0,0 +1,45 @@ +/* Software floating-point emulation. + Convert IEEE half to 128bit unsigned integer + Copyright (C) 2007-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include "soft-fp.h" +#include "half.h" + +UTItype +__fixunshfti (HFtype a) +{ + FP_DECL_EX; + FP_DECL_H (A); + UTItype r; + + FP_INIT_EXCEPTIONS; + FP_UNPACK_RAW_H (A, a); + FP_TO_INT_H (r, A, TI_BITS, 0); + FP_HANDLE_EXCEPTIONS; + + return r; +} diff --git a/libgcc/soft-fp/fixunssfdi.c b/libgcc/soft-fp/fixunssfdi.c index 00244567da..fe8a3fa664 100644 --- a/libgcc/soft-fp/fixunssfdi.c +++ b/libgcc/soft-fp/fixunssfdi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 64bit unsigned integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixunssfsi.c b/libgcc/soft-fp/fixunssfsi.c index 360344397a..bd40ba2570 100644 --- a/libgcc/soft-fp/fixunssfsi.c +++ b/libgcc/soft-fp/fixunssfsi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 32bit unsigned integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixunssfti.c b/libgcc/soft-fp/fixunssfti.c index 65d836d006..e630ac39a9 100644 --- a/libgcc/soft-fp/fixunssfti.c +++ b/libgcc/soft-fp/fixunssfti.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert IEEE single to 128bit unsigned integer - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/fixunstfdi.c b/libgcc/soft-fp/fixunstfdi.c index 390030fc6f..788cbe4fce 100644 --- a/libgcc/soft-fp/fixunstfdi.c +++ b/libgcc/soft-fp/fixunstfdi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 64bit unsigned integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixunstfsi.c b/libgcc/soft-fp/fixunstfsi.c index ce9a07aa97..25d6f58172 100644 --- a/libgcc/soft-fp/fixunstfsi.c +++ b/libgcc/soft-fp/fixunstfsi.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a to 32bit unsigned integer - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/fixunstfti.c b/libgcc/soft-fp/fixunstfti.c index 351e535b4f..f4dd876aa1 100644 --- a/libgcc/soft-fp/fixunstfti.c +++ b/libgcc/soft-fp/fixunstfti.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert IEEE quad to 128bit unsigned integer - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/floatdidf.c b/libgcc/soft-fp/floatdidf.c index ff1a12efb0..afd31d34ad 100644 --- a/libgcc/soft-fp/floatdidf.c +++ b/libgcc/soft-fp/floatdidf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 64bit signed integer to IEEE double - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatdisf.c b/libgcc/soft-fp/floatdisf.c index 3397d3ff0f..30e2c712e4 100644 --- a/libgcc/soft-fp/floatdisf.c +++ b/libgcc/soft-fp/floatdisf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 64bit signed integer to IEEE single - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatditf.c b/libgcc/soft-fp/floatditf.c index e2b5ea11d2..dd088d5622 100644 --- a/libgcc/soft-fp/floatditf.c +++ b/libgcc/soft-fp/floatditf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 64bit signed integer to IEEE quad - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatsidf.c b/libgcc/soft-fp/floatsidf.c index 4e10c2e065..a9b0a71fc5 100644 --- a/libgcc/soft-fp/floatsidf.c +++ b/libgcc/soft-fp/floatsidf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 32bit signed integer to IEEE double - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatsisf.c b/libgcc/soft-fp/floatsisf.c index 71fd463af2..5196818b7f 100644 --- a/libgcc/soft-fp/floatsisf.c +++ b/libgcc/soft-fp/floatsisf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 32bit signed integer to IEEE single - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatsitf.c b/libgcc/soft-fp/floatsitf.c index f07a883db7..42f950fafe 100644 --- a/libgcc/soft-fp/floatsitf.c +++ b/libgcc/soft-fp/floatsitf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 32bit signed integer to IEEE quad - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floattidf.c b/libgcc/soft-fp/floattidf.c index 8fbe2775f2..fdc61330f0 100644 --- a/libgcc/soft-fp/floattidf.c +++ b/libgcc/soft-fp/floattidf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 128bit signed integer to IEEE double - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/floattihf.c b/libgcc/soft-fp/floattihf.c new file mode 100644 index 0000000000..74ac83a739 --- /dev/null +++ b/libgcc/soft-fp/floattihf.c @@ -0,0 +1,45 @@ +/* Software floating-point emulation. + Convert a 128bit signed integer to IEEE half + Copyright (C) 2007-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include "soft-fp.h" +#include "half.h" + +HFtype +__floattihf (TItype i) +{ + FP_DECL_EX; + FP_DECL_H (A); + HFtype a; + + FP_INIT_ROUNDMODE; + FP_FROM_INT_H (A, i, TI_BITS, UTItype); + FP_PACK_RAW_H (a, A); + FP_HANDLE_EXCEPTIONS; + + return a; +} diff --git a/libgcc/soft-fp/floattisf.c b/libgcc/soft-fp/floattisf.c index 4f6f4a7e3b..bc173e9ecf 100644 --- a/libgcc/soft-fp/floattisf.c +++ b/libgcc/soft-fp/floattisf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 128bit signed integer to IEEE single - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/floattitf.c b/libgcc/soft-fp/floattitf.c index b2ed57dd3e..f2bf410bc1 100644 --- a/libgcc/soft-fp/floattitf.c +++ b/libgcc/soft-fp/floattitf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 128bit signed integer to IEEE quad - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/floatundidf.c b/libgcc/soft-fp/floatundidf.c index 70d8cc3751..093d594ea8 100644 --- a/libgcc/soft-fp/floatundidf.c +++ b/libgcc/soft-fp/floatundidf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 64bit unsigned integer to IEEE double - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatundisf.c b/libgcc/soft-fp/floatundisf.c index 09f6e395a3..56fa9daee3 100644 --- a/libgcc/soft-fp/floatundisf.c +++ b/libgcc/soft-fp/floatundisf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 64bit unsigned integer to IEEE single - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatunditf.c b/libgcc/soft-fp/floatunditf.c index 7aa081b903..106d06ee36 100644 --- a/libgcc/soft-fp/floatunditf.c +++ b/libgcc/soft-fp/floatunditf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 64bit unsigned integer to IEEE quad - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatunsidf.c b/libgcc/soft-fp/floatunsidf.c index a9da8e1ae0..b116695af2 100644 --- a/libgcc/soft-fp/floatunsidf.c +++ b/libgcc/soft-fp/floatunsidf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 32bit unsigned integer to IEEE double - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatunsisf.c b/libgcc/soft-fp/floatunsisf.c index 5a560efd8d..fc2a6d65d7 100644 --- a/libgcc/soft-fp/floatunsisf.c +++ b/libgcc/soft-fp/floatunsisf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 32bit unsigned integer to IEEE single - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatunsitf.c b/libgcc/soft-fp/floatunsitf.c index 2022d53e45..000423d9d8 100644 --- a/libgcc/soft-fp/floatunsitf.c +++ b/libgcc/soft-fp/floatunsitf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 32bit unsigned integer to IEEE quad - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/floatuntidf.c b/libgcc/soft-fp/floatuntidf.c index 6f678c416d..0236bd5dc5 100644 --- a/libgcc/soft-fp/floatuntidf.c +++ b/libgcc/soft-fp/floatuntidf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 128bit unsigned integer to IEEE double - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/floatuntihf.c b/libgcc/soft-fp/floatuntihf.c new file mode 100644 index 0000000000..90e77c2c00 --- /dev/null +++ b/libgcc/soft-fp/floatuntihf.c @@ -0,0 +1,45 @@ +/* Software floating-point emulation. + Convert a 128bit unsigned integer to IEEE half. + Copyright (C) 2007-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include "soft-fp.h" +#include "half.h" + +HFtype +__floatuntihf (UTItype i) +{ + FP_DECL_EX; + FP_DECL_H (A); + HFtype a; + + FP_INIT_ROUNDMODE; + FP_FROM_INT_H (A, i, TI_BITS, UTItype); + FP_PACK_RAW_H (a, A); + FP_HANDLE_EXCEPTIONS; + + return a; +} diff --git a/libgcc/soft-fp/floatuntisf.c b/libgcc/soft-fp/floatuntisf.c index bb389d3d87..e4b953189f 100644 --- a/libgcc/soft-fp/floatuntisf.c +++ b/libgcc/soft-fp/floatuntisf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 128bit unsigned integer to IEEE single - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/floatuntitf.c b/libgcc/soft-fp/floatuntitf.c index 0d3878f7df..69727e58b5 100644 --- a/libgcc/soft-fp/floatuntitf.c +++ b/libgcc/soft-fp/floatuntitf.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Convert a 128bit unsigned integer to IEEE quad - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/gedf2.c b/libgcc/soft-fp/gedf2.c index eea3647f82..f466cc9341 100644 --- a/libgcc/soft-fp/gedf2.c +++ b/libgcc/soft-fp/gedf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/gesf2.c b/libgcc/soft-fp/gesf2.c index b554207bf4..2e516e5460 100644 --- a/libgcc/soft-fp/gesf2.c +++ b/libgcc/soft-fp/gesf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/getf2.c b/libgcc/soft-fp/getf2.c index 3c30431793..e302629f61 100644 --- a/libgcc/soft-fp/getf2.c +++ b/libgcc/soft-fp/getf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 iff a > b, -2 iff a ? b, -1 iff a < b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/half.h b/libgcc/soft-fp/half.h new file mode 100644 index 0000000000..ba75297838 --- /dev/null +++ b/libgcc/soft-fp/half.h @@ -0,0 +1,170 @@ +/* Software floating-point emulation. + Definitions for IEEE Half Precision. + Copyright (C) 1997-2016 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef SOFT_FP_HALF_H +#define SOFT_FP_HALF_H 1 + +#if _FP_W_TYPE_SIZE < 32 +# error "Here's a nickel kid. Go buy yourself a real computer." +#endif + +#define _FP_FRACTBITS_H (_FP_W_TYPE_SIZE) + +#define _FP_FRACTBITS_DW_H (_FP_W_TYPE_SIZE) + +#define _FP_FRACBITS_H 11 +#define _FP_FRACXBITS_H (_FP_FRACTBITS_H - _FP_FRACBITS_H) +#define _FP_WFRACBITS_H (_FP_WORKBITS + _FP_FRACBITS_H) +#define _FP_WFRACXBITS_H (_FP_FRACTBITS_H - _FP_WFRACBITS_H) +#define _FP_EXPBITS_H 5 +#define _FP_EXPBIAS_H 15 +#define _FP_EXPMAX_H 31 + +#define _FP_QNANBIT_H ((_FP_W_TYPE) 1 << (_FP_FRACBITS_H-2)) +#define _FP_QNANBIT_SH_H ((_FP_W_TYPE) 1 << (_FP_FRACBITS_H-2+_FP_WORKBITS)) +#define _FP_IMPLBIT_H ((_FP_W_TYPE) 1 << (_FP_FRACBITS_H-1)) +#define _FP_IMPLBIT_SH_H ((_FP_W_TYPE) 1 << (_FP_FRACBITS_H-1+_FP_WORKBITS)) +#define _FP_OVERFLOW_H ((_FP_W_TYPE) 1 << (_FP_WFRACBITS_H)) + +#define _FP_WFRACBITS_DW_H (2 * _FP_WFRACBITS_H) +#define _FP_WFRACXBITS_DW_H (_FP_FRACTBITS_DW_H - _FP_WFRACBITS_DW_H) +#define _FP_HIGHBIT_DW_H \ + ((_FP_W_TYPE) 1 << (_FP_WFRACBITS_DW_H - 1) % _FP_W_TYPE_SIZE) + +/* The implementation of _FP_MUL_MEAT_H and _FP_DIV_MEAT_H should be + chosen by the target machine. */ + +typedef float HFtype __attribute__ ((mode (HF))); + +union _FP_UNION_H +{ + HFtype flt; + struct _FP_STRUCT_LAYOUT + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned sign : 1; + unsigned exp : _FP_EXPBITS_H; + unsigned frac : _FP_FRACBITS_H - (_FP_IMPLBIT_H != 0); +#else + unsigned frac : _FP_FRACBITS_H - (_FP_IMPLBIT_H != 0); + unsigned exp : _FP_EXPBITS_H; + unsigned sign : 1; +#endif + } bits __attribute__ ((packed)); +}; + +#define FP_DECL_H(X) _FP_DECL (1, X) +#define FP_UNPACK_RAW_H(X, val) _FP_UNPACK_RAW_1 (H, X, (val)) +#define FP_UNPACK_RAW_HP(X, val) _FP_UNPACK_RAW_1_P (H, X, (val)) +#define FP_PACK_RAW_H(val, X) _FP_PACK_RAW_1 (H, (val), X) +#define FP_PACK_RAW_HP(val, X) \ + do \ + { \ + if (!FP_INHIBIT_RESULTS) \ + _FP_PACK_RAW_1_P (H, (val), X); \ + } \ + while (0) + +#define FP_UNPACK_H(X, val) \ + do \ + { \ + _FP_UNPACK_RAW_1 (H, X, (val)); \ + _FP_UNPACK_CANONICAL (H, 1, X); \ + } \ + while (0) + +#define FP_UNPACK_HP(X, val) \ + do \ + { \ + _FP_UNPACK_RAW_1_P (H, X, (val)); \ + _FP_UNPACK_CANONICAL (H, 1, X); \ + } \ + while (0) + +#define FP_UNPACK_SEMIRAW_H(X, val) \ + do \ + { \ + _FP_UNPACK_RAW_1 (H, X, (val)); \ + _FP_UNPACK_SEMIRAW (H, 1, X); \ + } \ + while (0) + +#define FP_UNPACK_SEMIRAW_HP(X, val) \ + do \ + { \ + _FP_UNPACK_RAW_1_P (H, X, (val)); \ + _FP_UNPACK_SEMIRAW (H, 1, X); \ + } \ + while (0) + +#define FP_PACK_H(val, X) \ + do \ + { \ + _FP_PACK_CANONICAL (H, 1, X); \ + _FP_PACK_RAW_1 (H, (val), X); \ + } \ + while (0) + +#define FP_PACK_HP(val, X) \ + do \ + { \ + _FP_PACK_CANONICAL (H, 1, X); \ + if (!FP_INHIBIT_RESULTS) \ + _FP_PACK_RAW_1_P (H, (val), X); \ + } \ + while (0) + +#define FP_PACK_SEMIRAW_H(val, X) \ + do \ + { \ + _FP_PACK_SEMIRAW (H, 1, X); \ + _FP_PACK_RAW_1 (H, (val), X); \ + } \ + while (0) + +#define FP_PACK_SEMIRAW_HP(val, X) \ + do \ + { \ + _FP_PACK_SEMIRAW (H, 1, X); \ + if (!FP_INHIBIT_RESULTS) \ + _FP_PACK_RAW_1_P (H, (val), X); \ + } \ + while (0) + +#define FP_TO_INT_H(r, X, rsz, rsg) _FP_TO_INT (H, 1, (r), X, (rsz), (rsg)) +#define FP_TO_INT_ROUND_H(r, X, rsz, rsg) \ + _FP_TO_INT_ROUND (H, 1, (r), X, (rsz), (rsg)) +#define FP_FROM_INT_H(X, r, rs, rt) _FP_FROM_INT (H, 1, X, (r), (rs), rt) + +/* HFmode arithmetic is not implemented. */ + +#define _FP_FRAC_HIGH_H(X) _FP_FRAC_HIGH_1 (X) +#define _FP_FRAC_HIGH_RAW_H(X) _FP_FRAC_HIGH_1 (X) +#define _FP_FRAC_HIGH_DW_H(X) _FP_FRAC_HIGH_1 (X) + +#endif /* !SOFT_FP_HALF_H */ diff --git a/libgcc/soft-fp/ledf2.c b/libgcc/soft-fp/ledf2.c index ea059cc3f9..2f4d69822f 100644 --- a/libgcc/soft-fp/ledf2.c +++ b/libgcc/soft-fp/ledf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/lesf2.c b/libgcc/soft-fp/lesf2.c index b47bca9b18..67aa9c83f3 100644 --- a/libgcc/soft-fp/lesf2.c +++ b/libgcc/soft-fp/lesf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/letf2.c b/libgcc/soft-fp/letf2.c index 113a2308cd..4a56305234 100644 --- a/libgcc/soft-fp/letf2.c +++ b/libgcc/soft-fp/letf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 0 iff a == b, 1 iff a > b, 2 iff a ? b, -1 iff a < b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/muldf3.c b/libgcc/soft-fp/muldf3.c index acea9a76a4..644e810ac6 100644 --- a/libgcc/soft-fp/muldf3.c +++ b/libgcc/soft-fp/muldf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a * b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/mulsf3.c b/libgcc/soft-fp/mulsf3.c index fd9c6ff8d8..e551331ea7 100644 --- a/libgcc/soft-fp/mulsf3.c +++ b/libgcc/soft-fp/mulsf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a * b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/multf3.c b/libgcc/soft-fp/multf3.c index c8f352fd7f..baab3774a8 100644 --- a/libgcc/soft-fp/multf3.c +++ b/libgcc/soft-fp/multf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a * b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/negdf2.c b/libgcc/soft-fp/negdf2.c index f95e13bd64..a4b2dea468 100644 --- a/libgcc/soft-fp/negdf2.c +++ b/libgcc/soft-fp/negdf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return -a - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/negsf2.c b/libgcc/soft-fp/negsf2.c index 5bfc486ad8..825b76f642 100644 --- a/libgcc/soft-fp/negsf2.c +++ b/libgcc/soft-fp/negsf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return -a - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/negtf2.c b/libgcc/soft-fp/negtf2.c index cb0a998529..892c923ae3 100644 --- a/libgcc/soft-fp/negtf2.c +++ b/libgcc/soft-fp/negtf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return -a - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/op-1.h b/libgcc/soft-fp/op-1.h index e3a91bfc7b..b4d611df11 100644 --- a/libgcc/soft-fp/op-1.h +++ b/libgcc/soft-fp/op-1.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Basic one-word fraction declaration and manipulation. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), diff --git a/libgcc/soft-fp/op-2.h b/libgcc/soft-fp/op-2.h index a51eb6b35d..5c5f4fc422 100644 --- a/libgcc/soft-fp/op-2.h +++ b/libgcc/soft-fp/op-2.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Basic two-word fraction declaration and manipulation. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), diff --git a/libgcc/soft-fp/op-4.h b/libgcc/soft-fp/op-4.h index a5805170e4..b2df519c1a 100644 --- a/libgcc/soft-fp/op-4.h +++ b/libgcc/soft-fp/op-4.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Basic four-word fraction declaration and manipulation. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), diff --git a/libgcc/soft-fp/op-8.h b/libgcc/soft-fp/op-8.h index 5267ae34ec..6b63c22993 100644 --- a/libgcc/soft-fp/op-8.h +++ b/libgcc/soft-fp/op-8.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Basic eight-word fraction declaration and manipulation. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz) and diff --git a/libgcc/soft-fp/op-common.h b/libgcc/soft-fp/op-common.h index 080ef0e9b9..f52194ecd1 100644 --- a/libgcc/soft-fp/op-common.h +++ b/libgcc/soft-fp/op-common.h @@ -1,5 +1,5 @@ /* Software floating-point emulation. Common operations. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), @@ -898,6 +898,7 @@ case _FP_CLS_COMBINE (FP_CLS_NAN, FP_CLS_INF): \ case _FP_CLS_COMBINE (FP_CLS_NAN, FP_CLS_ZERO): \ R##_s = X##_s; \ + /* FALLTHRU */ \ \ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_INF): \ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_NORMAL): \ @@ -911,6 +912,7 @@ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_NAN): \ case _FP_CLS_COMBINE (FP_CLS_ZERO, FP_CLS_NAN): \ R##_s = Y##_s; \ + /* FALLTHRU */ \ \ case _FP_CLS_COMBINE (FP_CLS_NORMAL, FP_CLS_INF): \ case _FP_CLS_COMBINE (FP_CLS_NORMAL, FP_CLS_ZERO): \ @@ -1063,6 +1065,7 @@ case _FP_CLS_COMBINE (FP_CLS_NAN, FP_CLS_INF): \ case _FP_CLS_COMBINE (FP_CLS_NAN, FP_CLS_ZERO): \ _FP_FMA_T##_s = X##_s; \ + /* FALLTHRU */ \ \ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_INF): \ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_NORMAL): \ @@ -1076,6 +1079,7 @@ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_NAN): \ case _FP_CLS_COMBINE (FP_CLS_ZERO, FP_CLS_NAN): \ _FP_FMA_T##_s = Y##_s; \ + /* FALLTHRU */ \ \ case _FP_CLS_COMBINE (FP_CLS_NORMAL, FP_CLS_INF): \ case _FP_CLS_COMBINE (FP_CLS_NORMAL, FP_CLS_ZERO): \ @@ -1198,6 +1202,7 @@ \ case _FP_CLS_COMBINE (FP_CLS_NORMAL, FP_CLS_ZERO): \ FP_SET_EXCEPTION (FP_EX_DIVZERO); \ + /* FALLTHRU */ \ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_ZERO): \ case _FP_CLS_COMBINE (FP_CLS_INF, FP_CLS_NORMAL): \ R##_c = FP_CLS_INF; \ diff --git a/libgcc/soft-fp/quad.h b/libgcc/soft-fp/quad.h index 9b5191cf5d..a09b95ff37 100644 --- a/libgcc/soft-fp/quad.h +++ b/libgcc/soft-fp/quad.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Definitions for IEEE Quad Precision. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), diff --git a/libgcc/soft-fp/single.h b/libgcc/soft-fp/single.h index b03514006f..42691a8e84 100644 --- a/libgcc/soft-fp/single.h +++ b/libgcc/soft-fp/single.h @@ -1,6 +1,6 @@ /* Software floating-point emulation. Definitions for IEEE Single Precision. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), diff --git a/libgcc/soft-fp/soft-fp.h b/libgcc/soft-fp/soft-fp.h index 3b39336b38..7fe3ae374d 100644 --- a/libgcc/soft-fp/soft-fp.h +++ b/libgcc/soft-fp/soft-fp.h @@ -1,5 +1,5 @@ /* Software floating-point emulation. - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), diff --git a/libgcc/soft-fp/subdf3.c b/libgcc/soft-fp/subdf3.c index a217d27450..1c3162928b 100644 --- a/libgcc/soft-fp/subdf3.c +++ b/libgcc/soft-fp/subdf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a - b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/subsf3.c b/libgcc/soft-fp/subsf3.c index aedae8847e..0a81916595 100644 --- a/libgcc/soft-fp/subsf3.c +++ b/libgcc/soft-fp/subsf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a - b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/subtf3.c b/libgcc/soft-fp/subtf3.c index 387ada7433..6a93fce17a 100644 --- a/libgcc/soft-fp/subtf3.c +++ b/libgcc/soft-fp/subtf3.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return a - b - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/truncdfsf2.c b/libgcc/soft-fp/truncdfsf2.c index 348941c78c..4c757f56e0 100644 --- a/libgcc/soft-fp/truncdfsf2.c +++ b/libgcc/soft-fp/truncdfsf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Truncate IEEE double into IEEE single - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/trunctfdf2.c b/libgcc/soft-fp/trunctfdf2.c index 10a899c5f9..837267f525 100644 --- a/libgcc/soft-fp/trunctfdf2.c +++ b/libgcc/soft-fp/trunctfdf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Truncate IEEE quad into IEEE double - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/trunctfhf2.c b/libgcc/soft-fp/trunctfhf2.c new file mode 100644 index 0000000000..0500b14185 --- /dev/null +++ b/libgcc/soft-fp/trunctfhf2.c @@ -0,0 +1,52 @@ +/* Software floating-point emulation. + Truncate IEEE quad into IEEE half. + Copyright (C) 1997-2015 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file into + combinations with other programs, and to distribute those + combinations without any restriction coming from the use of this + file. (The Lesser General Public License restrictions do apply in + other respects; for example, they cover modification of the file, + and distribution when not linked into a combine executable.) + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include "soft-fp.h" +#include "half.h" +#include "quad.h" + +HFtype +__trunctfhf2 (TFtype a) +{ + FP_DECL_EX; + FP_DECL_Q (A); + FP_DECL_H (R); + HFtype r; + + FP_INIT_ROUNDMODE; + FP_UNPACK_SEMIRAW_Q (A, a); +#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q + FP_TRUNC (H, Q, 1, 4, R, A); +#else + FP_TRUNC (H, Q, 1, 2, R, A); +#endif + FP_PACK_SEMIRAW_H (r, R); + FP_HANDLE_EXCEPTIONS; + + return r; +} diff --git a/libgcc/soft-fp/trunctfsf2.c b/libgcc/soft-fp/trunctfsf2.c index 57f54fbdf4..8cf829e548 100644 --- a/libgcc/soft-fp/trunctfsf2.c +++ b/libgcc/soft-fp/trunctfsf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Truncate IEEE quad into IEEE single - Copyright (C) 1997-2015 Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com) and Jakub Jelinek (jj@ultra.linux.cz). diff --git a/libgcc/soft-fp/trunctfxf2.c b/libgcc/soft-fp/trunctfxf2.c index b87729ef55..db411d05b0 100644 --- a/libgcc/soft-fp/trunctfxf2.c +++ b/libgcc/soft-fp/trunctfxf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Truncate IEEE quad into IEEE extended - Copyright (C) 2007-2015 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Uros Bizjak (ubizjak@gmail.com). diff --git a/libgcc/soft-fp/unorddf2.c b/libgcc/soft-fp/unorddf2.c index d101e05efe..ffdbc6b349 100644 --- a/libgcc/soft-fp/unorddf2.c +++ b/libgcc/soft-fp/unorddf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a or b is a NaN, 0 otherwise. - Copyright (C) 2006-2015 Free Software Foundation, Inc. + Copyright (C) 2006-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Joseph Myers (joseph@codesourcery.com). diff --git a/libgcc/soft-fp/unordsf2.c b/libgcc/soft-fp/unordsf2.c index 900994774b..e3f3bd979a 100644 --- a/libgcc/soft-fp/unordsf2.c +++ b/libgcc/soft-fp/unordsf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a or b is a NaN, 0 otherwise. - Copyright (C) 2006-2015 Free Software Foundation, Inc. + Copyright (C) 2006-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Joseph Myers (joseph@codesourcery.com). diff --git a/libgcc/soft-fp/unordtf2.c b/libgcc/soft-fp/unordtf2.c index 05aaf04325..dd75985530 100644 --- a/libgcc/soft-fp/unordtf2.c +++ b/libgcc/soft-fp/unordtf2.c @@ -1,6 +1,6 @@ /* Software floating-point emulation. Return 1 iff a or b is a NaN, 0 otherwise. - Copyright (C) 2006-2015 Free Software Foundation, Inc. + Copyright (C) 2006-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Joseph Myers (joseph@codesourcery.com). diff --git a/libgcc/sync.c b/libgcc/sync.c index 16ad0fe440..ec668eded7 100644 --- a/libgcc/sync.c +++ b/libgcc/sync.c @@ -1,5 +1,5 @@ /* Out-of-line libgcc versions of __sync_* builtins. */ -/* Copyright (C) 2008-2016 Free Software Foundation, Inc. +/* Copyright (C) 2008-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/udivmod.c b/libgcc/udivmod.c index 264febde91..f61e32403e 100644 --- a/libgcc/udivmod.c +++ b/libgcc/udivmod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/udivmodsi4.c b/libgcc/udivmodsi4.c index 3a9208c51e..5aa5eb92c7 100644 --- a/libgcc/udivmodsi4.c +++ b/libgcc/udivmodsi4.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2016 Free Software Foundation, Inc. +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind-arm-common.inc b/libgcc/unwind-arm-common.inc index 45f288b953..83eb7bd517 100644 --- a/libgcc/unwind-arm-common.inc +++ b/libgcc/unwind-arm-common.inc @@ -1,5 +1,5 @@ /* Common unwinding code for ARM EABI and C6X. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. Contributed by Paul Brook This file is free software; you can redistribute it and/or modify it diff --git a/libgcc/unwind-c.c b/libgcc/unwind-c.c index 5835aadf23..e80b078472 100644 --- a/libgcc/unwind-c.c +++ b/libgcc/unwind-c.c @@ -1,5 +1,5 @@ /* Supporting functions for C exception handling. - Copyright (C) 2002-2016 Free Software Foundation, Inc. + Copyright (C) 2002-2017 Free Software Foundation, Inc. Contributed by Aldy Hernandez <aldy@quesejoda.com>. Shamelessly stolen from the Java front end. @@ -26,6 +26,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "tconfig.h" #include "tsystem.h" +#include "auto-target.h" #include "unwind.h" #define NO_SIZE_OF_ENCODED_VALUE #include "unwind-pe.h" diff --git a/libgcc/unwind-compat.c b/libgcc/unwind-compat.c index e8e351ddbc..f87709def7 100644 --- a/libgcc/unwind-compat.c +++ b/libgcc/unwind-compat.c @@ -1,5 +1,5 @@ /* Backward compatibility unwind routines. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind-compat.h b/libgcc/unwind-compat.h index 25775d4ab3..1344d341c4 100644 --- a/libgcc/unwind-compat.h +++ b/libgcc/unwind-compat.h @@ -1,5 +1,5 @@ /* Backward compatibility unwind routines. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind-dw2-fde-compat.c b/libgcc/unwind-dw2-fde-compat.c index 92922e1bff..75c01a9294 100644 --- a/libgcc/unwind-dw2-fde-compat.c +++ b/libgcc/unwind-dw2-fde-compat.c @@ -1,5 +1,5 @@ /* Backward compatibility unwind routines. - Copyright (C) 2004-2016 Free Software Foundation, Inc. + Copyright (C) 2004-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c index f7a1c3fd1c..561394e006 100644 --- a/libgcc/unwind-dw2-fde-dip.c +++ b/libgcc/unwind-dw2-fde-dip.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2016 Free Software Foundation, Inc. +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. Contributed by Jakub Jelinek <jakub@redhat.com>. This file is part of GCC. @@ -71,7 +71,7 @@ #endif #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ - && defined(__OpenBSD__) + && (defined(__OpenBSD__) || defined(__NetBSD__)) # define ElfW(type) Elf_##type # define USE_PT_GNU_EH_FRAME #endif @@ -124,7 +124,11 @@ static struct frame_hdr_cache_element { _Unwind_Ptr pc_low; _Unwind_Ptr pc_high; +#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ + struct elf32_fdpic_loadaddr load_base; +#else _Unwind_Ptr load_base; +#endif const ElfW(Phdr) *p_eh_frame_hdr; const ElfW(Phdr) *p_dynamic; struct frame_hdr_cache_element *link; @@ -163,7 +167,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr; const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; long n, match; -#ifdef __FRV_FDPIC__ +#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ struct elf32_fdpic_loadaddr load_base; #else _Unwind_Ptr load_base; @@ -347,7 +351,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) break; } } -# elif defined __FRV_FDPIC__ && defined __linux__ +# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__ data->dbase = load_base.got_value; # else # error What is DW_EH_PE_datarel base on this platform? diff --git a/libgcc/unwind-dw2-fde.c b/libgcc/unwind-dw2-fde.c index 5b16a1f87e..02b588de89 100644 --- a/libgcc/unwind-dw2-fde.c +++ b/libgcc/unwind-dw2-fde.c @@ -1,5 +1,5 @@ /* Subroutines needed for unwinding stack frames for exception handling. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Jason Merrill <jason@cygnus.com>. This file is part of GCC. @@ -35,6 +35,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "unwind-pe.h" #include "unwind-dw2-fde.h" #include "gthr.h" +#else +#if (defined(__GTHREAD_MUTEX_INIT) || defined(__GTHREAD_MUTEX_INIT_FUNCTION)) \ + && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) +#define ATOMIC_FDE_FAST_PATH 1 +#endif #endif /* The unseen_objects list contains objects that have been registered @@ -43,6 +48,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see by decreasing value of pc_begin. */ static struct object *unseen_objects; static struct object *seen_objects; +#ifdef ATOMIC_FDE_FAST_PATH +static int any_objects_registered; +#endif #ifdef __GTHREAD_MUTEX_INIT static __gthread_mutex_t object_mutex = __GTHREAD_MUTEX_INIT; @@ -96,6 +104,16 @@ __register_frame_info_bases (const void *begin, struct object *ob, ob->next = unseen_objects; unseen_objects = ob; +#ifdef ATOMIC_FDE_FAST_PATH + /* Set flag that at least one library has registered FDEs. + Use relaxed MO here, it is up to the app to ensure that the library + loading/initialization happens-before using that library in other + threads (in particular unwinding with that library's functions + appearing in the backtraces). Calling that library's functions + without waiting for the library to initialize would be racy. */ + if (!any_objects_registered) + __atomic_store_n (&any_objects_registered, 1, __ATOMIC_RELAXED); +#endif __gthread_mutex_unlock (&object_mutex); } @@ -140,6 +158,16 @@ __register_frame_info_table_bases (void *begin, struct object *ob, ob->next = unseen_objects; unseen_objects = ob; +#ifdef ATOMIC_FDE_FAST_PATH + /* Set flag that at least one library has registered FDEs. + Use relaxed MO here, it is up to the app to ensure that the library + loading/initialization happens-before using that library in other + threads (in particular unwinding with that library's functions + appearing in the backtraces). Calling that library's functions + without waiting for the library to initialize would be racy. */ + if (!any_objects_registered) + __atomic_store_n (&any_objects_registered, 1, __ATOMIC_RELAXED); +#endif __gthread_mutex_unlock (&object_mutex); } @@ -1001,6 +1029,19 @@ _Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases) struct object *ob; const fde *f = NULL; +#ifdef ATOMIC_FDE_FAST_PATH + /* For targets where unwind info is usually not registered through these + APIs anymore, avoid taking a global lock. + Use relaxed MO here, it is up to the app to ensure that the library + loading/initialization happens-before using that library in other + threads (in particular unwinding with that library's functions + appearing in the backtraces). Calling that library's functions + without waiting for the library to initialize would be racy. */ + if (__builtin_expect (!__atomic_load_n (&any_objects_registered, + __ATOMIC_RELAXED), 1)) + return NULL; +#endif + init_object_mutex_once (); __gthread_mutex_lock (&object_mutex); diff --git a/libgcc/unwind-dw2-fde.h b/libgcc/unwind-dw2-fde.h index fdbce50e7b..7141867260 100644 --- a/libgcc/unwind-dw2-fde.h +++ b/libgcc/unwind-dw2-fde.h @@ -1,5 +1,5 @@ /* Subroutines needed for unwinding stack frames for exception handling. */ -/* Copyright (C) 1997-2016 Free Software Foundation, Inc. +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. Contributed by Jason Merrill <jason@cygnus.com>. This file is part of GCC. diff --git a/libgcc/unwind-dw2.c b/libgcc/unwind-dw2.c index 1fb6026d12..3f26eaf73d 100644 --- a/libgcc/unwind-dw2.c +++ b/libgcc/unwind-dw2.c @@ -1,5 +1,5 @@ /* DWARF2 exception handling and frame unwind runtime interface routines. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -136,6 +136,8 @@ struct _Unwind_Context #define SIGNAL_FRAME_BIT ((~(_Unwind_Word) 0 >> 1) + 1) /* Context which has version/args_size/by_value fields. */ #define EXTENDED_CONTEXT_BIT ((~(_Unwind_Word) 0 >> 2) + 1) + /* Bit reserved on AArch64, return address has been signed with A key. */ +#define RA_A_SIGNED_BIT ((~(_Unwind_Word) 0 >> 3) + 1) _Unwind_Word flags; /* 0 for now, can be increased when further fields are added to struct _Unwind_Context. */ @@ -1185,6 +1187,11 @@ execute_cfa_program (const unsigned char *insn_ptr, break; case DW_CFA_GNU_window_save: +#if defined (__aarch64__) && !defined (__ILP32__) + /* This CFA is multiplexed with Sparc. On AArch64 it's used to toggle + return address signing status. */ + fs->regs.reg[DWARF_REGNUM_AARCH64_RA_STATE].loc.offset ^= 1; +#else /* ??? Hardcoded for SPARC register window configuration. */ if (__LIBGCC_DWARF_FRAME_REGISTERS__ >= 32) for (reg = 16; reg < 32; ++reg) @@ -1192,6 +1199,7 @@ execute_cfa_program (const unsigned char *insn_ptr, fs->regs.reg[reg].how = REG_SAVED_OFFSET; fs->regs.reg[reg].loc.offset = (reg - 16) * sizeof (void *); } +#endif break; case DW_CFA_GNU_args_size: @@ -1513,10 +1521,15 @@ uw_update_context (struct _Unwind_Context *context, _Unwind_FrameState *fs) stack frame. */ context->ra = 0; else - /* Compute the return address now, since the return address column - can change from frame to frame. */ - context->ra = __builtin_extract_return_addr - (_Unwind_GetPtr (context, fs->retaddr_column)); + { + /* Compute the return address now, since the return address column + can change from frame to frame. */ + context->ra = __builtin_extract_return_addr + (_Unwind_GetPtr (context, fs->retaddr_column)); +#ifdef MD_POST_EXTRACT_FRAME_ADDR + context->ra = MD_POST_EXTRACT_FRAME_ADDR (context, fs, context->ra); +#endif + } } static void @@ -1550,6 +1563,9 @@ uw_init_context_1 (struct _Unwind_Context *context, void *outer_cfa, void *outer_ra) { void *ra = __builtin_extract_return_addr (__builtin_return_address (0)); +#ifdef MD_POST_EXTRACT_ROOT_ADDR + ra = MD_POST_EXTRACT_ROOT_ADDR (ra); +#endif _Unwind_FrameState fs; _Unwind_SpTmp sp_slot; _Unwind_Reason_Code code; @@ -1586,6 +1602,9 @@ uw_init_context_1 (struct _Unwind_Context *context, initialization context, then we can't see it in the given call frame data. So have the initialization context tell us. */ context->ra = __builtin_extract_return_addr (outer_ra); +#ifdef MD_POST_EXTRACT_ROOT_ADDR + context->ra = MD_POST_EXTRACT_ROOT_ADDR (context->ra); +#endif } static void _Unwind_DebugHook (void *, void *) @@ -1608,6 +1627,21 @@ _Unwind_DebugHook (void *cfa __attribute__ ((__unused__)), #endif } +/* Frob exception handler's address kept in TARGET before installing into + CURRENT context. */ + +static inline void * +uw_frob_return_addr (struct _Unwind_Context *current + __attribute__ ((__unused__)), + struct _Unwind_Context *target) +{ + void *ret_addr = __builtin_frob_return_addr (target->ra); +#ifdef MD_POST_FROB_EH_HANDLER_ADDR + ret_addr = MD_POST_FROB_EH_HANDLER_ADDR (current, target, ret_addr); +#endif + return ret_addr; +} + /* Install TARGET into CURRENT so that we can return to it. This is a macro because __builtin_eh_return must be invoked in the context of our caller. */ @@ -1616,7 +1650,7 @@ _Unwind_DebugHook (void *cfa __attribute__ ((__unused__)), do \ { \ long offset = uw_install_context_1 ((CURRENT), (TARGET)); \ - void *handler = __builtin_frob_return_addr ((TARGET)->ra); \ + void *handler = uw_frob_return_addr ((CURRENT), (TARGET)); \ _Unwind_DebugHook ((TARGET)->cfa, handler); \ __builtin_eh_return (offset, handler); \ } \ diff --git a/libgcc/unwind-dw2.h b/libgcc/unwind-dw2.h index a0186a996f..df048e4541 100644 --- a/libgcc/unwind-dw2.h +++ b/libgcc/unwind-dw2.h @@ -1,5 +1,5 @@ /* DWARF2 frame unwind data structure. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind-generic.h b/libgcc/unwind-generic.h index f2e3ad6540..77dd5a9020 100644 --- a/libgcc/unwind-generic.h +++ b/libgcc/unwind-generic.h @@ -1,5 +1,5 @@ /* Exception handling and frame unwind runtime interface routines. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind-pe.h b/libgcc/unwind-pe.h index 27abebf67e..194ca0aa6d 100644 --- a/libgcc/unwind-pe.h +++ b/libgcc/unwind-pe.h @@ -1,5 +1,5 @@ /* Exception handling and frame unwind runtime interface routines. - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind-seh.c b/libgcc/unwind-seh.c index bd1196ba3f..91edc1a61d 100644 --- a/libgcc/unwind-seh.c +++ b/libgcc/unwind-seh.c @@ -1,5 +1,5 @@ /* Structured Exception Handling (SEH) runtime interface routines. - Copyright (C) 2010-2016 Free Software Foundation, Inc. + Copyright (C) 2010-2017 Free Software Foundation, Inc. This file is part of GCC. @@ -221,7 +221,7 @@ _GCC_specific_handler (PEXCEPTION_RECORD ms_exc, void *this_frame, test is that we're the target frame. */ if (ms_exc->ExceptionInformation[1] == (_Unwind_Ptr) this_frame) { - RtlUnwindEx (this_frame, ms_exc->ExceptionInformation[2], + RtlUnwindEx (this_frame, (PVOID) ms_exc->ExceptionInformation[2], ms_exc, gcc_exc, ms_orig_context, ms_disp->HistoryTable); abort (); @@ -313,7 +313,7 @@ _GCC_specific_handler (PEXCEPTION_RECORD ms_exc, void *this_frame, ms_exc->ExceptionInformation[3] = gcc_context.reg[1]; /* Begin phase 2. Perform the unwinding. */ - RtlUnwindEx (this_frame, gcc_context.ra, ms_exc, + RtlUnwindEx (this_frame, (PVOID)gcc_context.ra, ms_exc, (PVOID)gcc_context.reg[0], ms_orig_context, ms_disp->HistoryTable); } @@ -365,7 +365,7 @@ _Unwind_Resume (struct _Unwind_Exception *gcc_exc) ms_context.ContextFlags = CONTEXT_ALL; RtlCaptureContext (&ms_context); - RtlUnwindEx ((void *) gcc_exc->private_[1], gcc_exc->private_[2], + RtlUnwindEx ((void *) gcc_exc->private_[1], (PVOID)gcc_exc->private_[2], &ms_exc, gcc_exc, &ms_context, &ms_history); /* Is RtlUnwindEx declared noreturn? */ diff --git a/libgcc/unwind-sjlj.c b/libgcc/unwind-sjlj.c index e4f11da9c1..e484bee536 100644 --- a/libgcc/unwind-sjlj.c +++ b/libgcc/unwind-sjlj.c @@ -1,5 +1,5 @@ /* SJLJ exception handling and frame unwind runtime interface routines. - Copyright (C) 1997-2016 Free Software Foundation, Inc. + Copyright (C) 1997-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/unwind.inc b/libgcc/unwind.inc index 7413b55e3f..658bd94f8f 100644 --- a/libgcc/unwind.inc +++ b/libgcc/unwind.inc @@ -1,5 +1,5 @@ /* Exception handling and frame unwind runtime interface routines. -*- C -*- - Copyright (C) 2001-2016 Free Software Foundation, Inc. + Copyright (C) 2001-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/vtv_end.c b/libgcc/vtv_end.c index f1491c7d0f..d443f0918c 100644 --- a/libgcc/vtv_end.c +++ b/libgcc/vtv_end.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/vtv_end_preinit.c b/libgcc/vtv_end_preinit.c index 28ae4eb830..ee7f30cd76 100644 --- a/libgcc/vtv_end_preinit.c +++ b/libgcc/vtv_end_preinit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/vtv_start.c b/libgcc/vtv_start.c index 98aa479f52..47d6d153b8 100644 --- a/libgcc/vtv_start.c +++ b/libgcc/vtv_start.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. diff --git a/libgcc/vtv_start_preinit.c b/libgcc/vtv_start_preinit.c index 7d81291676..74337f5bfb 100644 --- a/libgcc/vtv_start_preinit.c +++ b/libgcc/vtv_start_preinit.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. This file is part of GCC. |