Commit 8536ebb5 by Eric Christopher

config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp to x86-darwin configurations.

2007-05-25  Eric Christopher  <echristo@apple.com>

	    * config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp
	    to x86-darwin configurations.
	    * config/i386/t-darwin: Add softfp support.
	    * config/i386/t-darwin64: Ditto.
	    * config/i386/sfp-machine.h: If mach then don't use
	    aliasing, emit a stub to call.

From-SVN: r125085
parent 9a3e1f0a
2007-05-25 Eric Christopher <echristo@apple.com>
* config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp
to x86-darwin configurations.
* config/i386/t-darwin: Add softfp support.
* config/i386/t-darwin64: Ditto.
* config/i386/sfp-machine.h: If mach then don't use
aliasing, emit a stub to call.
2007-05-25 Kazu Hirata <kazu@codesourcery.com> 2007-05-25 Kazu Hirata <kazu@codesourcery.com>
* cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c, * cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c,
...@@ -283,7 +292,7 @@ ...@@ -283,7 +292,7 @@
support for complex modes. Fill in DECL_RESULT for stubdecl. support for complex modes. Fill in DECL_RESULT for stubdecl.
(mips_init_libfuncs): Remove redundant TARGET_MIPS16 check. (mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
* config/mips/mips16.S * config/mips/mips16.S
(RET, ARG1, ARG2): New. (RET, ARG1, ARG2): New.
(MERGE_GPRf, MERGE_GPRt): New. (MERGE_GPRf, MERGE_GPRt): New.
(DELAYt, DELAYf): New. (DELAYt, DELAYf): New.
...@@ -352,7 +361,7 @@ ...@@ -352,7 +361,7 @@
(__mips16_call_stub_dc_6): New. (__mips16_call_stub_dc_6): New.
(__mips16_call_stub_dc_9): New. (__mips16_call_stub_dc_9): New.
(__mips16_call_stub_dc_10): New. (__mips16_call_stub_dc_10): New.
* config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs. * config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
* config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise. * config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
* config/mips/t-r2900 (LIB1ASMFUNCS): Likewise. * config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
...@@ -373,7 +382,7 @@ ...@@ -373,7 +382,7 @@
PR target/30474 PR target/30474
* config/score/score.c (score_print_operand): Make sure that only * config/score/score.c (score_print_operand): Make sure that only
lower bits are used. lower bits are used.
2007-05-22 Ian Lance Taylor <iant@google.com> 2007-05-22 Ian Lance Taylor <iant@google.com>
* tree-vrp.c (avoid_overflow_infinity): New static function, * tree-vrp.c (avoid_overflow_infinity): New static function,
...@@ -898,7 +907,7 @@ ...@@ -898,7 +907,7 @@
* stmt.c (expand_case): Do not call squeeze_notes. * stmt.c (expand_case): Do not call squeeze_notes.
2007-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 2007-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651 PR middle-end/7651
PR c++/11856 PR c++/11856
PR c/12963 PR c/12963
...@@ -941,7 +950,7 @@ ...@@ -941,7 +950,7 @@
* doc/invoke.texi (Wreturn-type): Complete description. * doc/invoke.texi (Wreturn-type): Complete description.
(Wextra): Delete item about return-type warning. (Wextra): Delete item about return-type warning.
* c-decl.c: Delete redundant Wextra warning. * c-decl.c: Delete redundant Wextra warning.
2007-05-20 Uros Bizjak <ubizjak@gmail.com> 2007-05-20 Uros Bizjak <ubizjak@gmail.com>
PR target/31585 PR target/31585
...@@ -990,26 +999,26 @@ ...@@ -990,26 +999,26 @@
2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net> 2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net>
Anatoly Sokolov <aesok@dol.ru> Anatoly Sokolov <aesok@dol.ru>
* config/avr/avr-protos.h (expand_prologue, expand_epilogue, * config/avr/avr-protos.h (expand_prologue, expand_epilogue,
avr_epilogue_uses) : Add declaration. avr_epilogue_uses) : Add declaration.
* config/avr/predicates.md (avr_sp_immediate_operand): New predicate. * config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
* config/avr/constraints.md (R): New constraint. * config/avr/constraints.md (R): New constraint.
config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI, config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI,
UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants. UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
(*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ... (*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns. (*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
(*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt, (*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt,
call_prologue_saves, epilogue_restores, return_from_epilogue, call_prologue_saves, epilogue_restores, return_from_epilogue,
return_from_main_epilogue, return_from_interrupt_epilogue, return_from_main_epilogue, return_from_interrupt_epilogue,
return_from_naked_epilogue, prologue, epilogue): New patterns. return_from_naked_epilogue, prologue, epilogue): New patterns.
(jump): Handle symbol reference. (jump): Handle symbol reference.
* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr, * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr,
avr_output_function_prologue, avr_output_function_epilogue): Remove avr_output_function_prologue, avr_output_function_epilogue): Remove
functions. functions.
(avr_init_machine_status, expand_prologue, expand_epilogue, (avr_init_machine_status, expand_prologue, expand_epilogue,
avr_asm_function_end_prologue, avr_epilogue_uses, avr_asm_function_end_prologue, avr_epilogue_uses,
avr_asm_function_begin_epilogue): New functions. avr_asm_function_begin_epilogue): New functions.
(prologue_size, epilogue_size, jump_tables_size): Remove global (prologue_size, epilogue_size, jump_tables_size): Remove global
variables. variables.
(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove. (TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
(TARGET_ASM_FUNCTION_END_PROLOGUE): Define. (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
...@@ -1254,7 +1263,7 @@ ...@@ -1254,7 +1263,7 @@
and soft-fp/t-softfp to tmake_file. and soft-fp/t-softfp to tmake_file.
(i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu, (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all. i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all.
* config/i386/t-linux64 (softfp_wrap_start): New. * config/i386/t-linux64 (softfp_wrap_start): New.
(softfp_wrap_end): New. (softfp_wrap_end): New.
* config/i386/i386.c (ix86_scalar_mode_supported): TFmode is * config/i386/i386.c (ix86_scalar_mode_supported): TFmode is
...@@ -1262,7 +1271,7 @@ ...@@ -1262,7 +1271,7 @@
2007-05-16 Rafael Avila de Espindola <espindola@google.com> 2007-05-16 Rafael Avila de Espindola <espindola@google.com>
* c-common.c (c_common_signed_or_unsigned_type): Emulate * c-common.c (c_common_signed_or_unsigned_type): Emulate
c_common_unsigned_type behavior. c_common_unsigned_type behavior.
2007-05-16 Paolo Bonzini <bonzini@gnu.org> 2007-05-16 Paolo Bonzini <bonzini@gnu.org>
......
...@@ -1052,11 +1052,12 @@ i[34567]86-*-darwin*) ...@@ -1052,11 +1052,12 @@ i[34567]86-*-darwin*)
# support. # support.
with_arch=${with_arch:-nocona} with_arch=${with_arch:-nocona}
with_cpu=${with_cpu:-generic} with_cpu=${with_cpu:-generic}
tmake_file="${tmake_file} i386/t-fprules-softfp64 soft-fp/t-softfp"
;; ;;
x86_64-*-darwin*) x86_64-*-darwin*)
with_arch=${with_arch:-nocona} with_arch=${with_arch:-nocona}
with_cpu=${with_cpu:-generic} with_cpu=${with_cpu:-generic}
tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin" tmake_file="t-darwin ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-fprules-softfp64 soft-fp/t-softfp"
tm_file="${tm_file} ${cpu_type}/darwin64.h" tm_file="${tm_file} ${cpu_type}/darwin64.h"
;; ;;
i[34567]86-*-elf*) i[34567]86-*-elf*)
......
...@@ -127,6 +127,13 @@ struct fenv ...@@ -127,6 +127,13 @@ struct fenv
#define __BYTE_ORDER __LITTLE_ENDIAN #define __BYTE_ORDER __LITTLE_ENDIAN
/* Define ALIASNAME as a strong alias for NAME. */ /* Define ALIASNAME as a strong alias for NAME. */
#if defined __MACH__
/* Mach-O doesn't support aliasing. If these functions ever return
anything but int we need to revisit this... */
#define strong_alias(name, aliasname) \
int aliasname (TFtype a, TFtype b) { return name(a, b); }
#else
# define strong_alias(name, aliasname) _strong_alias(name, aliasname) # define strong_alias(name, aliasname) _strong_alias(name, aliasname)
# define _strong_alias(name, aliasname) \ # define _strong_alias(name, aliasname) \
extern __typeof (name) aliasname __attribute__ ((alias (#name))); extern __typeof (name) aliasname __attribute__ ((alias (#name)));
#endif
...@@ -2,3 +2,6 @@ MULTILIB_OPTIONS = m64 ...@@ -2,3 +2,6 @@ MULTILIB_OPTIONS = m64
MULTILIB_DIRNAMES = x86_64 MULTILIB_DIRNAMES = x86_64
LIB2_SIDITI_CONV_FUNCS=yes LIB2_SIDITI_CONV_FUNCS=yes
LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c
softfp_wrap_start := '\#ifdef __x86_64__'
softfp_wrap_end := '\#endif'
LIB2_SIDITI_CONV_FUNCS=yes LIB2_SIDITI_CONV_FUNCS=yes
LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c
softfp_wrap_start := '\#ifdef __x86_64__'
softfp_wrap_end := '\#endif'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment