specs 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. *asm:
  2. %{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} %{mips32*} %{mips64*} %{mips16} %{mno-mips16:-no-mips16} %{mmicromips} %{mno-micromips} %{mips3d} %{mno-mips3d:-no-mips3d} %{mdmx} %{mno-mdmx:-no-mdmx} %{mdsp} %{mno-dsp} %{mdspr2} %{mno-dspr2} %{mmcu} %{mno-mcu} %{meva} %{mno-eva} %{mvirt} %{mno-virt} %{mxpa} %{mno-xpa} %{msmartmips} %{mno-smartmips} %{mmt} %{mno-mt} %{mfix-rm7000} %{mno-fix-rm7000} %{mfix-vr4120} %{mfix-vr4130} %{mfix-24k} %{noasmopt:-O0; O0|fno-delayed-branch:-O1; O*:-O2; :-O1} %(subtarget_asm_debugging_spec) %{mabi=*} %{!mabi=*: %(asm_abi_default_spec)} %{mgp32} %{mgp64} %{march=*} %{mxgot:-xgot} %{mfp32} %{mfpxx} %{mfp64} %{mnan=*} %{modd-spreg} %{mno-odd-spreg} %{mshared} %{mno-shared} %{msym32} %{mno-sym32} %{mtune=*}%{mhard-float} %{msoft-float} %{msingle-float} %{mdouble-float}%(subtarget_asm_spec)
  3. *asm_debug:
  4. %{!g0:%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}} %{fdebug-prefix-map=*:--debug-prefix-map %*}
  5. *asm_final:
  6. %{gsplit-dwarf:
  7. objcopy --extract-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} %{c:%{o*:%:replace-extension(%{o*:%*} .dwo)}%{!o*:%b.dwo}}%{!c:%b.dwo}
  8. objcopy --strip-dwo %{c:%{o*:%*}%{!o*:%b%O}}%{!c:%U%O} }
  9. *asm_options:
  10. %{-target-help:%:print-asm-header()} %{v} %{w:-W} %{I*} %{gz*:%e-gz is not supported in this configuration} %a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
  11. *invoke_as:
  12. %{!fwpa*: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s |
  13. as %(asm_options) %m.s %A } }
  14. *cpp:
  15. %(subtarget_cpp_spec) -idirafter %:getenv(STAGING_DIR /usr/include)
  16. *cpp_options:
  17. %(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w} %{f*} %{g*:%{!g0:%{g*} %{!fno-working-directory:-fworking-directory}}} %{O*} %{undef} %{save-temps*:-fpch-preprocess}
  18. *cpp_debug_options:
  19. %{d*}
  20. *cpp_unique_options:
  21. %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*&F*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{!MT:%{!MQ:%{MD|MMD:%{o*:-MQ %*}}}}}}} %{remap} %{g3|ggdb3|gstabs3|gcoff3|gxcoff3|gvms3:-dD} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}
  22. *trad_capable_cpp:
  23. cc1 -E %{traditional|traditional-cpp:-traditional-cpp}
  24. *cc1:
  25. %{G*} %{EB:-meb} %{EL:-mel} %{EB:%{EL:%emay not use both -EB and -EL}} %(subtarget_cc1_spec)
  26. *cc1_options:
  27. %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %{!iplugindir*:%{fplugin*:%:find-plugindir()}} %1 %{!Q:-quiet} %{!dumpbase:-dumpbase %B} %{d*} %{m*} %{aux-info*} %{fcompare-debug-second:%:compare-debug-auxbase-opt(%b)} %{!fcompare-debug-second:%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{Qy:} %{-help:--help} %{-target-help:--target-help} %{-version:--version} %{-help=*:--help=%*} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*} %{coverage:-fprofile-arcs -ftest-coverage}
  28. *cc1plus:
  29. %{!mandroid|tno-android-cc:;:%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} %{!frtti:%{!fno-rtti: -fno-rtti}}}
  30. *link_gcc_c_sequence:
  31. %{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
  32. *link_ssp:
  33. -lssp_nonshared
  34. *endfile:
  35. %{!mandroid|tno-android-ld:%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} %{fvtable-verify=none:%s; fvtable-verify=preinit:vtv_end_preinit.o%s; fvtable-verify=std:vtv_end.o%s} %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s;:%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} %{shared: crtend_so%O%s;: crtend_android%O%s}}
  36. *link:
  37. %{!static:--eh-frame-hdr} %{!mandroid|tno-android-ld: %{G*} %{EB} %{EL} %{mips*} %{shared} %{!shared: %{!static: %{rdynamic:-export-dynamic} %{mabi=n32: -dynamic-linker %{mglibc:%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1};:%{muclibc:%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0};:%{mbionic:/system/bin/linker32;:/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1}}}} %{mabi=64: -dynamic-linker %{mglibc:%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1};:%{muclibc:%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0};:%{mbionic:/system/bin/linker64;:/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1}}}} %{mabi=32: -dynamic-linker %{mglibc:%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1};:%{muclibc:%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0};:%{mbionic:/system/bin/linker;:/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1}}}}} %{static}} %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} %{mabi=32:-melf32%{EB:b}%{EL:l}tsmip};: %{G*} %{EB} %{EL} %{mips*} %{shared} %{!shared: %{!static: %{rdynamic:-export-dynamic} %{mabi=n32: -dynamic-linker %{mglibc:%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1};:%{muclibc:%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0};:%{mbionic:/system/bin/linker32;:/lib/ld-musl-mipsn32%{EL:el}%{msoft-float:-sf}.so.1}}}} %{mabi=64: -dynamic-linker %{mglibc:%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1};:%{muclibc:%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0};:%{mbionic:/system/bin/linker64;:/lib/ld-musl-mips64%{EL:el}%{msoft-float:-sf}.so.1}}}} %{mabi=32: -dynamic-linker %{mglibc:%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1};:%{muclibc:%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0};:%{mbionic:/system/bin/linker;:/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1}}}}} %{static}} %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} %{mabi=32:-melf32%{EB:b}%{EL:l}tsmip} %{shared: -Bsymbolic}}
  38. *lib:
  39. %{!mandroid|tno-android-ld:%{pthread:-lpthread} %{shared:-lc} %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}};:%{shared:-lc} %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}} %{!static: -ldl}}
  40. *link_gomp:
  41. *libgcc:
  42. %{static|static-libgcc:-lgcc}%{!static:%{!static-libgcc:-lgcc_s}}
  43. *startfile:
  44. %{!mandroid|tno-android-ld:%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} %{fvtable-verify=none:%s; fvtable-verify=preinit:vtv_start_preinit.o%s; fvtable-verify=std:vtv_start.o%s};:%{shared: crtbegin_so%O%s;: %{static: crtbegin_static%O%s;: crtbegin_dynamic%O%s}}}
  45. *cross_compile:
  46. 1
  47. *version:
  48. 5.3.0
  49. *multilib:
  50. . ;
  51. *multilib_defaults:
  52. EB mips1 mabi=32
  53. *multilib_extra:
  54. *multilib_matches:
  55. *multilib_exclusions:
  56. *multilib_options:
  57. *multilib_reuse:
  58. *linker:
  59. collect2
  60. *linker_plugin_file:
  61. *lto_wrapper:
  62. *lto_gcc:
  63. *link_libgcc:
  64. %D
  65. *md_exec_prefix:
  66. *md_startfile_prefix:
  67. *md_startfile_prefix_1:
  68. *startfile_prefix_spec:
  69. *sysroot_spec:
  70. --sysroot=%R
  71. *sysroot_suffix_spec:
  72. *sysroot_hdrs_suffix_spec:
  73. *self_spec:
  74. *subtarget_cc1_spec:
  75. %{!mandroid|tno-android-cc:%{profile:-p};:%{profile:-p} %{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} %{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}}
  76. *subtarget_cpp_spec:
  77. %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
  78. *subtarget_asm_debugging_spec:
  79. %{g} %{g0} %{g1} %{g2} %{g3} %{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} %{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} %{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} %{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3} %{gcoff*:-mdebug} %{!gcoff*:-no-mdebug}
  80. *subtarget_asm_spec:
  81. %{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}
  82. *asm_abi_default_spec:
  83. -mabi=32
  84. *endian_spec:
  85. %{!EL:%{!mel:-EB}} %{EL|mel:-EL}
  86. *link_command:
  87. %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %{!fno-use-linker-plugin:%{!fno-lto: -plugin %(linker_plugin_file) -plugin-opt=%(lto_wrapper) -plugin-opt=-fresolution=%u.res %{!nostdlib:%{!nodefaultlibs:%:pass-through-libs(%(link_gcc_c_sequence))}} }}%{flto|flto=*:%<fcompare-debug*} %{flto} %{fno-lto} %{flto=*} %l %{pie:-pie} %{fuse-ld=*:-fuse-ld=%*} %{gz*:%e-gz is not supported in this configuration} %X %{o*} %{e*} %{N} %{n} %{r} %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} %{!nostdlib:%{fvtable-verify=std: -lvtv -u_vtable_map_vars_start -u_vtable_map_vars_end} %{fvtable-verify=preinit: -lvtv -u_vtable_map_vars_start -u_vtable_map_vars_end}} %{static:} %{L*} -L %:getenv(STAGING_DIR /usr/lib) -rpath-link %:getenv(STAGING_DIR /usr/lib) %(mfwrap) %(link_libgcc) %{!nostdlib:%{!nodefaultlibs:%{%:sanitize(address):%{!shared:libasan_preinit%O%s} %{static-libasan:%{!shared:-Bstatic --whole-archive -lasan --no-whole-archive -Bdynamic}}%{!static-libasan:-lasan}} %{%:sanitize(thread):%{static-libtsan:%{!shared:-Bstatic --whole-archive -ltsan --no-whole-archive -Bdynamic}}%{!static-libtsan:-ltsan}} %{%:sanitize(leak):%{static-liblsan:%{!shared:-Bstatic --whole-archive -llsan --no-whole-archive -Bdynamic}}%{!static-liblsan:-llsan}}}} %o %{fopenacc|fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %{fcilkplus:%:include(libcilkrts.spec)%(link_cilkrts)} %{fgnu-tm:%:include(libitm.spec)%(link_itm)} %(mflib) %{fsplit-stack: --wrap=pthread_create} %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} %{!nostdlib:%{!nodefaultlibs:%{%:sanitize(address): %{static-libasan:%:include(libsanitizer.spec)%(link_libasan)} %{static:%ecannot specify -static with -fsanitize=address}} %{%:sanitize(thread): %{static-libtsan:%:include(libsanitizer.spec)%(link_libtsan)} %{static:%ecannot specify -static with -fsanitize=thread}} %{%:sanitize(undefined):%{static-libubsan:-Bstatic} -lubsan %{static-libubsan:-Bdynamic} %{static-libubsan:%:include(libsanitizer.spec)%(link_libubsan)}} %{%:sanitize(leak): %{static-liblsan:%:include(libsanitizer.spec)%(link_liblsan)}}}} %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}} %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}