X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig%2Fdarwin.h;h=c2685a893f6d762b92fd1af47e0c84d2ba162d0c;hb=3bcc6ec599c91d88c4a01efe30a475ebd2e5ab1d;hp=3d93399531323b11321cc61efdb8df61f9609bd0;hpb=b9fc964a00ea1c9cbcc1b6ac7ca39cbf550a77b7;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 3d933995313..c2685a893f6 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -147,6 +147,7 @@ extern GTY(()) int darwin_ms_struct; { "-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 @@ -240,7 +241,7 @@ extern GTY(()) int darwin_ms_struct; %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \ %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n\ %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ - %{.c|.cc|.C|.cpp|.c++|.CPP|.m|.mm: \ + %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \ %{gdwarf-2:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{!o:a.out}}}}}}}}}}}}" #ifdef TARGET_SYSTEM_ROOT @@ -306,6 +307,7 @@ extern GTY(()) int darwin_ms_struct; %:version-compare(< 10.5 mmacosx-version-min= -multiply_defined) \ %:version-compare(< 10.5 mmacosx-version-min= suppress)}} \ %{Zmultiplydefinedunused*:-multiply_defined_unused %*} \ + %{fpie:-pie} \ %{prebind} %{noprebind} %{nofixprebinding} %{prebind_all_twolevel_modules} \ %{read_only_relocs} \ %{sectcreate*} %{sectorder*} %{seg1addr*} %{segprot*} \ @@ -351,7 +353,7 @@ extern GTY(()) int darwin_ms_struct; #undef REAL_LIBGCC_SPEC #define REAL_LIBGCC_SPEC \ "%{static-libgcc|static: -lgcc_eh -lgcc; \ - shared-libgcc|fexceptions: \ + shared-libgcc|fexceptions|fgnu-runtime: \ %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ -lgcc; \ @@ -674,11 +676,11 @@ extern GTY(()) int darwin_ms_struct; } \ } while (0) -/* The maximum alignment which the object file format can support. - For Mach-O, this is 2^15. */ +/* The maximum alignment which the object file format can support in + bits. For Mach-O, this is 2^15 bytes. */ #undef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT 0x8000 +#define MAX_OFILE_ALIGNMENT (0x8000 * 8) /* Declare the section variables. */ #ifndef USED_FOR_TARGET @@ -701,6 +703,8 @@ extern GTY(()) section * darwin_sections[NUM_DARWIN_SECTIONS]; #define TARGET_ASM_UNIQUE_SECTION darwin_unique_section #undef TARGET_ASM_FUNCTION_RODATA_SECTION #define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section +#undef TARGET_ASM_RELOC_RW_MASK +#define TARGET_ASM_RELOC_RW_MASK machopic_reloc_rw_mask #define ASM_DECLARE_UNRESOLVED_REFERENCE(FILE,NAME) \ @@ -888,7 +892,9 @@ enum machopic_addr_class { #define DARWIN_REGISTER_TARGET_PRAGMAS() \ do { \ - c_register_pragma (0, "mark", darwin_pragma_ignore); \ + if (!flag_preprocess_only) \ + cpp_register_pragma (parse_in, NULL, "mark", \ + darwin_pragma_ignore, false); \ c_register_pragma (0, "options", darwin_pragma_options); \ c_register_pragma (0, "segment", darwin_pragma_ignore); \ c_register_pragma (0, "unused", darwin_pragma_unused); \ @@ -982,4 +988,10 @@ extern int flag_apple_kext; #define TARGET_HAS_TARGETCM 1 +#ifndef CROSS_DIRECTORY_STRUCTURE +extern void darwin_default_min_version (int * argc, char *** argv); +#define GCC_DRIVER_HOST_INITIALIZATION \ + darwin_default_min_version (&argc, &argv) +#endif /* CROSS_DIRECTORY_STRUCTURE */ + #endif /* CONFIG_DARWIN_H */