Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.77 KB | None | 0 0
  1. The following options are target specific:
  2. -m128bit-long-double sizeof(long double) is 16
  3. -m16 Generate 16bit i386 code
  4. -m32 Generate 32bit i386 code
  5. -m3dnow Support 3DNow! built-in functions
  6. -m64 Generate 64bit x86-64 code
  7. -m80387 Use hardware fp
  8. -m8bit-idiv Expand 32bit/64bit integer divide into 8bit
  9. unsigned integer divide with run-time check
  10. -m96bit-long-double sizeof(long double) is 12
  11. -mabi= Generate code that conforms to the given ABI
  12. -mabm Support code generation of Advanced Bit
  13. Manipulation (ABM) instructions.
  14. -maccumulate-outgoing-args Reserve space for outgoing arguments in the
  15. function prologue
  16. -maddress-mode= Use given address mode
  17. -madx Support flag-preserving add-carry instructions
  18. -maes Support AES built-in functions and code generation
  19. -malign-double Align some doubles on dword boundary
  20. -malign-functions= Function starts are aligned to this power of 2
  21. -malign-jumps= Jump targets are aligned to this power of 2
  22. -malign-loops= Loop code aligned to this power of 2
  23. -malign-stringops Align destination of the string operations
  24. -march= Generate code for given CPU
  25. -masm= Use given assembler dialect
  26. -mavx Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
  27. SSE4.2 and AVX built-in functions and code
  28. generation
  29. -mavx2 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
  30. SSE4.2, AVX and AVX2 built-in functions and code
  31. generation
  32. -mavx256-split-unaligned-load Split 32-byte AVX unaligned load
  33. -mavx256-split-unaligned-store Split 32-byte AVX unaligned store
  34. -mavx512cd Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
  35. SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built-
  36. in functions and code generation
  37. -mavx512er Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
  38. SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built-
  39. in functions and code generation
  40. -mavx512f Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
  41. SSE4.2, AVX, AVX2 and AVX512F built-in functions
  42. and code generation
  43. -mavx512pf Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
  44. SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built-
  45. in functions and code generation
  46. -mbmi Support BMI built-in functions and code generation
  47. -mbmi2 Support BMI2 built-in functions and code
  48. generation
  49. -mbranch-cost= Branches are this expensive (1-5, arbitrary units)
  50. -mcld Generate cld instruction in the function prologue.
  51. -mcmodel= Use given x86-64 code model
  52. -mconsole Create console application
  53. -mcrc32 Support code generation of crc32 instruction.
  54. -mcx16 Support code generation of cmpxchg16b instruction.
  55. -mdispatch-scheduler Do dispatch scheduling if processor is bdver1 or
  56. bdver2 or bdver3 or bdver4 and Haifa scheduling
  57. is selected.
  58. -mdll Generate code for a DLL
  59. -mf16c Support F16C built-in functions and code
  60. generation
  61. -mfancy-math-387 Generate sin, cos, sqrt for FPU
  62. -mfentry Emit profiling counter call at function entry
  63. before prologue.
  64. -mfma Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
  65. SSE4.2, AVX and FMA built-in functions and code
  66. generation
  67. -mfma4 Support FMA4 built-in functions and code
  68. generation
  69. -mforce-drap Always use Dynamic Realigned Argument Pointer
  70. (DRAP) to realign stack
  71. -mfp-ret-in-387 Return values of functions in FPU registers
  72. -mfpmath= Generate floating point mathematics using given
  73. instruction set
  74. -mfsgsbase Support FSGSBASE built-in functions and code
  75. generation
  76. -mfxsr Support FXSAVE and FXRSTOR instructions
  77. -mhard-float Use hardware fp
  78. -mhle Support Hardware Lock Elision prefixes
  79. -mieee-fp Use IEEE math for fp comparisons
  80. -mincoming-stack-boundary= Assume incoming stack aligned to this power of 2
  81. -minline-all-stringops Inline all known string operations
  82. -minline-stringops-dynamically Inline memset/memcpy string operations, but
  83. perform inline version only for small blocks
  84. -mlarge-data-threshold= Data greater than given threshold will go into
  85. .ldata section in x86-64 medium model
  86. -mlong-double-128 Use 128-bit long double
  87. -mlong-double-64 Use 64-bit long double
  88. -mlong-double-80 Use 80-bit long double
  89. -mlwp Support LWP built-in functions and code
  90. generation
  91. -mlzcnt Support LZCNT built-in function and code
  92. generation
  93. -mmemcpy-strategy= Specify memcpy expansion strategy when expected
  94. size is known
  95. -mmemset-strategy= Specify memset expansion strategy when expected
  96. size is known
  97. -mmmx Support MMX built-in functions
  98. -mmovbe Support code generation of movbe instruction.
  99. -mms-bitfields Use native (MS) bitfield layout
  100. -mno-default Clear all tune features
  101. -mno-sse4 Do not support SSE4.1 and SSE4.2 built-in
  102. functions and code generation
  103. -mnop-fun-dllimport Ignore dllimport for functions
  104. -momit-leaf-frame-pointer Omit the frame pointer in leaf functions
  105. -mpc32 Set 80387 floating-point precision to 32-bit
  106. -mpc64 Set 80387 floating-point precision to 64-bit
  107. -mpc80 Set 80387 floating-point precision to 80-bit
  108. -mpclmul Support PCLMUL built-in functions and code
  109. generation
  110. -mpe-aligned-commons Use the GNU extension to the PE format for
  111. aligned common data
  112. -mpopcnt Support code generation of popcnt instruction.
  113. -mprefer-avx128 Use 128-bit AVX instructions instead of 256-bit
  114. AVX instructions in the auto-vectorizer.
  115. -mpreferred-stack-boundary= Attempt to keep stack aligned to this power of 2
  116. -mprefetchwt1 Support PREFETCHWT1 built-in functions and code
  117. generation
  118. -mprfchw Support PREFETCHW instruction
  119. -mpush-args Use push instructions to save outgoing arguments
  120. -mrdrnd Support RDRND built-in functions and code
  121. generation
  122. -mrdseed Support RDSEED instruction
  123. -mrecip Generate reciprocals instead of divss and sqrtss.
  124. -mrecip= Control generation of reciprocal estimates.
  125. -mred-zone Use red-zone in the x86-64 code
  126. -mregparm= Number of registers used to pass integer arguments
  127. -mrtd Alternate calling convention
  128. -mrtm Support RTM built-in functions and code generation
  129. -msahf Support code generation of sahf instruction in
  130. 64bit x86-64 code.
  131. -msha Support SHA1 and SHA256 built-in functions and
  132. code generation
  133. -msoft-float Do not use hardware fp
  134. -msse Support MMX and SSE built-in functions and code
  135. generation
  136. -msse2 Support MMX, SSE and SSE2 built-in functions and
  137. code generation
  138. -msse2avx Encode SSE instructions with VEX prefix
  139. -msse3 Support MMX, SSE, SSE2 and SSE3 built-in
  140. functions and code generation
  141. -msse4 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and
  142. SSE4.2 built-in functions and code generation
  143. -msse4.1 Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1
  144. built-in functions and code generation
  145. -msse4.2 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and
  146. SSE4.2 built-in functions and code generation
  147. -msse4a Support MMX, SSE, SSE2, SSE3 and SSE4A built-in
  148. functions and code generation
  149. -msseregparm Use SSE register passing conventions for SF and
  150. DF mode
  151. -mssse3 Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in
  152. functions and code generation
  153. -mstack-arg-probe Enable stack probing
  154. -mstack-protector-guard= Use given stack-protector guard
  155. -mstackrealign Realign stack in prologue
  156. -mstringop-strategy= Chose strategy to generate stringop using
  157. -mtbm Support TBM built-in functions and code generation
  158. -mthreads Use Mingw-specific thread support
  159. -mtls-dialect= Use given thread-local storage dialect
  160. -mtls-direct-seg-refs Use direct references against %gs when accessing
  161. tls data
  162. -mtune-ctrl= Fine grain control of tune features
  163. -mtune= Schedule code for given CPU
  164. -municode Use unicode startup and define UNICODE macro
  165. -mveclibabi= Vector library ABI to use
  166. -mvect8-ret-in-mem Return 8-byte vectors in memory
  167. -mvzeroupper Generate vzeroupper instruction before a transfer
  168. of control flow out of the function.
  169. -mwin32 Set Windows defines
  170. -mwindows Create GUI application
  171. -mx32 Generate 32bit x86-64 code
  172. -mxop Support XOP built-in functions and code
  173. generation
  174. -mxsave Support XSAVE and XRSTOR instructions
  175. -mxsaveopt Support XSAVEOPT instruction
  176.  
  177. Known assembler dialects (for use with the -masm-dialect= option):
  178. att intel
  179.  
  180. Known ABIs (for use with the -mabi= option):
  181. ms sysv
  182.  
  183. Known code models (for use with the -mcmodel= option):
  184. 32 kernel large medium small
  185.  
  186. Valid arguments to -mfpmath=:
  187. 387 387+sse 387,sse both sse sse+387 sse,387
  188.  
  189. Known vectorization library ABIs (for use with the -mveclibabi= option):
  190. acml svml
  191.  
  192. Known address mode (for use with the -maddress-mode= option):
  193. long short
  194.  
  195. Known stack protector guard (for use with the -mstack-protector-guard= option):
  196. global tls
  197.  
  198. Valid arguments to -mstringop-strategy=:
  199. byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop
  200. vector_loop
  201.  
  202. Known TLS dialects (for use with the -mtls-dialect= option):
  203. gnu gnu2
  204.  
  205. Assembler options
  206. =================
  207.  
  208. Use "-Wa,OPTION" to pass "OPTION" to the assembler.
  209.  
  210.  
  211. Linker options
  212. ==============
  213.  
  214. Use "-Wl,OPTION" to pass "OPTION" to the linker.
  215.  
  216. i386pep:
  217. --base_file <basefile> Generate a base file for relocatable DLLs
  218. --dll Set image base to the default for DLLs
  219. --file-alignment <size> Set file alignment
  220. --heap <size> Set initial size of the heap
  221. --image-base <address> Set start address of the executable
  222. --major-image-version <number> Set version number of the executable
  223. --major-os-version <number> Set minimum required OS version
  224. --major-subsystem-version <number> Set minimum required OS subsystem version
  225. --minor-image-version <number> Set revision number of the executable
  226. --minor-os-version <number> Set minimum required OS revision
  227. --minor-subsystem-version <number> Set minimum required OS subsystem revision
  228. --section-alignment <size> Set section alignment
  229. --stack <size> Set size of the initial stack
  230. --subsystem <name>[:<version>] Set required OS subsystem [& version]
  231. --support-old-code Support interworking with old code
  232. --[no-]leading-underscore Set explicit symbol underscore prefix mode
  233. --[no-]insert-timestamp Use a real timestamp rather than zero. (default)
  234. This makes binaries non-deterministic
  235. --add-stdcall-alias Export symbols with and without @nn
  236. --disable-stdcall-fixup Don't link _sym to _sym@nn
  237. --enable-stdcall-fixup Link _sym to _sym@nn without warnings
  238. --exclude-symbols sym,sym,... Exclude symbols from automatic export
  239. --exclude-all-symbols Exclude all symbols from automatic export
  240. --exclude-libs lib,lib,... Exclude libraries from automatic export
  241. --exclude-modules-for-implib mod,mod,...
  242. Exclude objects, archive members from auto
  243. export, place into import library instead.
  244. --export-all-symbols Automatically export all globals to DLL
  245. --kill-at Remove @nn from exported symbols
  246. --out-implib <file> Generate import library
  247. --output-def <file> Generate a .DEF file for the built DLL
  248. --warn-duplicate-exports Warn about duplicate exports.
  249. --compat-implib Create backward compatible import libs;
  250. create __imp_<SYMBOL> as well.
  251. --enable-auto-image-base Automatically choose image base for DLLs
  252. unless user specifies one
  253. --disable-auto-image-base Do not auto-choose image base. (default)
  254. --dll-search-prefix=<string> When linking dynamically to a dll without
  255. an importlib, use <string><basename>.dll
  256. in preference to lib<basename>.dll
  257. --enable-auto-import Do sophisticated linking of _sym to
  258. __imp_sym for DATA references
  259. --disable-auto-import Do not auto-import DATA items from DLLs
  260. --enable-runtime-pseudo-reloc Work around auto-import limitations by
  261. adding pseudo-relocations resolved at
  262. runtime.
  263. --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for
  264. auto-imported DATA.
  265. --enable-extra-pep-debug Enable verbose debug output when building
  266. or linking to DLLs (esp. auto-import)
  267. --enable-long-section-names Use long COFF section names even in
  268. executable image files
  269. --disable-long-section-names Never use long COFF section names, even
  270. in object files
  271. --high-entropy-va Image is compatible with 64-bit address space
  272. layout randomization (ASLR)
  273. --dynamicbase Image base address may be relocated using
  274. address space layout randomization (ASLR)
  275. --forceinteg Code integrity checks are enforced
  276. --nxcompat Image is compatible with data execution prevention
  277. --no-isolation Image understands isolation but do not isolate the image
  278. --no-seh Image does not use SEH. No SE handler may
  279. be called in this image
  280. --no-bind Do not bind this image
  281. --wdmdriver Driver uses the WDM model
  282. --tsaware Image is Terminal Server aware
  283. --build-id[=STYLE] Generate build ID
  284. i386pe:
  285. --base_file <basefile> Generate a base file for relocatable DLLs
  286. --dll Set image base to the default for DLLs
  287. --file-alignment <size> Set file alignment
  288. --heap <size> Set initial size of the heap
  289. --image-base <address> Set start address of the executable
  290. --major-image-version <number> Set version number of the executable
  291. --major-os-version <number> Set minimum required OS version
  292. --major-subsystem-version <number> Set minimum required OS subsystem version
  293. --minor-image-version <number> Set revision number of the executable
  294. --minor-os-version <number> Set minimum required OS revision
  295. --minor-subsystem-version <number> Set minimum required OS subsystem revision
  296. --section-alignment <size> Set section alignment
  297. --stack <size> Set size of the initial stack
  298. --subsystem <name>[:<version>] Set required OS subsystem [& version]
  299. --support-old-code Support interworking with old code
  300. --[no-]leading-underscore Set explicit symbol underscore prefix mode
  301. --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>
  302. --[no-]insert-timestamp Use a real timestamp rather than zero (default).
  303. This makes binaries non-deterministic
  304. --add-stdcall-alias Export symbols with and without @nn
  305. --disable-stdcall-fixup Don't link _sym to _sym@nn
  306. --enable-stdcall-fixup Link _sym to _sym@nn without warnings
  307. --exclude-symbols sym,sym,... Exclude symbols from automatic export
  308. --exclude-all-symbols Exclude all symbols from automatic export
  309. --exclude-libs lib,lib,... Exclude libraries from automatic export
  310. --exclude-modules-for-implib mod,mod,...
  311. Exclude objects, archive members from auto
  312. export, place into import library instead.
  313. --export-all-symbols Automatically export all globals to DLL
  314. --kill-at Remove @nn from exported symbols
  315. --out-implib <file> Generate import library
  316. --output-def <file> Generate a .DEF file for the built DLL
  317. --warn-duplicate-exports Warn about duplicate exports
  318. --compat-implib Create backward compatible import libs;
  319. create __imp_<SYMBOL> as well.
  320. --enable-auto-image-base[=<address>] Automatically choose image base for DLLs
  321. (optionally starting with address) unless
  322. specifically set with --image-base
  323. --disable-auto-image-base Do not auto-choose image base. (default)
  324. --dll-search-prefix=<string> When linking dynamically to a dll without
  325. an importlib, use <string><basename>.dll
  326. in preference to lib<basename>.dll
  327. --enable-auto-import Do sophisticated linking of _sym to
  328. __imp_sym for DATA references
  329. --disable-auto-import Do not auto-import DATA items from DLLs
  330. --enable-runtime-pseudo-reloc Work around auto-import limitations by
  331. adding pseudo-relocations resolved at
  332. runtime.
  333. --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for
  334. auto-imported DATA.
  335. --enable-extra-pe-debug Enable verbose debug output when building
  336. or linking to DLLs (esp. auto-import)
  337. --large-address-aware Executable supports virtual addresses
  338. greater than 2 gigabytes
  339. --disable-large-address-aware Executable does not support virtual
  340. addresses greater than 2 gigabytes
  341. --enable-long-section-names Use long COFF section names even in
  342. executable image files
  343. --disable-long-section-names Never use long COFF section names, even
  344. in object files
  345. --dynamicbase Image base address may be relocated using
  346. address space layout randomization (ASLR)
  347. --forceinteg Code integrity checks are enforced
  348. --nxcompat Image is compatible with data execution prevention
  349. --no-isolation Image understands isolation but do not isolate the image
  350. --no-seh Image does not use SEH. No SE handler may
  351. be called in this image
  352. --no-bind Do not bind this image
  353. --wdmdriver Driver uses the WDM model
  354. --tsaware Image is Terminal Server aware
  355. --build-id[=STYLE] Generate build ID
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement