$ gcc --version gcc (GCC) 4.2.0 Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. IriX64@FthrNtr ~/gcc-4.2.0/objects $ gcc --target-help Target specific options: -m128bit-long-double sizeof(long double) is 16 -m32 Generate 32bit i386 code -m3dnow Support 3DNow! built-in functions -m64 Generate 64bit x86-64 code -m80387 Use hardware fp -m96bit-long-double sizeof(long double) is 12 -maccumulate-outgoing-args Reserve space for outgoing arguments in the function prologue -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 -mbranch-cost= Branches are this expensive (1-5, arbitrary units) -mcmodel= Use given x86-64 code model -mconsole Create console application -mcygwin Use the Cygwin interface -mdll Generate code for a DLL -mfancy-math-387 Generate sin, cos, sqrt for FPU -mfp-ret-in-387 Return values of functions in FPU registers -mfpmath= Generate floating point mathematics using given instruction set -mhard-float Use hardware fp -mieee-fp Use IEEE math for fp comparisons -minline-all-stringops Inline all known string operations -mlarge-data-threshold= Data greater than given threshold will go into .ldata section in x86-64 medium model -mmmx Support MMX built-in functions -mms-bitfields Use native (MS) bitfield layout -mnop-fun-dllimport Ignore dllimport for functions -momit-leaf-frame-pointer Omit the frame pointer in leaf functions -mpreferred-stack-boundary= Attempt to keep stack aligned to this power of 2 -mpush-args Use push instructions to save outgoing arguments -mred-zone Use red-zone in the x86-64 code -mregparm= Number of registers used to pass integer arguments -mrtd Alternate calling convention -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 -msse3 Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation -msseregparm Use SSE register passing conventions for SF and DF mode -mstack-arg-probe Enable stack probing -mstackrealign Realign stack in prologue -msvr3-shlib Uninitialized locals in .bss -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= Schedule code for given CPU -mwin32 Set Windows defines -mwindows Create GUI application -n Do not optimize code alignment -q quieten some warnings --divide ignored -march=CPU/-mtune=CPU generate code/optimize for CPU, where CPU is one of: i386, i486, pentium, pentiumpro, pentium4, nocona, yonah, merom, k6, athlon, k8, generic32, generic64 i386pe: --base_file Generate a base file for relocatable DLLs --dll Set image base to the default for DLLs --file-alignment Set file alignment --heap Set initial size of the heap --image-base
Set start address of the executable --major-image-version Set version number of the executable --major-os-version Set minimum required OS version --major-subsystem-version Set minimum required OS subsystem version --minor-image-version Set revision number of the executable --minor-os-version Set minimum required OS revision --minor-subsystem-version Set minimum required OS subsystem revision --section-alignment Set section alignment --stack Set size of the initial stack --subsystem [:] Set required OS subsystem [& version] --support-old-code Support interworking with old code --thumb-entry= Set the entry point to be Thumb --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-libs lib,lib,... Exclude libraries from automatic export --export-all-symbols Automatically export all globals to DLL --kill-at Remove @nn from exported symbols --out-implib Generate import library --output-def Generate a .DEF file for the built DLL --warn-duplicate-exports Warn about duplicate exports. --compat-implib Create backward compatible import libs; create __imp_ 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= When linking dynamically to a dll without an importlib, use .dll in preference to lib.dll --enable-auto-import Do sophistcated 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 IriX64@FthrNtr ~/gcc-4.2.0/objects $