arm-uclinux-gcc.specs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. *asm:
  2. %{mbig-endian:-EB} %{mlittle-endian:-EL} %(asm_cpu_spec) %{mapcs-*:-mapcs-%*} %(subtarget_asm_float_spec) %{mthumb-interwork:-mthumb-interwork} %{mfloat-abi=*} %{mfpu=*} %(subtarget_extra_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*} %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) %{mfloat-abi=soft:%{mfloat-abi=hard: %e-mfloat-abi=soft and -mfloat-abi=hard may not be used together}} %{mbig-endian:%{mlittle-endian: %e-mbig-endian and -mlittle-endian may not be used together}}
  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 %{fmudflap:-D_MUDFLAP -include mf-runtime.h} %{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h} %{E|M|MM:%W{o*}}
  22. *trad_capable_cpp:
  23. cc1 -E %{traditional|traditional-cpp:-traditional-cpp}
  24. *cc1:
  25. %{profile:-p}
  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*} %{fmudflap|fmudflapth:-fno-builtin -fno-merge-constants} %{coverage:-fprofile-arcs -ftest-coverage}
  28. *cc1plus:
  29. *link_gcc_c_sequence:
  30. %{static:--start-group} %G %L %{static:--end-group}%{!static:%G}
  31. *link_ssp:
  32. %{fstack-protector:}
  33. *endfile:
  34. crtend%O%s crtn%O%s
  35. *link:
  36. %{mbig-endian:-EB} %{mlittle-endian:-EL} %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} -X -m armelf_linux_eabi -elf2flt --pic-veneer --target2=abs %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx} %{mbig-endian:%{march=armv7-a|mcpu=cortex-a5 |mcpu=cortex-a7 |mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15 |mcpu=marvell-pj4 |mcpu=generic-armv7-a |march=armv7-m|mcpu=cortex-m3 |march=armv7e-m|mcpu=cortex-m4 |march=armv6-m|mcpu=cortex-m0 |march=armv8-a :%{!r:--be8}}}
  37. *lib:
  38. %{pthread:-lpthread} %{shared:-lc} %{!shared:%{profile:-lc_p}%{!profile:-lc}}
  39. *mfwrap:
  40. %{static: %{fmudflap|fmudflapth: --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc --wrap=mmap --wrap=mmap64 --wrap=munmap --wrap=alloca} %{fmudflapth: --wrap=pthread_create}} %{fmudflap|fmudflapth: --wrap=main}
  41. *mflib:
  42. %{fmudflap|fmudflapth: -export-dynamic}
  43. *link_gomp:
  44. *libgcc:
  45. -lgcc
  46. *startfile:
  47. crt1%O%s crti%O%s crtbegin%O%s
  48. *cross_compile:
  49. 1
  50. *version:
  51. 4.8.4
  52. *multilib:
  53. . ;
  54. *multilib_defaults:
  55. marm mlittle-endian mfloat-abi=soft mno-thumb-interwork fno-leading-underscore
  56. *multilib_extra:
  57. *multilib_matches:
  58. *multilib_exclusions:
  59. *multilib_options:
  60. *multilib_reuse:
  61. *linker:
  62. collect2
  63. *linker_plugin_file:
  64. *lto_wrapper:
  65. *lto_gcc:
  66. *link_libgcc:
  67. %D
  68. *md_exec_prefix:
  69. *md_startfile_prefix:
  70. *md_startfile_prefix_1:
  71. *startfile_prefix_spec:
  72. *sysroot_spec:
  73. --sysroot=%R
  74. *sysroot_suffix_spec:
  75. *sysroot_hdrs_suffix_spec:
  76. *self_spec:
  77. *subtarget_cpp_spec:
  78. %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
  79. *asm_cpu_spec:
  80. %{mcpu=generic-*:-march=%*; :%{mcpu=*:-mcpu=%*} %{march=*:-march=%*}}
  81. *subtarget_extra_asm_spec:
  82. %{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu;:-meabi=5} %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx}
  83. *subtarget_asm_float_spec:
  84. %{mapcs-float:-mfloat}
  85. *link_command:
  86. %{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %{fuse-linker-plugin: %e-fuse-linker-plugin is not supported in this configuration}%{flto|flto=*:%<fcompare-debug*} %{flto} %{flto=*} %l %{pie:-pie} %{fuse-ld=*:-fuse-ld=%*} %X %{o*} %{e*} %{N} %{n} %{r} %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} %{static:} %{L*} %(mfwrap) %(link_libgcc) %{!nostdlib:%{!nodefaultlibs:%{fsanitize=address:} %{fsanitize=thread:}}} %o %{fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %{fgnu-tm:%:include(libitm.spec)%(link_itm)} %(mflib) %{fsplit-stack: --wrap=pthread_create} %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} %{!nostdlib:%{!nodefaultlibs:%{fsanitize=address:%{static-libasan:-Bstatic} -lasan %{static-libasan:-Bdynamic} %{static:%ecannot specify -static with -fsanitize=address} %{fsanitize=thread:%e-fsanitize=address is incompatible with -fsanitize=thread}} %{fsanitize=thread:%{static-libtsan:-Bstatic} -ltsan %{static-libtsan:-Bdynamic} %{!pie:%{!shared:%e-fsanitize=thread linking must be done with -pie or -shared}}}}} %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}} %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}