$ 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 <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
--thumb-entry=<symbol> Set the entry point to be Thumb <symbol>
--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 <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 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
$