summaryrefslogtreecommitdiff
path: root/libgcc
Commit message (Collapse)AuthorAgeFilesLines
* Makefile.in: Make libgcc_s.so depend on libunwind.so.Roger Sayle2007-02-052-2/+10
| | | | | | | | | | | * Makefile.in <LIBUNWIND>: Make libgcc_s.so depend on libunwind.so. (libgcc_s.so): Append -B./ to CFLAGS for $(SHLIB_LINK). (libunwind.so): Likewise for $(SHLIBUNWIND_LINK). Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com> From-SVN: r121601
* decExcept.c: New.Janis Johnson2007-01-292-1/+5
| | | | | | | | | | | | | | | | | | | | libdecnumber/ * decExcept.c: New. * decExcept.h: New. libgcc/ * Makefile.in (dec-filenames): Add decExcept. gcc/ * config/dfp-bit.c: Add parameterized support for fp exceptions. * config/dfp-bit.h: Ditto. gcc/testsuite/ * gcc.dg/dfp/dfp-except.h: New file. * gcc.dg/dfp/fe-check.h: New file. * gcc.dg/dfp/fe-binop.c: New test. * gcc.dg/dfp/fe-convert-1.c: New test. * gcc.dg/dfp/fe-convert-2.c: New test. * gcc.dg/dfp/fe-convert-3.c: New test. From-SVN: r121317
* re PR bootstrap/30469 (profiledbootstrap no longer works)Daniel Jacobowitz2007-01-282-0/+10
| | | | | | | | PR bootstrap/30469 * Makefile.in (CFLAGS): Forcibly remove -fprofile-generate and -fprofile-use. From-SVN: r121257
* configure.ac: Add --enable-version-specific-runtime-libs.Daniel Jacobowitz2007-01-253-2161/+1703
| | | | | | | | * configure.ac: Add --enable-version-specific-runtime-libs. Correct $slibdir default. * configure: Regenerated. From-SVN: r121176
* rs6000-c.c (rs6000_cpu_cpp_builtins): Define _SOFT_DOUBLE if doubles use ↵Joseph Myers2007-01-232-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | software floating-point. gcc: * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define _SOFT_DOUBLE if doubles use software floating-point. * config/rs6000/libgcc-ppc-glibc.ver: Export additional long double functions if _SOFT_DOUBLE, not _SOFT_FLOAT. * config/rs6000/darwin-ldouble.c: Also compile functions for hard-float without FPRs. Use fmsub function for all __NO_FPRS__ cases. Compile extra functions if _SOFT_DOUBLE, not _SOFT_FLOAT. * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove commented-out long double override. (CPP_LONGDOUBLE_DEFAULT_SPEC): Likewise. * config/rs6000/eabispe.h: Likewise. * config/rs6000/rs6000.c (rs6000_override_options): Don't override long double for non-SPE. (rs6000_handle_option): Likewise. (invalid_e500_subreg): Disallow more subregs involding DImode, DFmode, TImode or TFmode. (rs6000_legitimate_offset_address_p): Check TFmode offsets for E500 double. (legitimate_lo_sum_address_p): Also check for TFmode for E500 double. (rs6000_legitimize_address): Also handle TFmode for E500 double. (rs6000_legitimize_reload_address): Also handle TFmode for E500 double. (rs6000_legitimate_address): Also check for TFmode for E500 double. (rs6000_emit_move): Use DFmode subregs of TFmode for E500 double. (spe_build_register_parallel): Handle TFmode and TCmode. (rs6000_spe_function_arg): Handle TFmode and TCmode for E500 double. (function_arg): Handle TFmode and TCmode for E500 double. (rs6000_init_libfuncs): Initialize extra libfuncs for soft double in general. (print_operand): Handle TFmode and TImode for %y. (rs6000_generate_compare): Handle TFmode comparisons for E500 double. (spe_func_has_64bit_regs_p): Check for TFmode for E500 double. (rs6000_function_value): Handle TFmode and TCmode for E500 double. (rs6000_libcall_value): Handle TFmode and TCmode for E500 double. * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Check for TFmode for E500 double. * config/rs6000/rs6000.md (FP): Allow TF for E500 double. (floatsidf2): Enable for E500 double. (movtf_softfloat): Use rs6000_nonimmediate_operand. (extenddftf2): Change to extenddftf2_fprs. (extenddftf2): Call gen_spe_extenddftf2 or gen_extenddftf2_fprs depending on TARGET_E500_DOUBLE. (extendsftf2): Enable for E500 double. (trunctfdf2): Enable for E500 double. (trunctfsf2): Change to trunctfsf2_fprs. (trunctfsf2): Call gen_spe_trunctfsf2 or gen_trunctfsf2_fprs depending on TARGET_E500_DOUBLE. (floatsitf2): Enable for E500 double. (fix_trunctfsi2): Change to fix_trunctfsi2_fprs. (fix_trunctfsi2): Call gen_spe_fix_trunctfsi2 or gen_fix_trunctfsi2_fprs depending on TARGET_E500_DOUBLE. (negtf2): Change to negtf2_internal. (negtf2): New expander. (abstf2): Enable for E500 double. Call gen_spe_abstf2_tst, gen_spe_abstf2_cmp or gen_abstf2_internal depending on TARGET_E500_DOUBLE and flag_unsafe_math_optimizations. (movdi_internal32): Use rs6000_nonimmediate_operand. (unnamed splitter): Likewise. * config/rs6000/spe.md (CMPTFEQ_GPR, TSTTFEQ_GPR, CMPTFGT_GPR, TSTTFGT_GPR, CMPTFLT_GPR, TSTTFLT_GPR): New unspecs. (SPE64TF, DITI): New mode macros. (frob_df_di): Change to frob_<SPE64:mode>_<DITI:mode>; allow more modes. (frob_tf_ti): New. (frob_<mode>_di_2): New. (frob_tf_di_8_2): New. (frob_di_df): Change to frob_di_<mode>; allow more modes. (frob_ti_tf): New. (frob_di_df_2): Change to frob_<DITI:mode>_<SPE64:mode>_2; allow more modes. (frob_ti_<mode>_8_2): New. (frob_ti_tf_2): New. (mov_si<mode>_e500_subreg0, mov_si<mode>_e500_subreg0_2, mov_si<mode>_e500_subreg4, mov_si<mode>_e500_subreg4_2): Allow TFmode. (mov_sitf_e500_subreg8, mov_sitf_e500_subreg8_2, mov_sitf_e500_subreg12, mov_sitf_e500_subreg12_2): New. (spe_trunctfdf2_internal1, spe_trunctfsf2, spe_extenddftf2, spe_fix_trunctfsi2, spe_fix_trunctfsi2_internal, spe_negtf2_internal, spe_abstf2_cmp, spe_abstf2_tst): New. (cmptfeq_gpr, tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gp): New. libgcc: * config/rs6000/t-ldbl128: Always use -mlong-double-128. From-SVN: r121085
* re PR target/30519 (Configuration mismatch -- extra parts)Andrew Pinski2007-01-212-0/+6
| | | | | | | | | 2007-01-21 Andrew Pinski <pinskia@gmail.com> PR target/30519 * config.host (alpha*-*-linux*): Set extra_parts. From-SVN: r121047
* t-linux (TARGET_LIBGCC2_CFLAGS): Delete.Kaz Kojima2007-01-093-0/+47
| | | | | | | | | | | gcc/ * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete. (SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise. libgcc/ * config/sh/t-linux: New. * config.host (sh*-*-linux*): Set tmake_file. From-SVN: r120619
* * Makefile.in (install): Handle multilibs.Daniel Jacobowitz2007-01-052-0/+6
| | | | From-SVN: r120492
* * Makefile.in: Added .PHONY entry for documentation targets.Brooks Moses2007-01-042-0/+6
| | | | From-SVN: r120456
* * Makefile.in: Add empty info, html, dvi, pdf targets.Brooks Moses2007-01-042-0/+13
| | | | From-SVN: r120455
* Makefile.in (MAKEINFO): Remove.Mike Stump2007-01-042-2/+5
| | | | | | | * Makefile.in (MAKEINFO): Remove. (PERL): Likewise. From-SVN: r120450
* configure.ac: Add GCC_TOPLEV_SUBDIRS.Paolo Bonzini2007-01-044-1653/+2197
| | | | | | | | | | | 2007-01-04 Paolo Bonzini <bonzini@gnu.org> * configure.ac: Add GCC_TOPLEV_SUBDIRS. * configure: Regenerate. * Makefile.in (host_subdir): Substitute it. (gcc_objdir): Use it. From-SVN: r120449
* * config.host (ia64*-*-linux*): Set tmake_file.Daniel Jacobowitz2007-01-042-0/+5
| | | | From-SVN: r120443
* * Makefile.in (version): Define.Daniel Jacobowitz2007-01-042-0/+6
| | | | From-SVN: r120440
* Makefile.def (target_modules): Add libgcc.Daniel Jacobowitz2007-01-0420-0/+6274
./ * Makefile.def (target_modules): Add libgcc. (lang_env_dependencies): Remove default items. Use no_c and no_gcc. * Makefile.tpl (clean-target-libgcc): Delete. (configure-target-[+module+]): Emit --disable-bootstrap dependencies on gcc even for bootstrapped modules. Rewrite handling of lang_env_dependencies to loop over target_modules. * configure.in (target_libraries): Add target-libgcc. * Makefile.in, configure: Regenerated. gcc/ * config.gcc: Mention libgcc/config.host. * Makefile.in: Update comments mentioning libgcc. (LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete. (all.cross, start.encap, rest.encap, rest.cross): Update dependencies for libgcc move. (libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib) (clean-target, clean-target-libgcc): Delete. (srcdirify, GCC_EXTRA_PARTS): New macros. (libgcc-support, libgcc.mvars): New rules. (distclean): Remove mention of mklibgcc. (install): Don't reference INSTALL_LIBGCC. (install-common): Don't reference EXTRA_PARTS. (install-libgcc, install-multilib): Delete rules. * mklibgcc.in: Delete file. * doc/configfiles.texi: Don't mention mklibgcc. * config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc). * config/i386/t-darwin64 (SHLIB_VERPFX): Likewise. * config/rs6000/t-darwin (SHLIB_VERPFX): Likewise. * config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES) (mklibgcc, ldblspecs): Likewise. * config/i386/t-nwld (libgcc.def, libc.def, libpcre.def) (posixpre.def): Use $(T). (SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP) (SHLIB_SRC, SHLIB_INSTALL): Delete. (SHLIB_LINK): Make dummy. * config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK. * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear. * config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS. * config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30, config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos, config/rs6000/t-newas, config/sparc/t-elf: Likewise. * configure.ac (all_outputs): Remove mklibgcc. * configure: Regenerated. libgcc/ * Makefile.in, config/i386/t-darwin, config/i386/t-darwin64, config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128, config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64, config/sparc/t-crtfm, config/t-slibgcc-darwin, config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk, shared-object.mk, siditi-object.mk, static-object.mk: New files. * configure: Generated. Co-Authored-By: Paolo Bonzini <bonzini@gnu.org> From-SVN: r120429