diff options
author | Stan Shebs <shebs@apple.com> | 2002-07-31 23:18:44 +0000 |
---|---|---|
committer | Stan Shebs <shebs@gcc.gnu.org> | 2002-07-31 23:18:44 +0000 |
commit | b069de3bac42d3134a9a1fcf91e23d11f1e42e97 (patch) | |
tree | 96a5f93ea3117283ee1e9bf6784b35209fbc702d /gcc/config.gcc | |
parent | b3a646eb0f57b57697fce6d40163cc4dfa53369c (diff) | |
download | gcc-b069de3bac42d3134a9a1fcf91e23d11f1e42e97.zip gcc-b069de3bac42d3134a9a1fcf91e23d11f1e42e97.tar.gz gcc-b069de3bac42d3134a9a1fcf91e23d11f1e42e97.tar.bz2 |
config.gcc (i[34567]86-*-darwin*): New configuration.
* 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.
From-SVN: r55916
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 913bc16..f8d0176 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" |