summaryrefslogtreecommitdiff
path: root/gcc/config/darwin.h
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-10 12:40:51 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-10 12:40:51 +0000
commit2c2747c3a205945930742dafc30b40ce377e5cc7 (patch)
tree243df70204f66b1998017f534c2c7f2ff08aa244 /gcc/config/darwin.h
parentba2bc1397b89bdf0b59aa9542888444bcc7ce8dd (diff)
downloadgcc-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.h86
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