]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp to x86-darwin configurat...
authorEric Christopher <echristo@gcc.gnu.org>
Sat, 26 May 2007 01:58:51 +0000 (01:58 +0000)
committerEric Christopher <echristo@gcc.gnu.org>
Sat, 26 May 2007 01:58:51 +0000 (01:58 +0000)
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

gcc/ChangeLog
gcc/config.gcc
gcc/config/i386/sfp-machine.h
gcc/config/i386/t-darwin
gcc/config/i386/t-darwin64

index 3b03140a4483943dbc0e8032a8faf3a56a479cbb..ad0d988ec631c55989d9a6a4a7abf50293febd1f 100644 (file)
@@ -1,3 +1,12 @@
+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>
 
        * cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c,
        support for complex modes.  Fill in DECL_RESULT for stubdecl.
        (mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
 
-       * config/mips/mips16.S 
+       * config/mips/mips16.S
        (RET, ARG1, ARG2): New.
        (MERGE_GPRf, MERGE_GPRt): New.
        (DELAYt, DELAYf): New.
        (__mips16_call_stub_dc_6): New.
        (__mips16_call_stub_dc_9): New.
        (__mips16_call_stub_dc_10): New.
-       
+
        * config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
        * config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
        * config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
        PR target/30474
        * config/score/score.c (score_print_operand): Make sure that only
        lower bits are used.
-       
+
 2007-05-22  Ian Lance Taylor  <iant@google.com>
 
        * tree-vrp.c (avoid_overflow_infinity): New static function,
        * stmt.c (expand_case): Do not call squeeze_notes.
 
 2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-       
+
        PR middle-end/7651
        PR c++/11856
        PR c/12963
        * doc/invoke.texi (Wreturn-type): Complete description.
        (Wextra): Delete item about return-type warning.
        * c-decl.c: Delete redundant Wextra warning.
-       
+
 2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/31585
 2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net>
           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.
        * config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
        * 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.
        (*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
        (*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,
-       return_from_main_epilogue, return_from_interrupt_epilogue, 
+       return_from_main_epilogue, return_from_interrupt_epilogue,
        return_from_naked_epilogue, prologue, epilogue): New patterns.
        (jump): Handle symbol reference.
-       * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr, 
-       avr_output_function_prologue, avr_output_function_epilogue): Remove 
+       * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr,
+       avr_output_function_prologue, avr_output_function_epilogue): Remove
        functions.
-       (avr_init_machine_status, expand_prologue, expand_epilogue, 
-       avr_asm_function_end_prologue, avr_epilogue_uses, 
+       (avr_init_machine_status, expand_prologue, expand_epilogue,
+       avr_asm_function_end_prologue, avr_epilogue_uses,
        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.
        (TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
        (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
        and soft-fp/t-softfp to tmake_file.
        (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
        i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all.
-       
+
        * config/i386/t-linux64 (softfp_wrap_start): New.
        (softfp_wrap_end): New.
        * config/i386/i386.c (ix86_scalar_mode_supported): TFmode is
 
 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.
 
 2007-05-16  Paolo Bonzini  <bonzini@gnu.org>
index fb346a0252ad2953d00a6cb0b0ff849b3edafff7..977aafea3f94eca85006e44f9843d8b0f5d444c6 100644 (file)
@@ -1052,11 +1052,12 @@ i[34567]86-*-darwin*)
        # support.
        with_arch=${with_arch:-nocona}
        with_cpu=${with_cpu:-generic}
+       tmake_file="${tmake_file} i386/t-fprules-softfp64 soft-fp/t-softfp"
        ;;
 x86_64-*-darwin*)
        with_arch=${with_arch:-nocona}
        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"
        ;;
 i[34567]86-*-elf*)
index 4a4e354303d1e4dbe5948383dcda8b91452a248d..e03ae5f9cb8c3f03309a028b2fa9991ee500b237 100644 (file)
@@ -127,6 +127,13 @@ struct fenv
 #define __BYTE_ORDER __LITTLE_ENDIAN
 
 /* 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) \
   extern __typeof (name) aliasname __attribute__ ((alias (#name)));
+#endif
index fb5bbe78c04b8c9b31eab2df1642f45a6a4edb48..6feb48a20a4ec9b7627925a293af235633ac4a5e 100644 (file)
@@ -2,3 +2,6 @@ MULTILIB_OPTIONS = m64
 MULTILIB_DIRNAMES = x86_64
 LIB2_SIDITI_CONV_FUNCS=yes
 LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c
+
+softfp_wrap_start := '\#ifdef __x86_64__'
+softfp_wrap_end := '\#endif'
index 5143e3819dc4a82e0e825acd05f0da506d7f74c4..2e55cb786d7c2e258a682b72a288edb07def7729 100644 (file)
@@ -1,2 +1,5 @@
 LIB2_SIDITI_CONV_FUNCS=yes
 LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c
+
+softfp_wrap_start := '\#ifdef __x86_64__'
+softfp_wrap_end := '\#endif'