diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-10 12:40:51 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-10 12:40:51 +0000 |
commit | 2c2747c3a205945930742dafc30b40ce377e5cc7 (patch) | |
tree | 243df70204f66b1998017f534c2c7f2ff08aa244 /gcc/config/darwin.h | |
parent | ba2bc1397b89bdf0b59aa9542888444bcc7ce8dd (diff) | |
download | gcc-2c2747c3a205945930742dafc30b40ce377e5cc7.tar.gz |
* doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
* doc/tm.texi: Regenerate.
* opts-common.c (tm.h): Don't include.
(target_option_translations): Remove.
(decode_cmdline_options_to_array): Don't handle translating
options.
* system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
* config/darwin-driver.c: Don't condition includes on
CROSS_DIRECTORY_STRUCTURE.
(darwin_default_min_version): Make static.
(darwin_driver_init): New. Call darwin_default_min_version if not
CROSS_DIRECTORY_STRUCTURE.
* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
(DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
(ASM_SPEC): Add %{static}.
(darwin_default_min_version): Don't declare.
(darwin_driver_init): Declare.
(GCC_DRIVER_HOST_INITIALIZATION): Define to call
darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
* config/darwin.opt (all_load, allowable_client,
arch_errors_fatal, bind_at_load, bundle, bundle_loader,
dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
exported_symbols_list, filelist, findirect-virtual-calls,
flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
framework, fterminated-vtables, gfull, gused, image_base, init,
install_name, multi_module, multiply_defined,
multiply_defined_unused, no_dead_strip_inits_and_terms,
seg_addr_table, seg_addr_table_filename, segaddr,
segs_read_only_addr, segs_read_write_addr, single_module,
umbrella, unexported_symbols_list, weak_reference_mismatches,
Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
Zno_dead_strip_inits_and_terms, Zsingle_module): New.
* config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
(ASM_SPEC): Add %{static}.
(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
* config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
(DRIVER_SELF_SPECS): Handle options formerly in
TARGET_OPTION_TRANSLATE_TABLE.
* config/mep/mep.opt (mfar): New.
* config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE):
Remove.
(DRIVER_SELF_SPECS): Define. Handle options formerly in
TARGET_OPTION_TRANSLATE_TABLE.
* config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and
-fno-altivec.
(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
* config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
ffix-and-continue, findirect-data): New.
* config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
* config/rx/rx.opt (nofpu): Make into alias of mnofpu.
(mnofpu): Define mask and use Report here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166534 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/darwin.h')
-rw-r--r-- | gcc/config/darwin.h | 86 |
1 files changed, 15 insertions, 71 deletions
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index ffed58a1300..5a4be8a1a4f 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -123,71 +123,16 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see /* True if pragma ms_struct is in effect. */ extern GTY(()) int darwin_ms_struct; -/* This table intercepts weirdo options whose names would interfere - with normal driver conventions, and either translates them into - standardly-named options, or adds a 'Z' so that they can get to - specs processing without interference. - - Do not expand a linker option to "-Xlinker -<option>", since that - forfeits the ability to control via spec strings later. However, - as a special exception, do this translation with -filelist, because - otherwise the driver will think there are no input files and quit. - (The alternative would be to hack the driver to recognize -filelist - specially, but it's simpler to use the translation table.) - - Note that an option name with a prefix that matches another option - name, that also takes an argument, needs to be modified so the - prefix is different, otherwise a '*' after the shorter option will - match with the longer one. - - The SUBTARGET_OPTION_TRANSLATE_TABLE macro, which _must_ be defined - in gcc/config/{i386,rs6000}/darwin.h, should contain any additional - command-line option translations specific to the particular target - architecture. */ - -#define TARGET_OPTION_TRANSLATE_TABLE \ - { "-all_load", "-Zall_load" }, \ - { "-allowable_client", "-Zallowable_client" }, \ - { "-arch_errors_fatal", "-Zarch_errors_fatal" }, \ - { "-bind_at_load", "-Zbind_at_load" }, \ - { "-bundle", "-Zbundle" }, \ - { "-bundle_loader", "-Zbundle_loader" }, \ - { "-weak_reference_mismatches", "-Zweak_reference_mismatches" }, \ - { "-dead_strip", "-Zdead_strip" }, \ - { "-no_dead_strip_inits_and_terms", "-Zno_dead_strip_inits_and_terms" }, \ - { "-dependency-file", "-MF" }, \ - { "-dylib_file", "-Zdylib_file" }, \ - { "-dynamic", "-Zdynamic" }, \ - { "-dynamiclib", "-Zdynamiclib" }, \ - { "-exported_symbols_list", "-Zexported_symbols_list" }, \ - { "-gfull", "-g -fno-eliminate-unused-debug-symbols" }, \ - { "-gused", "-g -feliminate-unused-debug-symbols" }, \ - { "-segaddr", "-Zsegaddr" }, \ - { "-segs_read_only_addr", "-Zsegs_read_only_addr" }, \ - { "-segs_read_write_addr", "-Zsegs_read_write_addr" }, \ - { "-seg_addr_table", "-Zseg_addr_table" }, \ - { "-seg_addr_table_filename", "-Zfn_seg_addr_table_filename" }, \ - { "-umbrella", "-Zumbrella" }, \ - { "-fapple-kext", "-fapple-kext -static -Wa,-static" }, \ - { "-filelist", "-Xlinker -filelist -Xlinker" }, \ - { "-findirect-virtual-calls", "-fapple-kext" }, \ - { "-flat_namespace", "-Zflat_namespace" }, \ - { "-force_cpusubtype_ALL", "-Zforce_cpusubtype_ALL" }, \ - { "-force_flat_namespace", "-Zforce_flat_namespace" }, \ - { "-framework", "-Xlinker -framework -Xlinker" }, \ - { "-fterminated-vtables", "-fapple-kext" }, \ - { "-image_base", "-Zimage_base" }, \ - { "-init", "-Zinit" }, \ - { "-install_name", "-Zinstall_name" }, \ - { "-mkernel", "-mkernel -static -Wa,-static" }, \ - { "-multiply_defined_unused", "-Zmultiplydefinedunused" }, \ - { "-multiply_defined", "-Zmultiply_defined" }, \ - { "-multi_module", "-Zmulti_module" }, \ - { "-static", "-static -Wa,-static" }, \ - { "-shared", "-Zdynamiclib" }, \ - { "-single_module", "-Zsingle_module" }, \ - { "-unexported_symbols_list", "-Zunexported_symbols_list" }, \ - SUBTARGET_OPTION_TRANSLATE_TABLE +#define DRIVER_SELF_SPECS \ + "%{gfull:-g -fno-eliminate-unused-debug-symbols} %<gfull", \ + "%{gused:-g -feliminate-unused-debug-symbols} %<gused", \ + "%{fapple-kext|mkernel:-static}", \ + "%{shared:-Zdynamiclib} %<shared" + +#define DARWIN_CC1_SPEC \ + "%{findirect-virtual-calls: -fapple-kext} %<findirect-virtual-calls " \ + "%{fterminated-vtables: -fapple-kext} %<fterminated-vtables " \ + "%<filelist* %<framework*" #define SUBSUBTARGET_OVERRIDE_OPTIONS \ do { \ @@ -416,7 +361,8 @@ extern GTY(()) int darwin_ms_struct; /* Default Darwin ASM_SPEC, very simple. */ #define ASM_SPEC "-arch %(darwin_arch) \ - %{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL}" + %{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL} \ + %{static}" /* We still allow output of STABS. */ @@ -1037,12 +983,10 @@ __enable_execute_stack (void *addr) \ #define TARGET_HAS_TARGETCM 1 -#ifndef CROSS_DIRECTORY_STRUCTURE -extern void darwin_default_min_version (unsigned int *decoded_options_count, - struct cl_decoded_option **decoded_options); +extern void darwin_driver_init (unsigned int *decoded_options_count, + struct cl_decoded_option **decoded_options); #define GCC_DRIVER_HOST_INITIALIZATION \ - darwin_default_min_version (&decoded_options_count, &decoded_options) -#endif /* CROSS_DIRECTORY_STRUCTURE */ + darwin_driver_init (&decoded_options_count, &decoded_options) /* The Apple assembler and linker do not support constructor priorities. */ #undef SUPPORTS_INIT_PRIORITY |