Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- The following options are target specific:
- -m128bit-long-double sizeof(long double) is 16
- -m16 Generate 16bit i386 code
- -m32 Generate 32bit i386 code
- -m3dnow Support 3DNow! built-in functions
- -m64 Generate 64bit x86-64 code
- -m80387 Use hardware fp
- -m8bit-idiv Expand 32bit/64bit integer divide into 8bit
- unsigned integer divide with run-time check
- -m96bit-long-double sizeof(long double) is 12
- -mabi= Generate code that conforms to the given ABI
- -mabm Support code generation of Advanced Bit
- Manipulation (ABM) instructions.
- -maccumulate-outgoing-args Reserve space for outgoing arguments in the
- function prologue
- -maddress-mode= Use given address mode
- -madx Support flag-preserving add-carry instructions
- -maes Support AES built-in functions and code generation
- -malign-double Align some doubles on dword boundary
- -malign-functions= Function starts are aligned to this power of 2
- -malign-jumps= Jump targets are aligned to this power of 2
- -malign-loops= Loop code aligned to this power of 2
- -malign-stringops Align destination of the string operations
- -march= Generate code for given CPU
- -masm= Use given assembler dialect
- -mavx Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
- SSE4.2 and AVX built-in functions and code
- generation
- -mavx2 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
- SSE4.2, AVX and AVX2 built-in functions and code
- generation
- -mavx256-split-unaligned-load Split 32-byte AVX unaligned load
- -mavx256-split-unaligned-store Split 32-byte AVX unaligned store
- -mavx512cd Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
- SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built-
- in functions and code generation
- -mavx512er Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
- SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built-
- in functions and code generation
- -mavx512f Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
- SSE4.2, AVX, AVX2 and AVX512F built-in functions
- and code generation
- -mavx512pf Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
- SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built-
- in functions and code generation
- -mbmi Support BMI built-in functions and code generation
- -mbmi2 Support BMI2 built-in functions and code
- generation
- -mbranch-cost= Branches are this expensive (1-5, arbitrary units)
- -mcld Generate cld instruction in the function prologue.
- -mcmodel= Use given x86-64 code model
- -mconsole Create console application
- -mcrc32 Support code generation of crc32 instruction.
- -mcx16 Support code generation of cmpxchg16b instruction.
- -mdispatch-scheduler Do dispatch scheduling if processor is bdver1 or
- bdver2 or bdver3 or bdver4 and Haifa scheduling
- is selected.
- -mdll Generate code for a DLL
- -mf16c Support F16C built-in functions and code
- generation
- -mfancy-math-387 Generate sin, cos, sqrt for FPU
- -mfentry Emit profiling counter call at function entry
- before prologue.
- -mfma Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
- SSE4.2, AVX and FMA built-in functions and code
- generation
- -mfma4 Support FMA4 built-in functions and code
- generation
- -mforce-drap Always use Dynamic Realigned Argument Pointer
- (DRAP) to realign stack
- -mfp-ret-in-387 Return values of functions in FPU registers
- -mfpmath= Generate floating point mathematics using given
- instruction set
- -mfsgsbase Support FSGSBASE built-in functions and code
- generation
- -mfxsr Support FXSAVE and FXRSTOR instructions
- -mhard-float Use hardware fp
- -mhle Support Hardware Lock Elision prefixes
- -mieee-fp Use IEEE math for fp comparisons
- -mincoming-stack-boundary= Assume incoming stack aligned to this power of 2
- -minline-all-stringops Inline all known string operations
- -minline-stringops-dynamically Inline memset/memcpy string operations, but
- perform inline version only for small blocks
- -mlarge-data-threshold= Data greater than given threshold will go into
- .ldata section in x86-64 medium model
- -mlong-double-128 Use 128-bit long double
- -mlong-double-64 Use 64-bit long double
- -mlong-double-80 Use 80-bit long double
- -mlwp Support LWP built-in functions and code
- generation
- -mlzcnt Support LZCNT built-in function and code
- generation
- -mmemcpy-strategy= Specify memcpy expansion strategy when expected
- size is known
- -mmemset-strategy= Specify memset expansion strategy when expected
- size is known
- -mmmx Support MMX built-in functions
- -mmovbe Support code generation of movbe instruction.
- -mms-bitfields Use native (MS) bitfield layout
- -mno-default Clear all tune features
- -mno-sse4 Do not support SSE4.1 and SSE4.2 built-in
- functions and code generation
- -mnop-fun-dllimport Ignore dllimport for functions
- -momit-leaf-frame-pointer Omit the frame pointer in leaf functions
- -mpc32 Set 80387 floating-point precision to 32-bit
- -mpc64 Set 80387 floating-point precision to 64-bit
- -mpc80 Set 80387 floating-point precision to 80-bit
- -mpclmul Support PCLMUL built-in functions and code
- generation
- -mpe-aligned-commons Use the GNU extension to the PE format for
- aligned common data
- -mpopcnt Support code generation of popcnt instruction.
- -mprefer-avx128 Use 128-bit AVX instructions instead of 256-bit
- AVX instructions in the auto-vectorizer.
- -mpreferred-stack-boundary= Attempt to keep stack aligned to this power of 2
- -mprefetchwt1 Support PREFETCHWT1 built-in functions and code
- generation
- -mprfchw Support PREFETCHW instruction
- -mpush-args Use push instructions to save outgoing arguments
- -mrdrnd Support RDRND built-in functions and code
- generation
- -mrdseed Support RDSEED instruction
- -mrecip Generate reciprocals instead of divss and sqrtss.
- -mrecip= Control generation of reciprocal estimates.
- -mred-zone Use red-zone in the x86-64 code
- -mregparm= Number of registers used to pass integer arguments
- -mrtd Alternate calling convention
- -mrtm Support RTM built-in functions and code generation
- -msahf Support code generation of sahf instruction in
- 64bit x86-64 code.
- -msha Support SHA1 and SHA256 built-in functions and
- code generation
- -msoft-float Do not use hardware fp
- -msse Support MMX and SSE built-in functions and code
- generation
- -msse2 Support MMX, SSE and SSE2 built-in functions and
- code generation
- -msse2avx Encode SSE instructions with VEX prefix
- -msse3 Support MMX, SSE, SSE2 and SSE3 built-in
- functions and code generation
- -msse4 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and
- SSE4.2 built-in functions and code generation
- -msse4.1 Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1
- built-in functions and code generation
- -msse4.2 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and
- SSE4.2 built-in functions and code generation
- -msse4a Support MMX, SSE, SSE2, SSE3 and SSE4A built-in
- functions and code generation
- -msseregparm Use SSE register passing conventions for SF and
- DF mode
- -mssse3 Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in
- functions and code generation
- -mstack-arg-probe Enable stack probing
- -mstack-protector-guard= Use given stack-protector guard
- -mstackrealign Realign stack in prologue
- -mstringop-strategy= Chose strategy to generate stringop using
- -mtbm Support TBM built-in functions and code generation
- -mthreads Use Mingw-specific thread support
- -mtls-dialect= Use given thread-local storage dialect
- -mtls-direct-seg-refs Use direct references against %gs when accessing
- tls data
- -mtune-ctrl= Fine grain control of tune features
- -mtune= Schedule code for given CPU
- -municode Use unicode startup and define UNICODE macro
- -mveclibabi= Vector library ABI to use
- -mvect8-ret-in-mem Return 8-byte vectors in memory
- -mvzeroupper Generate vzeroupper instruction before a transfer
- of control flow out of the function.
- -mwin32 Set Windows defines
- -mwindows Create GUI application
- -mx32 Generate 32bit x86-64 code
- -mxop Support XOP built-in functions and code
- generation
- -mxsave Support XSAVE and XRSTOR instructions
- -mxsaveopt Support XSAVEOPT instruction
- Known assembler dialects (for use with the -masm-dialect= option):
- att intel
- Known ABIs (for use with the -mabi= option):
- ms sysv
- Known code models (for use with the -mcmodel= option):
- 32 kernel large medium small
- Valid arguments to -mfpmath=:
- 387 387+sse 387,sse both sse sse+387 sse,387
- Known vectorization library ABIs (for use with the -mveclibabi= option):
- acml svml
- Known address mode (for use with the -maddress-mode= option):
- long short
- Known stack protector guard (for use with the -mstack-protector-guard= option):
- global tls
- Valid arguments to -mstringop-strategy=:
- byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop
- vector_loop
- Known TLS dialects (for use with the -mtls-dialect= option):
- gnu gnu2
- Assembler options
- =================
- Use "-Wa,OPTION" to pass "OPTION" to the assembler.
- Linker options
- ==============
- Use "-Wl,OPTION" to pass "OPTION" to the linker.
- i386pep:
- --base_file <basefile> Generate a base file for relocatable DLLs
- --dll Set image base to the default for DLLs
- --file-alignment <size> Set file alignment
- --heap <size> Set initial size of the heap
- --image-base <address> Set start address of the executable
- --major-image-version <number> Set version number of the executable
- --major-os-version <number> Set minimum required OS version
- --major-subsystem-version <number> Set minimum required OS subsystem version
- --minor-image-version <number> Set revision number of the executable
- --minor-os-version <number> Set minimum required OS revision
- --minor-subsystem-version <number> Set minimum required OS subsystem revision
- --section-alignment <size> Set section alignment
- --stack <size> Set size of the initial stack
- --subsystem <name>[:<version>] Set required OS subsystem [& version]
- --support-old-code Support interworking with old code
- --[no-]leading-underscore Set explicit symbol underscore prefix mode
- --[no-]insert-timestamp Use a real timestamp rather than zero. (default)
- This makes binaries non-deterministic
- --add-stdcall-alias Export symbols with and without @nn
- --disable-stdcall-fixup Don't link _sym to _sym@nn
- --enable-stdcall-fixup Link _sym to _sym@nn without warnings
- --exclude-symbols sym,sym,... Exclude symbols from automatic export
- --exclude-all-symbols Exclude all symbols from automatic export
- --exclude-libs lib,lib,... Exclude libraries from automatic export
- --exclude-modules-for-implib mod,mod,...
- Exclude objects, archive members from auto
- export, place into import library instead.
- --export-all-symbols Automatically export all globals to DLL
- --kill-at Remove @nn from exported symbols
- --out-implib <file> Generate import library
- --output-def <file> Generate a .DEF file for the built DLL
- --warn-duplicate-exports Warn about duplicate exports.
- --compat-implib Create backward compatible import libs;
- create __imp_<SYMBOL> as well.
- --enable-auto-image-base Automatically choose image base for DLLs
- unless user specifies one
- --disable-auto-image-base Do not auto-choose image base. (default)
- --dll-search-prefix=<string> When linking dynamically to a dll without
- an importlib, use <string><basename>.dll
- in preference to lib<basename>.dll
- --enable-auto-import Do sophisticated linking of _sym to
- __imp_sym for DATA references
- --disable-auto-import Do not auto-import DATA items from DLLs
- --enable-runtime-pseudo-reloc Work around auto-import limitations by
- adding pseudo-relocations resolved at
- runtime.
- --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for
- auto-imported DATA.
- --enable-extra-pep-debug Enable verbose debug output when building
- or linking to DLLs (esp. auto-import)
- --enable-long-section-names Use long COFF section names even in
- executable image files
- --disable-long-section-names Never use long COFF section names, even
- in object files
- --high-entropy-va Image is compatible with 64-bit address space
- layout randomization (ASLR)
- --dynamicbase Image base address may be relocated using
- address space layout randomization (ASLR)
- --forceinteg Code integrity checks are enforced
- --nxcompat Image is compatible with data execution prevention
- --no-isolation Image understands isolation but do not isolate the image
- --no-seh Image does not use SEH. No SE handler may
- be called in this image
- --no-bind Do not bind this image
- --wdmdriver Driver uses the WDM model
- --tsaware Image is Terminal Server aware
- --build-id[=STYLE] Generate build ID
- i386pe:
- --base_file <basefile> Generate a base file for relocatable DLLs
- --dll Set image base to the default for DLLs
- --file-alignment <size> Set file alignment
- --heap <size> Set initial size of the heap
- --image-base <address> Set start address of the executable
- --major-image-version <number> Set version number of the executable
- --major-os-version <number> Set minimum required OS version
- --major-subsystem-version <number> Set minimum required OS subsystem version
- --minor-image-version <number> Set revision number of the executable
- --minor-os-version <number> Set minimum required OS revision
- --minor-subsystem-version <number> Set minimum required OS subsystem revision
- --section-alignment <size> Set section alignment
- --stack <size> Set size of the initial stack
- --subsystem <name>[:<version>] Set required OS subsystem [& version]
- --support-old-code Support interworking with old code
- --[no-]leading-underscore Set explicit symbol underscore prefix mode
- --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>
- --[no-]insert-timestamp Use a real timestamp rather than zero (default).
- This makes binaries non-deterministic
- --add-stdcall-alias Export symbols with and without @nn
- --disable-stdcall-fixup Don't link _sym to _sym@nn
- --enable-stdcall-fixup Link _sym to _sym@nn without warnings
- --exclude-symbols sym,sym,... Exclude symbols from automatic export
- --exclude-all-symbols Exclude all symbols from automatic export
- --exclude-libs lib,lib,... Exclude libraries from automatic export
- --exclude-modules-for-implib mod,mod,...
- Exclude objects, archive members from auto
- export, place into import library instead.
- --export-all-symbols Automatically export all globals to DLL
- --kill-at Remove @nn from exported symbols
- --out-implib <file> Generate import library
- --output-def <file> Generate a .DEF file for the built DLL
- --warn-duplicate-exports Warn about duplicate exports
- --compat-implib Create backward compatible import libs;
- create __imp_<SYMBOL> as well.
- --enable-auto-image-base[=<address>] Automatically choose image base for DLLs
- (optionally starting with address) unless
- specifically set with --image-base
- --disable-auto-image-base Do not auto-choose image base. (default)
- --dll-search-prefix=<string> When linking dynamically to a dll without
- an importlib, use <string><basename>.dll
- in preference to lib<basename>.dll
- --enable-auto-import Do sophisticated linking of _sym to
- __imp_sym for DATA references
- --disable-auto-import Do not auto-import DATA items from DLLs
- --enable-runtime-pseudo-reloc Work around auto-import limitations by
- adding pseudo-relocations resolved at
- runtime.
- --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for
- auto-imported DATA.
- --enable-extra-pe-debug Enable verbose debug output when building
- or linking to DLLs (esp. auto-import)
- --large-address-aware Executable supports virtual addresses
- greater than 2 gigabytes
- --disable-large-address-aware Executable does not support virtual
- addresses greater than 2 gigabytes
- --enable-long-section-names Use long COFF section names even in
- executable image files
- --disable-long-section-names Never use long COFF section names, even
- in object files
- --dynamicbase Image base address may be relocated using
- address space layout randomization (ASLR)
- --forceinteg Code integrity checks are enforced
- --nxcompat Image is compatible with data execution prevention
- --no-isolation Image understands isolation but do not isolate the image
- --no-seh Image does not use SEH. No SE handler may
- be called in this image
- --no-bind Do not bind this image
- --wdmdriver Driver uses the WDM model
- --tsaware Image is Terminal Server aware
- --build-id[=STYLE] Generate build ID
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement