summaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorshebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-31 23:18:44 +0000
committershebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-31 23:18:44 +0000
commitffd050905f946383254a1042274080672ed267bd (patch)
tree96a5f93ea3117283ee1e9bf6784b35209fbc702d /gcc/config.gcc
parentedf337b1a21ee78695530957b64fab0f6fdde755 (diff)
downloadgcc-ffd050905f946383254a1042274080672ed267bd.tar.gz
* config.gcc (i[34567]86-*-darwin*): New configuration.
* config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before defining. (TARGET_ENCODE_SECTION_INFO): Ditto. (ASM_PREFERRED_EH_DATA_FORMAT): Ditto. * config/darwin.c (machopic_indirect_data_reference): Remove setting of RTX_UNCHANGING_P. (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as * config/i386/t-darwin: New file. * config/i386/darwin.h: New file. * config/i386/i386.h (TARGET_MACHO): Add default definition. * config/i386/i386.md (tablejump): Add TARGET_MACHO case. * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O label and not the GOT add. (constant_address_p): For Mach-O, seeing a CONST is enough. (legitimate_pic_address_disp_p): Add a Mach-O case. (legitimate_address_p): Also test machopic_operand_p if Mach-O. (legitimize_pic_address): Use generic Mach-O code to legitimize. (output_pic_addr_const): Suppress @PLT if Mach-O, and parens if outputting a difference. (ix86_output_addr_diff_elt): Add Mach-O case. (ix86_expand_move): Similarly. (ix86_expand_call): Similarly. (current_machopic_label_num): New global. (machopic_output_stub): New function. (ix86_value_regno): New function. (ix86_function_value): Use it instead of VALUE_REGNO. (ix86_libcall_value): Ditto. * config/i386/unix.h (VALUE_REGNO): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55916 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 913bc16fb9b..f8d0176de2f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -998,6 +998,18 @@ i370-*-linux*)
thread_file='posix'
fi
;;
+i[34567]86-*-darwin*)
+ tm_file="${tm_file} darwin.h i386/darwin.h"
+ tm_p_file="${tm_p_file} darwin-protos.h"
+ tmake_file=i386/t-darwin
+ extra_objs="darwin.o"
+ target_gtfiles="\$(srcdir)/config/darwin.c"
+ c_target_objs="darwin-c.o"
+ cxx_target_objs="darwin-c.o"
+ # Darwin linker does collect2 functionality
+ use_collect2=no
+ float_format=i386
+ ;;
i[34567]86-*-elf*)
xm_defines=POSIX
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"