aboutsummaryrefslogtreecommitdiff
path: root/libgcc
AgeCommit message (Collapse)AuthorFilesLines
2012-03-05arm: Enable umull and ctz in longlong.hRichard Henderson2-6/+26
* longlong.h [ARM] (umul_ppmm): Use umull for arm3m and later. [ARM] (count_trailing_zeros): Use the builtin. From-SVN: r184957
2012-03-01soft-fp: Imported from glibc upstream.Kai Tietz68-217/+162
* soft-fp: Imported from glibc upstream. From-SVN: r184760
2012-02-28sfp-machine.h (_FP_STRUCT_LAYOUT): Define it for mingw-targets as attribute ↵Kai Tietz2-0/+10
gcc_struct. * config/i386/sfp-machine.h (_FP_STRUCT_LAYOUT): Define it for mingw-targets as attribute gcc_struct. From-SVN: r184641
2012-02-28generic-morestack.c (__splitstack_releasecontext): Correct call to ↵Ian Lance Taylor2-3/+10
__morestack_release_segments. * generic-morestack.c (__splitstack_releasecontext): Correct call to __morestack_release_segments. From-SVN: r184634
2012-02-27re PR target/52390 (only linux uses nptl)Samuel Thibault2-1/+7
PR target/52390 * generic-morestack.c (__generic_morestack_set_initial_sp): Test for __linux__ when removing signals from __morestack_fullmask. From-SVN: r184606
2012-02-23re PR target/52261 ([avr] Add support for AVR Xmega cores)Georg-Johann Lay2-2/+7
PR target/52261 * config/avr/lib1funcs.S (__AVR__XMEGA__): Fix tippo to __AVR_XMEGA__. From-SVN: r184522
2012-02-23acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of HAVE_INITFINI_ARRAY ↵Ulrich Weigand3-6/+12
to work around... gcc/ * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of HAVE_INITFINI_ARRAY to work around namespace pollution in certain versions of newlib system headers. * config.in: Regenerate. * configure: Regenerate. * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT instead of HAVE_INITFINI_ARRAY. libgcc/ * config/ia64/crtbegin.S: Use HAVE_INITFINI_ARRAY_SUPPORT instead of HAVE_INITFINI_ARRAY. * config/ia64/crtend.S: Likewise. From-SVN: r184503
2012-02-20re PR libstdc++/52300 (Gthreads functions linking error at dynamic linking ↵Kai Tietz2-0/+11
with libstdc++ when using MinGW.) PR libstdc++/52300 * gthr.h (GTHREAD_USE_WEAK): Define as zero for mingw. From-SVN: r184406
2012-02-20config.host (i686-*-mingw*): Set md_unwind_header only for dw2-mode to ↵Kai Tietz2-1/+6
w32-unwind.h header. * config.host (i686-*-mingw*): Set md_unwind_header only for dw2-mode to w32-unwind.h header. From-SVN: r184405
2012-02-19mips.c (mips_need_mips16_rdhwr_p): New variable.Richard Sandiford4-17/+10
gcc/ * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable. (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally. (mips_start_unique_function, mips_output_mips16_rdhwr) (mips_code_end): New functions. (TARGET_ASM_CODE_END): Define. libgcc/ * config.host (mips64*-*-linux*, mipsisa64*-*-linux*) (mips*-*-linux*): Remove t-slibgcc-libgcc. * config/mips/t-mips16 (LIB1ASMFUNCS): Remove __mips16_rdhwr. * config/mips/mips16.S (__mips16_rdhwr): Delete. From-SVN: r184380
2012-02-19mips.c (mips16_build_call_stub): Add CFI information to stubs with ↵Richard Sandiford2-9/+21
non-sibling calls. gcc/ * config/mips/mips.c (mips16_build_call_stub): Add CFI information to stubs with non-sibling calls. libgcc/ * config/mips/mips16.S (CALL_STUB_RET): Add CFI information. From-SVN: r184379
2012-02-16re PR libitm/52220 (FAIL: libitm.c++/eh-1.C execution test due to Xcode 4 ↵Iain Sandoe2-2/+6
weakref linker bug) PR libitm/52220 * config/darwin-crt-tm.c: Correct typo. From-SVN: r184305
2012-02-15re PR libitm/52220 (FAIL: libitm.c++/eh-1.C execution test due to Xcode 4 ↵Iain Sandoe2-0/+50
weakref linker bug) libitm/ 2012-02-15 Iain Sandoe <iains@gcc.gnu.org> Patrick Marlier <patrick.marlier@gmail.com> PR libitm/52220 * alloc_cpp.cc: No dummy definitions for darwin. * eh_cpp.cc: Likewise. libgcc/ 2012-02-15 Iain Sandoe <iains@gcc.gnu.org> Patrick Marlier <patrick.marlier@gmail.com> PR libitm/52220 * config/darwin-crt-tm.c: Generate dummy functions. Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com> From-SVN: r184293
2012-02-15re PR libitm/52042 (libitm.c/clone-1.c (all darwin) and libitm.c/stackundo.c ↵Iain Sandoe2-25/+61
(darwin 11) execution tests fail with -fpie) 2012-02-15 Iain Sandoe <iains@gcc.gnu.org> Patrick Marlier <patrick.marlier@gmail.com> PR libitm/52042 * config/darwin-crt-tm.c (getTMCloneTable): New function. (__doTMRegistrations): Call it. (__doTMdeRegistrations): Likewise. Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com> From-SVN: r184281
2012-02-15re PR target/52261 ([avr] Add support for AVR Xmega cores)Georg-Johann Lay2-0/+22
libgcc/ PR target/52261 * config/avr/lib1funcs.S (__prologue_saves__): Handle AVR_XMEGA (__epilogue_restores__): Ditto. gcc/ PR target/52261 * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2, avrxmega4, avrxmega5, avrxmega6, avrxmega7. Rewrite initializers for .macro. * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs: avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4 atxmega32d4, atxmega32x1. avrxmega4: atxmega64a3, atxmega64d3. avrxmega5: atxmega64a1, atxmega64a1u. avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3, atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3. avrxmega7: atxmega128a1, atxmega128a1u. * config/avr/multilib.h: Regenerate. * config/avr/t-multilib: Regenerate. * config/avr/avr-tables.opt: Regenerate. * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2, ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7. (struct base_arch_s): Rename reserved to xmega_p. Rename reserved2 to have_rampd. (AVR_XMEGA): New define. (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines. (AVR_HAVE_RAMPZ): Change definition to fit xmega. * config/avr/predicates.md (io_address_operand): Take into account SFR offset. (low_io_address_operand): Ditto. (high_io_address_operand): Ditto. * config/avr/avr.md (isa): Add alternatives no_xmega, xmega. (enabled, movhi_sp_r): Use them. * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use cpp_define_formatted to built-in define __AVR_ARCH__. (__AVR_XMEGA__): New built-in define. (__AVR_HAVE_RAMPD__): New built-in define. (__AVR_HAVE_RAMPX__): New built-in define. (__AVR_HAVE_RAMPY__): New built-in define. (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it. * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy. (avr_option_override): Initialize them. (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx. (avr_init_expanders): Initialize them. No more block several calls. (emit_push_sfr): New static function. (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed. Handle AVR_XMEGA. (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed. (avr_print_operand): Print addreeses as symbols for RAMPX, RAMPY, RAMPD, CCP. (output_movhi): Handle AVR_XMEGA when writing to SP. (avr_out_movhi_mr_r_xmega): New static function. (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA. (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__, __RAMPD__, __CCP__ as needed. Co-Authored-By: Anatoly Sokolov <aesok@post.ru> Co-Authored-By: Eric Weddington <eric.weddington@atmel.com> From-SVN: r184269
2012-02-15re PR target/51921 (EH unwinding support is broken)Eric Botcazou2-4/+28
PR target/51921 PR target/52205 * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Add support for Solaris 11 and slightly reformat. (sparc_is_sighandler): Likewise. From-SVN: r184255
2012-02-14Add ports for TILE-Gx and TILEPro.Walter Lee16-0/+1486
. * MAINTAINERS (tilegx port): Add myself. (tilepro port): Add myself. contrib * config-list.mk (LIST): Add tilegx-linux-gnu and tilepro-linux-gnu. * gcc_update (gcc/config/tilegx/mul-tables.c): New dependencies. (gcc/config/tilepro/mul-tables.c): New dependencies. gcc * config.gcc: Handle tilegx and tilepro. * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for tilegx and tilepro. Add HAVE_AS_TLS check for tilegx and tilepro. * configure: Regenerate. * doc/contrib.texi: Add Mat Hostetter and self. * doc/extend.texi (TILE-Gx Built-in Functions): New node. Document instruction intrinsics and network accessing intrinsics. (TILEPro Built-in Functions): New node. Document instruction intrinsics and network accessing intrinsics. * doc/install.texi (Specific, tilegx-*-linux*): Document it. (Specific, tilepro-*-linux*): Likewise. * doc/invoke.texi (TILE-Gx Options): New section. (TILEPro Options): New section. * doc/md.texi (TILE-Gx): New section. (TILEPro): New section. * common/config/tilegx: New directory for tilegx. * common/config/tilepro: New directory for tilepro. * config/tilegx: New directory for tilegx. * config/tilepro: New directory for tilepro. gcc/testsuite * g++.dg/other/PR23205.C: Disable test on tile. * g++.dg/other/pr23205-2.C: Disable test on tile. * gcc.dg/20020312-2.c: Add a condition for __tile__. * gcc.dg/20040813-1.c: Disable test on tile. * gcc.dg/lower-subreg-1.c: Disable test on tilegx. * gcc.misc-tests/linkage.exp: Handle tilegx. libcpp * configure.ac: Require 64-bit hwint for tilegx and tilepro. * configure: Regenerate. libgcc * config.host: Handle tilegx and tilepro. * config/tilegx: New directory for tilegx. * config/tilepro: New directory for tilepro. libgomp * configure.tgt: Handle tilegx and tilepro. * config/linux/tile: New directory for tilegx and tilepro. Added: trunk/gcc/common/config/tilegx/tilegx-common.c trunk/gcc/common/config/tilepro/tilepro-common.c trunk/gcc/config/tilegx/constraints.md trunk/gcc/config/tilegx/linux.h trunk/gcc/config/tilegx/mul-tables.c trunk/gcc/config/tilegx/predicates.md trunk/gcc/config/tilegx/sync.md trunk/gcc/config/tilegx/t-tilegx trunk/gcc/config/tilegx/tilegx-builtins.h trunk/gcc/config/tilegx/tilegx-c.c trunk/gcc/config/tilegx/tilegx-generic.md trunk/gcc/config/tilegx/tilegx-modes.def trunk/gcc/config/tilegx/tilegx-multiply.h trunk/gcc/config/tilegx/tilegx-protos.h trunk/gcc/config/tilegx/tilegx.c trunk/gcc/config/tilegx/tilegx.h trunk/gcc/config/tilegx/tilegx.md trunk/gcc/config/tilegx/tilegx.opt trunk/gcc/config/tilepro/constraints.md trunk/gcc/config/tilepro/gen-mul-tables.cc trunk/gcc/config/tilepro/linux.h trunk/gcc/config/tilepro/mul-tables.c trunk/gcc/config/tilepro/predicates.md trunk/gcc/config/tilepro/t-tilepro trunk/gcc/config/tilepro/tilepro-builtins.h trunk/gcc/config/tilepro/tilepro-c.c trunk/gcc/config/tilepro/tilepro-generic.md trunk/gcc/config/tilepro/tilepro-modes.def trunk/gcc/config/tilepro/tilepro-multiply.h trunk/gcc/config/tilepro/tilepro-protos.h trunk/gcc/config/tilepro/tilepro.c trunk/gcc/config/tilepro/tilepro.h trunk/gcc/config/tilepro/tilepro.md trunk/gcc/config/tilepro/tilepro.opt trunk/libgcc/config/tilegx/sfp-machine.h trunk/libgcc/config/tilegx/sfp-machine32.h trunk/libgcc/config/tilegx/sfp-machine64.h trunk/libgcc/config/tilegx/t-crtstuff trunk/libgcc/config/tilegx/t-softfp trunk/libgcc/config/tilegx/t-tilegx trunk/libgcc/config/tilepro/atomic.c trunk/libgcc/config/tilepro/atomic.h trunk/libgcc/config/tilepro/linux-unwind.h trunk/libgcc/config/tilepro/sfp-machine.h trunk/libgcc/config/tilepro/softdivide.c trunk/libgcc/config/tilepro/softmpy.S trunk/libgcc/config/tilepro/t-crtstuff trunk/libgcc/config/tilepro/t-tilepro trunk/libgomp/config/linux/tile/futex.h Modified: trunk/MAINTAINERS trunk/contrib/config-list.mk trunk/contrib/gcc_update trunk/gcc/config.gcc trunk/gcc/configure trunk/gcc/configure.ac trunk/gcc/doc/contrib.texi trunk/gcc/doc/extend.texi trunk/gcc/doc/install.texi trunk/gcc/doc/invoke.texi trunk/gcc/doc/md.texi trunk/gcc/testsuite/g++.dg/other/PR23205.C trunk/gcc/testsuite/g++.dg/other/pr23205-2.C trunk/gcc/testsuite/gcc.dg/20020312-2.c trunk/gcc/testsuite/gcc.dg/20040813-1.c trunk/gcc/testsuite/gcc.dg/lower-subreg-1.c trunk/gcc/testsuite/gcc.misc-tests/linkage.exp trunk/libcpp/configure trunk/libcpp/configure.ac trunk/libgcc/config.host trunk/libgomp/configure.tgt From-SVN: r184203
2012-02-07re PR libstdc++/51296 (Several 30_threads tests FAIL on Tru64 UNIX)Jonathan Wakely2-3/+43
libgcc/ PR libstdc++/51296 PR libstdc++/51906 * gthr-posix.h: Allow static initializer macros to be disabled. (__gthrw_pthread_cond_init): Define weak reference unconditionally. libstdc++-v3/ PR libstdc++/51296 * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept. * src/c++11/condition_variable.cc (condition_variable): Use macro for initializer function. PR libstdc++/51906 * config/os/bsd/darwin/os_defines.h: Disable static initializer for recursive mutexes. From-SVN: r183955
2012-02-05config.host (mips64*-*-linux*, [...]): Add t-slibgcc-libgcc to tmake_file.Chung-Lin Tang4-6/+12
libgcc/ 2012-02-05 Chung-Lin Tang <cltang@codesourcery.com> * config.host (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*): Add t-slibgcc-libgcc to tmake_file. * config/mips/libgcc-mips16.ver: Revert previous patch. * config/mips/mips16.S (__mips16_rdhwr): Hide. From-SVN: r183912
2012-02-02Adding GCC port for National Semicondutor's CR16 architectureSumanth G11-0/+2645
Co-Authored-By: Jayant R Sonar <jayant.sonar@kpitcummins.com> From-SVN: r183832
2012-01-25t-linux64: Delete.Alan Modra4-6/+11
* config/rs6000/t-linux64: Delete. Move.. * config/rs6000/t-ppc64-fp: ..softfp_wrap defines to here.. * config/rs6000/t-linux: ..and libgcc flags to here. From-SVN: r183491
2012-01-23Interix resurrectionDouglas Rupp3-3/+9
2012-01-22 Douglas B Rupp <rupp@gnat.com> * <toplevel>/config/mh-interix: Remove as unneeded. * <toplevel>/config/picflag.m4 (i[[34567]]86-*-interix3*): Change triplet to i[[34567]]86-*-interix[[3-9]]*. * <toplevel>/configure.ac: Remove reference to mh-interix. * <toplevel>/configure: Regenerate. * <toplevel>/libada/configure: Regenerate. * <toplevel>libgcc/config.host (i[34567]86-*-interix3*): Change triplet to i[34567]86-*-interix[3-9]*. * <toplevel>/libgcc/configure: Regenerate. * <toplevel>/liberty/configure: Regenerate. * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete configurations. Change triplet to i[34567]86-*-interix[3-9]*. (extra_options) interix.opt -> i386/interix.opt" (extra_objs):Add winnt-stubs.o * configure.ac: Add interix to target_os .comm on PE check. * configure: Regenerate. * config/interix3.h: Delete and move bits to.. * config/interix.h: Delete and move bits to.. * config/i386/i386-interix3.h: Delete and move bits to.. * config/i386/i386-interix.h: ..here. (TARGET_CPU_DEFAULT): Remove redefinition. (TARGET_ASM_CONSTRUCTOR): Undefine. (SUBTARGET_SWITCHES): Define for ms-bitfields. (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec. (PTRDIFF_TYPE): Define. (LONG_DOUBLE_TYPE_SIZE): Define. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define. (SUBTARGET_OVERRIDE_OPTIONS): Remove. (TARGET_SECTION_TYPE_FLAGS): Define. (ASM_DECLARE_FUNCTION_NAME): Define. (ASM_OUTPUT_EXTERNAL): Define. (ASM_OUTPUT_EXTERNAL_LIBCALL): Define. (ASM_OUTPUT_ALIGNED_BSS): Define. (PCC_BITFIELD_TYPE_MATTERS): Define. (USE_CONST_SECTION): Define. (SUBTARGET_ENCODE_SECTION_INFO): Remove. (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove. (SUPPORTS_ONE_ONLY): Remove. (I386_PE_STRIP_ENCODING): Define. * config/interix.opt: Delete and move bits to.. * config/i386/interix.opt: ..here. New. (mpe-aligned-commons): Add. * config/i386/t-interix: Add copyright header. (winnt-stubs.o): Add rule. * testsuite/gcc.dg/builtins-config.h: (HAVE_C99_RUNTIME): Do not define for Interix. From-SVN: r183406
2012-01-18morestack.S: Simplify CFI opcodes throughout.Ian Lance Taylor1-1/+5
* config/i386/morestack.S: Simplify CFI opcodes throughout. (Forgot to commit ChangeLog entry with last change to morestack.S.) From-SVN: r183281
2012-01-15mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.Richard Sandiford4-1/+24
gcc/ 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete. (SYMBOL_32_HIGH): Likewise. (mips_output_tls_reloc_directive): Declare. * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md. (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare. * config/mips/mips.c (mips_use_pcrel_pool_p): New variable. (mips_lo_relocs, mips_hi_relocs): Make extern. (mips16_stub_function): Move up file. (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling. (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too. (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p. (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false. (mips_get_tp): Add MIPS16 support. (mips_legitimize_tls_address): Remove MIPS16 sorry(). Generalize DTPREL and TPREL handling. (mips_init_relocs): Initialize mips_use_pcrel_pool_p. Add MIPS16 TLS support. (mips_output_tls_reloc_directive): New function. (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs. * config/mips/predicates.md (symbolic_operand_with_high) (tls_reloc_operand): New predicates. (force_to_mem_operand): Use mips_use_pcrel_pool_p. * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec. (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h. (*unshifted_high): New instruction. Use it for MIPS16 high splitter. (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns. (*tls_get_tp_mips16_call_<mode>): Likewise. gcc/testsuite/ * gcc.target/mips/code-readable-2.c: Allow the jump table address to be loaded from the constant pool, rather than via %hi and %lo. libgcc/ 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/libgcc-mips16.ver (__mips16_rdhwr): Add. * config/mips/mips16.S (__mips16_rdhwr): New function. * config/mips/t-mips16 (LIB1ASMFUNCS): Add _m16rdhwr. From-SVN: r183195
2012-01-11* libgcov.c (__gcov_init): Ignore objects with no functions.Nathan Sidwell2-1/+5
From-SVN: r183103
2012-01-10re PR target/49868 (Implement named address space to place/access data in ↵Georg-Johann Lay3-22/+153
flash memory) libgcc/ PR target/49868 Extend __pgmx semantics to linearize memory. * config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx. * config/avr/lib1funcs.S (__xload_1): New function. (__movmemx_qi, __movmemx_hi): New functions. (__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx semantics. gcc/ PR target/49868 Extend __pgmx semantics to linearize memory. * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to determine if code comes inline or from libgcc. (MOVMEM_r_d:HI): Add "w" to constraint for better preference. (movmem_qi, movmem_qi): Set constraint #2 to "n". (movmem_qi_elpm, movmem_hi_elpm): Remove insns. (movmemx_qi, movmemx_hi): New insns. (xload_<mode>_libgcc): Rewrite to new insn condition. (xload_<mode>): Remove insns. * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle cases that don't satisfy avr_xload_libgcc_p(). (avr_addr_space_convert): Allow converting in any direction. (avr_addr_space_subset_p): Return always true. (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics. (avr_emit_movmemhi): Ditto. (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more. (avr_out_movmem): Ditto. (AVR_SYMBOL_FLAG_PROGMEM): New macro. (AVR_SYMBOL_SET_ADDR_SPACE): New macro. (AVR_SYMBOL_GET_ADDR_SPACE): New macro. (avr_encode_section_info): Encode 'progmem' in symbol flags. (output_reload_in_const): Don't zero-extend any 24-bit symbols. From-SVN: r183058
2012-01-09sol2-unwind.h (sparc64_is_sighandler): Check that the purported ↵Eric Botcazou2-6/+10
sigacthandler address isn't null before dereferencing it. * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the purported sigacthandler address isn't null before dereferencing it. (sparc_is_sighandler): Likewise. From-SVN: r183020
2012-01-09re PR ada/41929 (64-bit null_pointer_deref1 gnat.dg test consumes all ↵Eric Botcazou2-41/+96
available memory) PR ada/41929 * config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and add CFA. Revert back to old code for Solaris 8+ multi-threaded. (sparc_is_sighandler): Likewise. (MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER. From-SVN: r183005
2012-01-06t-ia64 (LIB1ASMFUNCS): Move backward compatibility thunks...Tristan Gingold4-23/+35
2012-01-06 Tristan Gingold <gingold@adacore.com> * config/ia64/t-ia64 (LIB1ASMFUNCS): Move backward compatibility thunks... (CUSTOM_CRTSTUFF, crtbegin.o, crtend.o) (crtbeginS.o, crtendS.o): ... and these to ... * config/ia64/t-ia64-elf: ... this new file. * config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64*-*-linux*) (ia64*-*-hpux*): Add ia64/t-ia64-elf in tmake_file. From-SVN: r182952
2012-01-04re PR bootstrap/51734 (Bootstrap fails in libada)Andreas Krebbel3-4/+6
config/ 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> PR bootstrap/51734 * picflag.m4: Remove s390 case statement. gcc/ 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * configure: Regenerate. libada/ 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * configure: Regenerate. libgcc/ 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * configure: Regenerate. * config/s390/t-crtstuff: Remove -fPIC. libiberty/ 2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * configure: Regenerate. From-SVN: r182868
2012-01-03re PR bootstrap/51006 (bootstrap fails on NetBSD 5.1)Jonathan Wakely2-28/+7
2012-01-02 Jonathan Wakely <jwakely.gcc@gmail.com> PR bootstrap/51006 * enable-execute-stack-mprotect.c (getpagesize): Do not define for NetBSD. From-SVN: r182860
2012-01-02re PR target/51345 ([avr] Devices with 8-bit SP need their own multilib(s))Georg-Johann Lay2-11/+9
contrib/ PR target/51345 * gcc_update (files_and_dependencies): Add gcc/config/avr/t-multilib, gcc/config/avr/multilib.h. libgcc/ PR target/51345 * config/avr/lib1funcs.S: Remove FIXME comments. (SPEED_DIV): Depend on __AVR_HAVE_8BIT_SP__. gcc/ PR target/51345 * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h (tmake_file target=avr): Add avr/t-multilib. * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__. * config/avr/genmultilib.awk: New file. * config/avr/t-multilib: New auto-generated file. * config/avr/multilib.h: New auto-generated file. * config/avr/t-avr (AVR_MCUS): New variable. (genopt.sh): Use it. (s-mlib): Depend on t-multilib. (t-multilib, multilib.h): New dependencies. (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS. (MULTILIB_OPTIONS): Remove. (MULTILIB_MATCHES): Remove. (MULTILIB_DIRNAMES): Remove. (MULTILIB_EXCEPTIONS): Remove: * config/avr/genopt.sh: Don't use hard coded file name; pass AVR_MCUS from t-avr instead. From-SVN: r182797
2012-01-02Implement light-weight DImode support.Georg-Johann Lay3-3/+101
gcc/ Implement light-weight DImode support. * config/avr/avr-dimode.md: New file. * config/avr/avr.md: Include it. (adjust_len): Add plus64, compare64. (HIDI): Remove code iterator. (code_stdname): New code attribute. (rotx, rotsmode): Remove DI. (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI as code iterator. * config/avr/avr-protos.h (avr_have_dimode): New. (avr_out_plus64, avr_out_compare64): New. * config/avr/avr.c (avr_out_compare): Handle DImode. (avr_have_dimode): New variable definition and initialization. (avr_out_compare64, avr_out_plus64): New functions. (avr_out_plus_1): Use simplify_unary_operation to negate xval. (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64. (avr_compare_pattern): Skip DImode comparisons. libgcc/ Implement light-weight DImode support. * config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8, _subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3. * config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3, __cmpdi2, __cmpdi2_s8, __rotldi3): New functions. From-SVN: r182794
2011-12-30libgcov.c (gcov_crc32): Remove global var.Nathan Sidwell2-93/+145
* libgcov.c (gcov_crc32): Remove global var. (free_fn_data): New function. (buffer_fn_data): Pass in filename, more robust error recovery. (crc32_unsigned): New function. (gcov_exit): More robust detection of new program. More robust error recovery. (__gcov_init): Do not update program's crc here. From-SVN: r182743
2011-12-22* config/i386/morestack.S: Simplify CFI opcodes throughout.Ian Lance Taylor1-42/+29
From-SVN: r182609
2011-12-21fde-vms.c (UNW_IVMS_MODE): Define.Tristan Gingold2-0/+6
2011-12-21 Tristan Gingold <gingold@adacore.com> * config/ia64/fde-vms.c (UNW_IVMS_MODE): Define. From-SVN: r182568
2011-12-20morestack.S (__morestack_non_split): If there is enough stack space already, ↵Ian Lance Taylor2-2/+108
don't split. * config/i386/morestack.S (__morestack_non_split): If there is enough stack space already, don't split. Ask for more stack space than we required. From-SVN: r182555
2011-12-20unwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and `sys/sdt.h'.Sergio Durigan Junior2-4/+60
2011-12-20 Sergio Durigan Junior <sergiodj@redhat.com> * unwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and `sys/sdt.h'. (_Unwind_DebugHook): New function. (uw_restore_core_regs): New define. (unwind_phase2): Use uw_restore_core_regs instead of restore_core_regs. (unwind_phase2_forced): Likewise. (__gnu_Unwind_Resume): Likewise. From-SVN: r182552
2011-12-20linux-unwind.h: Update copyright years.Uros Bizjak2-9/+34
* config/alpha/linux-unwind.h: Update copyright years. (MD_FROB_UPDATE_CONTEXT): New define. (alpha_frob_update_context): New function. From-SVN: r182522
2011-12-17config.host (mips*-sde-elf*, [...]): Add to tmake_file rather replacing it.Richard Sandiford2-2/+7
libgcc/ * config.host (mips*-sde-elf*, mipsisa64sr71k-*-elf*): Add to tmake_file rather replacing it. From-SVN: r182431
2011-12-15rs6000.c (rs6000_emit_prologue): Move update of VRSave mask to save_world() ↵Iain Sandoe2-59/+64
when that is in use. gcc: * config/rs6000/rs6000.c (rs6000_emit_prologue): Move update of VRSave mask to save_world() when that is in use. libgcc: * config/rs6000/darwin-world.S (toplevel): Make it clear that this function is not used for PPC64. (save_world): Amend comments. Update the VRsave mask to reflect the saved regs. (rest_world): Update comments, do not clobber r10, do not use r8. (eh_rest_world_r10): Amend comments, do not use r8. (rest_world_eh_r7r8): Rename as local Lrest_world_eh_r7, since r8 is no longer used, move restore of CR and target address to the end of the routine. From-SVN: r182376
2011-12-14Check __GLIBC__ when using __SIGRTMINH.J. Lu2-2/+7
2011-12-14 H.J. Lu <hongjiu.lu@intel.com> * generic-morestack.c (__generic_morestack_set_initial_sp): Check __GLIBC__ instead of __linux__ when using __SIGRTMIN. From-SVN: r182342
2011-12-14re PR target/50931 ([avr] Support a 24-bit scalar integer mode)Georg-Johann Lay3-1/+155
libgcc/ PR target/50931 * config/avr/t-avr (LIB1ASMSRC): Add _mulpsi3, _mulsqipsi3. * config/avr/lib1funcs.S (__mulpsi3, __mulsqipsi3): New functions. gcc/ PR target/50931 * config/avr/avr.md (mulpsi3): New expander. (*umulqihipsi3, *umulhiqipsi3): New insns. (*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns. (mulsqipsi3, *mulpsi3): New insn-and-splits. (ashlpsi3): Turn to expander. Move insn code to... (*ashlpsi3): ...this new insn. testsuite/ PR target/50931 * gcc.target/avr/torture/int24-mul.c: New testcase. From-SVN: r182328
2011-12-11* config/sparc/sol2-unwind.h: Use #ifdef directive consistently.Eric Botcazou2-1/+5
From-SVN: r182204
2011-12-09re PR target/49313 (Inefficient libgcc implementations for avr)Georg-Johann Lay3-0/+250
PR target/49313 * config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3. * config/avr/lib1funcs.S (__muldi3): New function. From-SVN: r182160
2011-12-06crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of ↵Andrew Pinski2-2/+8
func_ptr. 2011-12-06 Andrew Pinski <apinski@cavium.com> * crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of func_ptr. (__frame_dummy_init_array_entry): Likewise. From-SVN: r182066
2011-12-06Forward-port from gcc-4_6-branch r181936 2011-12-02.Georg-Johann Lay2-0/+38
libgcc/ Forward-port from gcc-4_6-branch r181936 2011-12-02. PR target/51345 PR target/51002 * config/avr/lib1funcs.S (__prologue_saves__, __epilogue_restores__, __divdi3_moddi3): Enclose parts using __SP_H__ in !defined (__AVR_HAVE_8BIT_SP__). Add FIXME comments. gcc/ Forward-port from gcc-4_6-branch r181936 2011-12-02. PR target/51002 * config/avr/avr.md (movhi_sp_r): Set insn condition to !AVR_HAVE_8BIT_SP. * config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in %B0,__SP_H__" if AVR_HAVE_8BIT_SP. (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP. From-SVN: r182052
2011-12-04t-darwin64 (LIB2ADD): Add fp and gp save routines.Iain Sandoe2-1/+6
libgcc: * config/rs6000/t-darwin64 (LIB2ADD): Add fp and gp save routines. From-SVN: r181991
2011-12-01re PR other/51272 (ld: Unsatisfied symbol "_ITM_registerTMCloneTable" in ↵John David Anglin3-14/+51
file /test/gnu/gcc/objdir/) PR other/51272 * config/pa/stublib.c (_ITM_registerTMCloneTable): New stub. (_ITM_deregisterTMCloneTable): Likewise. (__register_frame_info): Fix unused warning. (__deregister_frame_info, __cxa_finalize, _Jv_RegisterClasses, pthread_default_stacksize_np): Likewise. * config/pa/t-stublib (LIBGCCSTUB_OBJS): Add new objects and rules. From-SVN: r181870
2011-11-29.DJ Delorie12-0/+1067
* configure.ac (rl78-*-*) New case. * configure: Regenerate. * MAINTAINERS: Add myself as RL78 maintainer. libgcc * config.host (rl78-*-elf): New case. * config/rl78: New directory for the Renesas RL78. gcc * config.gcc (rl78-*-elf): New case. * doc/extend.texi: Add RL78 documentation. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. * doc/contrib.texi: Add RL78. * doc/install.texi: Add rl78-*-elf. * config/rl78: New directory for the Renesas RL78. contrib * config-list.mk (LIST): Add rl78-elf. From-SVN: r181819