Iain Sandoe
c1d8101c1d
darwin-crt-tm.c: Remove dummy _ITM_ functions.
...
libgcc:
* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.
From-SVN: r181764
2011-11-27 13:52:49 +00:00
Richard Henderson
8b281334a0
m68k-linux: Implement atomic operations via syscall.
...
libgcc/
* config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
* config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
gcc/
* config/m68k/linux-atomic.c: New file.
* config/m68k/t-linux: New file.
* config.host (m68k-uclinux, m68k-linux): Use it.
From-SVN: r181746
2011-11-26 15:57:37 -08:00
Richard Henderson
7546aa9db2
crtstuff: adjust tm clones for no attribute hidden
...
* crtstuff.c (__TMC_LIST__): Mark used not unused.
(__TMC_END__): Only declare if hidden is available; in the definition,
if hidden is unavailable add a null record.
(deregister_tm_clones, register_tm_clones): New.
(__do_global_dtors_aux, frame_dummy): Use them.
(__do_global_dtors, __do_global_ctors_1): Likewise.
From-SVN: r181744
2011-11-26 13:16:49 -08:00
Iain Sandoe
e2362f5de0
darwin.h (ENDFILE_SPEC): New.
...
gcc:
* config/darwin.h (ENDFILE_SPEC): New.
(DARWIN_CRT1_SPEC): Add crttms.o.
(STARTFILE_SPEC): Likewise for dynamic libs and bundles.
* config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.
libgcc:
* config/darwin-crt-tm.c: New file.
* config.host (darwin): Build crttms.o crttme.o to provide
startup and shutdown for tm clones.
* config/t-darwin (crttms.o): New build rule.
(crttme.o): Likewise.
From-SVN: r181616
2011-11-22 13:51:07 +00:00
Hans-Peter Nilsson
6685dd96b2
Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH et al.
...
* Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
et al.
From-SVN: r181608
2011-11-22 03:01:02 +00:00
Richard Henderson
b0dc7e4c34
Fix crtstuff merge error with transactional-memory branch.
...
* crtstuff.c (USE_TM_CLONE_REGISTRY): Default to 1 on ELF.
(__TMC_LIST__, __TMC_END__): New.
(__do_global_dtors_aux): Call _ITM_deregisterTMCloneTable.
(__do_global_dtors): Likewise.
(frame_dummy): Call _ITM_registerTMCloneTable.
(__do_global_ctors_1): Likewise.
From-SVN: r181600
2011-11-21 14:10:06 -08:00
Rainer Orth
d4b4b54263
Fix LIB2ADD overrides in libgcc
...
* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
* config/i386/t-darwin64: Remove.
* config/sh/t-netbsd (LIB2ADD): Remove.
From-SVN: r181587
2011-11-21 16:13:13 +00:00
Georg-Johann Lay
989bdb7461
re PR target/49313 (Inefficient libgcc implementations for avr)
...
PR target/49313
* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
(LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
* config/avr/lib1funcs.S (wmov): New assembler macro.
(__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
(__moddi3, __divdi3, __divdi3_moddi3): New functions.
(__udivmod64): New function.
(__negdi2): New function.
From-SVN: r181551
2011-11-21 08:56:44 +00:00
Gerald Pfeifer
515a0cfc80
* config.host (*-*-freebsd[12], *-*-freebsd[12].*,
...
*-*-freebsd*aout*): Remove.
From-SVN: r181550
2011-11-21 02:29:09 +00:00
Hans-Peter Nilsson
0115d17f16
static-object.mk (c_flags-$o): Save c_flags.
...
* static-object.mk (c_flags-$o): Save c_flags.
($(base)$(objext)): Use it.
From-SVN: r181544
2011-11-21 00:41:12 +00:00
Steve Ellcey
93aeb62b9e
Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.
...
2011-11-18 Steve Ellcey <sje@cup.hp.com>
* Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.
From-SVN: r181495
2011-11-18 22:26:44 +00:00
Georg-Johann Lay
7bc6df2ca1
re PR target/49868 (Implement named address space to place/access data in flash memory)
...
gcc/
PR target/49868
* config/avr/avr.h (base_arch_s): Add field n_segments.
(ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3,
ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): New address spaces.
(AVR_HAVE_ELPM, AVR_HAVE_ELPMX): New defines.
(INIT_EXPANDERS): New define.
* config/avr/avr-protos.h (avr_mem_pgmx_p): New.
(avr_init_expanders): New.
(avr_emit_movmemhi, avr_out_movmem): New.
(avr_xload_libgcc_p): New.
* config/avr/avr-c.c (avr_register_target_pragmas): Register
address spaces __pgm1, __pgm2, __pgm3, __pgm4 __pgm5, __pgmx.
(avr_cpu_cpp_builtins): Add built-in defines __PGM1,
__PGM2, __PGM3, __PGM4, __PGM5, __PGMX.
* config/avr/avr-devices.c (avr_arch_types): Set field n_segments.
* config/avr/avr.c (AVR_SECTION_PROGMEM): Change define to cover
3 bits instead of just 1.
(xstring_empty, xstring_e, rampz_rtx): New static GTYed variables.
(progmem_section): Change from section to array of sections.
(progmem_section_prefix): New static variable.
(avr_file_start): Print set for __RAMPZ__
(avr_option_override): Move initialization of RTXes from here...
(avr_init_expanders): ...to this new function.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p): Handle error_mark_node.
(avr_mem_pgmx_p, avr_decl_pgmx_p): New static functions.
(avr_out_xload, avr_find_unused_d_reg): New static functions.
(expand_prologue, expand_epilogue): Use rampz_rtx.
(print_operand): Hande CONST_STRING.
(avr_xload_libgcc_p): New static function.
(avr_out_lpm_no_lpmx, avr_out_lpm): Handle ELPM.
(avr_progmem_p): Return 2 for 24-bit flash address space.
(avr_out_sbxx_branch): Clean-up code from ASn macros.
(out_movqi_r_mr, out_movqi_mr_r): Ditto. And recognize RAMPZ's
address and print symbolically.
(avr_asm_named_section, avr_section_type_flags,
avr_encode_section_info, avr_asm_select_section,
avr_addr_space_address_mode, avr_addr_space_pointer_mode,
avr_addr_space_legitimate_address_p, avr_addr_space_convert,
avr_addr_space_legitimize_address): Handle new address spaces.
(avr_output_progmem_section_asm_op): New static function.
(avr_asm_init_sections): Initialize progmem_section[].
(adjust_insn_length): Handle ADJUST_LEN_XLOAD, ADJUST_LEN_MOVMEM.
(avr_const_address_lo16): New static function.
(avr_assemble_integer): Use it to handle 3-byte integers.
(avr_emit_movmemhi, avr_out_movmem): New functions.
* config/avr/predicates.md (nox_general_operand): Handle new
address spaces.
* config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.
(adjust_len): Add xload, movmem.
(SP_ADDR): New define_constants.
(isa): Add "lpm", "lpmx", "elpm", "elpmx".
(enabled): Handle them.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): Rename to load_<mode>_libgcc.
(xload8_A, xload<mode>_A): New insn-and-splits.
(xload_8, xload_<mode>_libgcc, xload_<mode>, loadmem_elpm): New insns.
(mov<mode>): Handle new address spaces.
(movmemhi): Rewrite using avr_emit_movmemhi.
(MOVMEM_r_d): New mode attribute.
(movmem_<mode>, movmem_qi_elpm): New insns.
(setmemhi, *clrmemqi, *clrmemhi, strlenhi, *strlenhi): Unquote
C-code. Use label instead of hard-coded instrunction lengths.
libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_2 _xload_3 _xload_4.
* config/avr/lib1funcs.S (__xload_2, __xload_3, __xload_4):
New functions.
From-SVN: r181482
2011-11-18 16:44:00 +00:00
Matthew Gretton-Dann
425d737b36
lib1funcs.asm (udivsi3): Add support for divide functions.
...
2011-11-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/lib1funcs.asm (udivsi3): Add support for divide
functions.
(aeabi_uidivmod): Likewise.
(umodsi3): Likewise.
(divsi3): Likewise.
(aeabi_idivmod): Likewise.
(modsi3): Likewise.
From-SVN: r181419
2011-11-16 18:02:12 +00:00
Tristan Gingold
f2a176dcf5
qrnnd.S: Use specific pseudos for VMS.
...
2011-11-16 Tristan Gingold <gingold@adacore.com>
* config/alpha/qrnnd.S: Use specific pseudos for VMS.
From-SVN: r181403
2011-11-16 08:36:46 +00:00
Georg-Johann Lay
7c20948114
re PR target/49868 (Implement named address space to place/access data in flash memory)
...
gcc/
PR target/49868
* config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
(REGISTER_TARGET_PRAGMAS): New define.
* config/avr/avr-protos.h (avr_mem_pgm_p): New.
(avr_load_libgcc_p): New.
(asm_output_external_libcall): Remove.
(avr_register_target_pragmas): New.
(avr_log_t): Add field "progmem". Order alphabetically.
* config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
* config/avr/avr-c.c (langhooks.h): New include.
(avr_register_target_pragmas): New function. Register address
space __pgm.
(avr_cpu_cpp_builtins): Add built-in define __PGM.
* config/avr/avr.c: Include "c-family/c-common.h".
(TARGET_LEGITIMATE_ADDRESS_P): Remove define.
(TARGET_LEGITIMIZE_ADDRESS): Remove define.
(TARGET_ADDR_SPACE_SUBSET_P): Define to...
(avr_addr_space_subset_p): ...this new static function.
(TARGET_ADDR_SPACE_CONVERT): Define to...
(avr_addr_space_convert): ...this new static function.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
(avr_addr_space_address_mode): ...this new static function.
(TARGET_ADDR_SPACE_POINTER_MODE): Define to...
(avr_addr_space_pointer_mode): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
(avr_addr_space_legitimate_address_p): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
(avr_addr_space_legitimize_address): ...this new static function.
(avr_mode_code_base_reg_class): Handle address spaces.
(avr_regno_mode_code_ok_for_base_p): Ditto.
(lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
(avr_option_override): Initialize them.
(output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
variables.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
(avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
(output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
avr_out_lpm to handle loads from progmem.
(avr_load_libgcc_p): New static function.
(avr_progmem_p): Test if decl is in flash.
(avr_pgm_pointer_const_p): New static function.
(avr_nonconst_pointer_addrspace): New static function.
(avr_pgm_check_var_decl): New static function.
(avr_insert_attributes): Use it. Change error message to report
cause (progmem or address space) when code wants to write to flash.
(avr_section_type_flags): Unset section flag SECTION_BSS for
data in progmem.
* config/avr/predicates.md (nop_general_operand): New predicate.
(nox_general_operand): New predicate.
* config/avr/avr.md (LPM_REGNO): New define_constant.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): New insn.
(mov<mode>): Handle loads from non-generic AS.
(movmemhi): Ditto. Propagate address space information to newly
created MEM.
(movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
to nox_general_operand.
(ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand.
(ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
(lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
(split-lpmx): New split.
(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
*lshrhi3_const, *lshrsi3_const): Indent, unquote C.
libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3, _load_4.
* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.
From-SVN: r181378
2011-11-15 09:01:46 +00:00
John David Anglin
9dfd583288
config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.
...
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
tmake_file list.
* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
* config/pa/t-stublib64: Delete.
From-SVN: r181339
2011-11-13 20:17:01 +00:00
Richard Henderson
f77dca5d23
ppc-linux: Fix call to _Unwind_SetGRPtr
...
* config/rs6000/linux-unwind.h (frob_update_context): Properly
cast the pointer argument to _Unwind_SetGRPtr.
From-SVN: r181325
2011-11-12 09:20:58 -08:00
Rainer Orth
902828f01c
Fix SPU libgcc build
...
* config/spu/t-elf (LIB2ADD): Use LIB2FUNCS_EXCLUDE instead.
From-SVN: r181291
2011-11-11 16:49:22 +00:00
Ian Lance Taylor
e14304eff5
generic-morestack.c: Include <string.h>.
...
libgcc/:
* generic-morestack.c: Include <string.h>.
(uintptr_type): Define.
(struct initial_sp): Add dont_block_signals field. Reduce size of
extra array by 1.
(allocate_segment): Set prev field to NULL. Don't set
__morestack_current_segment or __morestack_segments.
(__generic_morestack): Update current->prev and *pp after calling
allocate_segment.
(__morestack_block_signals): Don't do anything if
dont_block_signals is set.
(__morestack_unblock_signals): Likewise.
(__generic_findstack): Check for initial_sp == NULL. Add casts to
uintptr_type.
(__splitstack_block_signals): New function.
(enum __splitstack_content_offsets): Define.
(__splitstack_getcontext, __splitstack_setcontext): New functions.
(__splitstack_makecontext): New function.
(__splitstack_block_signals_context): New function.
(__splitstack_find_context): New function.
* config/i386/morestack.S (__morestack_get_guard): New function.
(__morestack_set_guard, __morestack_make_guard): New functions.
* libgcc-std.ver.in: Add new functions to GCC_4.7.0.
gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_ucontext_h): New
procedure.
* gcc.dg/split-5.c: New test.
From-SVN: r181234
2011-11-09 20:06:31 +00:00
Rainer Orth
e3d871e475
Use t-mingw-pthread on MingW
...
* config.host (i[34567]86-*-cygwin*): Move i386/t-mingw-pthread ...
(i[34567]86-*-mingw*): ... here.
(x86_64-*-mingw*): ... here.
From-SVN: r181203
2011-11-09 13:11:47 +00:00
Rainer Orth
e55cef40ed
Build softfp for c6x
...
* config/c6x/t-elf (LIB2ADD): Add instead of assigning.
From-SVN: r181173
2011-11-08 16:50:37 +00:00
Nathan Sidwell
5366b18679
libgcov.c (struct gcov_fn_buffer): New struct.
...
libgcc/
* libgcov.c (struct gcov_fn_buffer): New struct.
(buffer_fn_data): New helper.
(gcov_exit): Rework for new gcov data structures.
gcc/
* gcov.c (object_summary): Replace with ...
(object_runs): ... this.
(process_file): Remove functions with no data.
(generate_results): Ignore files with no lines.
(release_function): New helper, broken out of ...
(release_structures): ... here. Use it.
(read_count_file): Adjust for new data file format.
(output_lines): Use object_runs.
* gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete.
(struct gcov_ctr_info): Move definition.
(struct gcov_fn_info): Add key field, use gcov_ctr_info for
trailing array.
(struct gcov_info): Add merge function array, remove mask and
counts. Trailing array is array of pointers to function info.
* coverage.c (struct function_list): Replace counter numbers with
counter arrays. Add fndecl field. GTYify.
(counts_entry): Remove chain workspace.
(functions_head): GTYify.
(prg_n_ctrs): Remove.
(fn_v_ctrs): New.
(tree_ctr_tables): Remove.
(read_counts_file): Cope with blank entries and expect program
summaries before functions. Don't warn on missing entries.
(coverage_counter_alloc): Allocate individual function arrays.
(tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust
for individual function arrays.
(coverage_end_function): GTYify function list object. Finalize
function's counter arrays.
(build_var): New. Create a counter-related variable with
appropriate linkage.
(build_fn_info_type): Adjust for new runtime structure.
(build_fn_info_value): Rename to ...
(build_fn_info): ... here. Build new format data.
(build_ctr_info_type, build_ctr_info_value): Remove.
(build_info_type): New. Build new format data structure.
(build_info): Adjust for new format data.
(create_coverage): Likewise.
* gcov-dump.c (tag_function): Recognize placeholders.
gcc/testsuite/
* gcc.dg/profile-dir-1.c: Adjust final scan.
* gcc.dg/profile-dir-2.c: Adjust final scan.
* gcc.dg/profile-dir-3.c: Adjust final scan.
* gcc.misc-tests/gcov.exp: Adjust regexp.
* gcc.misc-tests/gcov-12.c: New.
* gcc.misc-tests/gcov-13.c: New.
* gcc.misc-tests/gcovpart-13b.c: New.
* gcc.misc-tests/gcov-14.c: New.
From-SVN: r181105
2011-11-07 18:14:46 +00:00
Georg-Johann Lay
74155a6f37
re PR target/49313 (Inefficient libgcc implementations for avr)
...
PR target/49313
* config/avr/lib1funcs.S (__divmodhi4, __divmodsi4): Tweak speed.
From-SVN: r181104
2011-11-07 18:08:35 +00:00
Rainer Orth
200feb074b
Append to HOST_LIBGCC2_CFLAGS in libgcc
...
* config.host (tmake_file): Correct comment.
(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
t-libgcc-pic.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.
* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
assigning.
* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.
* config/bfin/t-elf: Remove.
* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.
From-SVN: r181098
2011-11-07 17:14:32 +00:00
Rainer Orth
c9cd1a07b0
Consistently use t-rtems in libgcc
...
* config.host (*-*-rtems*): Add t-rtems to tmake_file.
(i[34567]86-*-rtems*): Remove t-rtems from tmake_file.
(lm32-*-elf*, lm32-*-rtems*): Split into ...
(lm32-*-elf*): ... this.
(lm32-*-rtems*): ... and this.
Add to tmake_file.
(m32r-*-rtems*): Add to tmake_file.
(moxie-*-rtems*): Likewise.
(sparc-*-rtems*): Likewise.
Remove t-rtems from tmake_file.
(sparc64-*-rtems*): Likewise.
* config/t-rtems (HOST_LIBGCC2_CFLAGS): Use LIBGCC2_INCLUDES
instead.
From-SVN: r181097
2011-11-07 17:12:33 +00:00
Rainer Orth
9fbcc75d56
Return gthr-posix.h to libgcc (PR bootstrap/50982)
...
libgcc:
PR bootstrap/50982
* config/gthr-posix.h: Move ...
* gthr-posix.h: ... here.
* config/gthr-lynx.h: Reflect this.
* config/gthr-vxworks.h: Likewise.
* config/rs6000/gthr-aix.h: Likewise.
* configure.ac (target_thread_file): Likewise.
* configure: Regenerate.
libstdc++-v3:
PR bootstrap/50982
* include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
gthr-posix.h move.
* include/Makefile.in: Regenerate.
From-SVN: r181095
2011-11-07 16:34:31 +00:00
Sebastian Huber
76644b6874
config.host (arm*-*-rtemseabi*): New target.
...
2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config.host (arm*-*-rtemseabi*): New target.
From-SVN: r181065
2011-11-07 04:22:39 +01:00
John David Anglin
5e490f2a35
re PR other/50991 (crtstuff.c:65:23: fatal error: libgcc_tm.h: No such file or directory)
...
PR other/50991
* Makefile.in: Make EXTRA_PARTS depend on libgcc_tm.h instead of
extra-parts.
From-SVN: r181039
2011-11-06 19:24:19 +00:00
Joern Rennecke
feeeff5cfe
config.gcc (epiphany-*-*): New architecture.
...
gcc:
* config.gcc (epiphany-*-*): New architecture.
(epiphany-*-elf): New configuration.
* config/epiphany, common/config/epiphany : New directories.
* doc/extend.texi (disinterrupt attribute): Add Epiphany.
(interrupt attribute): Add Epiphany.
(long_call, short_call attribute): Add Epiphany.
* doc/invoke.texi (Options): Add Epiphany options.
* doc/md.texi (Machine Constraints): Add Epiphany constraints.
* doc/install.texi (Options specification):
Add --with-stack-offset=@var{num} description.
(host/target specific issues): Add epiphany-*-elf.
* doc/contrib.texi (Contributors): Mention Epiphany port.
gcc/testsuite:
* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
Disable test on Epiphany.
* gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
* gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
* gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
* g++.dg/parse/pragma3.C: Likewise.
* stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
(bar): Use it.
* gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
* gcc.dg/tls/thr-cse-1.c: Likewise.
* g++.dg/opt/devirt2.C: Likewise.
* gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
* gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
* gcc.target/epiphany: New directory.
libgcc:
* config.host (epiphany-*-elf*): New configuration.
* config/epiphany: New Directory.
contrib:
* contrib-list.mk: Add Epiphany configurations.
From-SVN: r181016
2011-11-05 20:48:23 +00:00
Ralf Corsepius
d618bb2c86
config.host (avr-*-rtems*): Add config/avr/t-rtems.
...
2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
* config.host (avr-*-rtems*): Add config/avr/t-rtems.
* config/avr/t-rtems: New.
Filter out _exit from LIB1ASMFUNCS.
From-SVN: r181003
2011-11-05 05:45:12 +01:00
David S. Miller
1bb6f77823
Tweak libgcc configure test for 64-bit.
...
libgcc/
* configure.ac: Test for 64-bit addresses on !x86 using __LP64__.
* configure: Rebuild.
From-SVN: r181000
2011-11-04 19:46:21 -07:00
Andreas Krebbel
9a7f74222c
t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S variable.
...
2011-11-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S
variable.
From-SVN: r180976
2011-11-04 19:05:36 +00:00
Georg-Johann Lay
e4fe948a6e
re PR target/50931 ([avr] Support a 24-bit scalar integer mode)
...
gcc/
PR target/50931
* config/avr/avr-modes.def: New file defining PSImode.
* config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
__UINT24_MAX__): New built-in defines.
* config/avr/avr.md (adjust_len): Add tstpsi, mov24, reload_in24,
ashlpsi, ashrpsi, lshrpsi.
(QISO, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
(MOVMODE): New mode iterator.
(movpsi): New expander.
(movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
(*reload_inpsi, *movpsi): New insns.
(*reload_inpsi): New RTL peephole.
(addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
*addpsi3_sign_extend.hi): New insns.
(subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
*subpsi3_sign_extend.hi): New insns.
(divmodpsi4, udivmodpsi4): New define insn-and-split.
(*divmodpsi4_call, *udivmodpsi4_call): New insns.
(andpsi3, iorpsi3, xorpsi3): New insns.
(*rotlpsi2.1, *rotlpsi2.23): New insns.
(*rotw<mode>): Insn condition only allow even-sized modes.
(*rotb<mode>): Insn condition allows odd-sized modes.
(ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
(negpsi2, one_cmplpsi2): New insns.
(extendqipsi2, extendhipsi2, extendpsisi2): New insns.
(zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
insn-and-splits.
(*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
(cbranchpsi4): New expander.
* config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
* config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
avr_out_reload_inpsi): New prototypes.
* config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
(avr_scalar_mode_supported_p): ...this new static function.
(avr_asm_len): Always return "".
(avr_out_load_psi, avr_out_store_psi): New static functions.
(avr_out_movpsi, avr_out_reload_inpsi): New functions.
(avr_out_tstpsi): New function.
(avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
(avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
(avr_simplify_comparison_p): Ditto.
(adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
(avr_rtx_costs_1): Report PSI costs.
(avr_libcall_value): Handle odd-sized parameters.
(avr_init_builtin_int24): New static function to define built-in
24-bit types __int24 and __uint24.
(avr_init_builtins): Use it.
libgcc/
PR target/50931
* config/t-avr (LIB1ASMFUNCS): Add _divmodpsi4, _udivmodpsi4.
* config/lib1funcs.S (__udivmodpsi4, __divmodpsi4): New functions.
From-SVN: r180962
2011-11-04 16:20:18 +00:00
Joel Sherrill
7084e0378d
re PR target/50989 (sparc libgcc2 __udivmoddi4 has undefined reference to .umul)
...
2011-11-04 Joel Sherrill <joel.sherrill@oarcorp.com>
PR target/50989
* config.host (sparc-*-rtems*): Add sparc/t-softmul.
From-SVN: r180946
2011-11-04 12:57:40 +00:00
Rainer Orth
1a03203481
Restore c6x-elf bootstrap
...
* config/c6x/t-elf (LIB2ADDEH): Set.
* config/c6x/t-c6x-elf: Remove.
From-SVN: r180942
2011-11-04 11:55:52 +00:00
Rainer Orth
d385f772fe
Use sol2-c[1n].S on more targets
...
* config/i386/sol2-ci.S: Rename to ...
* config/i386/crti.S: ... this.
* config/i386/sol2-cn.S: Rename to ...
* config/i386/crtn.S: ... this.
* config/sparc/sol2-ci.S: Rename to ...
* config/sparc/crti.S: ... this.
* config/sparc/sol2-cn.S: Rename to ...
* config/sparc/crtn.S: ... this.
* config/t-sol2 (CUSTOM_CRTIN): Remove.
(crti.o, crtn.o): Remove.
From-SVN: r180941
2011-11-04 11:54:17 +00:00
Tristan Gingold
1ba878a991
fde-vms.c: Do not include md-unwind-support.h
...
2011-11-04 Tristan Gingold <gingold@adacore.com>
* config/ia64/fde-vms.c: Do not include md-unwind-support.h
From-SVN: r180929
2011-11-04 09:25:41 +00:00
Kaz Kojima
02750c15b6
t-sh: Use $(gcc_compile) instead of $(compile).
...
* config/sh/t-sh: Use $(gcc_compile) instead of $(compile).
From-SVN: r180921
2011-11-04 00:41:58 +00:00
Hans-Peter Nilsson
bf86b0671b
config.host (crisv32-*-none, [...]): Remove.
...
* config.host (crisv32-*-none, cris-*-none): Remove.
(crisv32-*-elf): Append to tmake_file, don't just set it.
(cris-*-elf): Add missing t-fdpbit to tmake_file.
From-SVN: r180854
2011-11-03 21:16:07 +00:00
Rainer Orth
d0bc53bdb4
t-ppccomm (ecrti$(objext)): Use $<.
...
* config/rs6000/t-ppccomm (ecrti$(objext)): Use $<.
(ecrtn$(objext)): Likewise.
(ncrti$(objext)): Likewise.
(ncrtn$(objext)): Likewise.
From-SVN: r180830
2011-11-03 11:42:27 -04:00
Andreas Schwab
036da8303f
* config/ia64/t-ia64 (crtbeginS.o): Fix whitespace damage.
...
From-SVN: r180820
2011-11-03 09:57:54 +00:00
David S. Miller
d2a7d041b6
Fix multilib build of libgcc on Linux/sparc.
...
* configure.ac: Set host_address on sparc too.
* configure: Regenerate.
* config.host: Add sparc/t-linux64 and sparc/t-softmul conditionally
based upon host_address.
* config/sparc/t-linux64: Set CRTSTUFF_T_CFLAGS unconditionally.
From-SVN: r180818
2011-11-02 23:07:39 -07:00
Jason Merrill
af8ed618fb
* config/rs6000/t-ppccomm: Add missing \.
...
From-SVN: r180799
2011-11-02 16:52:10 -04:00
Rainer Orth
5d1c8e77cf
Move gthr to toplevel libgcc
...
gcc:
* gthr-single.h, gthr.h: Move to ../libgcc.
* gthr-aix.h: Move to ../libgcc/config/rs6000.
* gthr-dce.h: Move to ../libgcc/config/pa.
* gthr-lynx.h: Move to ../libgcc/config.
* gthr-mipssde.h: Move to ../libgcc/config/mips.
* gthr-posix.h: Move to ../libgcc/config.
* gthr-rtems.h: Likewise.
* gthr-tpf.h: Move to ../libgcc/config/s390.
* gthr-vxworks.h: Move to ../libgcc/config.
* gthr-win32.h: Move to ../libgcc/config/i386.
* configure.ac (gthread_flags): Remove
(gthr-default.h): Don't create.
(thread_file): Don't substitute.
* configure: Regenerate.
* Makefile.in (GCC_THREAD_FILE): Remove.
(GTHREAD_FLAGS): Remove.
(libgcc.mvars): Remove GTHREAD_FLAGS.
* config/t-vxworks (EXTRA_HEADERS): Remove.
gcc/po:
* EXCLUDES (gthr-aix.h, gthr-dce.h, gthr-posix.c, gthr-posix.h)
(gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h)
(gthr-win32.h, gthr.h): Remove.
libgcc:
* gthr-single.h, gthr.h: New files.
* config/gthr-lynx.h, config/gthr-posix.h., config/gthr-rtems.h,
config/gthr-vxworks.h, config/i386/gthr-win32.h,
config/mips/gthr-mipssde.h, config/pa/gthr-dce.h,
config/rs6000/gthr-aix.h, config/s390/gthr-tpf.h: New files.
* config/i386/gthr-win32.c: Include "gthr-win32.h".
* configure.ac (thread_header): New variable.
Set it depending on target_thread_file.
(gthr-default.h): Link from $thread_header.
* configure: Regenerate.
* Makefile.in (LIBGCC2_CFLAGS): Remove $(GTHREAD_FLAGS).
libgfortran:
* Makefile.am (AM_CPPFLAGS): Add
-I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc.
* Makefile.in: Regenerate.
* acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove.
* configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise.
* configure: Regenerate.
* config.h.in: Regenerate.
libobjc:
* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
* configure: Regenerate.
* config.h.in: Regenerate.
libstdc++-v3:
* acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
toplevel_builddir.
(GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
HAVE_GTHR_DEFAULT, enable_thread.
(GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
* include/Makefile.am (thread_host_headers): Remove
${host_builddir}/gthr-tpf.h.
(${host_builddir}/gthr.h): Reflect gthr move to libgcc.
Use $<.
(${host_builddir}/gthr-single.h): Likewise.
(${host_builddir}/gthr-posix.h): Likewise.
(${host_builddir}/gthr-tpf.h): Remove.
(${host_builddir}/gthr-default.h): Likewise.
* configure, config.h.in: Regenerate.
* Makefile.in, doc/Makefile.in, include/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
src/Makefile.intestsuite/Makefile.in: Regenerate.
From-SVN: r180776
2011-11-02 15:28:43 +00:00
Rainer Orth
852b75ed97
Move libgcc_tm_file to toplevel libgcc
...
gcc:
* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
Remove.
* configure: Regenerate.
* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
(TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list).
(libgcc_tm.h, cs-libgcc_tm.h): Remove.
(clean): Remove libgcc_tm.h
* mkconfig.sh: Don't include libgcc_tm.h in tm.h.
* config.gcc (libgcc_tm_file): Remove.
(arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi.
(arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi.
(arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file.
(avr-*-rtems*): Likewise.
(avr-*-*): Likewise.
(frv-*-elf): Likewise.
(frv-*-*linux*): Likewise.
(h8300-*-rtems*): Likewise.
(h8300-*-elf*): Likewise.
(i[34567]86-*-darwin*): Likewise.
(x86_64-*-darwin*): Likewise.
(rx-*-elf*): Likewise.
(tic6x-*-elf): Likewise.
(tic6x-*-uclinux): Likewise.
(i[34567]86-*-linux*, x86_64-*-linux*): Likewise.
libgcc:
* configure.ac (tm_file_): New variable.
Determine from tm_file.
(tm_file, tm_defines): Substitute.
* configure: Regenerate.
* mkheader.sh: New file.
* Makefile.in (clean): Remove libgcc_tm.h.
($(objects)): Depend on libgcc_tm.h.
(libgcc_tm_defines, libgcc_tm_file): New variables.
(libgcc_tm.h, libgcc_tm.stamp): New targets.
($(libgcc-objects), $(libgcc-s-objects), $(libgcc-eh-objects))
($(libgcov-objects), $(libunwind-objects), $(libunwind-s-objects))
($(extra-parts)): Depend on libgcc_tm.h.
* config.host (tm_defines, tm_file): New variable.
(arm*-*-linux*): Set tm_file for arm*-*-linux-*eabi.
(arm*-*-uclinux*): Set tm_file for arm*-*-uclinux*eabi.
(arm*-*-eabi*, arm*-*-symbianelf*): Set tm_file.
(avr-*-rtems*): Likewise.
(avr-*-*): Likewise.
(frv-*-elf): Likewise.
(frv-*-*linux*): Likewise.
(h8300-*-rtems*): Likewise.
(h8300-*-elf*): Likewise.
(i[34567]86-*-darwin*): Likewise.
(x86_64-*-darwin*): Likewise.
(rx-*-elf): Likewise.
(tic6x-*-uclinux): Likewise.
(tic6x-*-elf): Likewise.
(i[34567]86-*-linux*, x86_64-*-linux*): Likewise.
* config/alpha/gthr-posix.c: Include libgcc_tm.h.
* config/i386/cygming-crtbegin.c: Likewise.
* config/i386/cygming-crtend.c: Likewise.
* config/ia64/fde-vms.c: Likewise.
* config/ia64/unwind-ia64.c: Likewise.
* config/libbid/bid_gcc_intrinsics.h: Likewise.
* config/rs6000/darwin-fallback.c: Likewise.
* config/stormy16/lib2funcs.c: Likewise.
* config/xtensa/unwind-dw2-xtensa.c: Likewise.
* crtstuff.c: Likewise.
* dfp-bit.h: Likewise.
* emutls.c: Likewise.
* fixed-bit.c: Likewise.
* fp-bit.c: Likewise.
* generic-morestack-thread.c: Likewise.
* generic-morestack.c: Likewise.
* libgcc2.c: Likewise.
* libgcov.c: Likewise.
* unwind-dw2-fde-dip.c: Likewise.
* unwind-dw2-fde.c: Likewise.
* unwind-dw2.c: Likewise.
* unwind-sjlj.c: Likewise.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r180775
2011-11-02 15:26:35 +00:00
Rainer Orth
f9989b51a9
Move libgcc2 to toplevel libgcc
...
toplevel:
* Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS,
LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES.
* Makefile.in: Regenerate.
config:
* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.
gcc:
* Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
(LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
(LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET)
(INCLUDES_FOR_TARGET): Remove.
(LIBGCC2_CFLAGS): Don't export.
(LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify):
Remove.
(libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies.
(libgcc.mvars): Likewise.
Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST,
LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS,
TARGET_LIBGCC2_CFLAGS.
Emit GTHREAD_FLAGS.
* libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc.
* config/darwin-64.c: Move to ../libgcc/config.
* config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
config/udivmodsi4.c: Move to ../libgcc/config.
* config/gthr-posix.c: Move to ../libgcc/config/alpha.
* config/memcmp.c, config/memcpy.c, config/memmove.c,
config/memset.c: Move to ../libgcc/config.
* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove.
* config/t-freebsd: Remove.
* config/t-freebsd-thread: Move to ../libgcc/config.
* config/t-libgcc-pic: Move to ../libgcc/config.
* config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove.
* config/t-linux: Remove.
* config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
Remove
* config/t-openbsd-thread: Move to ../libgcc/config.
* config/t-rtems (LIBGCC2_INCLUDES): Remove.
* config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove.
* config/t-svr4: Remove.
* config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS)
(LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove.
* config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config.
* config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S.
* config/alpha/t-alpha, config/alpha/t-ieee: Remove.
* config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC):
Remove.
* config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha.
* config/arm/bpabi.c, config/arm/unaligned-funcs.c,
config/arm/fp16.c, config/arm/linux-atomic.c,
config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm.
* config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC)
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/arm/t-bpabi, config/arm/t-linux: Remove.
* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS)
(LIB2FUNCS_STATIC_EXTRA): Remove.
* config/arm/t-netbsd: Remove.
* config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC)
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove.
* config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC)
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS)
(LIBGCC, INSTALL_LIBGCC): Remove.
* config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove.
* config/bfin/t-bfin-linux: Likewise.
* config/bfin/t-bfin-uclinux: Likewise.
* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
config/c6x/ltf.c: Move to ../libgcc/config/c6x.
* config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA):
Remove.
* config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove.
* config/cris/arit.c: Move to ../libgcc/config/cris.
* config/cris/cris_abi_symbol.c: Remove.
* config/cris/cris.h: Remove obsolete comment.
* config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S.
* config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC)
($(LIB2FUNCS_EXTRA)): Remove.
* config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC)
(LIBGCC): Remove.
* config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
* config/fr30/t-fr30: Remove.
* config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move
to ../libgcc/config/frv.
* config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
(cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c)
(ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove.
* config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
* config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300.
* config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
(LIBGCC, INSTALL_LIBGCC): Remove.
* config/i386/gthr-win32.c: Move to ../libgcc/config/i386.
* config/i386/t-cygming (LIBGCC2_INCLUDES): Remove.
* config/i386/t-cygwin: Remove.
* config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
(LIB2FUNCS_EXCLUDE): Remove.
* config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
(LIBGCC, INSTALL_LIBGCC): Remove.
* config/i386/t-gthr-win32: Move to ../libgcc/config/i386.
* config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove.
* config/i386/t-mingw-w32: Likewise.
* config/i386/t-mingw-w64: Likewise.
* config/i386/t-openbsd: Likewise.
* config/i386/t-nto: Remove.
* config/ia64/quadlib.c: Move to ../libgcc/config/ia64.
* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
(quadlib.c): Remove.
* config/ia64/t-ia64: Remove comment.
* config/iq2000/lib2extra-funcs.c: Move to
../libgcc/config/iq2000/lib2funcs.c.
* config/iq2000/t-iq2000: Remove.
* config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c.
* config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c.
* config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
* config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove.
* config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC)
(INSTALL_LIBGCC): Remove.
* config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k.
* config/m68k/t-floatlib: Remove.
* config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove.
* config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove.
Fix typo.
(LIBGCC, INSTALL_LIBGCC): Remove.
* config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c.
* config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c.
* config/mep/t-mep (LIB2FUNCS_EXTRA): Remove.
* config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC)
(INSTALL_LIBGCC): Remove.
* config/mips/t-isa3264: Likewise.
* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove.
* config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC)
(INSTALL_LIBGCC): Remove.
* config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove.
* config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC)
(INSTALL_LIBGCC): Remove.
* config/mips/t-vr (TARGET_LIBGCC2_CFLAGS)
(LIB2FUNCS_STATIC_EXTRA): Remove.
* config/mips/vr4120-div.S: Move to ../libgcc/config/mips.
* config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove.
* config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove.
* config/pa/fptr.c, config/pa/linux-atomic.c: Move to
../libgcc/config/pa.
* config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S.
* config/pa/quadlib.c: Move to ../libgcc/config/pa.
* config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove.
* config/pa/t-linux, config/pa/t-linux64: Remove.
* config/pa/t-pa-hpux, config/pa/t-pa-hpux10,
config/pa/t-pa-hpux11, config/pa/t-pa64: Remove.
* config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA):
Remove.
* config/picochip/libgccExtras: Move to ../libgcc/config/picochip.
* config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET)
(TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove.
* config/rs6000/crtresfpr.asm: Move to
../libgcc/config/rs6000/crtresfpr.S.
* config/rs6000/crtresgpr.asm: Move to
../libgcc/config/rs6000/crtresgpr.S.
* config/rs6000/crtresxfpr.asm: Move to
../libgcc/config/rs6000/crtresxfpr.S.
* config/rs6000/crtresxgpr.asm: Move to
../libgcc/config/rs6000/crtresxgpr.S.
* config/rs6000/crtsavfpr.asm: Move to
../libgcc/config/rs6000/crtsavfpr.S.
* config/rs6000/crtsavgpr.asm: Move to
../libgcc/config/rs6000/crtsavgpr.S.
* config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000.
* config/rs6000/darwin-fpsave.asm: Move to
../libgcc/config/rs6000/darwin-fpsave.S.
* config/rs6000/darwin-gpsave.asm: Move to
../libgcc/config/rs6000/darwin-gpsave.S.
* config/rs6000/darwin-tramp.asm: Move to
../libgcc/config/rs6000/darwin-tramp.S.
* config/rs6000/darwin-vecsave.asm: Move to
../libgcc/config/rs6000/darwin-vecsave.S.
* config/rs6000/darwin-world.asm: Move to
../libgcc/config/rs6000/darwin-world.S.
* config/rs6000/e500crtres32gpr.asm: Move to
../libgcc/config/rs6000/e500crtres32gpr.S.
* config/rs6000/e500crtres64gpr.asm: Move to
../libgcc/config/rs6000/e500crtres64gpr.S.
* config/rs6000/e500crtres64gprctr.asm: Move to
../libgcc/config/rs6000/e500crtres64gprctr.S.
* config/rs6000/e500crtrest32gpr.asm: Move to
../libgcc/config/rs6000/e500crtrest32gpr.S.
* config/rs6000/e500crtrest64gpr.asm: Move to
../libgcc/config/rs6000/e500crtrest64gpr.S.
* config/rs6000/e500crtresx32gpr.asm: Move to
../libgcc/config/rs6000/e500crtresx32gpr.S.
* config/rs6000/e500crtresx64gpr.asm: Move to
../libgcc/config/rs6000/e500crtresx64gpr.S.
* config/rs6000/e500crtsav32gpr.asm: Move to
../libgcc/config/rs6000/e500crtsav32gpr.S.
* config/rs6000/e500crtsav64gpr.asm: Move to
../libgcc/config/rs6000/e500crtsav64gpr.S.
* config/rs6000/e500crtsav64gprctr.asm: Move to
../libgcc/config/rs6000/e500crtsav64gprctr.S.
* config/rs6000/e500crtsavg32gpr.asm: Move to
../libgcc/config/rs6000/e500crtsavg32gpr.S.
* config/rs6000/e500crtsavg64gpr.asm: Move to
../libgcc/config/rs6000/e500crtsavg64gpr.S.
* config/rs6000/e500crtsavg64gprctr.asm: Move to
../libgcc/config/rs6000/e500crtsavg64gprctr.S.
* config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S.
* config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/rs6000/t-aix52: Likewise.
* config/rs6000/t-darwin: Remove.
* config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS)
(LIB2FUNCS_EXTRA): Remove.
* config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove.
* config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove.
* config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC)
(INSTALL_LIBGCC): Remove.
* config/rs6000/t-netbsd (LIB2FUNCS_EXTRA)
(LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S)
(crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC)
(INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext))
(($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext),
$(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove.
* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA)
(LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove.
* config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove.
* config/rs6000/t-vxworks: Remove comment.
* config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S.
* config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove.
* config/sh/linux-atomic.asm: Move to
../libgcc/config/sh/linux-atomic.S.
* config/sh/t-linux (LIB2FUNCS_EXTRA): Remove.
* config/sh/t-netbsd: Remove.
* config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
Remove.
* config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove.
* config/sparc/t-leon: Likewise.
* config/sparc/t-leon3: Likewise.
* config/sparc/t-linux64: Likewise.
* config/sparc/t-netbsd64: Fix typo.
Remove comment.
* config/spu/divmodti4.c, config/spu/divv2df3.c,
config/spu/float_disf.c, config/spu/float_unsdidf.c,
config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
config/spu/mfc_multi_tag_release.c,
config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
config/spu/multi3.c: Move to ../libgcc/config/spu.
* config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE)
(LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC)
(INSTALL_LIBGCC): Remove.
* config/stormy16/stormy16-lib2.c: Move to
../libgcc/config/stormy16/lib2.c.
* config/stormy16/stormy16-lib2-ashlsi3.c: Move to
../libgcc/config/stormy16/ashlsi3.c.
* config/stormy16/stormy16-lib2-ashrsi3.c: Move to
../libgcc/config/stormy16/ashrsi3.c.
* config/stormy16/stormy16-lib2-clzhi2.c: Move to
../libgcc/config/stormy16/clzhi2.c.
* config/stormy16/stormy16-lib2-cmpsi2.c: Move to
../libgcc/config/stormy16/cmpsi2.c.
* config/stormy16/stormy16-lib2-ctzhi2.c: Move to
../libgcc/config/stormy16/ctzhi2.c.
* config/stormy16/stormy16-lib2-divsi3.c: Move to
../libgcc/config/stormy16/divsi3.c.
* config/stormy16/stormy16-lib2-ffshi2.c: Move to
../libgcc/config/stormy16/ffshi2.c.
* config/stormy16/stormy16-lib2-lshrsi3.c: Move to
../libgcc/config/stormy16/lshrsi3.c.
* config/stormy16/stormy16-lib2-modsi3.c: Move to
../libgcc/config/stormy16/modsi3.c.
* config/stormy16/stormy16-lib2-parityhi2.c: Move to
../libgcc/config/stormy16/parityhi2.c.
* config/stormy16/stormy16-lib2-popcounthi2.c: Move to
../libgcc/config/stormy16/popcounthi2.c.
* config/stormy16/stormy16-lib2-ucmpsi2.c: Move to
../libgcc/config/stormy16/ucmpsi2.c.
* config/stormy16/stormy16-lib2-udivmodsi4.c: Move to
../libgcc/config/stormy16/udivmodsi4.c.
* config/stormy16/stormy16-lib2-udivsi3.c: Move to
../libgcc/config/stormy16/udivsi3.c.
* config/stormy16/stormy16-lib2-umodsi3.c: Move to
../libgcc/config/stormy16/umodsi3.c.
* config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16.
* config/v850/t-v850 (INSTALL_LIBGCC): Remove.
* config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa.
* config/xtensa/t-elf: Remove.
* config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove.
* config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread
from tmake_file.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
*-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file.
(*-*-netbsd*): Remove t-libgcc-pic from tmake_file.
(*-*-openbsd*): Likewise.
Remove t-openbsd-thread for posix threads.
(alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee
from tmake_file.
(alpha*-*-freebsd*): Likewise.
(alpha*-*-netbsd*): Likewise.
(alpha*-*-openbsd*): Likewise.
(alpha64-dec-*vms*): Likewise.
(alpha*-dec-*vms*): Likewise.
(arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file.
(arm*-*-linux*): Remove t-linux from tmake_file.
Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi.
(arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for
arm*-*-uclinux*eabi.
(arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from
tmake_file for arm*-*-eabi*.
(fr30-*-elf): Remove tmake_file.
(hppa*64*-*-linux*): Remove tmake_file.
(hppa*-*-linux*): Likewise.
(hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from
tmake_file.
(hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file.
(hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from
tmake_file.
(i[34567]86-*-elf*): Remove tmake_file.
(x86_64-*-elf*): Likewise.
(i[34567]86-*-nto-qnx*): Likewise.
(i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file.
(i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32
from tmake_file if using win32 threads.
(iq2000*-*-elf*): Remove tmake-file.
(microblaze*-linux*): Likewise.
(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
(sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for
sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd.
(xtensa*-*-elf*): Remove tmake_file.
gcc/po:
* EXCLUDES (config/vxlib.c, gbl-ctors.h, libgcc2.c, libgcc2.h)
(longlong.h): Remove.
libgcc:
* configure.ac: Include ../config/picflag.m4.
(GCC_PICFLAG): Call it.
Substitute.
* configure: Regenerate.
* Makefile.in (gcc_srcdir): Remove.
(LIBGCC2_DEBUG_CFLAGS, LIBGCC2_CFLAGS, LIBGCC2_INCLUDES)
(HOST_LIBGCC2_CFLAGS, PICFLAG, LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE)
(LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST): Set.
($(lib2funcs-o), $(lib2funcs-s-o), $(lib2-divmod-o))
($(lib2-divmod-s-o)): Use $(srcdir) to refer to libgcc2.c.
Use $<.
Remove comment.
* libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: New files.
* siditi-object.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir)
to refer to libgcc2.c.
Use $<.
* config/darwin-64.c: New file.
* config/darwin-crt3.c: Remove comment.
* config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
config/udivmodsi4.c: New files.
* config/memcmp.c, config/memcpy.c, config/memmove.c,
config/memset.c: New files.
* config/t-crtstuff-pic (CRTSTUFF_T_CFLAGS_S): Use $(PICFLAG).
* config/t-darwin (HOST_LIBGCC2_CFLAGS): Set.
* config/t-freebsd-thread, config/t-libgcc-pic: New files.
* config/t-libunwind (HOST_LIBGCC2_CFLAGS): Set.
* config/t-openbsd-thread: New file.
* config/t-sol2 (HOST_LIBGCC2_CFLAGS): Remove.
* config/t-vxworks, config/vxlib-tls.c, config/vxlib.c: New files.
* config/alpha/gthr-posix.c, config/alpha/qrnnd.S: New files.
* config/alpha/t-alpha (LIB2ADD): Use $(srcdir) to refer to
qrnnd.S.
Adapt filename.
* config/alpha/t-osf-pthread (LIB2ADD): Use $(srcdir)/config/alpha
to refer to gthr-posix.c.
* config/alpha/t-vms (LIB2ADD): Set.
* config/alpha/vms-gcc_shell_handler.c: New file.
* config/arm/bpabi.c, config/arm/fp16.c,
config/arm/linux-atomic.c, config/arm/linux-atomic-64bit.c,
config/arm/unaligned-funcs.c: New files.
* config/arm/t-bpabi (LIB2ADD, LIB2ADD_ST): Set.
* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Set.
* config/arm/t-linux: Likewise.
* config/arm/t-linux-eabi (LIB2ADD_ST): Add.
* config/arm/t-netbsd: New file.
* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Set.
* config/arm/t-symbian (LIB2ADD_ST): Set.
* config/avr/t-avr (LIB2FUNCS_EXCLUDE, HOST_LIBGCC2_CFLAGS): Set.
* config/bfin/t-crtstuff (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
* config/bfin/t-elf: New file.
* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
config/c6x/ltf.c: New files.
* config/c6x/t-elf (LIB2FUNCS_EXCLUDE, LIB2ADD)
(HOST_LIBGCC2_CFLAGS): Set.
* config/c6x/t-uclinux (HOST_LIBGCC2_CFLAGS): Set.
(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
* config/cris/arit.c, config/cris/mulsi3.S, config/cris/t-cris:
New files.
* config/cris/t-elfmulti (LIB2ADD_ST): Set.
* config/cris/t-linux (HOST_LIBGCC2_CFLAGS): Remove.
* config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: New
files.
* config/frv/t-frv (LIB2ADD): Set.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
* config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
config/h8300/popcounthi2.c: New files.
* config/h8300/t-h8300 (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
* config/i386/gthr-win32.c: New file.
* config/i386/t-cygming (LIBGCC2_INCLUDES): Set.
* config/i386/t-cygwin: Likewise.
* config/i386/t-darwin, config/i386/t-darwin64,
config/i386/t-gthr-win32, config/i386/t-interix: New files.
* config/i386/t-nto (HOST_LIBGCC2_CFLAGS): Set.
(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
* config/i386/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
* config/ia64/quadlib.c: New file.
* config/ia64/t-hpux (LIB2ADD): Set.
* config/ia64/t-ia64: Add comment.
* config/iq2000/lib2funcs.c, config/iq2000/t-iq2000: New files.
* config/lm32/t-uclinux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
(HOST_LIBGCC2_CFLAGS): Append, remove -fPIC.
* config/m32c/lib2funcs.c, config/m32c/trapv.c: New files.
* config/m32c/t-m32c (LIB2ADD): Set.
* config/m32r/t-linux (HOST_LIBGCC2_CFLAGS): Set.
* config/m32r/t-m32r: Likewise.
* config/m68k/fpgnulib.c: New file.
* config/m68k/t-floatlib (LIB2ADD): Set.
(xfgnulib.c): New target.
* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Set.
* config/mep/lib2funcs.c, config/mep/tramp.c: New files.
* config/mep/t-mep (LIB2ADD): Set.
* config/microblaze/divsi3.asm: Rename to divsi3.S.
* config/microblaze/moddi3.asm: Rename to moddi3.S.
* config/microblaze/modsi3.asm: Rename to modsi3.S.
* config/microblaze/muldi3_hard.asm: Rename to hard.S.
* config/microblaze/mulsi3.asm: Rename to mulsi3.S.
* config/microblaze/stack_overflow_exit.asm: Rename to exit.S.
* config/microblaze/udivsi3.asm: Rename to udivsi3.S.
* config/microblaze/umodsi3.asm: Rename to umodsi3.S.
* config/microblaze/t-microblaze (LIB2ADD): Reflect this.
* config/mips/t-elf, config/mips/t-vr, config/mips/vr4120-div.S:
New files.
* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Set.
* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Set.
* config/pa/fptr.c, config/pa/lib2funcs.S,
config/pa/linux-atomic.c, config/pa/quadlib.c: New files.
* config/pa/t-linux (HOST_LIBGCC2_CFLAGS): Set.
(LIB2ADD, LIB2ADD_ST): Set.
* config/pa/t-hpux, config/pa/t-hpux10, config/pa/t-pa64: New files.
* config/pa/t-linux (HOST_LIBGCC2_CFLAGS, LIB2ADD, LIB2ADD_ST):
Set.
* config/pa/t-linux64 (LIB2ADD_ST, HOST_LIBGCC2_CFLAGS): Set.
* config/pdp11/t-pdp11: New file.
* config/picochip/libgccExtras/adddi3.S,
config/picochip/libgccExtras/ashlsi3.S,
config/picochip/libgccExtras/ashrsi3.S,
config/picochip/libgccExtras/clzsi2.S,
config/picochip/libgccExtras/cmpsi2.S,
config/picochip/libgccExtras/divmod15.S,
config/picochip/libgccExtras/divmodhi4.S,
config/picochip/libgccExtras/divmodsi4.S,
config/picochip/libgccExtras/lshrsi3.S,
config/picochip/libgccExtras/parityhi2.S,
config/picochip/libgccExtras/popcounthi2.S,
config/picochip/libgccExtras/subdi3.S,
config/picochip/libgccExtras/ucmpsi2.S,
config/picochip/libgccExtras/udivmodhi4.S,
config/picochip/libgccExtras/udivmodsi4.S: New files.
* config/picochip/t-picochip (LIB2ADD, HOST_LIBGCC2_CFLAGS)
(LIBGCC2_DEBUG_CFLAGS, RANLIB_FOR_TARGET): Set.
* config/rs6000/crtresfpr.S, config/rs6000/crtresgpr.S,
config/rs6000/crtresxfpr.S, config/rs6000/crtresxgpr.S,
config/rs6000/crtsavfpr.S, config/rs6000/crtsavgpr.S)
config/rs6000/darwin-asm.h, config/rs6000/darwin-fpsave.S,
config/rs6000/darwin-gpsave.S, config/rs6000/darwin-tramp.S,
config/rs6000/darwin-vecsave.S, config/rs6000/darwin-world.S: New
files.
* config/rs6000/t-darwin (LIB2ADD, LIB2ADD_ST)
(HOST_LIBGCC2_CFLAGS): Set.
* config/rs6000/t-darwin64: New file.
* config/rs6000/t-linux64 (HOST_LIBGCC2_CFLAGS): Set.
* config/rs6000/t-lynx, config/rs6000/t-netbsd: New files.
* config/rs6000/t-ppccomm (LIB2ADD): Add
$(srcdir)/config/rs6000/tramp.S.
(LIB2ADD_ST): Use $(srcdir)/config/rs6000 to refer to sources.
Add $(srcdir)/config/rs6000/eabi.S.
(crtsavfpr.S, crtresfpr.S, crtsavgpr.S, crtresgpr.S, crtresxfpr.S)
(crtresxgpr.S, e500crtres32gpr.S, e500crtres64gpr.S)
(e500crtres64gprctr.S, e500crtrest32gpr.S, e500crtrest64gpr.S)
(e500crtresx32gpr.S, e500crtresx64gpr.S, e500crtsav32gpr.S)
(e500crtsav64gpr.S, e500crtsav64gprctr.S, e500crtsavg32gpr.S)
(e500crtsavg64gpr.S, e500crtsavg64gprctr.S): Remove.
* config/rs6000/tramp.S: New file.
* config/s390/t-tpf: Remove.
* config/sh/linux-atomic.S: New file.
* config/sh/t-linux (LIB2ADD): Set.
(HOST_LIBGCC2_CFLAGS): Append, remove -fpic.
* config/sh/t-netbsd (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
* config/sh/t-sh (unwind-dw2-Os-4-200.o): Use $(srcdir) to refer
to unwind-dw2.c.
(HOST_LIBGCC2_CFLAGS): Set.
* config/sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
* config/spu/divmodti4.c, config/spu/divv2df3.c,
config/spu/float_disf.c, config/spu/float_unsdidf.c,
config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
config/spu/mfc_multi_tag_release.c,
config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
config/spu/multi3.c: New files.
* config/spu/t-elf (LIB2ADD, LIB2ADD_ST, LIB2_SIDITI_CONV_FUNCS)
(HOST_LIBGCC2_CFLAGS): Set.
* config/stormy16/ashlsi3.c, config/stormy16/ashrsi3.c,
config/stormy16/clzhi2.c, config/stormy16/cmpsi2.c,
config/stormy16/ctzhi2.c, config/stormy16/divsi3.c,
config/stormy16/ffshi2.c, config/stormy16/lib2.c,
config/stormy16/lshrsi3.c, config/stormy16/modsi3.c,
config/stormy16/parityhi2.c, config/stormy16/popcounthi2.c,
config/stormy16/t-stormy16, config/stormy16/ucmpsi2.c,
config/stormy16/udivmodsi4.c, config/stormy16/udivsi3.c,
config/stormy16/umodsi3.c: New files.
* config/xtensa/lib2funcs.S: New file.
* config/xtensa/t-elf (HOST_LIBGCC2_CFLAGS): Set.
* config/xtensa/t-xtensa (LIB2ADD): Set.
* config.host (*-*-darwin*): Add t-libgcc-pic to tmake_file.
(*-*-freebsd*): Add t-freebsd, t-libgcc-pic to tmake_file.
Add t-freebsd-thread to tmake_file for posix threads.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu)
(*-*-gnu*, *-*-kopensolaris*-gnu): Add t-libgcc-pic to tmake_file.
(*-*-lynxos*): Likewise.
(*-*-netbsd*): Likewise.
(*-*-openbsd*): Likewise.
Add t-openbsd-thread to tmake_file for posix threads.
(*-*-solaris2*): Add t-libgcc-pic to tmake_file.
(*-*-vxworks*): Set tmake_file.
(alpha*-*-linux*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
(alpha*-*-freebsd*): Likewise.
(alpha*-*-netbsd*): Likewise.
(alpha*-*-openbsd*): Likewise.
(alpha*-dec-osf5.1*): Remove qrnnd.o, gthr-posix.o from extra_parts.
(alpha64-dec-*vms*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
(alpha*-dec-*vms*): Likewise.
(arm*-*-netbsdelf*): Add arm/t-netbsd to tmake_file.
(bfin*-elf*): Add bfin/t-elf to tmake_file.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(crisv32-*-elf): Add cris/t-cris to tmake_file.
(crisv32-*-none): Likewise.
(cris-*-elf): Likewise.
(cris-*-none): Likewise.
(cris-*-linux*, crisv32-*-linux*): Likewise.
(hppa[12]*-*-hpux10*): Add pa/t-hpux pa/t-hpux10, t-libgcc-pic to
tmake_file.
(hppa*64*-*-hpux11*): Add pa/t-hpux, pa/t-pa64, t-libgcc-pic to
tmake_file.
(hppa[12]*-*-hpux11*): Add pa/t-hpux, t-libgcc-pic to tmake_file.
(i[34567]86-*-elf*): Add t-libgcc-pic to tmake_file.
(x86_64-*-elf*): Likewise.
(i[34567]86-*-nto-qnx*): Likewise.
(i[34567]86-*-mingw*): Add i386/t-gthr-win32 to tmake_file for
win32 threads.
(x86_64-*-mingw*): Likewise.
(i[34567]86-*-interix3*): Add i386/t-interix to tmake_file.
(lm32-*-uclinux*): Add t-libgcc-pic to tmake_file.
(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-elf to
tmake_file.
(mipsisa64sr71k-*-elf*): Likewise.
(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
(mips-*-elf*, mipsel-*-elf*): Likewise.
(mips64-*-elf*, mips64el-*-elf*): Likewise.
(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
(mips*-*-rtems*): Likewise.
(mips64vr-*-elf*, mips64vrel-*-elf*): Add mips/t-elf, mips/t-vr
to tmake_file.
(pdp11-*-*): Add pdp11/t-pdp11 to tmake_file.
(powerpc64-*-darwin*): Add rs6000/t-darwin64 to tmake_file.
(s390x-ibm-tpf*): Add t-libgcc-pic to tmake_file.
(spu-*-elf*): Likewise.
(tic6x-*-uclinux): Add t-libgcc-pic to tmake_file.
libquadmath:
* printf/gmp-impl.h: Adapt path to longlong.h.
From-SVN: r180774
2011-11-02 15:23:48 +00:00
Rainer Orth
45b86625d7
Move libgcc1 to toplevel libgcc
...
gcc:
* Makefile.in (LIB1ASMSRC): Don't export.
(libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC.
* config/arm/arm.c: Update lib1funcs.asm filename.
* config/arm/linux-eabi.h: Likewise.
* config/arm/bpabi-v6m.S, config/arm/bpabi.S,
config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to
../libgcc/config/arm.
* config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S.
* config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/arm/t-arm-elf (LIB1ASMFUNCS): Remove.
* config/arm/t-bpabi: Likewise.
* config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove.
* config/arm/t-strongarm-elf: Likewise.
* config/arm/t-symbian: Likewise.
* config/arm/t-vxworks: Likewise.
* config/arm/t-wince-pe: Likewise.
* config/avr/libgcc.S: Move to ../libgcc/config/avr.
* config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/bfin/lib1funcs.asm: Move to
../libgcc/config/bfin/lib1funcs.S.
* config/bfin/t-bfin: Remove.
* config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/bfin/t-bfin-linux: Likewise.
* config/bfin/t-bfin-uclinux: Likewise.
* config/c6x/lib1funcs.asm: Move to
../libgcc/config/c6x/lib1funcs.S.
* config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/fr30/lib1funcs.asm: Move to
../libgcc/config/fr30/lib1funcs.S.
* config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/frv/lib1funcs.asm: Move to
../libgcc/config/frv/lib1funcs.S.
* config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/h8300/fixunssfsi.c: Update lib1funcs.asm filename.
* config/h8300/lib1funcs.asm: Move to
../libgcc/config/h8300/lib1funcs.S.
* config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S.
* config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/i386/t-interix: Likewise.
* config/ia64/lib1funcs.asm: Move to
../libgcc/config/ia64/lib1funcs.S.
* config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove.
* config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove.
* config/m32c/m32c.c: Update m32c-lib1.S filename.
* config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S.
* config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove.
* config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S.
* config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file.
* config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S.
* config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S.
* config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/mips/mips16.S: Move to ../libgcc/config/mips.
* config/mips/t-libgcc-mips16: Remove.
* config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove.
* config/pa/milli64.S: Move to ../libgcc/config/pa.
* config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
* config/pa/t-linux64: Likewise.
* config/picochip/libgccExtras/fake_libgcc.asm: Move to
../libgcc/config/picochip/lib1funcs.S.
* config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
* config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S.
* config/sh/lib1funcs.h: Move to ../libgcc/config/sh.
* config/sh/sh.h: Update lib1funcs.asm filename.
* config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove.
* config/sh/t-netbsd: Likewise.
* config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE):
Remove.
* config/sh/t-sh64 (LIB1ASMFUNCS): Remove.
* config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S.
* config/sparc/lb1spl.asm: Remove.
* config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config/sparc/t-leon: Likewise.
* config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove.
* config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S.
* config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove
* config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S.
* config/vax/t-linux: Remove.
* config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to
../libgcc/config/xtensa.
* config/xtensa/lib1funcs.asm: Move to
../libgcc/config/xtensa/lib1funcs.S.
* config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
* config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file.
(bfin*-*): Likewise.
(mips64*-*-linux*, mipsisa64*-*-linux*): Remove
mips/t-libgcc-mips16 from tmake_file.
(mips*-*-linux*): Likewise.
(mips*-sde-elf*): Likewise.
(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Likewise.
(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
(mips-*-elf*, mipsel-*-elf*): Likewise.
(mips64-*-elf*, mips64el-*-elf*): Likewise.
(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
(mips*-*-rtems*): Likewise.
(mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
(vax-*-linux*): Remove vax/t-linux from tmake_file.
libgcc:
* Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): Use
$(srcdir) to refer to $(LIB1ASMSRC).
Use $<.
* config/arm/bpabi-v6m.S, config/arm/bpabi.S,
config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
config/arm/lib1funcs.S: New files.
* config/arm/libunwind.S [!__symbian__]: Use lib1funcs.S.
* config/arm/t-arm: New file.
* config/arm/t-bpabi (LIB1ASMFUNCS): Set.
* config/arm/t-elf, config/arm/t-linux, config/arm/t-linux-eabi,
config/arm/t-strongarm-elf: New files.
* config/arm/t-symbian (LIB1ASMFUNCS): Set.
* config/arm/t-vxworks, config/arm/t-wince-pe: New files.
* config/avr/lib1funcs.S: New file.
* config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config/bfin/lib1funcs.S, config/bfin/t-bfin: New files.
* config/c6x/lib1funcs.S: New file.
* config/c6x/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config/fr30/lib1funcs.S, config/fr30/t-fr30: New files.
* config/frv/lib1funcs.S: New file.
* config/frv/t-frv (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config/h8300/lib1funcs.S, config/h8300/t-h8300: New files.
* config/i386/cygwin.S, config/i386/t-chkstk: New files.
* config/ia64/__divxf3.asm: Rename to ...
* config/ia64/__divxf3.S: ... this.
Adapt lib1funcs.asm filename.
* config/ia64/_fixtfdi.asm: Rename to ...
* config/ia64/_fixtfdi.S: ... this.
Adapt lib1funcs.asm filename.
* config/ia64/_fixunstfdi.asm: Rename to ...
* config/ia64/_fixunstfdi.S: ... this.
Adapt lib1funcs.asm filename.
* config/ia64/_floatditf.asm: Rename to ...
* config/ia64/_floatditf.S: ... this.
Adapt lib1funcs.asm filename.
* config/ia64/lib1funcs.S: New file.
* config/ia64/t-hpux (LIB1ASMFUNCS): Set.
* config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config/ia64/t-softfp-compat (libgcc1-tf-compats): Adapt suffix.
* config/m32c/lib1funcs.S, config/m32c/t-m32c: New files.
* config/m68k/lb1sf68.S, config/m68k/t-floatlib: New files.
* config/mcore/lib1funcs.S, config/mcore/t-mcore: New files.
* config/mep/lib1funcs.S: New file.
* config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config/mips/mips16.S: New file.
* config/mips/t-mips16 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config/pa/milli64.S: New file.
* config/pa/t-linux, config/pa/t-linux64: New files.
* config/picochip/lib1funcs.S: New file.
* config/picochip/t-picochip (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config/sh/lib1funcs.S, config/sh/lib1funcs.h: New files.
* config/sh/t-linux (LIB1ASMFUNCS_CACHE): Set.
* config/sh/t-netbsd: New file.
* config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Set.
Use $(srcdir) to refer to lib1funcs.S, adapt filename.
* config/sh/t-sh64: New file.
* config/sparc/lb1spc.S: New file.
* config/sparc/t-softmul (LIB1ASMSRC): Adapt sparc/lb1spc.asm
filename.
* config/v850/lib1funcs.S, config/v850/t-v850: New files.
* config/vax/lib1funcs.S, config/vax/t-linux: New files.
* config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S,
config/xtensa/lib1funcs.S: New files.
* config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Set.
* config.host (arm-wrs-vxworks): Add arm/t-arm, arm/t-vxworks to
tmake_file.
(arm*-*-freebsd*): Add arm/t-arm, arm/t-strongarm-elf to tmake_file.
(arm*-*-netbsdelf*): Add arm/t-arm to tmake_file.
(arm*-*-linux*): Likewise.
Add arm/t-elf, arm/t-bpabi, arm/t-linux-eabi to tmake_file for
arm*-*-linux-*eabi, add arm/t-linux otherwise.
(arm*-*-uclinux*): Add arm/t-arm, arm/t-elf to tmake_file.
(arm*-*-ecos-elf): Likewise.
(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
(arm*-*-rtems*): Likewise.
(arm*-*-elf): Likewise.
(arm*-wince-pe*): Add arm/t-arm, arm/t-wince-pe to tmake_file.
(avr-*-rtems*): Add to tmake_file, add avr/t-avr.
(bfin*-elf*): Add bfin/t-bfin to tmake_file.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(bfin*-rtems*): Likewise.
(bfin*-*): Likewise.
(fido-*-elf): Merge into m68k-*-elf*.
(fr30-*-elf)): Add fr30/t-fr30 to tmake_file.
(frv-*-*linux*): Add frv/t-frv to tmake_file.
(h8300-*-rtems*): Add h8300/t-h8300 to tmake_file.
(h8300-*-elf*): Likewise.
(hppa*64*-*-linux*): Add pa/t-linux, pa/t-linux64 to tmake_file.
(hppa*-*-linux*): Add pa/t-linux to tmake_file.
(i[34567]86-*-cygwin*): Add i386/t-chkstk to tmake_file.
(i[34567]86-*-mingw*): Likewise.
(x86_64-*-mingw*): Likewise.
(i[34567]86-*-interix3*): Likewise.
(ia64*-*-hpux*): Add ia64/t-ia64, ia64/t-hpux to tmake_file.
(ia64-hp-*vms*): Add ia64/t-ia64 to tmake_file.
(m68k-*-elf*): Also handle fido-*-elf.
Add m68k/t-floatlib to tmake_file.
(m68k-*-uclinux*): Add m68k/t-floatlib to tmake_file.
(m68k-*-linux*): Likewise.
(m68k-*-rtems*): Likewise.
(mcore-*-elf): Add mcore/t-mcore to tmake_file.
(sh-*-elf*, sh[12346l]*-*-elf*): Add sh/t-sh64 to tmake_file for
sh64*-*-*.
(sh-*-linux*, sh[2346lbe]*-*-linux*): Add sh/t-sh to tmake_file.
Add sh/t-sh64 to tmake_file for sh64*-*-linux*.
(sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*)
(sh5l*-*-netbsd*, sh64-*-netbsd*, sh64l*-*-netbsd*): Add sh/t-sh,
sh/t-netbsd to tmake_file.
Add sh/t-sh64 to tmake_file for sh5*-*-netbsd*, sh64*-netbsd*.
(sh-*-rtems*): Add sh/t-sh to tmake_file.
(sh-wrs-vxworks): Likewise.
(sparc-*-linux*): Add sparc/t-softmul to tmake_file except for
*-leon[3-9]*.
(v850*-*-*): Add v850/t-v850 to tmake_file.
(vax-*-linux*): Add vax/t-linux to tmake_file.
(m32c-*-elf*, m32c-*-rtems*): Add m32c/t-m32c to tmake_file.
From-SVN: r180773
2011-11-02 15:03:19 +00:00
Rainer Orth
5f73c6ccf0
Move crtstuff support to toplevel libgcc
...
gcc:
* config.gcc (extra_parts): Remove.
(*-*-freebsd*): Remove extra_parts.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
*-*-gnu*, *-*-kopensolaris*-gnu): Likewise.
(*-*-netbsd*): Remove t-libc-ok, t-netbsd from tmake_file.
Remove extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
*-*-netbsdelf[2-9]*.
(*-*-openbsd*): Remove t-libc-ok from tmake_file.
(alpha*-*-linux*): Remove extra_parts.
(alpha*-*-freebsd*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(fr30-*-elf): Likewise.
(moxie-*-elf): Likewise.
(moxie-*-uclinux*): Likewise.
(h8300-*-rtems*): Remove h8300/t-elf from tmake_file.
(h8300-*-elf*): Likewise.
(hppa*64*-*-hpux11*): Remove extra_parts.
(i[34567]86-*-elf*): Remove i386/t-i386elf, i386/t-crtstuff from
tmake_file.
(x86_64-*-elf*): Likewise.
(i[34567]86-*-freebsd*): Remove tmake_file.
(x86_64-*-freebsd*): Likewise.
(x86_64-*-netbsd*): Likewise.
(i[34567]86-*-openbsd2.*, i[34567]86-*openbsd3.[0123]): Remove
t-libc-ok from tmake_file.
(i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
i[34567]86-*-kopensolaris*-gnu): Remove i386/t-crtstuff from tmake_file.
Remove extra_parts.
(x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
Remove i386/t-crtstuff from tmake_file.
(i[34567]86-*-lynxos*): Likewise.
Remove extra_parts.
(ia64*-*-elf*): Remove extra_parts.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Likewise.
(ia64-hp-*vms*): Remove ia64/t-vms from tmake_file.
(m32r-*-elf*): Remove extra_parts.
(m32rle-*-elf*): Likewise.
(m32r-*-rtems*): Likewise.
(m68k-*-elf*, fido-*-elf*): Likewise.
(m68k*-*-openbsd*): Remove t-libc-ok from tmake_file.
(m68k-*-rtems*): Remove extra_parts.
(mep-*-*): Likewise.
(microblaze*-linux*): Likewise.
(mips64*-*-linux*, mipsisa64*-*-linux*): Likewise.
(mips*-*-linux*): Likewise.
(powerpc-*-lynxos*): Likewise.
(s390x-ibm-tpf*): Likewise.
(score-*-elf): Likewise.
Remove tmake_file.
(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*, sh[2346lbe]*-*-linux*,
sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*, sh5l*-*-netbsd*,
sh64-*-netbsd*, sh64l*-*-netbsd*): Remove sh/t-elf from tmake_file.
Remove sh/t-superh from tmake_file for sh*-superh-elf.
Remove sh/t-linux64 from tmake_file for sh64*-*-linux*.
(sh-*-rtems*): Remove sh/t-elf from tmake_file.
(sh-wrs-vxworks): Likewise.
(sparc-*-linux*): Remove extra_parts.
(sparc64-*-linux*): Likewise.
(sparc64-*-freebsd*, ultrasparc-*-freebsd*): Likewise.
(xstormy16-*-elf): Likewise.
(xtensa*-*-linux*): Remove xtensa/t-linux from tmake_file.
(am33_2.0-*-linux*): Remove extra_parts.
* configure.ac (extra_parts): Don't substitute.
* configure: Regenerate.
* crtstuff.c: Move to ../libgcc.
* Makefile.in (CRTSTUFF_CFLAGS): Remove.
(EXTRA_PARTS): Remove.
(CRTSTUFF_T_CFLAGS): Remove.
(MOSTLYCLEANFILES): Remove $(EXTRA_PARTS).
(GCC_EXTRA_PARTS): Remove.
(libgcc.mvars): Remove GCC_EXTRA_PARTS, CRTSTUFF_CFLAGS,
CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S.
Emit GCC_CFLAGS, INHIBIT_LIBC_CFLAGS.
($(T)crtbegin.o, $(T)crtend.o, $(T)crtbeginS.o, $(T)crtendS.o)
($(T)crtbeginT.o): Remove.
* config/alpha/t-vms (EXTRA_PARTS): Remove.
($(T)vms-dwarf2.o, $(T)vms-dwarf2eh.o): Remove.
* config/alpha/vms-dwarf2.asm: Move to
../libgcc/config/alpha/vms-dwarf2.S.
* config/alpha/vms-dwarf2eh.asm: Move to
../libgcc/config/alpha/vms-dwarf2eh.S.
* config/arm/crti.asm: Move to ../libgcc/config/arm/crti.S.
* config/arm/crtn.asm: Move to ../libgcc/config/arm/crtn.S.
* config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Remove.
($(T)crti.o, $(T)crtn.o): Remove.
* config/arm/t-linux: Remove comment.
* config/arm/t-linux-eabi (EXTRA_MULTILIB_PARTS): Remove.
* config/arm/t-strongarm-elf (EXTRA_MULTILIB_PARTS): Remove.
($(T)crti.o, $(T)crtn.o): Remove.
* config/arm/t-symbian (EXTRA_MULTILIB_PARTS): Remove.
* config/bfin/crti.s: Move to ../libgcc/config/bfin/crti.S.
* config/bfin/crtn.s: Move to ../libgcc/config/bfin/crtn.S.
* config/bfin/crtlibid.s: Move to ../libgcc/config/bfin/crtlibid.S.
* config/bfin/t-bfin (EXTRA_PARTS): Remove.
($(T)crti.o, $(T)crtn.o): Remove.
* config/bfin/t-bfin-elf (CRTSTUFF_T_CFLAGS): Remove.
($(T)crti.o, $(T)crtn.o, $(T)crtlibid.o): Remove
(EXTRA_MULTILIB_PARTS): Remove.
* config/bfin/t-bfin-linux (CRTSTUFF_T_CFLAGS,
EXTRA_MULTILIB_PARTS): Remove.
* config/bfin/t-bfin-uclinux (CRTSTUFF_T_CFLAGS): Remove.
($(T)crtlibid.o): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
* config/c6x/crti.s: Move to ../libgcc/config/c6x/crti.S.
* config/c6x/crtn.s: Move to ../libgcc/config/c6x/crtn.S.
* config/c6x/t-c6x-elf ($(T)crti.o, $(T)crtn.o): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
* config/c6x/t-c6x-uclinux (CRTSTUFF_T_CFLAGS,
CRTSTUFF_T_CFLAGS_S): Remove.
* config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Remove.
* config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
* config/fr30/crti.asm: Move to ../libgcc/config/fr30/crti.S.
* config/fr30/crtn.asm: Move to ../libgcc/config/fr30/crtn.S.
* config/fr30/t-fr30 ($(T)crti.o, $(T)crtn.o): Remove.
* config/frv/frvbegin.c, config/frv/frvend.c: Move to
../libgcc/config/frv.
* config/frv/t-frv (EXTRA_MULTILIB_PARTS): Remove.
(FRVSTUFF_CFLAGS, $(T)frvbegin$(objext), $(T)frvend$(objext)): Remove.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove.
(CRTSTUFF_T_CFLAGS): Remove.
* config/h8300/crti.asm: Move to ../libgcc/config/h8300/crti.S.
* config/h8300/crtn.asm: Move to ../libgcc/config/h8300/crtn.S.
* config/h8300/t-elf: Remove.
* config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
Move to ../libgcc/config/i386.
* config/i386/t-crtstuff: Remove.
* config/i386/t-i386elf: Remove.
* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
* config/i386/t-nto (CRTSTUFF_T_CFLAGS, EXTRA_PARTS): Remove.
* config/ia64/crtbegin.asm: Move to
../libgcc/config/ia64/crtbegin.S.
* config/ia64/crtend.asm: Move to
../libgcc/config/ia64/crtend.S.
* config/ia64/crti.asm: Move to ../libgcc/config/ia64/crti.S.
* config/ia64/crtn.asm: Move to ../libgcc/config/ia64/crtn.S.
* config/ia64/t-vms: Remove.
* config/ia64/vms-crtinit.asm: Move to
../libgcc/config/ia64/vms-crtinit.S.
* config/m32c/t-m32c (EXTRA_MULTILIB_PARTS): Remove.
* config/m32r/initfini.c: Move to ../libgcc/config/m32r.
* config/m32r/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
* config/m32r/t-m32r (CRTSTUFF_T_CFLAGS): Remove.
($(T)crtinit.o, $(T)crtfini.o): Remove.
(m32rx, m32r2): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
* config/m68k/crti.s: Move to ../libgcc/config/m68k/crti.S.
* config/m68k/crtn.s: Move to ../libgcc/config/m68k/crtn.S.
* config/m68k/t-crtstuff: Remove.
* config/m68k/t-linux (EXTRA_MULTILIB_PARTS): Remove.
* config/m68k/t-m68kelf: Remove.
* config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Remove.
* config/mcore/crti.asm: Move to ../libgcc/config/mcore/crti.S.
* config/mcore/crtn.asm: Move to ../libgcc/config/mcore/crtn.S.
* config/mcore/t-mcore ($(T)crti.o, $(T)crtn.o): Remove.
(EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
* config/mep/t-mep (CRTSTUFF_CFLAGS): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
* config/microblaze/crti.s: Move to ../libgcc/config/microblaze/crti.S.
* config/microblaze/crtn.s: Move to ../libgcc/config/microblaze/crtn.S.
* config/microblaze/t-microblaze (EXTRA_MULTILIB_PARTS,
EXTRA_PARTS): Remove.
($(T)crti$(objext), $(T)crtn$(objext)): Remove.
* config/mips/crti.asm: Move to ../libgcc/config/mips/crti.S.
* config/mips/crtn.asm: Move to ../libgcc/config/mips/crtn.S.
* config/mips/t-elf (CRTSTUFF_T_CFLAGS): Remove.
($(T)crti.o, $(T)crtn.o): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
* config/mips/t-isa3264: Likewise.
* config/mips/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
* config/mips/t-r3900 (EXTRA_MULTILIB_PARTS): Remove.
(CRTSTUFF_T_CFLAGS): Remove.
* config/mips/t-sde (CRTSTUFF_T_CFLAGS): Remove.
($(T)crti.o, $(T)crtn.o): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
* config/mips/t-sr71k (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS):
Remove.
($(T)crti.o, $(T)crtn.o): Remove.
* config/mips/t-st (EXTRA_MULTILIB_PARTS): Remove.
* config/mips/t-vr (CRTSTUFF_T_CFLAGS): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
($(T)crti.o, $(T)crtn.o): Remove.
* config/mmix/crti.asm: Move to ../libgcc/config/crti.S.
* config/mmix/crtn.asm: Move to ../libgcc/config/crtn.S.
* config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Remove.
* config/moxie/crti.asm, config/moxie/crtn.asm: Remove.
* config/pa/stublib.c: Move to libgcc/config/pa.
* config/pa/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
* config/pa/t-linux64 (CRTSTUFF_T_CFLAGS_S): Remove.
* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS, stublib.c): Remove.
(pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
(pthread_mutex_unlock-stub.o, pthread_once-stub.o)
($(T)libgcc_stub.a): Remove.
* config/pa/t-pa64 (LIBGCCSTUB_OBJS, stublib.c): Remove.
(rfi-stub.o, dfi-stub.o, cxaf-stub.o, jvrc-stub.o)
(pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
(pthread_mutex_unlock-stub.o, pthread_once-stub.o)
($(T)libgcc_stub.a): Remove.
* config/rs6000/eabi-cn.asm: Move to
../../../libgcc/config/rs6000/eabi-cn.S.
* config/rs6000/eabi-ci.asm: Move to
../../../libgcc/config/rs6000/eabi-ci.S.
* config/rs6000/sol-ci.asm: Move to
../../../libgcc/config/rs6000/sol-ci.S.
* config/rs6000/sol-cn.asm: Move to
../../../libgcc/config/rs6000/sol-cn.S.
* config/rs6000/t-lynx (EXTRA_MULTILIB_PARTS): Remove.
(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
* config/rs6000/t-netbsd (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
Remove.
(EXTRA_MULTILIB_PARTS): Remove.
* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Remove.
(ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
($(T)ecrti$(objext), $(T)ecrtn$(objext), $(T)ncrti$(objext),
$(T)ncrtn$(objext)): Remove.
(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
* config/rs6000/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
* config/rx/t-rx (EXTRA_MULTILIB_PARTS): Remove.
* config/score/crti.asm: Move to ../libgcc/config/score/crti.S.
* config/score/crtn.asm: Move to ../libgcc/config/score/crtn.S.
* config/score/t-score-elf: Remove.
* config/sh/crt1.asm: Move to ../libgcc/config/sh/crt1.S.
* config/sh/crti.asm: Move to ../libgcc/config/sh/crti.S.
* config/sh/crtn.asm: Move to ../libgcc/config/sh/crtn.S.
* config/sh/lib1funcs-4-300.asm: Move to
../../../libgcc/config/sh/lib1funcs-4-300.S.
* config/sh/lib1funcs-Os-4-200.asm: Move to
../libgcc/config/sh/lib1funcs-Os-4-200.S.
* config/sh/t-elf: Remove.
* config/sh/t-linux (EXTRA_MULTILIB_PARTS): Remove.
* config/sh/t-linux64: Remove.
* config/sh/t-netbsd (EXTRA_MULTILIB_PARTS): Remove.
* config/sh/t-sh ($(T)crt1.o, $(T)crti.o, $(T)crtn.o): Remove.
(IC_EXTRA_PARTS, OPT_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
($(T)ic_invalidate_array_4-100.o)
($(T)libic_invalidate_array_4-100.a)
($(T)ic_invalidate_array_4-200.o)
($(T)libic_invalidate_array_4-200.a, $(T)ic_invalidate_array_4a.o)
($(T)libic_invalidate_array_4a.a, $(T)sdivsi3_i4i-Os-4-200.o)
($(T)udivsi3_i4i-Os-4-200.o, $(T)unwind-dw2-Os-4-200.o)
($(T)libgcc-Os-4-200.a, $(T)div_table-4-300.o)
($(T)libgcc-4-300.a): Remove.
* config/sh/t-superh: Remove.
* config/sh/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
* config/sparc/t-linux64 (CRTSTUFF_T_CFLAGS): Remove.
* config/spu/cache.S: Move to ../libgcc/config/spu.
* config/spu/cachemgr.c: Move to ../libgcc/config/spu.
* config/spu/t-spu-elf (CRTSTUFF_T_CFLAGS): Remove.
(EXTRA_MULTILIB_PARTS): Remove.
($(T)cachemgr.o, $(T)cachemgr_nonatomic.o, $(T)libgcc_%.a): Remove.
($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache32k.o)
($(T)cache64k.o, $(T)cache128k.o): Remove.
* config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Remove.
* config/t-libc-ok: Remove.
* config/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
* config/t-lynx (CRTSTUFF_T_CFLAGS_S): Remove.
* config/t-netbsd: Remove.
* config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Remove.
* config/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
* config/vms/t-vms (VMS_EXTRA_PARTS): Remove.
($(T)vcrt0.o, $(T)pcrt0.o): Remove.
* config/vms/vms-ucrt0.c: Move to ../libgcc/config/vms.
* config/xtensa/crti.asm: Move to ../libgcc/config/xtensa/crti.S.
* config/xtensa/crtn.asm: Move to ../libgcc/config/xtensa/crtn.S.
* config/xtensa/t-elf (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
Remove.
(EXTRA_MULTILIB_PARTS): Remove.
* config/xtensa/t-linux: Remove.
* config/xtensa/t-xtensa ($(T)crti.o, $(T)crtn.o): Remove.
gcc/po:
* EXCLUDES (crtstuff.c): Remove.
libgcc:
* crtstuff.c: New file.
* Makefile.in (CRTSTUFF_CFLAGS): Define.
(CRTSTUFF_T_CFLAGS): Define.
(extra-parts, INSTALL_PARTS): Remove conditional assignments.
(crtbegin$(objext), crtend$(objext), crtbeginS$(objext))
(crtendS$(objext), crtbeginT.o): Use $(srcdir) to refer to
crtstuff.c.
Use $<.
(crtbeginT.o): Use $(objext).
[!CUSTOM_CRTIN] (crti$(objext), crtn$(objext)): New rules.
(libgcc-extra-parts): Don't compare EXTRA_PARTS, GCC_EXTRA_PARTS.
(gcc-extra-parts): Remove.
* config.host (*-*-freebsd*): Add t-crtstuff-pic to tmake_file.
Set extra_parts.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
*-*-gnu*): Also handle *-*-kopensolaris*-gnu.
Add t-crtstuff-pic to tmake_file.
(*-*-lynxos*): New case.
Set tmake_file, extra_parts.
(*-*-netbsd*): Add t-crtstuff-pic to tmake_file.
Set extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
*-*-netbsdelf[2-9]*.
(*-*-openbsd*): Add t-crtstuff-pic to tmake_file.
(*-*-rtems*): Set extra_parts.
(*-*-solaris2*): Remove t-crtin from tmake_file for Solaris < 10.
(*-*-uclinux*): New case.
Set extra_parts.
(*-*-vms*): New case.
Set tmake_file, extra_parts.
(*-*-elf): Set extra_parts.
(alpha*-*-freebsd*): Add crtbeginT.o to extra_parts.
(alpha64-dec-*vms*): Append to tmake_file, remove vms/t-vms,
vms/t-vms64.
Set extra_parts.
(alpha*-dec-*vms*): Append to tmake_file, remove vms/t-vms.
Set extra_parts.
(arm*-*-freebsd*): Add t-crtin to tmake_file.
Add crtbegin.o, crtend.o, crti.o, crtn.o to extra_parts.
(arm-wrs-vxworks): Append to tmake_file.
Set extra_parts.
(arm*-*-uclinux*): Set extra_parts.
(arm*-*-ecos-elf): Likewise.
(arm*-*-eabi*, arm*-*-symbianelf*): Set extra_parts for
arm*-*-eabi*.
(arm*-*-rtems*): Set extra_parts.
(arm*-*-elf): Likewise.
(avr-*-rtems*): Clear extra_parts.
(bfin*-elf*): Add bfin/t-crtlibid, bfin/t-crtstuff to extra_parts.
Set extra_parts.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Add bfin/t-crtstuff to tmake_file.
(bfin*-rtems*): Append to tmake_file.
Set extra_parts.
(bfin*-*): Likewise.
(crisv32-*-elf, crisv32-*-none, cris-*-elf, cris-*-none): Split into ...
(crisv32-*-elf): ... this.
(crisv32-*-none): ... this.
(cris-*-elf, cris-*-none): New cases.
Add cris/t-elfmulti to tmake_file.
(fr30-*-elf): Append to tmake_file.
Set extra_parts.
(frv-*-elf): Append to tmake_file, add frv/t-frv.
Set extra_parts.
(h8300-*-rtems*): Append to tmake_file.
Set extra_parts.
(h8300-*-elf*): Likewise.
(hppa*64*-*-hpux11*): Add pa/t-stublib, pa/t-stublib64 to tmake_file.
Set extra_parts.
(hppa[12]*-*-hpux11*): Add pa/t-stublib to tmake_file.
Set extra_parts.
(i[34567]86-*-elf*): Add i386/t-crtstuff, t-crtstuff-pic to tmake_file.
(x86_64-*-elf*): Likewise.
(i[34567]86-*-freebsd*): Add i386/t-crtstuff to tmake_file.
(x86_64-*-freebsd*): Likewise.
(x86_64-*-netbsd*): Likewise.
(i[34567]86-*-linux*): Likewise.
(i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu)
(i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise.
(x86_64-*-linux*): Likewise.
(x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise.
(i[34567]86-*-lynxos*): Add t-crtstuff-pic, i386/t-crtstuff to
tmake_file.
Set extra_parts.
(i[34567]86-*-nto-qnx*): Set tmake_file, extra_parts.
(i[34567]86-*-rtems*): Append to tmake_file, remove t-crtin.
Append to extra_parts, remove crtbegin.o, crtend.o.
(ia64*-*-elf*): Append to extra_parts, remove crtbegin.o, crtend.o.
(ia64*-*-freebsd*): Append to extra_parts, remove crtbegin.o,
crtend.o, crtbeginS.o, crtendS.o.
(ia64*-*-linux*): Comment extra_parts.
(ia64-hp-*vms*): Append to tmake_file, remove vms/t-vms, vms/t-vms64.
Set extra_parts.
(iq2000*-*-elf*): Clear extra_parts.
(lm32-*-elf*, lm32-*-rtems*): Add t-crtin to tmake_file.
(lm32-*-uclinux*): Add to extra_parts, remove crtbegin.o, crtend.o
(m32r-*-elf*, m32r-*-rtems*): Split off ...
(m32r-*-rtems*): ... this.
Add m32r/t-m32r to tmake_file.
(m68k-*-elf*): Add t-crtin to tmake_file.
(m68k-*-rtems*): Add crti.o, crtn.o to extra_parts.
(mcore-*-elf): Likewise.
(microblaze*-*-*): Set extra_parts.
(mips*-sde-elf*): New case.
Set tmake_file, extra_parts.
(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-crtstuff to
tmake_file.
Set extra_parts.
(mipsisa64sr71k-*-elf*): Likewise.
(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
(mips-*-elf*, mipsel-*-elf*): Likewise.
(mips64-*-elf*, mips64el-*-elf*): Likewise.
(mips64vr-*-elf*, mips64vrel-*-elf*): Likewise.
(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
(mips*-*-rtems*): Likewise.
(mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
(moxie-*-*): Split into ...
(moxie-*-elf, moxie-*-uclinux*): ... this.
Add to extra_parts, remove crtbegin.o, crtend.o.
(moxie-*-rtems*): New case.
Set tmake_file.
Clear extra_parts.
(powerpc-*-freebsd*): Add rs6000/t-crtstuff to tmake_file.
Set extra_parts.
(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
(powerpc-*-eabispe*): Add rs6000/t-crtstuff, t-crtstuff-pic to
tmake_file.
Set extra_parts.
(powerpc-*-eabisimaltivec*): Add to tmake_file, add rs6000/t-ppccomm,
rs6000/t-crtstuff, t-crtstuff-pic to tmake_file.
Set extra_parts.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): Likewise.
(powerpc-*-eabi*): Likewise.
(powerpc-*-rtems*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-crtstuff to
tmake_file.
Set extra_parts.
(powerpc-*-lynxos*): Add to tmake_file.
(powerpcle-*-elf*): Add to tmake_file, add rs6000/t-ppccomm,
rs6000/t-crtstuff, t-crtstuff-pic.
Set extra_parts.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
(rx-*-elf): Remove extra_parts.
(s390x-ibm-tpf*): Set extra_parts.
(score-*-elf): Set extra_parts.
(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
(sh64l*-*-netbsd*): Split into ...
(sh-*-elf*, sh[12346l]*-*-elf*): ... this.
Add t-crtstuff-pic to tmake_file.
Set extra_parts.
(sh-*-rtems*): Add to tmake_file, add t-crtstuff-pic.
Set extra_parts.
(sh-wrs-vxworks): Add to tmake_file, add t-crtstuff-pic.
(sparc-*-elf*): Remove t-crtin from tmake_file.
Add to extra_parts, remove crtbegin.o, crtend.o.
(sparc-*-linux*): Add sparc/t-linux64 to tmake_file.
(sparc64-*-linux*): Likewise.
(sparc-*-rtems*): Remove sparc/t-elf from tmake_file.
Add to extra_parts, remove crtbegin.o, crtend.o.
(sparc64-*-elf*): Remove t-crtin from tmake_file.
Add to extra_parts, remove crtbegin.o, crtend.o.
(sparc64-*-rtems*): Remove t-crtin from tmake_file.
Add to extra_parts, remove crtbegin.o, crtend.o.
(sparc64-*-freebsd*, ultrasparc-*-freebsd*): Add to extra_parts.
(sparc64-*-linux*): Add sparc/t-linux64 to tmake_file.
(spu-*-elf*): Add to tmake_file, add spu/t-elf.
Set extra_parts.
(tic6x-*-uclinux): Add c6x/t-uxlinux, t-crtstuff-pic to tmake_file.
Set extra_parts.
(tic6x-*-*): Change to ...
(tic6x-*-elf): ... this.
Set extra_parts.
(xtensa*-*-elf*): Add to tmake_file, add xtensa/t-elf.
Set extra_parts.
(am33_2.0-*-linux*): Add comment.
(mep*-*-*): Add mep/t-mep to tmake_file.
Set extra_parts.
* config/alpha/t-vms: New file.
* config/alpha/vms-dwarf2.S, config/alpha/vms-dwarf2eh.S: New files.
* config/arm/crti.S, config/arm/crtn.S: New files.
* config/bfin/crti.S, config/bfin/crtn.S: New files.
* config/bfin/crtlibid.S: New file.
* config/bfin/t-crtlibid, config/bfin/t-crtstuff: New files.
* config/c6x/crti.S, config/c6x/crtn.S: New files.
* config/c6x/t-elf (CUSTOM_CRTIN): Set.
(crti.o, crtin.o): New rules.
(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set.
* config/c6x/t-uclinux: New file.
* config/cris/t-elfmulti: New file.
* config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Set.
* config/fr30/crti.S, config/fr30/crtn.S: New files.
* config/frv/frvbegin.c, config/frv/frvend.c: New files.
* config/frv/t-frv: New file.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS): Set.
* config/h8300/crti.S, config/h8300/crtn.S: New files.
* config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
New files.
* config/i386/t-cygming (crtbegin.o, crtend.o): Use $(srcdir) to
refer to cygming-crtbegin.c, cygming-crtend.c.
Use $<.
* config/i386/t-nto: New file.
* config/ia64/crtbegin.S, config/ia64/crtend.S: New files.
* config/ia64/crti.S, config/ia64/crtn.S: New files.
* config/ia64/t-ia64 (crtbegin.o, crtend.o, crtbeginS.o,
crtendS.o): Use $(srcdir) to refer to crtbegin.S, crtend.S.
Use .S extension.
Use $<.
* config/ia64/t-vms (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set.
(crtinitS.o): New rule.
* config/ia64/vms-crtinit.S: New file.
* config/lm32/t-elf ($(T)crti.o, $(T)crtn.o): Remove.
* config/m32r/initfini.c: New file.
* config/m32r/t-linux, config/m32r/t-m32r: New files.
* config/m68k/crti.S, config/m68k/crtn.S: New files.
* config/mcore/crti.S, config/mcore/crtn.S: New files.
* config/mep/t-mep: New file.
* config/microblaze/crti.S, config/microblaze/crtn.S: New files.
* config/microblaze/t-microblaze (MULTILIB_OPTIONS): Remove.
* config/mips/crti.S, config/mips/crtn.S: New files.
* config/mips/t-crtstuff: New file.
* config/mmix/crti.S, config/mmix/crtn.S: New files.
* config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Set.
(CUSTOM_CRTIN): Set.
($(T)crti.o, $(T)crtn.o): Remove $(T),
dependencies.
Use $(srcdir) to refer to crti.S, crtn.S.
Use .S extension, $<.
* config/moxie/crti.asm: Rename to ...
* config/moxie/crti.S: ... this.
* config/moxie/crtn.asm: Rename to ...
* config/moxie/crtn.S: ... this.
* config/moxie/t-moxie: Remove.
* config/pa/stublib.c: New file.
* config/pa/t-stublib, config/pa/t-stublib64: New files.
* config/rs6000/eabi-ci.S, config/rs6000/eabi-cn.S: New files.
* config/rs6000/sol-ci.S, config/rs6000/sol-cn.S: New files.
* config/rs6000/t-crtstuff: New file.
* config/rs6000/t-ppccomm (EXTRA_PARTS): Remove.
(ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
(ecrti$(objext)): Depend on $(srcdir)/config/rs6000/eabi-ci.S.
Make output file explicit.
(ecrtn$(objext)): Depend on $(srcdir)/config/rs6000/eabi-cn.S.
Make output file explicit.
(ncrti$(objext): Depend on $(srcdir)/config/rs6000/sol-ci.S.
Make output file explicit.
(ncrtn$(objext)): Depend on $(srcdir)/config/rs6000/sol-cn.S.
Make output file explicit.
* config/score/crti.S, config/score/crtn.S: New files.
* config/sh/crt1.S, config/sh/crti.S, config/sh/crtn.S: New files.
* config/sh/lib1funcs-4-300.S, config/sh/lib1funcs-Os-4-200.S: New
files.
* config/sh/t-sh, config/sh/t-superh: New files.
* config/sparc/t-linux64: New file.
* config/spu/cache.S, config/spu/cachemgr.c: New files.
* config/spu/t-elf (CRTSTUFF_T_CFLAGS): Set.
(cachemgr.o, cachemgr_nonatomic.o, libgcc_%.a, cache8k.o)
(cache16k.o, cache32k.o, cache64k.o, cache128k.o): New rules.
* config/t-crtin: Remove.
* config/t-crtstuff-pic: New file.
* config/t-sol2 (CUSTOM_CRTIN): Set.
(crti.o, crtn.o): New rules.
* config/vms/t-vms: New file.
* config/vms/vms-ucrt0.c: New file.
* config/xtensa/t-elf: New file.
From-SVN: r180771
2011-11-02 14:33:56 +00:00
Rainer Orth
b040f2be65
Move shlib support to toplevel libgcc
...
gcc:
PR translation/45116
* Makefile.in (slibdir): Remove, don't export.
(SHLIB_NM_FLAGS): Remove.
(libgcc.mvars): Don't emit SHLIB_LINK, SHLIB_INSTALL,
SHLIB_DLLDIR, SHLIB_EXT, SHLIB_MKMAP, SHLIB_MKMAP_OPTS,
SHLIB_MAPFILES, SHLIB_NM_FLAGS.
(DRIVER_DEFINES): Test SHLIB instead of SHLIB_LINK.
(gcc.o): Pass SHLIB instead of SHLIB_LINK.
(gccspec.o): Likewise.
(installdirs): Don't create $(DESTDIR)$(slibdir).
* configure.ac (slibdir): Remove.
* configure: Regenerate.
* libgcc-libsystem.ver: Move to ../libgcc/config.
* mkmap-flat.awk, mkmap-symver.awk: Move to ../libgcc.
* config/libgcc-glibc.ver: Move to ../libgcc/config.
* config/t-libunwind (SHLIB_LC): Remove.
* config/t-linux (SHLIB_MAPFILES): Remove.
* config/t-slibgcc-dummy: Rename to config/t-slibgcc.
* config/t-slibgcc-elf-ver: Remove.
* config/t-slibgcc-libgcc, config/t-slibgcc-nolc-override: Move to
../libgcc/config.
* config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: Move
to ../libgcc/config/alpha.
* config/alpha/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_SYMVEC,
SHLIB_SYMVECX2, SHLIB_LINK): Remove.
* config/arm/libgcc-bpabi.ver: Move to ../libgcc/config/arm.
* config/arm/t-bpabi (SHLIB_MAPFILES): Remove.
* config/arm/t-netbsd (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME,
SHLIB_OBJS, SHLIB_LINK, SHLIB_INSTALL): Remove.
* config/arm/t-symbian (SHLIB_LC): Remove.
* config/bfin/libgcc-bfin.ver: Move to
../libgcc/config/bfin/libgcc-glibc.ver.
* config/bfin/t-bfin-linux (SHLIB_MAPFILES): Remove.
* config/c6x/libgcc-c6xeabi.ver: Move to
../libgcc/config/c6x/libgcc-eabi.ver.
* config/c6x/t-c6x-elf (SHLIB_MAPFILES): Remove.
* config/cris/libgcc.ver: Move to
../libgcc/config/cris/libgcc-glibc.ver.
* config/cris/t-linux (SHLIB_MAPFILES): Remove.
* config/frv/libgcc-frv.ver: Move to ../libgcc/config/frv.
* config/frv/t-linux (SHLIB_MAPFILES): Remove.
* config/i386/darwin-libgcc.10.4.ver: Move to
../libgcc/config/i386/libgcc-darwin.10.4.ver.
* config/i386/darwin-libgcc.10.5.ver: Move to
../libgcc/config/i386/libgcc-darwin.10.5.ver.
* config/i386/libgcc-glibc.ver: Move to ../libgcc/config/i386.
* config/i386/t-cygming (SHLIB_EXT, SHLIB_IMPLIB, SHLIB_SOVERSION,
SHLIB_SONAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_DIR, SHLIB_SLIBDIR_QUAL)
SHLIB_PTHREAD_CFLAG, SHLIB_PTHREAD_LDFLAG, SHLIB_LINK,
SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES):
Remove.
* config/i386/t-cygwin (SHLIB_LC, SHLIB_EH_EXTENSION,
SHLIB_IMPLIB, SHLIB_SONAME, SHLIB_MKMAP_OPTS): Remove.
* config/i386/t-dlldir, config/i386/t-dlldir-x: Move to
../libgcc/config/i386.
* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Move to
../libgcc/config/i386.
* config/i386/t-linux: Move to ../libgcc/config/i386.
* config/i386/t-mingw-pthread: Move to ../libgcc/config/i386.
* config/i386/t-mingw-w32 (SHLIB_LC): Remove.
* config/i386/t-mingw-w64: Likewise.
* config/i386/t-mingw32: Remove.
* config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: Move
to ../libgcc/config/ia64.
* config/ia64/t-glibc: Remove.
* config/ia64/t-hpux (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL): Remove.
* config/ia64/t-ia64 (SHLIB_MAPFILES): Remove.
* config/ia64/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_LINK): Remove.
* config/ia64/vms_symvec_libgcc_s.opt: Remove.
* config/m32r/libgcc-glibc.ver: Move to ../libgcc/config/m32r.
* config/m32r/t-linux (SHLIB_MAPFILES): Remove.
* config/m68k/t-slibgcc-elf-ver: Move to ../libgcc/config/m68k.
* config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Remove.
* config/pa/t-hpux-shlib: Move to ../libgcc/config/pa/t-slibgcc-hpux.
* config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver:
Move to ../libgcc/config/pa.
* config/rs6000/darwin-libgcc.10.4.ver: Move to
../libgcc/config/rs6000/libgcc-darwin.10.4.ver.
* config/rs6000/darwin-libgcc.10.5.ver: Move to
../libgcc/config/rs6000/libgcc-darwin.10.5.ver.
* config/rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL,
SHLIB_LIBS, SHLIB_MKMAP, SHLIB_NM_FLAGS, AR_FLAGS_FOR_TARGET): Remove.
* config/rs6000/t-aix52: Likewise.
* config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: Move to
../libgcc/config/sh.
* config/sparc/libgcc-sparc-glibc.ver: Move to
../libgcc/config/sparc/libgcc-glibc.ver.
* config/sparc/t-linux: Move to ../libgcc/config/sparc.
* config/xtensa/t-linux (SHLIB_MAPFILES): Remove.
* config/xtensa/libgcc-xtensa.ver: Move to
../libgcc/config/xtensa/libgcc-glibc.ver.
* config.gcc (*-*-freebsd*): Replace t-slibgcc-elf-ver with
t-slibgcc in tmake_file.
Remove t-slibgcc-nolc-override for *-*-freebsd[34],
*-*-freebsd[34].* with pthreads.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu,
*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Replace
t-slibgcc-elf-ver with t-slibgcc in tmake_file.
(*-*-netbsd*): Likewise.
(*-*-solaris2*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file.
(*-*-*vms*): Add t-slibgcc to tmake_file.
(alpha*-*-linux*): Remove alpha/t-linux from tmake_file.
(alpha*-dec-osf5.1*): Replace t-slibgcc-dummy with t-slibgcc in
tmake_file.
(arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for
arm*-*-linux-*eabi.
(bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in
tmake_file.
(crisv32-*-linux*, cris-*-linux*): Likewise.
(hppa*-*-linux*): Remove t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
pa/t-slibgcc-dwarf-ver from tmake_file.
(hppa[12]*-*-hpux10*): Replace pa/t-hpux-shlib with t-slibgcc in
tmake_file.
Remove pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file.
(hppa*64*-*-hpux11*): Likewise.
(hppa[12]*-*-hpux11*): Likewise.
(i[34567]86-*-darwin*): Replace t-slibgcc-dummy in t-slibgcc in
tmake_file.
(x86_64-*-darwin*): Likewise.
(i[34567]86-*-cygwin*): Remove tmake_eh_file, tmake_dlldir_file.
Add t-slibgcc to tmake_file.
(i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
Remove i386/t-mingw32 from tmake_file unless x86_64-w64-*,
i[34567]86-w64-*.
Remove i386/t-mingw-pthread from tmake_file.
(ia64*-*-linux*): Remove ia64/t-glibc from tmake_file.
(ia64*-*-hpux*): Add t-slibgcc to tmake_file.
(ia64-hp-*vms*): Likewise.
(m32r-*-linux*): Replace t-slibgcc-elf-ver with t-slibgcc in
tmake_file.
(m32rle-*-linux*): Likewise.
(m68k-*-linux*): Remove m68k/t-slibgcc-elf-ver from tmake_file.
(microblaze*-linux*): Remove t-slibgcc-elf-ver,
t-slibgcc-nolc-override from tmake_file.
(mips-sgi-irix6.5*): Replace t-slibgcc-dummy with t-slibgcc in
tmake_file.
(powerpc-*-darwin*): Likewise.
(powerpc64-*-darwin*): Likewise.
(powerpc-*-freebsd*): Remove t-slibgcc-libgcc from tmake_file.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
t-slibgcc to tmake_file.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix5.2.*, powerpc-ibm-aix5.2.*): Likewise.
(rs6000-ibm-aix5.3.*, powerpc-ibm-aix5.3.*): Likewise.
(rs6000-ibm-aix[6789].*, powerpc-ibm-aix[6789].*): Likewise.
(sparc-*-linux*): Remove sparc/t-linux from tmake_file.
(sparc64-*-linux*): Likewise.
(tic6x-*-uclinux): Replace t-slibgcc-elf-ver with t-slibgcc in
tmake_file.
(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu,
x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Remove i386/t-linux
from tmake_file.
gcc/cp:
* Make-lang.in (g++spec.o): Pass SHLIB instead of SHLIB_LINK.
gcc/fortran:
* Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK.
gcc/go:
* Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
gcc/java:
* Make-lang.in (jvspec.o): Pass SHLIB instead of SHLIB_LINK.
libgcc:
* Makefile.in (SHLIB_NM_FLAGS): Set.
* mkmap-flat.awk, mkmap-symver.awk: New files.
* configure.ac (libgcc_cv_lib_sjlj_exceptions): Check for SjLj
exceptions.
* configure: Regenerate.
* config/libgcc-glibc.ver: New file.
* config/libgcc-libsystem.ver: New file.
* config/t-libunwind (SHLIB_LC): Set.
* config/t-linux: New file.
* config/t-slibgcc (INSTALL_SHLIB): New.
(SHLIB_INSTALL): Use it.
* config/t-slibgcc-darwin (SHLIB_MKMAP): Use $(srcdir) to refer
to mkmap-symver.awk.
(SHLIB_MAPFILES): Don't append, adapt pathname.
(SHLIB_VERPFX): Set.
* config/t-slibgcc-elf-ver (SHLIB_MKMAP): Use $(srcdir) to refer
to mkmap-symver.awk.
* config/t-slibgcc-gld-nover, config/t-slibgcc-hpux,
config/t-slibgcc-libgcc, config/t-slibgcc-vms: New files.
* config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: New files.
* config/alpha/t-slibgcc-osf (SHLIB_MKMAP): Use $(srcdir) to refer
to mkmap-flat.awk.
* config/arm/t-bpabi (SHLIB_MAPFILES): Set.
* config/bfin/libgcc-glibc.ver, config/bfin/t-linux: New files.
* config/c6x/libgcc-eabi.ver, config/c6x/t-elf: New files.
* config/cris/libgcc-glibc.ver, config/cris/t-linux: New files.
* config/frv/libgcc-frv.ver, config/frv/t-linux: New files.
* config/i386/libgcc-darwin.10.4.ver,
config/i386/libgcc-darwin.10.5.ver, config/i386/libgcc-glibc.ver:
New files.
* config/i386/t-darwin: Remove.
* config/i386/t-darwin64: Likewise.
* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: New files.
* config/i386/t-slibgcc-cygming, config/i386/t-cygwin,
config/i386/t-dlldir, config/i386/t-dlldir-x: New files.
* config/i386/t-linux: New file.
* config/i386/t-mingw32: New file.
* config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: New files.
* config/ia64/t-glibc: Rename to ...
* config/ia64/t-linux: ... this.
(SHLIB_MAPFILES): Set.
* config/ia64/t-glibc-libunwind: Rename to ...
* config/ia64/t-linux-libunwind: ... this.
* config/ia64/t-ia64 (SHLIB_MAPFILES): Set.
* config/ia64/t-slibgcc-hpux: New file.
* config/m32r/libgcc-glibc.ver, config/m32r/t-linux: New files.
* config/m68k/t-slibgcc-elf-ver: New file.
* config/mips/t-mips16 (SHLIB_MAPFILES): Set.
* config/mips/t-slibgcc-irix (SHLIB_MKMAP): Use $(srcdir) to refer
to mkmap-flat.awk.
* config/pa/t-slibgcc-hpux: New file.
* config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver: New
files.
* config/rs6000/libgcc-darwin.10.4.ver,
config/rs6000/libgcc-darwin.10.5.ver: New files.
* config/rs6000/libgcc-ppc-glibc.ver: Rename to
config/rs6000/libgcc-glibc.ver.
* config/rs6000/libgcc-ppc64.ver: Rename to
config/rs6000/libgcc-ibm-ldouble.ver.
* config/rs6000/t-darwin (SHLIB_VERPFX): Remove.
* config/rs6000/t-ibm-ldouble (SHLIB_MAPFILES): Adapt filename.
* config/rs6000/t-ldbl128: Rename to ...
* config/rs6000/t-linux: ... this.
(SHLIB_MAPFILES): Adapt filename.
* config/rs6000/t-slibgcc-aix: New file.
* config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: New files.
* config/sh/t-linux (SHLIB_MAPFILES): Use $(srcdir) to refer to
libgcc-excl.ver, libgcc-glibc.ver.
(SHLIB_LINK, SHLIB_INSTALL): Remove.
* config/sparc/libgcc-glibc.ver: New file.
* config/sparc/t-linux: New file.
* config/xtensa/libgcc-glibc.ver, config/xtensa/t-linux: New files.
* config.host (*-*-freebsd*): Add t-slibgcc, t-slibgcc-gld,
t-slibgcc-elf-ver to tmake_file.
Add t-slibgcc-nolc-override to tmake_file for posix threads on
*-*-freebsd[34].
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
*-*-gnu*, *-*-kopensolaris*-gnu): Add t-slibgcc, t-slibgcc-gld,
t-slibgcc-elf-ver, t-linux to tmake_file.
(*-*-netbsd*): Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to
tmake_file.
(alpha*-*-linux*): Add alpha/t-linux to tmake_file.
(alpha64-dec-*vms*): Add t-slibgcc-vms to tmake_file.
(alpha*-dec-*vms*): Likewise.
(arm*-*-freebsd*): Append to tmake_file.
(arm*-*-netbsdelf*): Add t-slibgcc-gld-nover to tmake_file.
(arm*-*-linux*): Add t-slibgcc-libgcc to tmake_file for
arm*-*-linux-*eabi.
(arm*-*-eabi*, arm*-*-symbianelf*): Add t-slibgcc-nolc-override to
tmake_file for arm*-*-symbianelf*.
(bfin*-linux-uclibc*): Append to tmake_file, add bfin/t-linux.
(cris-*-linux*, crisv32-*-linux*): Append to tmake_file, add
cris/t-linux.
(frv-*-*linux*): Append to tmake_file, add frv/t-linux.
(hppa*-*-linux*): Add t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
pa/t-slibgcc-dwarf-ver to tmake_file.
(hppa[12]*-*-hpux10*): Add t-slibgcc, pa/t-slibgcc-sjlj-ver,
pa/t-slibgcc-dwarf-ver, t-slibgcc-hpux, pa/t-slibgcc-hpux to tmake_file.
(hppa*64*-*-hpux11*): Likewise.
(hppa[12]*-*-hpux11*): Likewise.
(x86_64-*-darwin*): Don't override tmake_file, but only keep
i386/t-crtpc, i386/t-crtfm.
(i[34567]86-*-cygwin*): Set tmake_eh_file, tmake_dlldir_file.
Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
to tmake_file.
Add i386/t-cygwin to tmake_file.
Prepent i386/t-mingw-pthread to tmake_file for posix threads.
(i[34567]86-*-mingw*): Set tmake_eh_file, tmake_dlldir_file.
Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
to tmake_file.
Add i386/t-mingw32 to tmake_file.
(x86_64-*-mingw*): Likewise.
(ia64*-*-freebsd*): Append to tmake_file.
(ia64*-*-linux*): Append to tmake_file.
Replace ia64/t-glibc by ia64/t-linux.
Replace ia64/t-glibc-libunwind by ia64/t-linux-libunwind if using
system libunwind.
(ia64*-*-hpux*): Add t-slibgcc, ia64/t-slibgcc-hpux,
t-slibgcc-hpux to tmake_file.
(ia64-hp-*vms*): Add t-slibgcc-vms to tmake_file.
(m32r-*-linux*): Append to tmake_file, add m32r/t-linux.
(m32rle-*-linux*): Likewise.
(m68k-*-linux*)): Add m68k/t-slibgcc-elf-ver to tmake_file unless
sjlj exceptions.
(microblaze*-linux*): New case.
Append to tmake_file, add t-slibgcc-nolc-override.
(powerpc-*-freebsd*): Add t-slibgcc-libgcc to tmake_file.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
Replace rs6000/t-ldbl128 by rs6000/t-linux in tmake_file.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
rs6000/t-slibgcc-aix to tmake_file.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
(sh64l*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file for
sh*-*-linux*.
(sparc-*-linux*): Append to tmake_file for *-leon*.
Add sparc/t-linux to tmake_file for non-Leon targets.
(sparc64-*-linux*): Add sparc/t-linux to tmake_file.
(tic6x-*-uclinux): New case.
Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to tmake_file.
(tic6x-*-*): Add c6x/t-elf to tmake_file.
(xtensa*-*-linux*): Append to tmake_file, add xtensa/t-linux.
(am33_2.0-*-linux*): Append to tmake_file.
(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Also handle
x86_64-*-kfreebsd*-gnu.
Add i386/t-linux to tmake_file.
From-SVN: r180767
2011-11-02 10:49:46 +00:00
Ian Lance Taylor
18b4bd7b6c
morestack.S: Correct CFI information to do proper returns throughout function.
...
* config/i386/morestack.S: Correct CFI information to do proper
returns throughout function. In 32-bit mode, save %ebx so that it
is restored on unwind.
From-SVN: r180633
2011-10-28 22:03:56 +00:00
Bernd Schmidt
0d53e34681
pr-support.c (pop_compact_frame, pop_frame): Correct logic for doubleword pops.
...
* config/c6x/pr-support.c (pop_compact_frame, pop_frame): Correct
logic for doubleword pops.
From-SVN: r180435
2011-10-25 15:45:08 +00:00
Bernd Schmidt
5b2d9d9084
pr-support.c (__gnu_unwind_24bit): Correct logic for the case where B3 isn't the return register.
...
* config/c6x/pr-support.c (__gnu_unwind_24bit): Correct logic for the
case where B3 isn't the return register.
From-SVN: r180434
2011-10-25 15:44:03 +00:00
Andreas Tobler
cbffbd59d6
t-freebsd: Add wildcard.
...
2011-10-25 Andreas Tobler <andreast@fgznet.ch>
* config/rs6000/t-freebsd: Add wildcard.
From-SVN: r180420
2011-10-25 07:13:12 +02:00
Paul Brook
56dc349e1a
* unwind-arm-common.inc: Handle ID3/4 unwinding data.
...
From-SVN: r180313
2011-10-21 21:00:11 +00:00
Uros Bizjak
1e06b07d0c
re PR target/50737 (FAIL: Throw_3 -O3 execution, generic dwarf2 EH problem?)
...
libgcc/ChangeLog:
2011-10-16 Uros Bizjak <ubizjak@gmail.com>
Eric Botcazou <ebotcazou@adacore.com>
PR target/50737
* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
fs->signal_frame to 1.
libjava/ChangeLog:
2011-10-16 Uros Bizjak <ubizjak@gmail.com>
Eric Botcazou <ebotcazou@adacore.com>
PR target/50737
* include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
definition.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r180098
2011-10-17 17:36:28 +02:00
Ian Lance Taylor
b5204884b2
* generic-morestack-thread.c: #include <errno.h>.
...
From-SVN: r179703
2011-10-07 22:52:28 +00:00
Ian Lance Taylor
91a639a157
re PR target/46093 (code compiled with -fsplit-stack crashes when passing large struct)
...
PR target/46093
* generic-morestack.c (__generic_morestack): Make sure the segment
is large enough for both the stack frame and the copied
parameters.
From-SVN: r179702
2011-10-07 22:51:11 +00:00
Rainer Orth
cc49116d66
Restore FreeBSD/SPARC bootstrap (PR bootstrap/49804)
...
From-SVN: r179610
2011-10-06 13:48:14 +00:00
Nick Clifton
2996d8c332
rx-lib.h: Always restrict doubles to the SF type when 64-bit doubles are not enabled.
...
* config/rx/rx-lib.h: Always restrict doubles to the SF type when
64-bit doubles are not enabled.
* config/rx/rx-abi.h: Fix extraneous renaming of the floatsisf
and floatunsisf functions.
From-SVN: r179314
2011-09-28 13:56:19 +00:00
Paul Brook
1e874273f8
arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
...
2011-09-13 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
(ARM_TARGET2_DWARF_FORMAT): Provide default definition.
* config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define.
* config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define.
* config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define.
* config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h.
* config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h.
* config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code
enabling unwind tables.
(c6x_debug_unwind_info): New function.
(TARGET_ARM_EABI_UNWINDER): Define.
(TARGET_DEBUG_UNWIND_INFO): Define.
* config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define.
(TARGET_EXTRA_CFI_SECTION): Remove.
* config/c6x/t-c6x-elf (EXTRA_HEADERS): Set.
* ginclude/unwind-arm-common.h: New file.
libgcc/
* config.host (tic6x-*-*): Add c6x/t-c6x-elf. Set unwind_header.
* unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG.
* unwind-arm-common.inc: New file.
* config/arm/unwind-arm.c: Use unwind-arm-common.inc.
* config/arm/unwind-arm.h: Use unwind-arm-common.h.
(_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define.
* config/c6x/libunwind.S: New file.
* config/c6x/pr-support.c: New file.
* config/c6x/unwind-c6x.c: New file.
* config/c6x/unwind-c6x.h: New file.
* config/c6x/t-c6x-elf: New file.
libstdc++-v3/
* libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation.
* libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base.
* libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove
__ARM_EABI_UNWINDER__ check.
(parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING.
(get_ttype_entry): Use generic implementation on ARM EABI.
(check_exception_spec): Use _Unwind_decode_typeinfo_ptr and
UNWIND_STACK_REG.
(PERSONALITY_FUNCTION): Set ttype_base.
From-SVN: r178808
2011-09-13 12:48:33 +00:00
Uros Bizjak
f70c879aa8
sfp-machine.h (ASM_INVALID): New define.
...
* config/i386/64/sfp-machine.h (ASM_INVALID): New define.
(ASM_DIVZERO): Ditto.
(FP_HANLDE_EXCEPTIONS): Use ASM_INVALID and ASM_DIVZERO.
From-SVN: r177978
2011-08-23 01:13:57 +02:00
Richard Sandiford
c55b374bd5
bpabi-lib.h (RENAME_LIBRARY_SET): Delete.
...
libgcc/
* config/arm/bpabi-lib.h (RENAME_LIBRARY_SET): Delete.
From-SVN: r177854
2011-08-18 13:45:07 +00:00
Richard Sandiford
1e138510fa
re PR target/50090 (ARM EABI symbols in libgcc.a have default visibility)
...
libgcc/
PR target/50090
* config/arm/bpabi-lib.h (RENAME_LIBRARY): Use a C-level alias
instead of an assembly one.
From-SVN: r177826
2011-08-17 11:13:20 +00:00
Paolo Bonzini
1563503deb
re PR bootstrap/50047 (Revision 177670 failed to bootstrap)
...
2011-08-12 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/50047
* Makefile.in (install-unwind_h): Create
$(gcc_objdir)/include/unwind.h atomically.
From-SVN: r177706
2011-08-12 17:13:04 +00:00
Rainer Orth
3627ac1ad6
* Makefile.in (install-unwind_h): Remove destination file first.
...
From-SVN: r177670
2011-08-11 15:19:32 +00:00
Rainer Orth
c6412d8676
sync.c: Move to ../libgcc.
...
gcc:
* config/sync.c: Move to ../libgcc.
* Makefile.in (libgcc.mvars): Remove LIBGCC_SYNC,
LIBGCC_SYNC_CFLAGS.
* config/mips/t-libgcc-mips16 (LIBGCC_SYNC, LIBGCC_SYNC_CFLAGS):
Remove.
libgcc:
* sync.c: New file.
* config/mips/t-mips16: New file.
* config.host (mips64*-*-linux*): Add mips/t-mips16 to tmake_file.
(mips*-*-linux*): Likewise.
(mips*-sde-elf*): Likewise.
(mipsisa32-*-elf*): Join with mipsisa32r2-*-elf*,
mipsisa64-*-elf*, mipsisa64r2-*-elf*.
Add mips/t-mips16 to tmake_file.
(mipsisa64sb1-*-elf*): Add mips/t-mips16 to tmake_file.
(mips-*-elf*): Likewise.
(mips64-*-elf*): Likewise.
(mips64orion-*-elf*): Likewise.
(mips*-*-rtems*): Likewise.
(mipstx39-*-elf*): Likewise.
* Makefile.in: Use SYNC instead of LIBGCC_SYNC.
($(libgcc-sync-size-funcs-o)): Use SYNC_CFLAGS instead of
LIBGCC_SYNC_CFLAGS.
Use $(srcdir) to refer to sync.c.
Use $<.
($(libgcc-sync-funcs-o)): Likewise.
($(libgcc-sync-size-funcs-s-o)): Likewise.
($(libgcc-sync-funcs-s-o)): Likewise.
From-SVN: r177601
2011-08-09 15:40:30 +00:00
Andreas Schwab
3cb6e5bd17
config.host (ia64*-*-linux*): Move ia64/t-glibc after t-libunwind.
...
* config.host (ia64*-*-linux*): Move ia64/t-glibc after
t-libunwind.
From-SVN: r177598
2011-08-09 14:26:41 +00:00
H.J. Lu
cca2207a2d
Fix Dwarf unwind library for UNITS_PER_WORD > sizeof (void *)
...
gcc/
2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
PR other/48007
* config.gcc (libgcc_tm_file): Add i386/value-unwind.h for
Linux/x86.
* system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
(ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise.
* unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New.
(_Unwind_Context_Reg_Val): Likewise.
(_Unwind_Get_Unwind_Word): Likewise.
(_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
(_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
(_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT
for EXTENDED_CONTEXT_BIT.
(__frame_state_for): Likewise.
(uw_init_context_1): Likewise.
(_Unwind_GetGR): Updated.
(_Unwind_SetGR): Likewise.
(_Unwind_GetGRPtr): Likewise.
(_Unwind_SetGRPtr): Likewise.
(_Unwind_SetGRValue): Likewise.
(_Unwind_GRByValue): Likewise.
(uw_install_context_1): Likewise.
* doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and
ASSUME_EXTENDED_UNWIND_CONTEXT.
* doc/tm.texi: Regenerated.
libgcc/
2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
PR other/48007
* config/i386/value-unwind.h: New.
From-SVN: r177563
2011-08-08 06:26:06 -07:00
Richard Sandiford
ed39fbad9a
libgcc/
...
* config.host (*-*-darwin*, *-*-freebsd*, *-*-linux*, frv-*-*linux*)
(*-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu):
Add to tmake_file rather than overriding it.
From-SVN: r177533
2011-08-06 18:41:36 +00:00
Rainer Orth
aca0b0b315
soft-fp: Move to ../libgcc.
...
gcc:
* config/soft-fp: Move to ../libgcc.
* Makefile.in (SFP_MACHINE): Remove.
(libgcc-support): Remove $(SFP_MACHINE) dependency.
* config/arm/sfp-machine.h: Move to ../libgcc/config/arm.
* config/arm/t-arm-softfp: Move to
../libgcc/config/arm/t-softfp.
* config/c6x/sfp-machine.h: Move to ../libgcc/config/c6x.
* config/c6x/t-c6x-softfp: Remove.
* config/i386/sfp-machine.h: Move to ../libgcc/config/i386.
* config/i386/t-fprules-softfp: Move to
../libgcc/config/t-softfp-tf.
* config/ia64/sfp-machine.h: Move to ../libgcc/config/ia64.
* config/ia64/t-fprules-softfp: Remove.
* config/lm32/sfp-machine.h: Move to ../libgcc/config/lm32.
* config/lm32/t-fprules-softfp: Remove.
* config/moxie/sfp-machine.h: Remove.
* config/moxie/t-moxie-softfp: Remove.
* config/rs6000/darwin-ldouble-format: Move to
../libgcc/config/rs6000/ibm-ldouble-format.
* config/rs6000/darwin-ldouble.c: Move to
../libgcc/config/rs6000/ibm-ldouble.c
* config/rs6000/libgcc-ppc-glibc.ver: Move to ../libgcc/config/rs6000.
* config/rs6000/libgcc-ppc64.ver: Likewise.
* config/rs6000/sfp-machine.h: Likewise.
* config/rs6000/t-aix43 (SHLIB_MAPFILES): Remove
$(srcdir)/config/rs6000/libgcc-ppc64.ver.
(LIB2FUNCS_EXTRA): Remove.
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/rs6000/t-aix52: Likewise
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/darwin-ldouble.c.
(SHLIB_MAPFILES): Remove.
* config/rs6000/t-darwin64 (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/darwin-ldouble.c.
* config/rs6000/t-fprules-softfp: Move to
../libgcc/config/t-softfp-sfdf.
* config/rs6000/t-freebsd: Move to ../libgcc/config/rs6000.
* config/rs6000/t-linux64 (softfp_wrap_start, softfp_wrap_end): Remove.
* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/darwin-ldouble.c.
* config/score/sfp-machine.h: Move to ../libgcc/config/score.
* config/score/t-score-softfp: Remove.
* config.gcc (arm*-*-linux*): Remove arm/t-arm-softfp,
soft-fp/t-softfp from tmake_file.
(arm*-*-uclinux*): Likewise.
(arm*-*-ecos-elf): Likewise.
(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
(arm*-*-rtems*): Likewise.
(arm*-*-elf): Likewise.
(moxie-*-elf): Remove moxie/t-moxie-softfp, soft-fp/t-softfp from
tmake_file.
(moxie-*-uclinux*): Likewise.
(moxie-*-rtems*): Likewise.
(lm32-*-elf*): Remove lm32/t-fprules-softfp, soft-fp/t-softfp from
tmake_file.
(lm32-*-rtems*): Likewise.
(lm32-*-uclinux*): Likewise.
(powerpc-*-freebsd*): Remove rs6000/t-freebsd,
rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
(powerpc-*-linux*, powerpc64-*-linux*): Remove
rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
(score-*-elf): Remove score/t-score-softfp, soft-fp/t-softfp from
tmake_file.
(tic6x-*-elf): Remove c6x/t-c6x-softfp, soft-fp/t-softfp from
tmake_file.
(tic6x-*-uclinux): Likewise.
(i[34567]86-*-darwin*, x86_64-*-darwin*): Remove i386/t-fprules-softfp,
soft-fp/t-softfp from tmake_file.
(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
(x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Likewise.
(i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Likewise.
(i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*):
Likewise.
(i[34567]86-*-freebsd*, x86_64-*-freebsd*): Likewise.
libgcc:
* config/t-softfp: Remove.
* soft-fp: Moved from ../gcc/config.
* soft-fp/README: Remove t-softfp reference.
* soft-fp/t-softfp: Move to config/t-softfp.
(softfp_machine_header): Remove.
(softfp_file_list): Remove config subdir.
(soft-fp-objects): New variable.
($(soft-fp-objects)): Set INTERNAL_CFLAGS.
(LIB2FUNCS_EXTRA): Add to LIB2ADD instead.
(SFP_MACHINE, $(SFP_MACHINE)): Remove.
* config/t-softfp-excl: New file.
* config/t-softfp-sfdf: New file.
* config/t-softfp-tf: New file.
* config/no-sfp-machine.h: New file.
* config/arm/sfp-machine.h: New file.
* config/arm/t-softfp: New file.
* config/c6x/sfp-machine.h: New file.
* config/i386/32/t-fprules-softfp: Rename to ...
* config/i386/32/t-softfp: ... this.
(tifunctions, LIB2ADD): Remove.
(softfp_int_modes): Override.
* config/i386/64/t-softfp-compat (tf-functions): Remove config
subdir.
* config/i386/64/eqtf2.c: Likewise.
* config/i386/64/getf2.c: Likewise.
* config/i386/64/letf2.c: Likewise.
* config/ia64/sft-machine.h: New file.
* config/ia64/t-fprules-softfp: Rename to ...
* config/ia64/t-softfp: ... this.
* config/lm32/sfp-machine.h: New file.
* config/moxie/t-moxie-softfp: Remove.
* config/rs6000/ibm-ldouble-format: New file.
* config/rs6000/ibm-ldouble.c: New file.
* config/rs6000/libgcc-ppc-glibc.ver: New file
* config/rs6000/libgcc-ppc64.ver: New file
* config/rs6000/sfp-machine.h: New file.
* config/rs6000/t-freebsd: New file.
* config/rs6000/t-ibm-ldouble: New file.
* config/rs6000/t-ldbl128: Use $(srcdir) to refer to
libgcc-ppc-glibc.ver.
* config/rs6000/t-linux64: New file.
* config/rs6000/t-ppccomm (LIB2ADD): Add
$(srcdir)/config/rs6000/ibm-ldouble.c.
* config/rs6000/t-ppccomm-ldbl: New file.
* config/score/sfp-machine.h: New file.
* config.host (sfp_machine_header): Explain.
(arm*-*-linux*): Add t-softfp-sfdf, t-softfp-excl, arm/t-softfp,
t-softfp to tmake_file.
(arm*-*-uclinux*): Likewise.
(arm*-*-ecos-elf): Likewise.
(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
(arm*-*-rtems*): Likewise.
(arm*-*-elf): Likewise.
(ia64*-*-linux*): Replace ia64/t-fprules-softfp by ia64/t-softfp
in tmake_file.
Add t-softfp-tf, t-softfp-excl, t-softfp to tmake_file.
(lm32-*-elf*, lm32-*-rtems*): Add t-softfp-sfdf, t-softfp to tmake_file.
(lm32-*-uclinux*): Likewise.
(moxie-*-*): Replace moxie/t-moxie-softfp by t-softfp-sfdf,
t-softfp-excl, t-softfp.
(powerpc-*-darwin*): Add rs6000/t-ibm-ldouble to tmake_file.
(powerpc64-*-darwin*): Likewise.
(powerpc-*-freebsd*): Add t-softfp-sfdf, t-softfp-excl, t-softfp
to tmake_file.
(powerpc-*-eabisimaltivec*): Add rs6000/t-ppccomm-ldbl to
tmake_file.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): Likewise.
(powerpc-*-rtems*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Add t-softfp-sfdf,
t-softfp-excl, t-softfp to tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add
rs6000/t-ppccomm-ldbl to tmake_file.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
rs6000/t-ibm-ldouble to tmake_file.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(score-*-elf): Add t-softfp-sfdf, t-softfp-excl, t-softfp to tmake_file.
(tic6x-*-*): Likewise.
(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-*-gnu*,
i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*,
i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*,
i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add t-softfp-tf,
t-softfp to tmake_file.
* configure.ac (sfp_machine_header): Provide default if unset.
Substitute.
Link sfp-machine.h to config/$sfp_machine_header.
* configure: Regenerate.
From-SVN: r177452
2011-08-05 15:13:48 +00:00
Rainer Orth
569dc49461
Makefile.in (FPBIT_FUNCS, [...]): Remove.
...
gcc:
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove.
(libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT)
dependencies.
(libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS,
TPBIT, TPBIT_FUNCS.
* config/fp-bit.c, config/fp-bit.h: Move to ../libgcc.
* config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c):
Remove.
* config/arm/t-vxworks: Likewise.
* config/arm/t-wince-pe: Likewise.
* config/avr/t-avr (fp-bit.c, FPBIT): Remove.
* config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/bfin/t-bfin-elf: Likewise.
* config/bfin/t-bfin-linux: Likewise.
* config/bfin/t-bfin-uclinux: Likewise.
* config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c):
Remove.
* config/fr30/t-fr30: Likewise.
* config/frv/t-frv: Likewise.
* config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove.
* config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/m32c/t-m32c: Likewise.
* config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove.
* config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/mcore/t-mcore: Likewise.
* config/mep/t-mep: Likewise.
* config/microblaze/t-microblaze: Likewise.
* config/mips/t-linux64 (TPBIT, tp-bit.c): Remove.
* config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/mips/t-sdemtk (FPBIT, DPBIT): Remove.
* config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/mn10300/t-linux: Remove.
* config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/pdp11/t-pdp11: Likewise.
* config/picochip/t-picochip (FPBIT, fp-bit.c): Remove.
* config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000.
* config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
(LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c.
* config/rs6000/t-aix52: Likewise.
* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
$(srcdir)/config/rs6000/ppc64-fp.c.
* config/rs6000/t-fprules-fpbit: Remove.
* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove.
* config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/sh/t-netbsd (FPBIT, DPBIT): Remove.
* config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/sparc/t-elf: Likewise.
* config/sparc/t-leon: Likewise.
* config/sparc/t-leon3: Likewise.
* config/spu/t-spu-elf: Likewise.
(DPBIT_FUNCS): Remove.
* config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
* config/v850/t-v850: Likewise.
* config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file.
(avr-*-*): Likewise.
(h8300-*-rtems*): Set libgcc_tm_file.
(h8300-*-elf*): Likewise.
(powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from
tmake_file.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): Likewise.
(powerpc-*-eabi*): Likewise.
(powerpc-*-rtems*): Likewise.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
(rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file.
(am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file.
* doc/fragments.texi (Target Fragment, Floating Point Emulation):
Remove.
gcc/po:
* EXCLUDES (config/fp-bit.c, config/fp-bit.h): Remove.
libgcc:
* Makefile.in (double_type_size, long_double_type_size): Set.
Remove $(fpbit-in-libgcc) support.
(FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): New variables.
(fpbit-src): New variable.
($(fpbit-o), $(fpbit-s-o)): Use $(fpbit-src) instead of $(FPBIT).
Compile with -DFLOAT $(FPBIT_CFLAGS).
Use $<.
($(dpbit-o), $(dpbit-s-o)): Use $(fpbit-src) instead of $(DPBIT).
Compile with $(FPBIT_CFLAGS).
Use $<.
($(tpbit-o), $(tpbit-s-o): Use $(fpbit-src) instead of $(TPBIT).
Compile with -DFLOAT $(TPBIT_CFLAGS).
Use $<.
* configure.ac (double_type_size, long_double_type_size):
Determine and substitute.
* configure: Regenerate.
* fp-bit.c, fp-bit.h: New files.
* config/avr/avr-lib.h, config/h8300/h8300-lib.h: New files.
* config/mips/t-irix6 (TPBIT, $(gcc_objdir)/tp-bit.c): Remove.
* config/mips/t-mips: New file.
* config/mips/t-sdemtk: New file.
* config/rs6000/ppc64-fp.c: New file.
* config/rs6000/t-darwin (LIB2ADD): Add
$(srcdir)/config/rs6000/ppc64-fp.c.
* config/rs6000/t-ppc64-fp: New file.
* config/rx/rx-lib.h: New file.
* config/rx/t-rx (FPBIT): Set to true.
($(gcc_objdir)/fp-bit.c): Remove.
(DPBIT): Set to true only with -m64bit-doubles.
($(gcc_objdir)/dp-bit.c): Remove.
* config/sparc/t-softfp: Remove.
* config/spu/t-elf: New file.
* config/t-fdpbit, config/t-fpbit: New files.
* config.host (m32c*-*-*): Add t-fdpbit to tmake_file.
(mips*-*-*): Likewise.
(arm-wrs-vxworks): Likewise.
(arm*-*-freebsd*): Likewise.
(avr-*-rtems*): Add t-fpbit to tmake_file.
(avr-*-*): Likewise.
(bfin*-elf*): Add t-fdpbit to tmake_file.
(bfin*-uclinux*): Likewise.
(bfin*-linux-uclibc*): Likewise.
(bfin*-rtems*): New case.
Add t-fdpbit to tmake_file.
(bfin*-*): Add t-fdpbit to tmake_file.
(crisv32-*-elf): Likewise.
(cris-*-linux*): Likewise.
(fr30-*-elf): Likewise.
(frv-*-elf, frv-*-*linux*): Likewise.
(h8300-*-rtems*, h8300-*-elf*): Add t-fpbit to tmake_file.
(iq2000*-*-elf*): Add t-fdpbit to tmake_file.
(m32r-*-elf*): Likewise.
(m32rle-*-elf*): Likewise.
(m32r-*-linux*): Likewise.
(m32rle-*-linux*): Likewise.
(mcore-*-elf): Add t-fdpbit to tmake_file.
(microblaze*-*-*): Likewise.
(mips-sgi-irix6.5*): Add t-tpbit to tmake_file.
(mips*-*-netbsd*): Add mips/t-mips to tmake_file.
(mips64*-*-linux*): Also handle mipsisa64*-*-linux*.
Fix typo.
Add mips/t-tpbit to tmake-file.
(mips*-*-linux*): Fix typo.
(mips*-sde-elf*): New case
Add mips/t-sdemtk unless using newlib.
(mipsisa64sr71k-*-elf*): Add t-fdpbit to tmake_file.
(mipsisa64sb1-*-elf*): Add mips/t-mips to tmake_file.
(mn10300-*-*): Likewise.
(pdp11-*-*): Likewise.
(picochip-*-*): Add t-fpbit to tmake_file.
(powerpc-*-eabisimaltivec*): Likewise.
(powerpc-*-eabisim*): Likewise.
(powerpc-*-elf*): Likewise.
(powerpc-*-eabialtivec*): Likewise.
(powerpc-xilinx-eabi*): New case.
Add t-fdpbit to tmake_file.
(powerpc-*-eabi*): Add t-fdpbit to tmake_file.
(powerpc-*-rtems*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-ppc64-fp to
tmake_file.
(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add t-fdpbit to
tmake_file.
(powerpc-*-lynxos*): Likewise.
(powerpcle-*-elf*): Likewise.
(powerpcle-*-eabisim*): Likewise.
(powerpcle-*-eabi*): Likewise.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
t-fdpbit, rs6000/t-ppc64-fp to tmake_file.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(rx-*-elf): Add t-fdpbit to tmake_file.
(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
(sh64l*-*-netbsd*): Add t-fdpbit to tmake_file except on
sh*-*-netbsd*.
(sh-*-rtems*): Add t-fdpbit to tmake_file.
(sh-wrs-vxworks): Likewise.
(sparc-*-elf*): Replace sparc/t-softfp by t-fdpbit in tmake_file.
(sparc-*-linux*): Add t-fdpbit to tmake_file for *-leon*.
(sparc-*-rtems*, sparc64-*-rtems*): Split off ...
(sparc64-*-rtems*): ... new case.
(sparc-*-rtems*): Add t-fdpbit to tmake_file.
(spu-*-elf*): Likewise.
Add spu/t-elf to tmake_file.
(v850*-*-*): Add t-fdpbit to tmake_file.
(xstormy16-*-elf): Likewise.
(am33_2.0-*-linux*): Add t-fdpbit to tmake_file.
(mep*-*-*): Likewise.
From-SVN: r177448
2011-08-05 14:53:09 +00:00
Rainer Orth
201cdb7438
Makefile.in (UNWIND_H): Remove.
...
gcc:
* Makefile.in (UNWIND_H): Remove.
(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
../libgcc/Makefile.in.
(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
(LIBUNWINDDEP): Remove.
(libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
(libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
(stmp-int-hdrs): Remove $(UNWIND_H) dependency.
Don't copy $(UNWIND_H).
* config.gcc (ia64*-*-linux*): Remove with_system_libunwind
handling.
* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
* unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
* config/arm/libunwind.S, config/arm/pr-support.c,
config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
../libgcc/config/arm.
* config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
* config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
* config/frv/t-frv ($(T)frvbegin$(objext)): Use
$(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
($(T)frvend$(objext)): Likewise.
* config/ia64/t-glibc (LIB2ADDEH): Remove.
* config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
../libgcc/config/ia64.
* config/ia64/t-hpux (LIB2ADDEH): Remove.
* config/ia64/t-ia64 (LIB2ADDEH): Remove.
* config/ia64/t-vms (LIB2ADDEH): Remove.
* config/ia64/vms.h (UNW_IVMS_MODE,
MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
* config/picochip/t-picochip (LIB2ADDEH): Remove.
* config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
* config/rs6000/t-darwin (LIB2ADDEH): Remove.
* config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
$(srcdir)/../libgcc to refer to unwinder sources.
* config/spu/t-spu-elf (LIB2ADDEH): Remove.
* config/t-darwin (LIB2ADDEH): Remove.
* config/t-freebsd (LIB2ADDEH): Remove.
* config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
* config/t-libunwind-elf: Move to ../libgcc/config.
* config/t-linux (LIB2ADDEH): Remove.
* config/t-sol2 (LIB2ADDEH): Remove.
* config/xtensa/t-xtensa (LIB2ADDEH): Remove.
* system.h (MD_FROB_UPDATE_CONTEXT): Poison.
gcc/po:
* EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
(unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
(unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.
libgcc:
* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
variables.
(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
(install-unwind_h): New target.
(all): Depend on it.
* config.host (unwind_header): New variable.
(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
Set unwind_header.
(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
Set unwind_header.
(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
arm*-*-eabi*.
Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
Set unwind_header.
(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
tmake_file.
Add t-libunwind-elf, ia64/t-glibc-libunwind unless
$with_system_libunwind.
(ia64*-*-hpux*): Set tmake_file.
(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
(picochip-*-*): Set tmake_file.
(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
md_unwind_header.
(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
(xtensa*-*-elf*): Set tmake_file.
(xtensa*-*-linux*): Likewise.
* configure.ac: Include ../config/unwind_ipinfo.m4.
Call GCC_CHECK_UNWIND_GETIPINFO.
Link unwind.h to $unwind_header.
* configure: Regenerate.
* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
* config/unwind-dw2-fde-darwin.c: New file.
* config/arm/libunwind.S, config/arm/pr-support.c,
config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
config/arm/unwind-arm.h,: New files.
* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
config/ia64/t-eh-ia64, config/ia64/t-glibc,
config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
config/ia64/t-vms, config/ia64/unwind-ia64.c,
config/ia64/unwind-ia64.h: New files.
* config/picochip/t-picochip: New file.
* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
files.
* config/rs6000/t-darwin (LIB2ADDEH): Set.
* config/s390/t-tpf (LIB2ADDEH): Remove.
* config/t-darwin (LIB2ADDEH): Set.
* config/t-eh-dw2-dip: New file.
* config/t-libunwind, config/t-libunwind-elf: New files.
* config/t-sol2 (LIB2ADDEH): Remove.
* config/xtensa/t-xtensa: New file.
gcc/ada:
* gcc-interface/Makefile.in (raise-gcc.o): Search
$(srcdir)/../libgcc.
libgo:
* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
* Makefile.in: Regenerate.
libjava:
* configure.ac (GCC_UNWIND_INCLUDE): Rename to
LIBGCC_UNWIND_INCLUDE.
Point to $(multi_basedir)/./libjava/../libgcc.
* configure: Regenerate.
* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
* Makefile.in: Regenerate.
libobjc:
* Makefile.in (INCLUDES): Search
$(srcdir)/$(MULTISRCTOP)../libgcc.
libstdc++-v3:
* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
to $(toplevel_srcdir)/libgcc.
* configure: Regenerate.
From-SVN: r177447
2011-08-05 14:37:48 +00:00
H.J. Lu
40f2f11f1f
Update x32 __NR_rt_sigreturn system call number.
...
2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): New.
(x86_64_fallback_frame_state): Use RT_SIGRETURN_SYSCALL and
long long to check rt_sigreturn syscall.
From-SVN: r177229
2011-08-02 21:59:41 -07:00
Alan Modra
bd15e32c71
linux-unwind.h (frob_update_context <__powerpc64__>): Restore for indirect call bcrtl from correct stack slot...
...
libgcc/
* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
Restore for indirect call bcrtl from correct stack slot, and only
if cfa+40 isn't valid.
gcc/
* config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p): Delete.
* config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
(rs6000_emit_prologue): Don't prematurely return when
TARGET_SINGLE_PIC_BASE. Don't emit eh_frame info in
save_toc_in_prologue case.
(rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
calls_alloca.
From-SVN: r177041
2011-08-02 00:35:24 +09:30
Julian Brown
655b30bfde
configure.ac (fixed-point): Add ARM support.
...
gcc/
* configure.ac (fixed-point): Add ARM support.
* configure: Regenerate.
* config/arm/arm.c (arm_fixed_mode_set): New struct.
(arm_set_fixed_optab_libfunc): New.
(arm_set_fixed_conv_libfunc): New.
(arm_init_libfuncs): Initialise fixed-point helper libfuncs with
ARM-specific names.
(aapcs_libcall_value): Return sub-word-size fixed-point libcall
return values in SImode.
(arm_return_in_msb): Return fixed-point types in the msb.
(arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
upwards.
(arm_scalar_mode_supported_p): Support fixed-point modes.
(arm_vector_mode_supported_p): Support vector fixed-point modes.
* config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
(LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
(SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
(LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
* config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
New mode iterators.
(qaddsub_suf): New mode attribute.
* config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
vector modes.
* config/arm/predicates.md (sat_shift_operator): New predicate.
* config/arm/arm-fixed.md: New.
* config/arm/arm.md: Include arm-fixed.md.
* config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.
libgcc/
* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
(arm*-*-symbianelf*): Add t-fixedpoint-gnu-prefix makefile fragment.
* config/arm/bpabi-lib.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define.
gcc/testsuite/
* gcc.target/arm/fixed-point-exec.c: New test.
From-SVN: r177025
2011-08-01 12:41:30 +00:00
Julian Brown
247eb06fed
Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
...
libgcc/
* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
(libgcc-std.ver.in): Use above.
* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
LIBGCC2_GNU_PREFIX is defined. Use instead of LIBGCC2_GNU_PREFIX
throughout file.
* config/t-fixedpoint-gnu-prefix: New file.
* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
instead of __PFX__.
From-SVN: r177019
2011-08-01 12:02:45 +00:00
H.J. Lu
02a8fe00b5
Add x32 support to config/i386/morestack.S.
...
2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/morestack.S (X86_64_SAVE_NEW_STACK_BOUNDARY): New.
Use X86_64_SAVE_NEW_STACK_BOUNDARY to save the new stack boundary
for x86-64. Properly check __x86_64__ and __LP64__.
From-SVN: r176912
2011-07-28 21:09:17 -07:00
H.J. Lu
5fce91262c
Use long long for 64bit int.
...
2010-07-28 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/64/sfp-machine.h (_FP_W_TYPE): Always use _WIN64
version.
(_FP_WS_TYPE): Likewise.
(_FP_I_TYPE): Likewise.
From-SVN: r176894
2011-07-28 13:36:39 -07:00
Alan Modra
c35c943f68
update copyright
...
From-SVN: r176863
2011-07-28 17:55:26 +09:30
Alan Modra
2374a88acf
linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if stopped on the instruction that saves r2 in a plt call stub.
...
* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
Leave r2 REG_UNSAVED if stopped on the instruction that saves r2
in a plt call stub. Do restore r2 if stopped on bctrl.
From-SVN: r176861
2011-07-28 17:14:24 +09:30
Rainer Orth
e44dbbe18b
re PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const variables)
...
toplevel:
* configure: Regenerate.
config:
* elf.m4 (target_elf): Remove *-netware*.
contrib:
* config-list.mk (i586-netware): Remove.
(.PHONY): Remove make-script-dir dependency.
(make-script-dir): Remove.
($(LIST)): Remove make-script-dir dependency.
gcc:
* config.gcc (i[3456x]86-*-netware*): Remove.
* gthr-nks.h: Remove.
* configure.ac (enable_threads): Remove nks.
* configure: Regenerate.
* config/i386/i386.c (ix86_encode_section_info): Remove netware
reference.
* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove
<netware.h> reference.
* config/i386/netware-libgcc.c,
gcc/config/i386/netware-libgcc.def,
gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c,
gcc/config/i386/netware.h, gcc/config/i386/netware.opt,
gcc/config/i386/nwld.c, gcc/config/i386/nwld.h,
gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove
* doc/extend.texi (Function Attributes,
callee_pop_aggregate_return): Remove i?86-netware reference.
* doc/install.texi (Configuration, --enable-threads): Remove nks.
gcc/testsuite:
* g++.dg/ext/bitfield2.C: Remove i?86-*-netware support.
* g++.dg/ext/bitfield3.C: Likewise.
* g++.dg/ext/bitfield4.C: Likewise.
* g++.dg/ext/bitfield5.C: Likewise.
* g++.dg/other/PR23205.C: Remove *-*-netware* support.
* g++.dg/other/pr23205-2.C: Likewise.
* gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if.
* gcc.c-torture/compile/20001109-2.c: Likewise.
* gcc.dg/20040813-1.c: Remove *-*-netware* support.
* gcc.dg/bitfld-15.c: Remove i?86-*-netware support.
* gcc.dg/bitfld-16.c: Likewise.
* gcc.dg/bitfld-17.c: Likewise.
* gcc.dg/bitfld-18.c: Likewise.
* gcc.dg/builtins-config.h: Remove Netware support.
* gcc.dg/cdce1.c: Remove *-*-netware* support. Update line number.
* gcc.dg/cdce2.c: Likewise.
* gcc.dg/cpp/assert4.c: Remove netware support.
* gcc.dg/debug/pr35154.c: Remove *-*-netware* support.
* gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support.
* lib/target-supports.exp (check_visibility_available): Remove
NetWare support.
(check_profiling_available): Likewise.
libgcc:
* config.host (i[3456x]86-*-netware*): Remove.
* config/i386/netware-crt0.c, config/i386/t-nwld,
config/i386/t-slibgcc-nwld: Remove.
libstdc++-v3:
* crossconfig.m4 (*-netware): Remove.
* configure: Regenerate.
From-SVN: r176391
2011-07-18 11:04:18 +00:00
Bernd Schmidt
bcead286bf
invoke.texi (C6X Options): New section.
...
gcc/
* doc/invoke.texi (C6X Options): New section.
* doc/md.texi (TI C6X family): New section.
* config.gcc: Handle tic6x, in particular tic6x-*-elf and
tic6x-*-uclinux.
* longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
Provide C6X definitions.
* config/c6x/c6x.md: New file.
* config/c6x/constraints.md: New file.
* config/c6x/predicates.md: New file.
* config/c6x/c6x-sched.md.in: New file.
* config/c6x/c6x-sched.md: New file.
* config/c6x/gensched.sh: New file.
* config/c6x/c6x-mult.md.in: New file.
* config/c6x/genmult.sh: New file.
* config/c6x/c6x-mult.md: New file.
* config/c6x/sync.md: New file.
* config/c6x/c6x-protos.h: New file.
* config/c6x/sfp-machine.h: New file.
* config/c6x/c6x.c: New file.
* config/c6x/c6x.h: New file.
* config/c6x/crti.s: New file.
* config/c6x/crtn.s: New file.
* config/c6x/lib1funcs.asm: New file.
* config/c6x/c6x-modes.def: New file.
* config/c6x/genopt.sh: New file.
* config/c6x/c6x.opt: New file.
* config/c6x/c6x-tables.opt: New file.
* config/c6x/c6x-opts.h: New file.
* config/c6x/c6x-isas.def: New file.
* config/c6x/elf.h: New file.
* config/c6x/elf-common.h: New file.
* config/c6x/uclinux-elf.h: New file.
* config/c6x/t-c6x: New file.
* config/c6x/t-c6x-elf: New file.
* config/c6x/t-c6x-uclinux: New file.
* config/c6x/t-c6x-softfp: New file.
* config/c6x/gtd.c: New file.
* config/c6x/gtf.c: New file.
* config/c6x/ltd.c: New file.
* config/c6x/ltf.c: New file.
* config/c6x/ged.c: New file.
* config/c6x/gef.c: New file.
* config/c6x/led.c: New file.
* config/c6x/lef.c: New file.
* config/c6x/eqd.c: New file.
* config/c6x/eqf.c: New file.
* config/c6x/libgcc-c6xeabi.ver: New file.
contrib/
* gcc_update: Add C6X generated files.
* contrib/config-list.mk: Add c6x-elf and c6x-uclinux.
libgcc/
* config.host: Handle tic6x-*-*.
* config/c6x/c6x-abi.h: New file.
From-SVN: r176308
2011-07-15 09:36:40 +00:00
Rainer Orth
b3fe158425
crtprec.c: Move to ../libgcc/config/i386.
...
gcc:
* config/i386/crtprec.c: Move to ../libgcc/config/i386.
* config/i386/t-crtpc: Remove.
* config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
* config.gcc (i[34567]86-*-darwin*): Remove i386/t-crtpc from
tmake_file.
(x86_64-*-darwin*): Likewise.
(i[34567]86-*-linux*): Likewise.
(x86_64-*-linux*): Likewise.
* config/i386/sol2.h (ENDFILE_SPEC): Redefine.
Handle -mpc32, -mpc64, -mpc80.
libgcc:
* config/i386/crtprec.c: New file.
* config/i386/t-crtpc: Use $(srcdir) to refer to crtprec.c.
* config.host (i[34567]86-*-darwin*): Add i386/t-crtpc to tmake_file.
Add crtprec32.o, crtprec64.o, crtprec80.o to extra_parts.
(x86_64-*-darwin*): Likewise.
(i[34567]86-*-solaris2*: Likewise.
gcc/testsuite:
* gcc.c-torture/execute/990127-2.x: Use -mpc64 on i?86-*-darwin*,
i?86-*-solaris2*, x86_64-*-darwin*, x86_64-*-solaris2*.
From-SVN: r176242
2011-07-13 17:39:35 +00:00
Rainer Orth
35d8090d78
crtfastmath.c: Move to ../libgcc/config/alpha.
...
gcc:
* config/alpha/crtfastmath.c: Move to ../libgcc/config/alpha.
* config/alpha/t-crtfm: Remove.
* config/i386/crtfastmath.c: Move to ../libgcc/config/i386.
* config/i386/t-crtfm: Remove.
* config/ia64/crtfastmath.c: Move to ../libgcc/config/ia64.
* config/mips/crtfastmath.c: Move to ../libgcc/config/mips.
* config/sparc/crtfastmath.c: Move to ../libgcc/config/sparc.
* config/sparc/t-crtfm: Remove.
* config.gcc (alpha*-*-linux*): Remove alpha/t-crtfm from tmake_file.
(alpha*-*-freebsd*): Likewise.
(i[34567]86-*-darwin*): Remove i386/t-crtfm from tmake_file.
(x86_64-*-darwin*): Likewise.
(i[34567]86-*-linux*): Likewise.
(x86_64-*-linux*): Likewise.
(x86_64-*-mingw*): Likewise.
(ia64*-*-elf*): Remove crtfastmath.o from extra_parts.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Likewise.
(mips64*-*-linux*): Likewise.
(mips*-*-linux*): Likewise.
(sparc-*-linux*): Remove sparc/t-crtfm from tmake_file.
(sparc64-*-linux*): Likewise.
(sparc64-*-freebsd*): Likewise.
libgcc:
* config/alpha/crtfastmath.c: New file.
* config/i386/crtfastmath.c: New file.
* config/ia64/crtfastmath.c: New file.
* config/mips/crtfastmath.c: New file.
* config/sparc/crtfastmath.c: New file.
* config/t-crtfm (crtfastmath.o): Use $(srcdir) to refer to
crtfastmath.c.
Add -frandom-seed=gcc-crtfastmath.
* config/alpha/t-crtfm: Remove.
* config/i386/t-crtfm: Use $(srcdir) to refer to crtfastmath.c.
* config/ia64/t-ia64 (crtfastmath.o): Remove.
* config.host (alpha*-*-linux*): Replace alpha/t-crtfm by t-crtfm.
(alpha*-dec-osf5.1*): Likewise.
(alpha*-*-freebsd*): Add t-crtfm to tmake_file.
Add crtfastmath.o to extra_parts.
(i[34567]86-*-darwin*): Add i386/t-crtfm to tmake_file.
Add crtfastmath.o to extra_parts.
(x86_64-*-darwin*): Likewise.
(x86_64-*-mingw*): Likewise.
(ia64*-*-elf*): Add t-crtfm to tmake_file.
(ia64*-*-freebsd*): Likewise.
(ia64*-*-linux*): Likewise.
(sparc64-*-freebsd*): Add t-crtfm to tmake_file.
Add crtfastmath.o to extra_parts.
From-SVN: r176241
2011-07-13 17:33:38 +00:00
Rainer Orth
e141542e74
darwin-crt2.c: Move to ../libgcc/config/rs6000.
...
gcc:
* config/darwin-crt2.c: Move to ../libgcc/config/rs6000.
* config/darwin-crt3.c: Move to ../libgcc/config.
* config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
($(T)crt3$(objext)): Remove.
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Remove.
($(T)crt2$(objext)): Remove.
* config.gcc (powerpc-*-darwin*): Remove extra_parts.
(powerpc64-*-darwin*): Likewise.
gcc/po:
* EXCLUDES (config/darwin-crt2.c): Remove.
libgcc:
* config/darwin-crt3.o: New file.
* config/rs6000/darwin-crt2.c: New file.
* config/t-darwin: New file.
* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New variable.
(crt2.o): New rule.
* config.host (*-*-darwin*): Add crt3.o to extra_parts.
(powerpc-*-darwin*): Add crt2.o to extra_parts.
(powerpc64-*-darwin*): Likewise.
From-SVN: r176239
2011-07-13 16:28:30 +00:00
Rainer Orth
2d1efe2d2d
Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
...
gcc:
* Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove.
* config/i386/netware-crt0.c: Move to ../libgcc/config/i386.
* config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove.
(CRT0_S, MCRT0_S): Remove.
($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def):
Remove.
(s-crt0): Remove.
* config.gcc (i[3456x]86-*-netware*): Remove extra_parts.
libgcc:
* config/i386/netware-crt0.c: New file.
* config/i386/t-nwld: Rename to ...
* config/i386/t-slibgcc-nwld: ... this.
* config/i386/t-nwld: New file.
* config.host (i[3456x]86-*-netware*): Add i386/t-slibgcc-nwld to
tmake_file.
Add crt0.o, libgcc.def, libc.def, libcpre.def, posixpre.def to
extra_parts.
From-SVN: r176225
2011-07-13 09:57:08 +00:00
Rainer Orth
4a8bb046a3
configure.ac (i?86-*-solaris2*): Use libgcc copy of i386/t-crtstuff.
...
* configure.ac (i?86-*-solaris2*): Use libgcc copy of
i386/t-crtstuff.
* configure: Regenerate.
From-SVN: r176163
2011-07-11 16:39:57 +00:00
Rainer Orth
2d8d59352b
dfp-bit.c, dfp-bit.h: Move to ../libgcc.
...
gcc:
* config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc.
* config/t-dfprules: Move to ../libgcc/config.
* config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
i[34567]86-*-kopensolaris*-gnu): Remove t-dfprules from tmake_file.
(x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
Likewise.
(i[34567]86-*-cygwin*): Likewise.
(i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
* Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): Remove.
(libgcc.mvars): Remove DFP_ENABLE, DFP_CFLAGS, D32PBIT_FUNCS,
D64PBIT_FUNCS, D128PBIT_FUNCS.
libgcc:
* dfp-bit.c, dfp-bit.h: New files.
* Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): New
variables.
($(d32pbit-o)): Use $(srcdir) to refer to dfp-bit.c
($(d64pbit-o)): Likewise.
($(d128pbit-o)): Likewise.
* config/t-dfprules: New file.
* config.host (i[34567]86-*-linux*): Add t-dfprules to tmake_file.
(i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu,
i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise.
(x86_64-*-linux*): Likewise.
(x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise.
(i[34567]86-*-cygwin*): Likewise.
(i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
From-SVN: r176156
2011-07-11 14:40:56 +00:00
Rainer Orth
2c50b2c366
Makefile.in (LIBGCOV): Remove.
...
gcc:
* Makefile.in (LIBGCOV): Remove.
(libgcc.mvars): Remove LIBGCOV.
* libgov.c: Move to ../libgcc.
libgcc:
* Makfile.in (LIBGCOV): New variable.
($(libgcov-objects)): Use $(srcdir) to refer to libgcov.c.
* libgcov.c: New file.
From-SVN: r176037
2011-07-08 11:43:54 +00:00
Rainer Orth
a039d7c2f1
fixed-bit.c, [...]: Move to ../libgcc.
...
gcc:
* config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc.
libgcc:
* fixed-bit.c, fixed-bit.h: New files.
* fixed-obj.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir) to
refer to fixed-bit.c.
From-SVN: r176036
2011-07-08 11:18:38 +00:00
Joseph Myers
1e4b2746e0
config.gcc (*local*): Remove.
...
gcc:
* config.gcc (*local*): Remove.
* doc/install-old.texi: Don't mention local configurations.
libgcc:
* config.host (*local*): Remove.
From-SVN: r175988
2011-07-07 17:33:18 +01:00
Rainer Orth
fbdd5d8715
re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined (only i386-solaris*).)
...
gcc:
PR target/39150
* configure.ac (gcc_cv_as_hidden): Also accept
x86_64-*-solaris2.1[0-9]*.
(gcc_cv_as_cfi_directive): Likewise.
(gcc_cv_as_comdat_group_group): Likewise.
(set_have_as_tls): Likewise.
* configure: Regenerate.
* config.gcc (i[34567]86-*-solaris2*): Also handle
x86_64-*-solaris2.1[0-9]*.
* config.host (i[34567]86-*-solaris2*): Likewise.
* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
* config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine.
[USE_GLD] (ARCH_DEFAULT_EMULATION): Define.
(TARGET_LD_EMULATION): Use it.
* config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define.
(SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default.
* config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define.
(ASM_CPU64_DEFAULT_SPEC): Define.
(ASM_CPU_SPEC): Use %(asm_cpu_default).
(ASM_SPEC): Redefine.
(DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT.
* config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce.
* doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*):
Document.
(Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]*
configuration.
(Specific, x86_64-*-solaris2.1[0-9]*): Document.
gcc/ada:
PR target/39150
* gcc-interface/Makefile.in: Handle x86_64-solaris2.
libgcc:
PR target/39150
* config.host (*-*-solaris2*): Handle x86_64-*-solaris2.1[0-9]*
like i?86-*-solaris2.1[0-9]*.
(i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*.
* configure.ac (i?86-*-solaris2*): Likewise.
* configure: Regenerate.
gcc/testsuite:
PR target/39150
* gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*.
toplevel:
PR target/39150
* configure.ac (i[3456789]86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
boehm-gc:
PR target/39150
* configure.ac (i?86-*-solaris2.[89]): Also accept
x86_64-*-solaris2.1?.
* configure: Regenerate.
gnattools:
PR target/39150
* configure.ac (*86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
libcpp:
PR target/39150
* configure.ac (host_wide_int): Handle x86_64-*-solaris2.1[0-9]
like i[34567]86-*-solaris2.1[0-9]*.
* configure: Regenerate.
libgo:
PR target/39150
* config/libtool.m4: Handle x86_64-*-solaris2.1[0-9]* like
i?86-*-solaris*.
* configure: Regenerate.
libjava:
PR target/39150
* configure.host (x86_64-*): Add -Usun to libgcj_flags.
(x86_64-*-solaris2.1[0-9]*): New case.
(i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*.
From-SVN: r175958
2011-07-07 09:24:16 +00:00
Thomas Schwinge
9e7714f424
libgcc/
...
* config.host (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu)
(i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Remove
md_unwind_header by splitting out of...
(i[34567]86-*-linux*): ... this.
* config.host (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
Remove md_unwind_header by splitting out of...
(x86_64-*-linux*): ... this.
From-SVN: r175892
2011-07-06 00:14:37 +02:00
Georg-Johann Lay
6dab9931f8
t-avr (intfuncs16): Add _clrsbXX2.
...
libgcc/
* config/avr/t-avr (intfuncs16): Add _clrsbXX2.
gcc/
* longlong.h (count_leading_zeros, count_trailing_zeros,
COUNT_LEADING_ZEROS_0): Define for target avr if W_TYPE_SIZE is 16
resp. 64.
From-SVN: r175800
2011-07-04 10:02:34 +00:00
Nick Clifton
4be46d1929
* config.host: Recognize all V850 variants.
...
From-SVN: r175576
2011-06-28 08:49:18 +00:00
Uros Bizjak
1da9434b4b
enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.
...
* enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.
From-SVN: r175292
2011-06-22 13:20:07 +02:00
Rainer Orth
e4d48a4dd5
shared-object.mk (c_flags-$o): Save c_flags.
...
* shared-object.mk (c_flags-$o): Save c_flags.
($(base)$(objext)): Use it.
($(base)_s$(objext)): Likewise.
From-SVN: r175262
2011-06-21 14:26:13 +00:00
Bernd Schmidt
3801c801f3
Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
...
libgcc/
* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
* libgcc-std.ver.in (GCC_4.7.0): New section.
gcc/
* doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
__builtin_clrsbll): Document.
* doc/rtl.texi (clrsb): New entry.
* optabs.c (widen_leading): Renamed from widen_clz. New argument
UNOPTAB. All callers changed. Use UNOPTAB instead of clz_optab.
(expand_unop): Handle clrsb_optab.
(init_optabs): Initialize it.
* optabs.h (enum optab_index): New entry OTI_clrsb.
(clrsb_optab): Define.
* genopinit.c (optabs): Add an entry for it.
* builtins.c (expand_builtin): Handle clrsb builtin functions.
* builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
BUILT_IN_CLRSBLL): New.
* rtl.def (CLRSB): New code.
* dwarf2out.c (mem_loc_descriptor): Handle it.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
and popcount.
* libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
* libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
(__ctzDI2): Move declaration.
* config/bfin/bfin.md (clrsbsi2): New expander.
(signbitssi2): Use the CLRSB rtx.
(clrsbhi2): Renamed from signbitshi2. Use the CLRSB rtx.
* config/bfin/bfin.c (bdesc_1arg): Changed accordingly.
gcc/testsuite/
* gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
my_clrsb test functions.
(main): Test clrsb.
* gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
test_sll, test_ull): Add clrsb tests.
* gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
clrsbll.
From-SVN: r175261
2011-06-21 14:16:39 +00:00
Georg-Johann Lay
0ad8bb3bc0
re PR target/49313 (Inefficient libgcc implementations for avr)
...
gcc/
PR target/49313
PR target/29524
* longlong.h: Add AVR support:
(count_leading_zeros): New macro.
(count_trailing_zeros): New macro.
(COUNT_LEADING_ZEROS_0): New macro.
* config/avr/t-avr (LIB1ASMFUNCS): Add
_ffssi2, _ffshi2, _loop_ffsqi2,
_ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2,
_paritydi2, _paritysi2, _parityhi2,
_popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
_bswapsi2, _bswapdi2,
_ashldi3, _ashrdi3, _lshrdi3
(LIB2FUNCS_EXCLUDE): Add _clz.
* config/avr/libgcc.S (XCALL): Move up in file.
(XJMP): New C Macro.
(DEFUN): New asm macro.
(ENDF): New asm macro.
(__ffssi2): New function.
(__ffshi2): New function.
(__loop_ffsqi2): New function.
(__ctzsi2): New function.
(__ctzhi2): New function.
(__clzdi2): New function.
(__clzsi2): New function.
(__clzhi2): New function.
(__paritydi2): New function.
(__paritysi2): New function.
(__parityhi2): New function.
(__popcounthi2): New function.
(__popcountsi2): New function.
(__popcountdi2): New function.
(__popcountqi2): New function.
(__bswapsi2): New function.
(__bswapdi2): New function.
(__ashldi3): New function.
(__ashrdi3): New function.
(__lshrdi3): New function.
Fix suspicous lines.
libgcc/
PR target/49313
PR target/29524
* config/avr/t-avr: Fix line endings.
(intfuncs16): Remove _ffsXX2, _clzXX2, _ctzXX2, _popcountXX2,
_parityXX2.
From-SVN: r175097
2011-06-16 09:06:44 +00:00
Olivier Hainque
ea96399965
irix6-unwind.h: New file.
...
2011-06-14 Olivier Hainque <hainque@adacore.com>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/mips/irix6-unwind.h: New file.
* config.host (mips-sgi-irix6.5*): Set md_unwind_header.
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r175013
2011-06-14 12:20:08 +00:00
Eric Botcazou
b11b09048d
invoke.texi (SPARC options): Add -mflat.
...
gcc/
* doc/invoke.texi (SPARC options): Add -mflat.
* config/sparc/sparc.opt: Likewise.
* config/sparc/sparc-protos.h (sparc_expand_epilogue): Add parameter.
(sparc_flat_expand_prologue): Declare.
(sparc_flat_expand_epilogue): Likewise.
* config/sparc/sparc.h (CPP_CPU_SPEC): Do not handle -msoft-float.
(CPP_ENDIAN_SPEC): Replace with...
(CPP_OTHER_SPEC): ...this. Also handle -mflat and -msoft-float.
(CPP_SPEC): Adjust to above change.
(EXTRA_SPECS): Likewise.
(SPARC_INCOMING_INT_ARG_FIRST): Add TARGET_FLAT handling.
(INCOMING_REGNO): Likewise.
(OUTGOING_REGNO): Likewise.
(LOCAL_REGNO): Likewise.
(SETUP_FRAME_ADDRESSES): Likewise.
(FIXED_REGISTERS): Set 0 for %fp.
(CALL_USED_REGISTERS): Likewise.
(INITIAL_ELIMINATION_OFFSET): Pass current_function_is_leaf.
(EXIT_IGNORE_STACK): Define to 1 unconditionally.
(RETURN_ADDR_REGNUM): Define.
(RETURN_ADDR_RTX): Use it.
(INCOMING_RETURN_ADDR_REGNUM): Define.
(INCOMING_RETURN_ADDR_RTX): Use it.
(DWARF_FRAME_RETURN_COLUMN): Likewise.
(EH_RETURN_REGNUM): Define.
(EH_RETURN_STACKADJ_RTX): Use it.
(EH_RETURN_HANDLER_RTX): Delete.
(EPILOGUE_USES): Use them and add TARGET_FLAT handling.
* config/sparc/sparc.c (apparent_fsize, actual_fsize, num_gfregs):
Delete.
(struct machine_function): Add frame_size, apparent_frame_size,
frame_base_reg, frame_base_offset, n_global_fp_regs and
save_local_in_regs_p fields.
(sparc_frame_size, sparc_apparent_frame_size, sparc_frame_base_reg,
sparc_frame_base_offset, sparc_n_global_fp_regs,
sparc_save_local_in_regs_p): New macros.
(sparc_option_override): Error out if -fcall-saved-REG is specified
for Out registers.
(eligible_for_restore_insn): Fix formatting.
(eligible_for_return_delay): Likewise. Add TARGET_FLAT handling.
(eligible_for_sibcall_delay): Likewise.
(RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Add MODE parameter.
(sparc_legitimate_address_p): Adjust to above change.
(save_global_or_fp_reg_p): New predicate.
(return_addr_reg_needed_p): Likewise.
(save_local_or_in_reg_p): Likewise.
(sparc_compute_frame_size): Use them. Add TARGET_FLAT handling.
(SORR_SAVE, SORR_RESTORE): Delete.
(sorr_pred_t): New typedef.
(sorr_act_t): New enum.
(save_or_restore_regs): Rename to...
(emit_save_or_restore_regs): ...this. Change type of LOW and HIGH
parameters, remove ACTION parameter, add LEAF_FUNCTION_P, SAVE_P,
ACTION_TRUE and ACTION_FALSE parameters. Implement more general
mechanism. Add CFI information for double-word saves in 32-bit mode.
(emit_adjust_base_to_offset): New function extracted from...
(emit_save_or_restore_regs): ...this. Rename the rest to...
(emit_save_or_restore_regs_global_fp_regs): ...this.
(emit_save_or_restore_regs_local_in_regs): New function.
(gen_create_flat_frame_[123]): New functions.
(sparc_expand_prologue): Use SIZE local variable. Adjust.
(sparc_flat_expand_prologue): New function.
(sparc_asm_function_prologue): Add TARGET_FLAT handling.
(sparc_expand_epilogue): Use SIZE local variable. Adjust.
(sparc_flat_expand_epilogue): New function.
(sparc_can_use_return_insn_p): Add TARGET_FLAT handling.
(output_return): Likewise.
(output_sibcall): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_frame_pointer_required): Likewise.
(sparc_conditional_register_usage): If TARGET_FLAT, disable the leaf
function optimization.
* config/sparc/sparc.md (flat): New attribute.
(prologue): Add TARGET_FLAT handling.
(save_register_window): Disable if TARGET_FLAT.
(create_flat_frame_[123]): New patterns.
(epilogue): Add TARGET_FLAT handling.
(sibcall_epilogue): Likewise.
(eh_return): New expander.
(eh_return_internal): New insn and splitter.
(return_internal): Add TARGET_FLAT handling.
(untyped_return): Remove bogus test and use RETURN_ADDR_REGNUM.
(save_stack_nonlocal): Use RETURN_ADDR_REGNUM.
(nonlocal_goto): Add TARGET_FLAT handling.
* config/sparc/t-elf: Add -mflat multilib.
* config/sparc/t-leon: Likewise.
libgcc/
* config/sparc/linux-unwind.h (STACK_BIAS): Define.
(sparc64_fallback_frame_state): Use it.
(sparc64_frob_update_context): Further adjust context.
* config/sparc/sol2-unwind.h (sparc64_frob_update_context): Likewise.
* config/sparc/sol2-ci.S: Add TARGET_FLAT handling.
* config/sparc/sol2-cn.S: Likewise.
Co-Authored-By: Laurent Rougé <laurent.rouge@menta.fr>
From-SVN: r174897
2011-06-10 10:50:20 +00:00
Rainer Orth
10e48e3927
netbsd.h (ENABLE_EXECUTE_STACK): Remove.
...
2011-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Joseph Myers <joseph@codesourcery.com>
gcc:
* config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/alpha/osf5.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/darwin.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/i386/mingw32.h (MINGW_ENABLE_EXECUTE_STACK): Remove.
(ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
[IN_LIBGCC2]: Don't include <windows.h>.
* config/i386/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/i386/netbsd64.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Remove.
* config/openbsd.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/sol2.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/sparc/freebsd.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/sparc/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
(HAVE_ENABLE_EXECUTE_STACK): Define.
* config/alpha/alpha.c (alpha_trampoline_init): Test
HAVE_ENABLE_EXECUTE_STACK.
* config/i386/i386.c (ix86_trampoline_init): Likewise.
* config/sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
(sparc64_initialize_trampoline): Likewise.
* libgcc2.c [L_enable_execute_stack]: Remove.
* system.h (ENABLE_EXECUTE_STACK): Poison.
* doc/tm.texi.in (Trampolines, ENABLE_EXECUTE_STACK): Remove.
* doc/tm.texi: Regenerate.
* Makefile.in (LIBGCC2_CFLAGS): Add -fbuilding-libgcc.
gcc/c-family:
* c.opt (fbuilding-libgcc): New option.
* c-cppbuiltin.c (c_cpp_builtins): Define
__LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
libgcc:
* enable-execute-stack-empty.c: New file.
* enable-execute-stack-mprotect.c: New file.
* config/i386/enable-execute-stack-mingw32.c: New file.
* config.host (enable_execute_stack): New variable.
Select appropriate variants.
* configure.ac: Link enable-execute-stack.c to
$enable_execute_stack.
* configure: Regenerate.
* Makefile.in (LIB2ADD): Add enable-execute-stack.c.
(lib2funcs): Remove _enable_execute_stack.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r174843
2011-06-09 12:30:46 +00:00
David S. Miller
10c4cabcde
config.host (sparc-*-linux*): Correct md_unwind_header filename.
...
2011-06-09 David S. Miller <davem@davemloft.net>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config.host (sparc-*-linux*): Correct md_unwind_header
filename.
(s390x-ibm-tpf*): Fix typo.
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r174838
2011-06-09 07:31:44 +00:00
Rainer Orth
aa4203e734
iris6.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math etc.
...
gcc:
* config/mips/iris6.h (ENDFILE_SPEC): Use crtfastmath.o if
-ffast-math etc.
libgcc:
* config.host (mips-sgi-irix6.5*): Add t-crtfm to tmake_file.
Add crtfastmath.o to extra_parts.
(mips64*-*-linux*, mips*-*-linux*): Use t-crtfm instead of
mips/t-crtfm.
* config/mips/t-crtfm: Remove.
From-SVN: r174686
2011-06-06 09:49:47 +00:00
John David Anglin
0defd78663
config.host (hppa*-*-linux*): Correct md_unwind_header name.
...
* config.host (hppa*-*-linux*): Correct md_unwind_header name.
From-SVN: r174640
2011-06-04 15:21:01 +00:00
Kaz Kojima
82f247af45
config.host (sh*-*-linux*): Fix typo.
...
* config.host (sh*-*-linux*): Fix typo.
From-SVN: r174631
2011-06-04 02:38:24 +00:00
Rainer Orth
58cd1d70dd
linux.h (MD_UNWIND_SUPPORT): Remove.
...
gcc:
* config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
* config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
* config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
* config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
* config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
* config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
* config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
* config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
* config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
* config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
* config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
* config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
* config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
* config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
* config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
* config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
* config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
* config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
* config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
* config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
* config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
* config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
* config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
* config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
* config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
* config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
* config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
* config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
* config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
* config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
* config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
* config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
* config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
* config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
* system.h (MD_UNWIND_SUPPORT): Poison.
* doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
* doc/tm.texi: Regenerate.
* unwind-dw2.c: Include md-unwind-support.h instead of
MD_UNWIND_SUPPORT.
* config/ia64/unwind-ia64.c: Likewise.
* config/xtensa/unwind-dw2-xtensa.c: Likewise.
libgcc:
* config/alpha/linux-unwind.h: Move from ../gcc/config/alpha.
* config/alpha/osf5-unwind.h: Move from ../gcc/config/alpha.
* config/alpha/vms-unwind.h: Move from ../gcc/config/alpha.
* config/bfin/linux-unwind.h: Move from ../gcc/config/bfin.
* config/i386/linux-unwind.h: Move from ../gcc/config/i386.
* config/i386/sol2-unwind.h: Move from ../gcc/config/i386.
* config/i386/w32-unwind.h: Move from ../gcc/config/i386.
Wrap in !__MINGW64__.
* config/ia64/linux-unwind.h: Move from ../gcc/config/ia64.
* config/ia64/vms-unwind.h: Move from ../gcc/config/ia64.
* config/m68k/linux-unwind.h: Move from ../gcc/config/m68k.
* config/mips/linux-unwind.h: Move from ../gcc/config/mips.
* config/pa/hpux-unwind.h: Move from ../gcc/config/pa.
* config/pa/linux-unwind.h: Move from ../gcc/config/pa.
* config/rs6000/darwin-unwind.h: Move from ../gcc/config/rs6000.
Wrap in !__LP64__.
* config/rs6000/linux-unwind.h: Move from ../gcc/config/rs6000.
* config/s390/linux-unwind.h: Move from ../gcc/config/s390.
* config/s390/tpf-unwind.h: Move from ../gcc/config/s390.
* config/sh/linux-unwind.h: Move from ../gcc/config/sh.
* config/sparc/linux-unwind.h: Move from ../gcc/config/sparc.
* config/sparc/sol2-unwind.h: Move from ../gcc/config/sparc.
* config/xtensa/linux-unwind.h: Move from ../gcc/config/xtensa.
* config/no-unwind.h: New file.
* config.host (md_unwind_header): Document.
Define.
(alpha*-*-linux*, alpha*-dec-osf5.1*, alpha64-dec-*vms*,
alpha*-dec-*vms*, bfin*-uclinux*, bfin*-linux-uclibc*,
hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
hppa[12]*-*-hpux11*): Set md_unwind_header.
(i[34567]86-*-linux*): Handle i[34567]86-*-kopensolaris*-gnu.
Set md_unwind_header.
(x86_64-*-linux*, i[34567]86-*-solaris2*): Set md_unwind_header.
(i[34567]86-*-cygwin*): Split from i[34567]86-*-mingw*.
(i[34567]86-*-mingw*, ia64*-*-linux*, ia64-hp-*vms*,
m68k-*-uclinux*, m68k-*-linux*, mips64*-*-linux*, mips*-*-linux*,
powerpc-*-darwin*, powerpc-*-linux*, s390-*-linux*,
s390x-*-linux*, s390x-ibm-tpf*, sh*-*-linux*, sparc-*-linux*,
sparc*-*-solaris2*, sparc64-*-linux*, xtensa*-*-linux*): Set
md_unwind_header.
* configure.ac: Link md-unwind-support.h to $md_unwind_header.
* configure: Regenerate.
From-SVN: r174613
2011-06-03 18:30:39 +00:00
Rainer Orth
737346fa24
config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6 t-slibgcc-dummy.
...
gcc:
* config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6
t-slibgcc-dummy.
* config/mips/irix-crti.asm: Move to ../libgcc/config/mips/irix-crti.S.
* config/mips/irix-crtn.asm: Move to ../libgcc/config/mips/irix-crtn.S.
* config/mips/t-iris: Remove.
* config/mips/t-irix6: New file.
* config/mips/t-slibgcc-irix: Move to ../libgcc/config/mips.
libgcc:
* config.host (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
Set tmake_file, extra_parts.
* config/mips/irix-crti.S: Move from ../gcc/config/mips/irix-crti.asm.
Remove O32 support.
* config/mips/irix-crtn.S: Move from ../gcc/config/mips/irix-crtn.asm.
Remove O32 support.
* config/mips/t-irix6: New file.
* config/mips/t-slibgcc-irix: New file.
From-SVN: r174608
2011-06-03 17:16:44 +00:00
Rainer Orth
c192cee683
Makefile.in (LIB2ADDEHDEP): Remove.
...
gcc:
* Makefile.in (LIB2ADDEHDEP): Remove.
* config/arm/t-bpabi (LIB2ADDEHDEP): Remove.
* config/arm/t-symbian (LIB2ADDEHDEP): Remove.
* config/picochip/t-picochip (LIB2ADDEHDEP): Remove.
* config/t-darwin (LIB2ADDEHDEP): Remove.
* config/t-freebsd (LIB2ADDEHDEP): Remove.
* config/t-linux (LIB2ADDEHDEP): Remove.
libgcc:
* config/s390/t-tpf (LIB2ADDEHDEP): Remove.
* config/t-sol2 (LIB2ADDEH): Use gcc_srcdir, add emutls.c.
From-SVN: r174606
2011-06-03 16:07:21 +00:00
Rainer Orth
ee33b5f0b2
t-osf5: Remove.
...
gcc:
* config/alpha/t-osf5: Remove.
* config/alpha/t-osf-pthread: Remove.
* config.gcc (alpha*-dec-osf5.1*): Set tmake_file to t-slibgcc-dummy.
* mkmap-flat.awk: Handle osf_export for Tru64 UNIX linker -input file.
libgcc:
* configure.ac (target_thread_file): Determine thread model.
* configure: Regenerate.
* config.host (alpha*-dec-osf5.1*): Set tmake_file, extra_parts.
* config/alpha/t-alpha: New file.
* config/alpha/t-crtfm: Use $<.
* config/alpha/t-ieee: New file.
* config/alpha/t-osf-pthread: New file.
* config/alpha/t-slibgcc-osf: New file.
* config/alpha/libgcc-osf5.ver: New file.
From-SVN: r174603
2011-06-03 13:23:35 +00:00
Rainer Orth
0699e415bc
crtfastmath.c: Include <signal.h>, <ucontext.h>.
...
gcc:
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
Include <signal.h>, <ucontext.h>.
(sigill_caught): Define.
(sigill_hdlr): New function.
(set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
insns can be executed.
* config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math
etc.
* config/sparc/sol2.h (ENDFILE_SPEC): Remove.
libgcc:
* config.host (i[34567]86-*-solaris2*): Add i386/t-crtfm to
tmake_file.
Add crtfastmath.o to extra_parts.
From-SVN: r174532
2011-06-01 14:49:21 +00:00
Rainer Orth
a3fab9c2a9
gmon-sol2.c: Reindent.
...
* config/gmon-sol2.c: Reindent.
Cleanup comments.
Remove, correct casts.
Use STDERR_FILENO, NULL.
(BASEADDRESS): Remove.
(minbrk): Remove.
(errno, sbrk): Remove declarations.
(monstartup) [hp300]: Remove.
(mcount): Remove.
From-SVN: r174531
2011-06-01 14:46:24 +00:00
Rainer Orth
ca24c5ad73
t-slibgcc-darwin: Move to ...
...
gcc:
* config/t-slibgcc-darwin: Move to ...
* config/t-slibgcc-dummy: .. this.
Clarify comments.
* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
(i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
(i[34567]86-*-rtems*): Remove extra_parts.
Use i386/t-rtems.
Remove i386/t-crtstuff from tmake_file.
(i[34567]86-*-solaris2*): Remove t-svr4,
t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
t-slibgcc-dummy.
(sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
(sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
sparc/t-crtfm from tmake_file.
(sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
Remove extra_parts.
* config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
* config/i386/t-nwld (SHLIB_LINK): Remove.
* config/i386/t-rtems-i386: Rename to ...
* config/i386/t-rtems: ... this.
($(T)crti.o, $(T)crtn.o): Remove.
(FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
(dp-bit.c, fp-bit.c, xp-bit.c): Remove.
(EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
* config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
EXTRA_MULTILIB_PARTS): Remove.
* config/sparc/t-sol2-64: Likewise.
* config/sparc/t-sol2: Remove.
* config/sparc/t-crtin: Remove.
* config/sparc/gmon-sol2.c: Move to ../libgcc/config.
* config/i386/gmon-sol2.c: Remove.
* config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
* config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
* config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
* config/i386/sol2-gc1.asm: Remove.
* config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
* config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
* config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
* config/t-slibgcc-sld: Remove.
libgcc:
* Makefile.in (cpu_type): Define.
* config.host (i[34567]86-*-rtems*): Handle it.
(i[34567]86-*-solaris2*): Move body ...
(*-*-solaris2*): ... here.
New case, generalize.
(sparc-*-elf*): Handle it.
(sparc-*-linux*, sparc64-*-linux*): Replace sparc/t-crtfm by t-crtfm.
(sparc-*-rtems*, sparc64-*-rtems*); Handle it.
(sparc64-*-solaris2*, sparcv9-*-solaris2*, sparc-*-solaris2*):
Fold into ...
(sparc*-*-solaris2*): ... this.
New case.
(sparc64-*-elf*): Handle it.
* config/gmon-sol2.c: Move from ../gcc/config/sparc.
Merge ../gcc/config/i386/gmon-sol2.c.
* config/i386/sol2-c1.S: Move from ../gcc/config/i386/sol2-c1.asm.
Use C comments.
Merge ../gcc/config/i386/sol2-gc1.asm.
* config/i386/sol2-ci.S: Move from ../gcc/config/i386/sol2-ci.asm.
Use C comments.
* config/i386/sol2-cn.S: Move from ../gcc/config/i386/sol2-cn.asm.
Use C comments.
* config/i386/t-crtfm (crtfastmath.o): Use $<.
* config/i386/t-crtstuff: New file.
* config/i386/t-softfp: New file.
* config/i386/t-sol2 ($(T)gmon.o, $(T)gcrt1.o, $(T)crt1.o),
$(T)crti.o, $(T)crtn.o): Remove.
(gcrt1.o): New rule.
(TARGET_LIBGCC2_CFLAGS): Remove.
* config/sparc/sol2-c1.S: Move from ../gcc/config/sparc/sol2-c1.asm.
* config/sparc/sol2-ci.S: Move from ../gcc/config/sparc/sol2-ci.asm.
* config/sparc/sol2-cn.S: Move from ../gcc/config/sparc/sol2-cn.asm.
* config/sparc/t-sol2: New file.
* config/sparc/t-crtfm: Move to ...
* config/t-crtfm: ... this.
Use $(cpu_type), $<.
* config/t-crtin: New file.
* config/sparc/t-softfp: New file.
* config/sparc/t-softmul: New file.
* config/t-rtems: New file.
* config/t-slibgcc: New file.
* config/t-slibgcc-elf-ver: New file.
* config/t-slibgcc-gld: New file.
* config/t-slibgcc-sld: New file.
* config/t-sol2: New file.
* configure.ac: Include ../config/lib-ld.m4.
Call AC_LIB_PROG_LD_GNU.
Substitute cpu_type.
* configure: Regenerate.
From-SVN: r174529
2011-06-01 14:39:17 +00:00
Bernd Schmidt
ad5f3d7b39
re PR bootstrap/49173 (No rule to make target ../../../../work/libgcc/../gcc/libgcc-std.ver', needed by
libgcc.map'.)
...
PR bootstrap/49173
* config/t-slibgcc-darwin (SHLIB_MAPFILES): Look for
libgcc-std.ver in the build directory.
* config/s390/t-linux (SHLIB_MAPFILES): Likewise.
* config/sh/t-linux (SHLIB_MAPFILES): Likewise.
From-SVN: r174321
2011-05-27 07:53:51 +00:00
Bernd Schmidt
cdbf45414a
libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined.
...
gcc/
* libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
LIBGCC2_GNU_PREFIX is defined.
(__N): New macro.
(__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
__divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
__clz_tab): Define using __N.
(__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
COMPAT_SIMODE_TRAPPING_ARITHMETIC.
* target.def (libfunc_gnu_prefix): New hook.
* doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
(TARGET_LIBFUNC_GNU_PREFIX): Add hook.
* doc/tm.texi: Regenerate.
* system.h (LIBGCC2_GNU_PREFIX): Poison.
* optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
account.
(gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
(init_optabs): Likewise for the bswap libfuncs.
* tree.c (build_common_builtin_nodes): Likewise for complex multiply
and divide.
* config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
* config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
* libgcc-std.ver: Remove.
* Makefile.in (srcdirify): Handle $$(libgcc_objdir).
* config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
libgcc-std.ver.
* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
* config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
* config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
* config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
* config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
* config/fixed-bit.h (FIXED_OP): Define differently depending on
LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
(FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
libgcc/
* libgcc-std.ver.in: New file.
* Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New
variables.
(libgcc-std.ver): New rule.
* config/t-gnu-prefix: New file.
From-SVN: r174187
2011-05-25 12:11:42 +00:00
Rainer Orth
c80286502f
gthr-gnat.c: Remove.
...
gcc:
* gthr-gnat.c: Remove.
* gthr-gnat.h: Remove.
* Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
* config/t-freebsd (LIB2ADDEH): Likewise.
* config/t-linux (LIB2ADDEH): Likewise.
* config/t-sol2 (LIB2ADDEH): Likewise.
* config/ia64/t-vms (LIB2ADDEH): Likewise.
* configure.ac (target_thread_file): Remove gnat handling.
* configure: Regenerate.
* doc/install.texi (Configuration, --enable-threads): Remove gnat.
gcc/po:
* EXCLUDES: Remove gthr-gnat.c, gthr-gnat.h.
libgcc:
* config/s390/t-tpf (LIB2ADDEH): Remove $(gcc_srcdir)/gthr-gnat.c.
From-SVN: r174064
2011-05-23 11:12:25 +00:00
Joseph Myers
4a68b4ca4e
config.gcc (i[34567]86-*-darwin*, [...]): Add i386/darwin-lib.h to $libgcc_tm_file.
...
gcc:
* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
i386/darwin-lib.h to $libgcc_tm_file.
* config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
libgcc:
* config/i386/darwin-lib.h: New file.
From-SVN: r173622
2011-05-10 17:40:55 +01:00
Joseph Myers
80cf2e08cc
config.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc/config/ in tm_file.
...
gcc:
* config.gcc (libgcc_tm_file): Define instead of including files
from ../../libgcc/config/ in tm_file.
* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
Define.
* configure: Regenerate.
* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
libgcc_tm.h, cs-libgcc_tm.h): New.
(TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
(clean): Remove libgcc_tm.h.
* config/arm/symbian.h (RENAME_LIBRARY): Remove.
* mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
* system.h (DECLARE_LIBRARY_RENAMES): Poison.
libgcc:
* config/arm/symbian-lib.h: New.
From-SVN: r173619
2011-05-10 15:41:47 +01:00
Chris Demetriou
a3330c9d55
morestack.S (__i686.get_pc_thunk.bx): Rename to...
...
2011-05-04 Chris Demetriou <cgd@google.com>
* config/i386/morestack.S (__i686.get_pc_thunk.bx): Rename to...
(__x86.get_pc_thunk.bx): ...this.
(__morestack): Adjust for rename, remove undef of __i686.
From-SVN: r173391
2011-05-04 11:59:31 -07:00
Chris Demetriou
6ace0756af
morestack.S (__i686.get_pc_thunk.bx): New.
...
2011-05-03 Chris Demetriou <cgd@google.com>
* config/i386/morestack.S (__i686.get_pc_thunk.bx): New.
From-SVN: r173345
2011-05-03 16:22:03 -07:00
Joseph Myers
ebb9f8b03b
MAINTAINERS (crx port, [...]): Remove.
...
* MAINTAINERS (crx port, m68hc11 port): Remove. Move maintainers
to Write After Approval.
* config-ml.in: Don't handle arc-*-elf*.
* configure.ac (arc-*-*, crx-*-*, i[[3456789]]86-*-pe,
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, mcore-*-pe*): Don't
handle GCC libraries.
* configure: Regenerate.
contrib:
* compare-all-tests (all_targets): Remove crx and m68hc11.
fixincludes:
* mkfixinc.sh: Don't handle i?86-moss-msdos* or i?86-*-pe.
gcc:
* config/alpha/gnu.h: Remove.
* config/arc: Remove directory.
* config/arm/netbsd.h: Remove.
* config/arm/t-pe: Remove.
* config/crx: Remove directory.
* config/i386/netbsd.h: Remove.
* config/m68hc11: Remove directory.
* config/m68k/uclinux-oldabi.h: Remove.
* config/mcore/mcore-pe.h: Remove.
* config/mcore/t-mcore-pe: Remove.
* config/netbsd-aout.h: Remove.
* config/rs6000/gnu.h: Remove.
* config/sh/sh-symbian.h: Remove.
* config/sh/symbian-base.c: Remove.
* config/sh/symbian-c.c: Remove.
* config/sh/symbian-cxx.c: Remove.
* config/sh/symbian-post.h: Remove.
* config/sh/symbian-pre.h: Remove.
* config/sh/t-symbian: Remove.
* config/svr3.h: Remove.
* config/vax/netbsd.h: Remove.
* config.build: Don't handle i[34567]86-*-pe.
* config.gcc: Remove handling of deprecations for most deprecated
targets.
(m68k-*-uclinuxoldabi*): Add to second deprecated list.
(alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
Remove cases.
* config.host: Don't handle i[34567]86-*-pe.
* config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
(ASM_SPEC32): Don't handle -mcall-gnu.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
-mcall-gnu.
(ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
(LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
(SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
* config/sh/sh-protos.h, config/sh/sh.c: Remove all code
conditional on SYMBIAN.
* configure.ac: Don't handle powerpc*-*-gnu*.
* configure: Regenerate.
* doc/extend.texi (interrupt attribute): Don't mention CRX.
* doc/install-old.texi (m6811, m6812): Don't mention.
* doc/install.texi (arc-*-elf*): Don't document multilib option.
(arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
(m68k-uclinuxoldabi): Don't mention.
* doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
Remove.
(-mcall-gnu): Remove.
* doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
families): Remove constraint documentation.
gcc/testsuite:
* gcc.c-torture/execute/920501-8.x: Remove.
* gcc.c-torture/execute/930513-1.x: Remove.
* gcc.c-torture/execute/960312-1.x: Remove.
* gcc.c-torture/compile/20000804-1.c,
gcc.c-torture/compile/20001205-1.c,
gcc.c-torture/compile/20001226-1.c,
gcc.c-torture/compile/20010518-2.c,
gcc.c-torture/compile/20020312-1.c,
gcc.c-torture/compile/20020604-1.c,
gcc.c-torture/compile/920501-12.c,
gcc.c-torture/compile/920501-4.c,
gcc.c-torture/compile/920520-1.c,
gcc.c-torture/compile/980506-1.c,
gcc.c-torture/execute/980709-1.x,
gcc.c-torture/execute/990826-0.x: Don't XFAIL or use special
options for m68hc11.
* gcc.dg/cpp/assert4.c: Don't handle ARC.
* gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c: Don't XFAIL for arc or
m68hc11.
libgcc:
* config.host (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*,
arm-*-pe*, crx-*-elf, i[34567]86-*-netbsd*, i[34567]86-*-pe,
m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*, mcore-*-pe*,
powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
Remove cases.
libstdc++-v3:
* configure.ac: Don't handle powerpc*-*-gnu*.
* configure: Regenerate.
From-SVN: r171302
2011-03-22 19:58:18 +00:00
Andreas Tobler
9cfa14995f
config.host (cpu_type): Add FreeBSD PowerPC specific parts.
...
2011-03-14 Andreas Tobler <andreast@fgznet.ch>
* config.host (cpu_type): Add FreeBSD PowerPC specific parts.
Adjust copyright year.
From-SVN: r170931
2011-03-14 07:06:23 +01:00
Ian Lance Taylor
457186f6d5
generic-morestack.c (__splitstack_find): Adjust returned stack pointer to include all registers pushed by __morestack.
...
* generic-morestack.c (__splitstack_find): Adjust returned stack
pointer to include all registers pushed by __morestack.
From-SVN: r170757
2011-03-07 21:47:10 +00:00
Dave Korn
58c741a62e
re PR target/40125 (libgcc_s DLL installed in wrong directory in cross toolchain)
...
gcc/ChangeLog:
PR target/40125
* config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
t-dlldir{,-x} fragment for build and add it to tmake_file.
(i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
* Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
* config/i386/t-dlldir: New file.
(SHLIB_DLLDIR): Define.
* config/i386/t-dlldir-x: New file.
(SHLIB_DLLDIR): Define.
* config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
(SHLIB_INSTALL): Use it.
libgcc/ChangeLog:
PR target/40125
* configure.ac: Call ACX_NONCANONICAL_TARGET.
(toolexecdir): Calculate and AC_SUBST.
(toolexeclibdir): Likewise.
* Makefile.in (target_noncanonical): Import.
(toolexecdir): Likewise.
(toolexeclibdir): Likewise.
* configure: Regenerate.
From-SVN: r169274
2011-01-26 04:19:58 +00:00
Jakub Jelinek
d652f226fc
Update Copyright years for files modified in 2010.
...
From-SVN: r168438
2011-01-03 21:52:22 +01:00
Nathan Froyd
26716c44a3
re PR target/46040 (crtstuff.c:308:26: error: '__DTOR_LIST__' undeclared)
...
gcc/
PR target/46040
* config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
(arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
libgcc/
PR target/46040
* config/arm/bpabi.h: Rename to...
* config/arm/bpabi-lib.h: ...this.
From-SVN: r167751
2010-12-13 16:23:50 +00:00
Rainer Orth
b595b1a11e
configure.ac: Use i386/t-crtstuff on i?86-*-solaris2* if appropriate.
...
* configure.ac: Use i386/t-crtstuff on i?86-*-solaris2* if
appropriate.
* configure: Regenerate.
From-SVN: r167696
2010-12-10 17:03:53 +00:00
Nathan Froyd
a3abe41c30
cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
...
gcc/
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
__FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
* config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
* doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
* system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
libgcc/
* config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of
__FLOAT_WORD_ORDER__.
* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN):
Delete.
libdecnumber/
* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
(WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__.
From-SVN: r167129
2010-11-24 23:29:41 +00:00
Ralf Wildenhues
455c8f4873
PR other/46202: implement install-strip.
...
/:
PR other/46202
* configure.ac: Fix just-built in-tree STRIP name to be
binutils/strip-new.
* configure: Regenerate.
* Makefile.def (install-strip-gcc, install-strip-binutils)
(install-strip-opcodes, install-strip-ld, install-strip-itcl)
(install-strip-sid): Mirror dependencies on non-strip variants
of these targets on the respective -strip prerequisites.
* Makefile.tpl (install-strip, install-strip-host)
(install-strip-target): New targets.
(install-strip-[+module+], install-strip-target-[+module+]):
New targets.
* Makefile.in: Regenerate.
gcc/:
PR other/46202
* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New
variables.
(AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
shell quoting.
(STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
(install-strip): New target.
(STRIPPROG): New variable, exported if STRIP is set.
* doc/install.texi (Final install): Minor markup and code style
fixes. Document install-strip target.
fixincludes/:
PR other/46202
* Makefile.in (install-strip): New phony target.
(all, check, install): Also mark as phony.
libgcc/:
PR other/46202
* Makefile.in (install-strip): New phony target.
libiberty/:
PR other/46202
* Makefile.in (install-strip): New phony target.
(install): Also mark as phony.
gnattools/:
PR other/46202
* Makefile.in (install-strip): New phony target.
(check, installcheck, info, dvi, pdf, html, install)
(install-info, install-pdf, install-html, mostlyclean)
(clean, distclean, maintainer-clean): Mark phony.
libada/:
PR other/46202
* Makefile.in (install-strip): New phony target.
(check, installcheck, info, dvi, pdf, html, install)
(install-info, install-pdf, install-html, mostlyclean)
(clean, distclean, maintainer-clean): Mark phony.
From-SVN: r166980
2010-11-20 19:37:08 +00:00
Ian Lance Taylor
f3824a8b6c
re PR target/46089 (ICE: in gen_reg_rtx, at emit-rtl.c:861 with -mcmodel=large -fsplit-stack)
...
gcc/:
PR target/46089
* config/i386/i386.c (split_stack_fn_large): New static variable.
(ix86_expand_split_stack_prologue): Handle large model.
libgcc/:
* config/i386/morestack.S (__morestack_large_model): New
function.
From-SVN: r166427
2010-11-08 04:34:32 +00:00
Nathan Froyd
18ed6ee4bf
cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__...
...
gcc/
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
__ORDER_PDP_ENDIAN__.
* libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(struct DWstruct): Define based on __BYTE_ORDER__.
* config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(struct INTstruct): Define based on __BYTE_ORDER__.
* config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
* system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
* config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
* doc/tm.texi: Regenerate.
* doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
(__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
libdecnumber/
* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
libgcc/
* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN):
Delete.
(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
From-SVN: r165881
2010-10-23 03:05:47 +00:00
Nathan Froyd
8ac7fdcb39
config.gcc (arm*-*-linux-*eabi): Add bpabi.h from libgcc.
...
gcc/
* config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from
libgcc.
(arm*-*-uclinux*eabi) <tm_file>: Likewise.
(arm*-*-eabi*) <tm_file>: Likewise.
(frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
(frv-*-*linux*) <tm_file>: Likewise.
* config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
and associated helper macros.
* config/frv/frv-abi.h: Delete.
libgcc/
* config/arm/bpabi.h: New file.
* config/frv/frv-abi.h: New file.
From-SVN: r165463
2010-10-14 12:35:43 +00:00
Ian Lance Taylor
cdb388c24a
t-stack (LIB2ADD_ST): Set instead of LIB2ADD.
...
* config/t-stack(LIB2ADD_ST): Set instead of LIB2ADD.
* config/i386/t-stack-i386 (LIB2ADD_ST): Likewise.
From-SVN: r164893
2010-10-01 19:31:49 +00:00
H.J. Lu
ca007d11d6
Remove the extra `$'.
...
From-SVN: r164878
2010-10-01 04:57:44 -07:00
H.J. Lu
ef7c141c38
Add the missing `$'.
...
2010-10-01 H.J. Lu <hongjiu.lu@intel.com>
PR target/45858
* config.host: Add the missing `$'.
From-SVN: r164876
2010-10-01 04:31:26 -07:00
Michael Eager
809201325a
Check in support for Xilinx MicroBlaze processor.
...
From-SVN: r164756
2010-09-30 18:21:57 +00:00
Ian Lance Taylor
6dace308de
configure.ac: Adjust CFI test to test assembler directly rather than checking gcc...
...
* configure.ac: Adjust CFI test to test assembler directly rather
than checking gcc preprocessor macro.
* configure: Rebuild.
From-SVN: r164713
2010-09-29 00:54:08 +00:00
Ian Lance Taylor
b6110d6d19
i386.c (ix86_supports_split_stack): -fsplit-stack requires assembler support for CFI directives.
...
gcc/:
* config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
requires assembler support for CFI directives.
libgcc/:
* configure.ac: Test whether assembler supports CFI directives.
* config.host: Only add t-stack and i386/t-stack-i386 to
tmake_file if libgcc_cv_cfi is "yes".
* configure: Rebuild.
From-SVN: r164671
2010-09-28 00:07:12 +00:00
Ian Lance Taylor
7458026b01
common.opt (fsplit-stack): New option.
...
gcc/:
* common.opt (fsplit-stack): New option.
* opts.c (decode_options): Set flag_split_stack to final value.
* target.def (supports_split_stack): New hook.
* gcc.c (STACK_SPLIT_SPEC): Define.
(LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
* doc/invoke.texi (Option Summary): Mention -fsplit-stack.
(Code Gen Options): Document -fsplit-stack.
* doc/extend.texi (Function Attributes): Mention no_split_stack.
(Function Attributes): Document no_split_stack.
* doc/tm.texi.in (Stack Smashing Protection): Add @hook
TARGET_SUPPORTS_SPLIT_STACK.
* doc/tm.texi: Rebuild.
* function.c (thread_prologue_and_epilogue_insns): If
flag_split_stack, add split stack prologue.
* explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
* varasm.c (saw_no_split_stack): New static variable.
(assemble_start_function): Set saw_no_split_stack if the function
has the no_split_stack attribute.
(file_end_indicate_split_stack): New function.
* output.h (file_end_indicate_split_stack): Declare.
* libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
and function.
* doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
routines.
* config/i386/i386.c (ix86_option_override_internal): Don't set
expand_builtin_va_start to NULL if -fsplit-stack.
(ix86_function_regparm): Reduce local regparm by 1 for 32-bit
-fsplit-stack.
(ix86_va_start): If -fsplit-stack, get overflow pointer from
scratch register set by prologue.
(ix86_code_end): If -fsplit-stack, call
file_end_indicate_split_stack.
(ix86_supports_split_stack): New static function.
(SPLIT_STACK_AVAILABLE): Define.
(split_stack_prologue_scratch_regno): New static function.
(split_stack_fn): New static variable.
(ix86_expand_split_stack_prologue): New function.
(ix86_live_on_entry): New static function.
(ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
(output_pic_addr_const): Likewise.
(i386_asm_output_addr_const_extra): Likewise.
(ix86_expand_call): Change return type to rtx. Return the new
call instruction.
(TARGET_SUPPORTS_SPLIT_STACK): Define.
(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
* config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
(split_stack_prologue, split_stack_return): New insns.
(split_stack_space_check): New insn.
* config/i386/i386.h (struct machine_function): Add
split_stack_varargs_pointer field.
* config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
* config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
* config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
Declare.
(ix86_expand_call): Update declaration.
gcc/c-family/:
* c-common.c (c_common_attribute_table): Add no_split_stack.
(handle_no_split_stack_attribute): New static function.
gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_split_stack):
New procedure.
* gcc.dg/split-1.c: New test.
* gcc.dg/split-2.c: New test.
* gcc.dg/split-3.c: New test.
* gcc.dg/split-4.c: New test.
libgcc/:
* generic-morestack.h: New file.
* generic-morestack.c: New file.
* generic-morestack-thread.c: New file.
* config/i386/morestack.S: New file.
* config/t-stack: New file.
* config/i386/t-stack-i386: New file.
* config.host (i[34567]86-*-linux* and friends): Add t-stack and
i386/t-stack-i386 to tmake_file.
From-SVN: r164661
2010-09-27 19:48:20 +00:00
Iain Sandoe
5b50fc0c88
Makefile.in (libgcc-extra-parts): Check for static archives and invoke ranlib after installing them.
...
* Makefile.in (libgcc-extra-parts): Check for static archives and
invoke ranlib after installing them.
(gcc-extra-parts): Likewise.
(install-leaf): Likewise.
From-SVN: r164482
2010-09-21 14:43:59 +00:00
H.J. Lu
b93cf3427d
Regenerate libgcc/configure.
...
2010-09-14 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.
From-SVN: r164284
2010-09-14 09:48:05 -07:00
Kai Tietz
996b42ef6a
ChangeLog config
...
2010-09-10 Jonathan Yong <jon_y@users.sourceforge.net>
* dfp.m4: Enable decimal float for i?86 cygwin
and mingw, and for x86_64 mingw.
ChangeLog libgcc
2010-09-10 Kai Tietz <kai.tietz@onevision.com>
* configure: Regenerated.
ChangeLog libdecnumber
2010-09-10 Kai Tietz <kai.tietz@onevision.com>
* configure: Regenerated.
ChangeLog gcc
2010-09-10 Kai Tietz <kai.tietz@onevision.com>
* configure: Regenerated.
* config.gcc: Add for x86_64 and i?86 mingw t-dfprule.
From-SVN: r164167
2010-09-10 13:39:49 +02:00
Gerald Pfeifer
be1c764ef4
re PR target/40959 (FreeBSD/ia64 build fails: No rule to make target /usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by
T_TARGET'.)
...
2010-09-09 Gerald Pfeifer <gerald@pfeifer.com>
Andrew Pinski <pinskia@gmail.com>
PR target/40959
* config.host (ia64*-*-freebsd*): Set extra_parts. Set tmake_file.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r164132
2010-09-09 22:19:33 +00:00
H.J. Lu
cc0ae0cacb
Don't set enable_decimal_float to dpd if DFP is disabled.
...
config/
2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR target/45524
* dfp.m4: Don't set enable_decimal_float to dpd if DFP is
disabled. Set default_decimal_float.
gcc/
2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR target/45524
* configure.ac (enable_decimal_float): Set to
$default_decimal_float.
* configure: Regenerated.
libdecnumber/
2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR target/45524
* configure.ac (enable_decimal_float): Set to
$default_decimal_float.
* configure: Regenerated.
libgcc/
2010-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR target/45524
* configure: Regenerated.
From-SVN: r163921
2010-09-06 07:52:54 -07:00
Andreas Schwab
84f47d20bb
dfp.m4: Quote argument of AC_MSG_WARN.
...
config/:
* dfp.m4: Quote argument of AC_MSG_WARN.
gcc/:
* configure.ac: Quote argument of AC_MSG_WARN.
* configure: Regenerate.
libdecnumber/:
* configure: Regenerate.
libgcc/:
* configure: Regenerate.
From-SVN: r163909
2010-09-06 10:35:22 +00:00
Uros Bizjak
4159fb8dd2
t-sol2 (__copysigntf3, __fabstf3): Disable for 64bit targets.
...
* config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
64bit targets.
(__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
for 64bit targets.
From-SVN: r163820
2010-09-03 16:33:48 +02:00
Uros Bizjak
0df8fcc8d1
re PR target/45476 (libgcc should contain TCmode functions)
...
libgcc/ChangeLog:
PR target/45476
* Makefile.in (sifuncs, difuncs, tifuncs): Filter out
LIB2FUNCS_EXCLUDE functions.
gcc/ChangeLog:
PR target/45476
* config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
* config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
LIBGCC2_TF_CEXT, TF_SIZE): New defines.
gcc/testsuite/ChangeLog:
PR target/45476
* gcc.target/i386/float128-1.c: Enable for all x86 targets.
* gcc.target/i386/float128-2.c: Ditto.
From-SVN: r163819
2010-09-03 16:23:05 +02:00
Andreas Krebbel
f4dae9fcc0
configure: Regenerate.
...
gcc/
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
* aclocal.m4: Regenerate.
libdecnumber/
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
* aclocal.m4: Regenerate.
libgcc/
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure: Regenerate.
From-SVN: r163816
2010-09-03 13:16:24 +00:00
Andreas Krebbel
3c39bca6bb
configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
...
gcc/
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
* Makefile.in: Add aclocal.m4 dependency to dfp.m4.
* configure: Regenerate.
* aclocal.m4: Regenerate.
config/
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* dfp.m4: New file.
libdecnumber/
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
* Makefile.in: Add aclocal.m4 dependency to dfp.m4.
* configure: Regenerate.
* aclocal.m4: Regenerate.
libgcc/
2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
Include dfp.m4.
* configure: Regenerate.
From-SVN: r163815
2010-09-03 13:14:14 +00:00
Uros Bizjak
d78552bd0f
config.gcc (i[34567]86-*-freebsd*, [...]): Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
...
gcc/ChangeLog:
* config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
* libgcc-std.ver (GCC_4.6.0): Define version.
libgcc/ChangeLog:
* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
i386/t-freebsd to tmake_file.
* config/i386/t-freebsd: New file.
* config/i386/libgcc-bsd.ver: New file.
From-SVN: r163718
2010-09-01 08:42:53 +02:00