Table of Contents
优化选项-O0
优化选项-O1
优化选项-O2
优化选项-O3
优化选项-OS
支持CPU类型target
gcc编译器优化选项O0, O1, O2, O3, Os时我们有时想查看详细信息,可以使用以下命令查看
#linux# gcc编译优化-O0 -O1 -O2 -O3 -OS说明
https://blog.csdn.net/xiaoting451292510/article/details/104977828
gcc -Q --help=optimizers -O1 > O1.txt
目前所用的gcc支持CPU类型
gcc -Q --target-help > target.txt
The following options control optimizations:
-O
-Ofast
-Og
-Os
-faggressive-loop-optimizations [enabled]
-falign-functions [disabled]
-falign-jumps [disabled]
-falign-labels [disabled]
-falign-loops [disabled]
-fassociative-math [disabled]
-fasynchronous-unwind-tables [enabled]
-fauto-inc-dec [enabled]
-fbranch-count-reg [disabled]
-fbranch-probabilities [disabled]
-fbranch-target-load-optimize [disabled]
-fbranch-target-load-optimize2 [disabled]
-fbtr-bb-exclusive [disabled]
-fcaller-saves [disabled]
-fcombine-stack-adjustments [disabled]
-fcompare-elim [disabled]
-fconserve-stack [disabled]
-fcprop-registers [disabled]
-fcrossjumping [disabled]
-fcse-follow-jumps [disabled]
-fcx-fortran-rules [disabled]
-fcx-limited-range [disabled]
-fdce [enabled]
-fdefer-pop [disabled]
-fdelayed-branch [disabled]
-fdelete-dead-exceptions [disabled]
-fdelete-null-pointer-checks [enabled]
-fdevirtualize [disabled]
-fdevirtualize-speculatively [disabled]
-fdse [enabled]
-fearly-inlining [enabled]
-fexceptions [disabled]
-fexpensive-optimizations [disabled]
-ffinite-math-only [disabled]
-ffloat-store [disabled]
-fforward-propagate [disabled]
-ffp-contract= fast
-ffunction-cse [enabled]
-fgcse [disabled]
-fgcse-after-reload [disabled]
-fgcse-las [disabled]
-fgcse-lm [enabled]
-fgcse-sm [disabled]
-fgraphite [disabled]
-fgraphite-identity [disabled]
-fguess-branch-probability [disabled]
-fhandle-exceptions
-fhoist-adjacent-loads [disabled]
-fif-conversion [disabled]
-fif-conversion2 [disabled]
-findirect-inlining [disabled]
-finline [enabled]
-finline-atomics [enabled]
-finline-functions [disabled]
-finline-functions-called-once [disabled]
-finline-small-functions [disabled]
-fipa-cp [disabled]
-fipa-cp-alignment [disabled]
-fipa-cp-clone [disabled]
-fipa-icf [disabled]
-fipa-icf-functions [disabled]
-fipa-profile [disabled]
-fipa-pta [disabled]
-fipa-pure-const [disabled]
-fipa-ra [disabled]
-fipa-reference [disabled]
-fipa-sra [disabled]
-fira-algorithm= CB
-fira-hoist-pressure [enabled]
-fira-loop-pressure [disabled]
-fira-region= [default]
-fira-share-save-slots [enabled]
-fira-share-spill-slots [enabled]
-fisolate-erroneous-paths-attribute [disabled]
-fisolate-erroneous-paths-dereference [disabled]
-fivopts [enabled]
-fjump-tables [enabled]
-flifetime-dse [enabled]
-flive-range-shrinkage [disabled]
-floop-block [disabled]
-floop-interchange [disabled]
-floop-nest-optimize [disabled]
-floop-parallelize-all [disabled]
-floop-strip-mine [disabled]
-floop-unroll-and-jam [disabled]
-flra-remat [disabled]
-fmath-errno [enabled]
-fmodulo-sched [disabled]
-fmodulo-sched-allow-regmoves [disabled]
-fmove-loop-invariants [disabled]
-fnon-call-exceptions [disabled]
-fnothrow-opt [disabled]
-fomit-frame-pointer [disabled]
-fopt-info [disabled]
-foptimize-sibling-calls [disabled]
-foptimize-strlen [disabled]
-fpack-struct [disabled]
-fpack-struct=
-fpartial-inlining [disabled]
-fpeel-loops [disabled]
-fpeephole [enabled]
-fpeephole2 [disabled]
-fpredictive-commoning [disabled]
-fprefetch-loop-arrays [enabled]
-freciprocal-math [disabled]
-freg-struct-return [disabled]
-frename-registers [enabled]
-freorder-blocks [disabled]
-freorder-blocks-and-partition [disabled]
-freorder-functions [disabled]
-frerun-cse-after-loop [disabled]
-freschedule-modulo-scheduled-loops [disabled]
-frounding-math [disabled]
-frtti [enabled]
-fsched-critical-path-heuristic [enabled]
-fsched-dep-count-heuristic [enabled]
-fsched-group-heuristic [enabled]
-fsched-interblock [enabled]
-fsched-last-insn-heuristic [enabled]
-fsched-pressure [disabled]
-fsched-rank-heuristic [enabled]
-fsched-spec [enabled]
-fsched-spec-insn-heuristic [enabled]
-fsched-spec-load [disabled]
-fsched-spec-load-dangerous [disabled]
-fsched-stalled-insns [disabled]
-fsched-stalled-insns-dep [enabled]
-fsched-stalled-insns-dep=
-fsched-stalled-insns=
-fsched2-use-superblocks [disabled]
-fschedule-fusion [enabled]
-fschedule-insns [disabled]
-fschedule-insns2 [disabled]
-fsection-anchors [disabled]
-fsel-sched-pipelining [disabled]
-fsel-sched-pipelining-outer-loops [disabled]
-fsel-sched-reschedule-pipelined [disabled]
-fselective-scheduling [disabled]
-fselective-scheduling2 [disabled]
-fshort-double [disabled]
-fshort-enums [enabled]
-fshort-wchar [disabled]
-fshrink-wrap [disabled]
-fsignaling-nans [disabled]
-fsigned-zeros [enabled]
-fsimd-cost-model= unlimited
-fsingle-precision-constant [disabled]
-fsplit-ivs-in-unroller [enabled]
-fsplit-wide-types [disabled]
-fssa-phiopt [disabled]
-fstack-reuse= all
-fstdarg-opt [enabled]
-fstrict-aliasing [disabled]
-fstrict-enums [disabled]
-fstrict-overflow [disabled]
-fstrict-volatile-bitfields [enabled]
-fthread-jumps [disabled]
-fno-threadsafe-statics [enabled]
-ftracer [disabled]
-ftrapping-math [enabled]
-ftrapv [disabled]
-ftree-bit-ccp [disabled]
-ftree-builtin-call-dce [disabled]
-ftree-ccp [disabled]
-ftree-ch [disabled]
-ftree-coalesce-inlined-vars [disabled]
-ftree-coalesce-vars [enabled]
-ftree-copy-prop [disabled]
-ftree-copyrename [disabled]
-ftree-cselim [enabled]
-ftree-dce [disabled]
-ftree-dominator-opts [disabled]
-ftree-dse [disabled]
-ftree-forwprop [enabled]
-ftree-fre [disabled]
-ftree-loop-distribute-patterns [disabled]
-ftree-loop-distribution [disabled]
-ftree-loop-if-convert [enabled]
-ftree-loop-if-convert-stores [disabled]
-ftree-loop-im [enabled]
-ftree-loop-ivcanon [enabled]
-ftree-loop-optimize [enabled]
-ftree-loop-vectorize [disabled]
-ftree-lrs [disabled]
-ftree-parallelize-loops= 0x1
-ftree-partial-pre [disabled]
-ftree-phiprop [enabled]
-ftree-pre [disabled]
-ftree-pta [disabled]
-ftree-reassoc [enabled]
-ftree-scev-cprop [enabled]
-ftree-sink [disabled]
-ftree-slp-vectorize [disabled]
-ftree-slsr [disabled]
-ftree-sra [disabled]
-ftree-switch-conversion [disabled]
-ftree-tail-merge [disabled]
-ftree-ter [disabled]
-ftree-vectorize [disabled]
-ftree-vrp [disabled]
-funroll-all-loops [disabled]
-funroll-loops [disabled]
-funsafe-loop-optimizations [disabled]
-funsafe-math-optimizations [disabled]
-funswitch-loops [disabled]
-funwind-tables [disabled]
-fvar-tracking [enabled]
-fvar-tracking-assignments [enabled]
-fvar-tracking-assignments-toggle [disabled]
-fvar-tracking-uninit [disabled]
-fvariable-expansion-in-unroller [disabled]
-fvect-cost-model= [default]
-fvpt [disabled]
-fweb [enabled]
-fwrapv [disabled]
The following options control optimizations:
-O
-Ofast
-Og
-Os
-faggressive-loop-optimizations [enabled]
-falign-functions [disabled]
-falign-jumps [disabled]
-falign-labels [disabled]
-falign-loops [disabled]
-fassociative-math [disabled]
-fasynchronous-unwind-tables [enabled]
-fauto-inc-dec [enabled]
-fbranch-count-reg [enabled]
-fbranch-probabilities [disabled]
-fbranch-target-load-optimize [disabled]
-fbranch-target-load-optimize2 [disabled]
-fbtr-bb-exclusive [disabled]
-fcaller-saves [disabled]
-fcombine-stack-adjustments [enabled]
-fcompare-elim [enabled]
-fconserve-stack [disabled]
-fcprop-registers [enabled]
-fcrossjumping [disabled]
-fcse-follow-jumps [disabled]
-fcx-fortran-rules [disabled]
-fcx-limited-range [disabled]
-fdce [enabled]
-fdefer-pop [enabled]
-fdelayed-branch [disabled]
-fdelete-dead-exceptions [disabled]
-fdelete-null-pointer-checks [enabled]
-fdevirtualize [disabled]
-fdevirtualize-speculatively [disabled]
-fdse [enabled]
-fearly-inlining [enabled]
-fexceptions [disabled]
-fexpensive-optimizations [disabled]
-ffinite-math-only [disabled]
-ffloat-store [disabled]
-fforward-propagate [enabled]
-ffp-contract= fast
-ffunction-cse [enabled]
-fgcse [disabled]
-fgcse-after-reload [disabled]
-fgcse-las [disabled]
-fgcse-lm [enabled]
-fgcse-sm [disabled]
-fgraphite [disabled]
-fgraphite-identity [disabled]
-fguess-branch-probability [enabled]
-fhandle-exceptions
-fhoist-adjacent-loads [disabled]
-fif-conversion [enabled]
-fif-conversion2 [enabled]
-findirect-inlining [disabled]
-finline [enabled]
-finline-atomics [enabled]
-finline-functions [disabled]
-finline-functions-called-once [enabled]
-finline-small-functions [disabled]
-fipa-cp [disabled]
-fipa-cp-alignment [disabled]
-fipa-cp-clone [disabled]
-fipa-icf [disabled]
-fipa-icf-functions [disabled]
-fipa-profile [enabled]
-fipa-pta [disabled]
-fipa-pure-const [enabled]
-fipa-ra [disabled]
-fipa-reference [enabled]
-fipa-sra [disabled]
-fira-algorithm= CB
-fira-hoist-pressure [enabled]
-fira-loop-pressure [disabled]
-fira-region= [default]
-fira-share-save-slots [enabled]
-fira-share-spill-slots [enabled]
-fisolate-erroneous-paths-attribute [disabled]
-fisolate-erroneous-paths-dereference [disabled]
-fivopts [enabled]
-fjump-tables [enabled]
-flifetime-dse [enabled]
-flive-range-shrinkage [disabled]
-floop-block [disabled]
-floop-interchange [disabled]
-floop-nest-optimize [disabled]
-floop-parallelize-all [disabled]
-floop-strip-mine [disabled]
-floop-unroll-and-jam [disabled]
-flra-remat [disabled]
-fmath-errno [enabled]
-fmodulo-sched [disabled]
-fmodulo-sched-allow-regmoves [disabled]
-fmove-loop-invariants [enabled]
-fnon-call-exceptions [disabled]
-fnothrow-opt [disabled]
-fomit-frame-pointer [disabled]
-fopt-info [disabled]
-foptimize-sibling-calls [disabled]
-foptimize-strlen [disabled]
-fpack-struct [disabled]
-fpack-struct=
-fpartial-inlining [disabled]
-fpeel-loops [disabled]
-fpeephole [enabled]
-fpeephole2 [disabled]
-fpredictive-commoning [disabled]
-fprefetch-loop-arrays [enabled]
-freciprocal-math [disabled]
-freg-struct-return [disabled]
-frename-registers [enabled]
-freorder-blocks [disabled]
-freorder-blocks-and-partition [disabled]
-freorder-functions [disabled]
-frerun-cse-after-loop [disabled]
-freschedule-modulo-scheduled-loops [disabled]
-frounding-math [disabled]
-frtti [enabled]
-fsched-critical-path-heuristic [enabled]
-fsched-dep-count-heuristic [enabled]
-fsched-group-heuristic [enabled]
-fsched-interblock [enabled]
-fsched-last-insn-heuristic [enabled]
-fsched-pressure [disabled]
-fsched-rank-heuristic [enabled]
-fsched-spec [enabled]
-fsched-spec-insn-heuristic [enabled]
-fsched-spec-load [disabled]
-fsched-spec-load-dangerous [disabled]
-fsched-stalled-insns [disabled]
-fsched-stalled-insns-dep [enabled]
-fsched-stalled-insns-dep=
-fsched-stalled-insns=
-fsched2-use-superblocks [disabled]
-fschedule-fusion [enabled]
-fschedule-insns [disabled]
-fschedule-insns2 [disabled]
-fsection-anchors [disabled]
-fsel-sched-pipelining [disabled]
-fsel-sched-pipelining-outer-loops [disabled]
-fsel-sched-reschedule-pipelined [disabled]
-fselective-scheduling [disabled]
-fselective-scheduling2 [disabled]
-fshort-double [disabled]
-fshort-enums [enabled]
-fshort-wchar [disabled]
-fshrink-wrap [enabled]
-fsignaling-nans [disabled]
-fsigned-zeros [enabled]
-fsimd-cost-model= unlimited
-fsingle-precision-constant [disabled]
-fsplit-ivs-in-unroller [enabled]
-fsplit-wide-types [enabled]
-fssa-phiopt [enabled]
-fstack-reuse= all
-fstdarg-opt [enabled]
-fstrict-aliasing [disabled]
-fstrict-enums [disabled]
-fstrict-overflow [disabled]
-fstrict-volatile-bitfields [enabled]
-fthread-jumps [disabled]
-fno-threadsafe-statics [enabled]
-ftracer [disabled]
-ftrapping-math [enabled]
-ftrapv [disabled]
-ftree-bit-ccp [enabled]
-ftree-builtin-call-dce [disabled]
-ftree-ccp [enabled]
-ftree-ch [enabled]
-ftree-coalesce-inlined-vars [disabled]
-ftree-coalesce-vars [enabled]
-ftree-copy-prop [enabled]
-ftree-copyrename [enabled]
-ftree-cselim [enabled]
-ftree-dce [enabled]
-ftree-dominator-opts [enabled]
-ftree-dse [enabled]
-ftree-forwprop [enabled]
-ftree-fre [enabled]
-ftree-loop-distribute-patterns [disabled]
-ftree-loop-distribution [disabled]
-ftree-loop-if-convert [enabled]
-ftree-loop-if-convert-stores [disabled]
-ftree-loop-im [enabled]
-ftree-loop-ivcanon [enabled]
-ftree-loop-optimize [enabled]
-ftree-loop-vectorize [disabled]
-ftree-lrs [disabled]
-ftree-parallelize-loops= 0x1
-ftree-partial-pre [disabled]
-ftree-phiprop [enabled]
-ftree-pre [disabled]
-ftree-pta [enabled]
-ftree-reassoc [enabled]
-ftree-scev-cprop [enabled]
-ftree-sink [enabled]
-ftree-slp-vectorize [disabled]
-ftree-slsr [enabled]
-ftree-sra [enabled]
-ftree-switch-conversion [disabled]
-ftree-tail-merge [disabled]
-ftree-ter [enabled]
-ftree-vectorize [disabled]
-ftree-vrp [disabled]
-funroll-all-loops [disabled]
-funroll-loops [disabled]
-funsafe-loop-optimizations [disabled]
-funsafe-math-optimizations [disabled]
-funswitch-loops [disabled]
-funwind-tables [disabled]
-fvar-tracking [enabled]
-fvar-tracking-assignments [enabled]
-fvar-tracking-assignments-toggle [disabled]
-fvar-tracking-uninit [disabled]
-fvariable-expansion-in-unroller [disabled]
-fvect-cost-model= [default]
-fvpt [disabled]
-fweb [enabled]
-fwrapv [disabled]
The following options control optimizations:
-O
-Ofast
-Og
-Os
-faggressive-loop-optimizations [enabled]
-falign-functions [enabled]
-falign-jumps [enabled]
-falign-labels [enabled]
-falign-loops [enabled]
-fassociative-math [disabled]
-fasynchronous-unwind-tables [enabled]
-fauto-inc-dec [enabled]
-fbranch-count-reg [enabled]
-fbranch-probabilities [disabled]
-fbranch-target-load-optimize [disabled]
-fbranch-target-load-optimize2 [disabled]
-fbtr-bb-exclusive [disabled]
-fcaller-saves [enabled]
-fcombine-stack-adjustments [enabled]
-fcompare-elim [enabled]
-fconserve-stack [disabled]
-fcprop-registers [enabled]
-fcrossjumping [enabled]
-fcse-follow-jumps [enabled]
-fcx-fortran-rules [disabled]
-fcx-limited-range [disabled]
-fdce [enabled]
-fdefer-pop [enabled]
-fdelayed-branch [disabled]
-fdelete-dead-exceptions [disabled]
-fdelete-null-pointer-checks [enabled]
-fdevirtualize [enabled]
-fdevirtualize-speculatively [enabled]
-fdse [enabled]
-fearly-inlining [enabled]
-fexceptions [disabled]
-fexpensive-optimizations [enabled]
-ffinite-math-only [disabled]
-ffloat-store [disabled]
-fforward-propagate [enabled]
-ffp-contract= fast
-ffunction-cse [enabled]
-fgcse [enabled]
-fgcse-after-reload [disabled]
-fgcse-las [disabled]
-fgcse-lm [enabled]
-fgcse-sm [disabled]
-fgraphite [disabled]
-fgraphite-identity [disabled]
-fguess-branch-probability [enabled]
-fhandle-exceptions
-fhoist-adjacent-loads [enabled]
-fif-conversion [enabled]
-fif-conversion2 [enabled]
-findirect-inlining [enabled]
-finline [enabled]
-finline-atomics [enabled]
-finline-functions [disabled]
-finline-functions-called-once [enabled]
-finline-small-functions [enabled]
-fipa-cp [enabled]
-fipa-cp-alignment [enabled]
-fipa-cp-clone [disabled]
-fipa-icf [enabled]
-fipa-icf-functions [enabled]
-fipa-profile [enabled]
-fipa-pta [disabled]
-fipa-pure-const [enabled]
-fipa-ra [enabled]
-fipa-reference [enabled]
-fipa-sra [enabled]
-fira-algorithm= CB
-fira-hoist-pressure [enabled]
-fira-loop-pressure [disabled]
-fira-region= [default]
-fira-share-save-slots [enabled]
-fira-share-spill-slots [enabled]
-fisolate-erroneous-paths-attribute [disabled]
-fisolate-erroneous-paths-dereference [enabled]
-fivopts [enabled]
-fjump-tables [enabled]
-flifetime-dse [enabled]
-flive-range-shrinkage [disabled]
-floop-block [disabled]
-floop-interchange [disabled]
-floop-nest-optimize [disabled]
-floop-parallelize-all [disabled]
-floop-strip-mine [disabled]
-floop-unroll-and-jam [disabled]
-flra-remat [enabled]
-fmath-errno [enabled]
-fmodulo-sched [disabled]
-fmodulo-sched-allow-regmoves [disabled]
-fmove-loop-invariants [enabled]
-fnon-call-exceptions [disabled]
-fnothrow-opt [disabled]
-fomit-frame-pointer [disabled]
-fopt-info [disabled]
-foptimize-sibling-calls [enabled]
-foptimize-strlen [enabled]
-fpack-struct [disabled]
-fpack-struct=
-fpartial-inlining [enabled]
-fpeel-loops [disabled]
-fpeephole [enabled]
-fpeephole2 [enabled]
-fpredictive-commoning [disabled]
-fprefetch-loop-arrays [enabled]
-freciprocal-math [disabled]
-freg-struct-return [disabled]
-frename-registers [enabled]
-freorder-blocks [enabled]
-freorder-blocks-and-partition [enabled]
-freorder-functions [enabled]
-frerun-cse-after-loop [enabled]
-freschedule-modulo-scheduled-loops [disabled]
-frounding-math [disabled]
-frtti [enabled]
-fsched-critical-path-heuristic [enabled]
-fsched-dep-count-heuristic [enabled]
-fsched-group-heuristic [enabled]
-fsched-interblock [enabled]
-fsched-last-insn-heuristic [enabled]
-fsched-pressure [disabled]
-fsched-rank-heuristic [enabled]
-fsched-spec [enabled]
-fsched-spec-insn-heuristic [enabled]
-fsched-spec-load [disabled]
-fsched-spec-load-dangerous [disabled]
-fsched-stalled-insns [disabled]
-fsched-stalled-insns-dep [enabled]
-fsched-stalled-insns-dep=
-fsched-stalled-insns=
-fsched2-use-superblocks [disabled]
-fschedule-fusion [enabled]
-fschedule-insns [disabled]
-fschedule-insns2 [enabled]
-fsection-anchors [disabled]
-fsel-sched-pipelining [disabled]
-fsel-sched-pipelining-outer-loops [disabled]
-fsel-sched-reschedule-pipelined [disabled]
-fselective-scheduling [disabled]
-fselective-scheduling2 [disabled]
-fshort-double [disabled]
-fshort-enums [enabled]
-fshort-wchar [disabled]
-fshrink-wrap [enabled]
-fsignaling-nans [disabled]
-fsigned-zeros [enabled]
-fsimd-cost-model= unlimited
-fsingle-precision-constant [disabled]
-fsplit-ivs-in-unroller [enabled]
-fsplit-wide-types [enabled]
-fssa-phiopt [enabled]
-fstack-reuse= all
-fstdarg-opt [enabled]
-fstrict-aliasing [enabled]
-fstrict-enums [disabled]
-fstrict-overflow [enabled]
-fstrict-volatile-bitfields [enabled]
-fthread-jumps [enabled]
-fno-threadsafe-statics [enabled]
-ftracer [disabled]
-ftrapping-math [enabled]
-ftrapv [disabled]
-ftree-bit-ccp [enabled]
-ftree-builtin-call-dce [enabled]
-ftree-ccp [enabled]
-ftree-ch [enabled]
-ftree-coalesce-inlined-vars [disabled]
-ftree-coalesce-vars [enabled]
-ftree-copy-prop [enabled]
-ftree-copyrename [enabled]
-ftree-cselim [enabled]
-ftree-dce [enabled]
-ftree-dominator-opts [enabled]
-ftree-dse [enabled]
-ftree-forwprop [enabled]
-ftree-fre [enabled]
-ftree-loop-distribute-patterns [disabled]
-ftree-loop-distribution [disabled]
-ftree-loop-if-convert [enabled]
-ftree-loop-if-convert-stores [disabled]
-ftree-loop-im [enabled]
-ftree-loop-ivcanon [enabled]
-ftree-loop-optimize [enabled]
-ftree-loop-vectorize [disabled]
-ftree-lrs [disabled]
-ftree-parallelize-loops= 0x1
-ftree-partial-pre [disabled]
-ftree-phiprop [enabled]
-ftree-pre [enabled]
-ftree-pta [enabled]
-ftree-reassoc [enabled]
-ftree-scev-cprop [enabled]
-ftree-sink [enabled]
-ftree-slp-vectorize [disabled]
-ftree-slsr [enabled]
-ftree-sra [enabled]
-ftree-switch-conversion [enabled]
-ftree-tail-merge [enabled]
-ftree-ter [enabled]
-ftree-vectorize [disabled]
-ftree-vrp [enabled]
-funroll-all-loops [disabled]
-funroll-loops [disabled]
-funsafe-loop-optimizations [disabled]
-funsafe-math-optimizations [disabled]
-funswitch-loops [disabled]
-funwind-tables [disabled]
-fvar-tracking [enabled]
-fvar-tracking-assignments [enabled]
-fvar-tracking-assignments-toggle [disabled]
-fvar-tracking-uninit [disabled]
-fvariable-expansion-in-unroller [disabled]
-fvect-cost-model= cheap
-fvpt [disabled]
-fweb [enabled]
-fwrapv [disabled]
The following options control optimizations:
-O
-Ofast
-Og
-Os
-faggressive-loop-optimizations [enabled]
-falign-functions [enabled]
-falign-jumps [enabled]
-falign-labels [enabled]
-falign-loops [enabled]
-fassociative-math [disabled]
-fasynchronous-unwind-tables [enabled]
-fauto-inc-dec [enabled]
-fbranch-count-reg [enabled]
-fbranch-probabilities [disabled]
-fbranch-target-load-optimize [disabled]
-fbranch-target-load-optimize2 [disabled]
-fbtr-bb-exclusive [disabled]
-fcaller-saves [enabled]
-fcombine-stack-adjustments [enabled]
-fcompare-elim [enabled]
-fconserve-stack [disabled]
-fcprop-registers [enabled]
-fcrossjumping [enabled]
-fcse-follow-jumps [enabled]
-fcx-fortran-rules [disabled]
-fcx-limited-range [disabled]
-fdce [enabled]
-fdefer-pop [enabled]
-fdelayed-branch [disabled]
-fdelete-dead-exceptions [disabled]
-fdelete-null-pointer-checks [enabled]
-fdevirtualize [enabled]
-fdevirtualize-speculatively [enabled]
-fdse [enabled]
-fearly-inlining [enabled]
-fexceptions [disabled]
-fexpensive-optimizations [enabled]
-ffinite-math-only [disabled]
-ffloat-store [disabled]
-fforward-propagate [enabled]
-ffp-contract= fast
-ffunction-cse [enabled]
-fgcse [enabled]
-fgcse-after-reload [enabled]
-fgcse-las [disabled]
-fgcse-lm [enabled]
-fgcse-sm [disabled]
-fgraphite [disabled]
-fgraphite-identity [disabled]
-fguess-branch-probability [enabled]
-fhandle-exceptions
-fhoist-adjacent-loads [enabled]
-fif-conversion [enabled]
-fif-conversion2 [enabled]
-findirect-inlining [enabled]
-finline [enabled]
-finline-atomics [enabled]
-finline-functions [enabled]
-finline-functions-called-once [enabled]
-finline-small-functions [enabled]
-fipa-cp [enabled]
-fipa-cp-alignment [enabled]
-fipa-cp-clone [enabled]
-fipa-icf [enabled]
-fipa-icf-functions [enabled]
-fipa-profile [enabled]
-fipa-pta [disabled]
-fipa-pure-const [enabled]
-fipa-ra [enabled]
-fipa-reference [enabled]
-fipa-sra [enabled]
-fira-algorithm= CB
-fira-hoist-pressure [enabled]
-fira-loop-pressure [disabled]
-fira-region= [default]
-fira-share-save-slots [enabled]
-fira-share-spill-slots [enabled]
-fisolate-erroneous-paths-attribute [disabled]
-fisolate-erroneous-paths-dereference [enabled]
-fivopts [enabled]
-fjump-tables [enabled]
-flifetime-dse [enabled]
-flive-range-shrinkage [disabled]
-floop-block [disabled]
-floop-interchange [disabled]
-floop-nest-optimize [disabled]
-floop-parallelize-all [disabled]
-floop-strip-mine [disabled]
-floop-unroll-and-jam [disabled]
-flra-remat [enabled]
-fmath-errno [enabled]
-fmodulo-sched [disabled]
-fmodulo-sched-allow-regmoves [disabled]
-fmove-loop-invariants [enabled]
-fnon-call-exceptions [disabled]
-fnothrow-opt [disabled]
-fomit-frame-pointer [disabled]
-fopt-info [disabled]
-foptimize-sibling-calls [enabled]
-foptimize-strlen [enabled]
-fpack-struct [disabled]
-fpack-struct=
-fpartial-inlining [enabled]
-fpeel-loops [disabled]
-fpeephole [enabled]
-fpeephole2 [enabled]
-fpredictive-commoning [enabled]
-fprefetch-loop-arrays [enabled]
-freciprocal-math [disabled]
-freg-struct-return [disabled]
-frename-registers [enabled]
-freorder-blocks [enabled]
-freorder-blocks-and-partition [enabled]
-freorder-functions [enabled]
-frerun-cse-after-loop [enabled]
-freschedule-modulo-scheduled-loops [disabled]
-frounding-math [disabled]
-frtti [enabled]
-fsched-critical-path-heuristic [enabled]
-fsched-dep-count-heuristic [enabled]
-fsched-group-heuristic [enabled]
-fsched-interblock [enabled]
-fsched-last-insn-heuristic [enabled]
-fsched-pressure [disabled]
-fsched-rank-heuristic [enabled]
-fsched-spec [enabled]
-fsched-spec-insn-heuristic [enabled]
-fsched-spec-load [disabled]
-fsched-spec-load-dangerous [disabled]
-fsched-stalled-insns [disabled]
-fsched-stalled-insns-dep [enabled]
-fsched-stalled-insns-dep=
-fsched-stalled-insns=
-fsched2-use-superblocks [disabled]
-fschedule-fusion [enabled]
-fschedule-insns [disabled]
-fschedule-insns2 [enabled]
-fsection-anchors [disabled]
-fsel-sched-pipelining [disabled]
-fsel-sched-pipelining-outer-loops [disabled]
-fsel-sched-reschedule-pipelined [disabled]
-fselective-scheduling [disabled]
-fselective-scheduling2 [disabled]
-fshort-double [disabled]
-fshort-enums [enabled]
-fshort-wchar [disabled]
-fshrink-wrap [enabled]
-fsignaling-nans [disabled]
-fsigned-zeros [enabled]
-fsimd-cost-model= unlimited
-fsingle-precision-constant [disabled]
-fsplit-ivs-in-unroller [enabled]
-fsplit-wide-types [enabled]
-fssa-phiopt [enabled]
-fstack-reuse= all
-fstdarg-opt [enabled]
-fstrict-aliasing [enabled]
-fstrict-enums [disabled]
-fstrict-overflow [enabled]
-fstrict-volatile-bitfields [enabled]
-fthread-jumps [enabled]
-fno-threadsafe-statics [enabled]
-ftracer [disabled]
-ftrapping-math [enabled]
-ftrapv [disabled]
-ftree-bit-ccp [enabled]
-ftree-builtin-call-dce [enabled]
-ftree-ccp [enabled]
-ftree-ch [enabled]
-ftree-coalesce-inlined-vars [disabled]
-ftree-coalesce-vars [enabled]
-ftree-copy-prop [enabled]
-ftree-copyrename [enabled]
-ftree-cselim [enabled]
-ftree-dce [enabled]
-ftree-dominator-opts [enabled]
-ftree-dse [enabled]
-ftree-forwprop [enabled]
-ftree-fre [enabled]
-ftree-loop-distribute-patterns [enabled]
-ftree-loop-distribution [disabled]
-ftree-loop-if-convert [enabled]
-ftree-loop-if-convert-stores [disabled]
-ftree-loop-im [enabled]
-ftree-loop-ivcanon [enabled]
-ftree-loop-optimize [enabled]
-ftree-loop-vectorize [enabled]
-ftree-lrs [disabled]
-ftree-parallelize-loops= 0x1
-ftree-partial-pre [enabled]
-ftree-phiprop [enabled]
-ftree-pre [enabled]
-ftree-pta [enabled]
-ftree-reassoc [enabled]
-ftree-scev-cprop [enabled]
-ftree-sink [enabled]
-ftree-slp-vectorize [enabled]
-ftree-slsr [enabled]
-ftree-sra [enabled]
-ftree-switch-conversion [enabled]
-ftree-tail-merge [enabled]
-ftree-ter [enabled]
-ftree-vectorize [disabled]
-ftree-vrp [enabled]
-funroll-all-loops [disabled]
-funroll-loops [disabled]
-funsafe-loop-optimizations [disabled]
-funsafe-math-optimizations [disabled]
-funswitch-loops [enabled]
-funwind-tables [disabled]
-fvar-tracking [enabled]
-fvar-tracking-assignments [enabled]
-fvar-tracking-assignments-toggle [disabled]
-fvar-tracking-uninit [disabled]
-fvariable-expansion-in-unroller [disabled]
-fvect-cost-model= dynamic
-fvpt [disabled]
-fweb [enabled]
-fwrapv [disabled]
The following options control optimizations:
-O
-Ofast
-Og
-Os
-faggressive-loop-optimizations [enabled]
-falign-functions [enabled]
-falign-jumps [enabled]
-falign-labels [enabled]
-falign-loops [enabled]
-fassociative-math [disabled]
-fasynchronous-unwind-tables [enabled]
-fauto-inc-dec [enabled]
-fbranch-count-reg [enabled]
-fbranch-probabilities [disabled]
-fbranch-target-load-optimize [disabled]
-fbranch-target-load-optimize2 [disabled]
-fbtr-bb-exclusive [disabled]
-fcaller-saves [enabled]
-fcombine-stack-adjustments [enabled]
-fcompare-elim [enabled]
-fconserve-stack [disabled]
-fcprop-registers [enabled]
-fcrossjumping [enabled]
-fcse-follow-jumps [enabled]
-fcx-fortran-rules [disabled]
-fcx-limited-range [disabled]
-fdce [enabled]
-fdefer-pop [enabled]
-fdelayed-branch [disabled]
-fdelete-dead-exceptions [disabled]
-fdelete-null-pointer-checks [enabled]
-fdevirtualize [enabled]
-fdevirtualize-speculatively [enabled]
-fdse [enabled]
-fearly-inlining [enabled]
-fexceptions [disabled]
-fexpensive-optimizations [enabled]
-ffinite-math-only [disabled]
-ffloat-store [disabled]
-fforward-propagate [enabled]
-ffp-contract= fast
-ffunction-cse [enabled]
-fgcse [enabled]
-fgcse-after-reload [disabled]
-fgcse-las [disabled]
-fgcse-lm [enabled]
-fgcse-sm [disabled]
-fgraphite [disabled]
-fgraphite-identity [disabled]
-fguess-branch-probability [enabled]
-fhandle-exceptions
-fhoist-adjacent-loads [enabled]
-fif-conversion [enabled]
-fif-conversion2 [enabled]
-findirect-inlining [enabled]
-finline [enabled]
-finline-atomics [enabled]
-finline-functions [enabled]
-finline-functions-called-once [enabled]
-finline-small-functions [enabled]
-fipa-cp [enabled]
-fipa-cp-alignment [enabled]
-fipa-cp-clone [disabled]
-fipa-icf [enabled]
-fipa-icf-functions [enabled]
-fipa-profile [enabled]
-fipa-pta [disabled]
-fipa-pure-const [enabled]
-fipa-ra [enabled]
-fipa-reference [enabled]
-fipa-sra [enabled]
-fira-algorithm= CB
-fira-hoist-pressure [enabled]
-fira-loop-pressure [disabled]
-fira-region= [default]
-fira-share-save-slots [enabled]
-fira-share-spill-slots [enabled]
-fisolate-erroneous-paths-attribute [disabled]
-fisolate-erroneous-paths-dereference [enabled]
-fivopts [enabled]
-fjump-tables [enabled]
-flifetime-dse [enabled]
-flive-range-shrinkage [disabled]
-floop-block [disabled]
-floop-interchange [disabled]
-floop-nest-optimize [disabled]
-floop-parallelize-all [disabled]
-floop-strip-mine [disabled]
-floop-unroll-and-jam [disabled]
-flra-remat [enabled]
-fmath-errno [enabled]
-fmodulo-sched [disabled]
-fmodulo-sched-allow-regmoves [disabled]
-fmove-loop-invariants [enabled]
-fnon-call-exceptions [disabled]
-fnothrow-opt [disabled]
-fomit-frame-pointer [disabled]
-fopt-info [disabled]
-foptimize-sibling-calls [enabled]
-foptimize-strlen [disabled]
-fpack-struct [disabled]
-fpack-struct=
-fpartial-inlining [enabled]
-fpeel-loops [disabled]
-fpeephole [enabled]
-fpeephole2 [enabled]
-fpredictive-commoning [disabled]
-fprefetch-loop-arrays [enabled]
-freciprocal-math [disabled]
-freg-struct-return [disabled]
-frename-registers [enabled]
-freorder-blocks [enabled]
-freorder-blocks-and-partition [enabled]
-freorder-functions [enabled]
-frerun-cse-after-loop [enabled]
-freschedule-modulo-scheduled-loops [disabled]
-frounding-math [disabled]
-frtti [enabled]
-fsched-critical-path-heuristic [enabled]
-fsched-dep-count-heuristic [enabled]
-fsched-group-heuristic [enabled]
-fsched-interblock [enabled]
-fsched-last-insn-heuristic [enabled]
-fsched-pressure [disabled]
-fsched-rank-heuristic [enabled]
-fsched-spec [enabled]
-fsched-spec-insn-heuristic [enabled]
-fsched-spec-load [disabled]
-fsched-spec-load-dangerous [disabled]
-fsched-stalled-insns [disabled]
-fsched-stalled-insns-dep [enabled]
-fsched-stalled-insns-dep=
-fsched-stalled-insns=
-fsched2-use-superblocks [disabled]
-fschedule-fusion [enabled]
-fschedule-insns [disabled]
-fschedule-insns2 [enabled]
-fsection-anchors [disabled]
-fsel-sched-pipelining [disabled]
-fsel-sched-pipelining-outer-loops [disabled]
-fsel-sched-reschedule-pipelined [disabled]
-fselective-scheduling [disabled]
-fselective-scheduling2 [disabled]
-fshort-double [disabled]
-fshort-enums [enabled]
-fshort-wchar [disabled]
-fshrink-wrap [enabled]
-fsignaling-nans [disabled]
-fsigned-zeros [enabled]
-fsimd-cost-model= unlimited
-fsingle-precision-constant [disabled]
-fsplit-ivs-in-unroller [enabled]
-fsplit-wide-types [enabled]
-fssa-phiopt [enabled]
-fstack-reuse= all
-fstdarg-opt [enabled]
-fstrict-aliasing [enabled]
-fstrict-enums [disabled]
-fstrict-overflow [enabled]
-fstrict-volatile-bitfields [enabled]
-fthread-jumps [enabled]
-fno-threadsafe-statics [enabled]
-ftracer [disabled]
-ftrapping-math [enabled]
-ftrapv [disabled]
-ftree-bit-ccp [enabled]
-ftree-builtin-call-dce [enabled]
-ftree-ccp [enabled]
-ftree-ch [enabled]
-ftree-coalesce-inlined-vars [disabled]
-ftree-coalesce-vars [enabled]
-ftree-copy-prop [enabled]
-ftree-copyrename [enabled]
-ftree-cselim [enabled]
-ftree-dce [enabled]
-ftree-dominator-opts [enabled]
-ftree-dse [enabled]
-ftree-forwprop [enabled]
-ftree-fre [enabled]
-ftree-loop-distribute-patterns [disabled]
-ftree-loop-distribution [disabled]
-ftree-loop-if-convert [enabled]
-ftree-loop-if-convert-stores [disabled]
-ftree-loop-im [enabled]
-ftree-loop-ivcanon [enabled]
-ftree-loop-optimize [enabled]
-ftree-loop-vectorize [disabled]
-ftree-lrs [disabled]
-ftree-parallelize-loops= 0x1
-ftree-partial-pre [disabled]
-ftree-phiprop [enabled]
-ftree-pre [enabled]
-ftree-pta [enabled]
-ftree-reassoc [enabled]
-ftree-scev-cprop [enabled]
-ftree-sink [enabled]
-ftree-slp-vectorize [disabled]
-ftree-slsr [enabled]
-ftree-sra [enabled]
-ftree-switch-conversion [enabled]
-ftree-tail-merge [enabled]
-ftree-ter [enabled]
-ftree-vectorize [disabled]
-ftree-vrp [enabled]
-funroll-all-loops [disabled]
-funroll-loops [disabled]
-funsafe-loop-optimizations [disabled]
-funsafe-math-optimizations [disabled]
-funswitch-loops [disabled]
-funwind-tables [disabled]
-fvar-tracking [enabled]
-fvar-tracking-assignments [enabled]
-fvar-tracking-assignments-toggle [disabled]
-fvar-tracking-uninit [disabled]
-fvariable-expansion-in-unroller [disabled]
-fvect-cost-model= cheap
-fvpt [disabled]
-fweb [enabled]
-fwrapv [disabled]
The following options are target specific:
-m128bit-long-double [disabled]
-m16 [disabled]
-m32 [disabled]
-m3dnow [disabled]
-m64 [enabled]
-m80387 [enabled]
-m8bit-idiv [disabled]
-m96bit-long-double [enabled]
-mabi= sysv
-mabm [disabled]
-maccumulate-outgoing-args [disabled]
-maddress-mode= short
-madx [disabled]
-maes [disabled]
-malign-data= compat
-malign-double [disabled]
-malign-functions= 0
-malign-jumps= 0
-malign-loops= 0
-malign-stringops [enabled]
-mandroid [disabled]
-march= x86-64
-masm= att
-mavx [disabled]
-mavx2 [disabled]
-mavx256-split-unaligned-load [disabled]
-mavx256-split-unaligned-store [disabled]
-mavx512bw [disabled]
-mavx512cd [disabled]
-mavx512dq [disabled]
-mavx512er [disabled]
-mavx512f [disabled]
-mavx512ifma [disabled]
-mavx512pf [disabled]
-mavx512vbmi [disabled]
-mavx512vl [disabled]
-mbionic [disabled]
-mbmi [disabled]
-mbmi2 [disabled]
-mbranch-cost= 0
-mcld [disabled]
-mclflushopt [disabled]
-mclwb [disabled]
-mcmodel= 32
-mcrc32 [disabled]
-mcx16 [disabled]
-mdispatch-scheduler [disabled]
-mf16c [disabled]
-mfancy-math-387 [enabled]
-mfentry [enabled]
-mfma [disabled]
-mfma4 [disabled]
-mforce-drap [disabled]
-mfp-ret-in-387 [enabled]
-mfpmath= 387
-mfsgsbase [disabled]
-mfunction-return= keep
-mfxsr [disabled]
-mglibc [enabled]
-mhard-float [enabled]
-mhle [disabled]
-mieee-fp [enabled]
-mincoming-stack-boundary= 0
-mindirect-branch-register [disabled]
-mindirect-branch= keep
-minline-all-stringops [disabled]
-minline-stringops-dynamically [disabled]
-mlarge-data-threshold= 0x10000
-mlong-double-128 [disabled]
-mlong-double-64 [disabled]
-mlong-double-80 [enabled]
-mlwp [disabled]
-mlzcnt [disabled]
-mmemcpy-strategy=
-mmemset-strategy=
-mmmx [disabled]
-mmovbe [disabled]
-mmpx [disabled]
-mms-bitfields [disabled]
-mmwaitx [disabled]
-mno-default [disabled]
-mno-sse4 [enabled]
-mnop-mcount [disabled]
-momit-leaf-frame-pointer [disabled]
-mpc32 [disabled]
-mpc64 [disabled]
-mpc80 [disabled]
-mpclmul [disabled]
-mpopcnt [disabled]
-mprefer-avx128 [disabled]
-mpreferred-stack-boundary= 0
-mprefetchwt1 [disabled]
-mprfchw [disabled]
-mpush-args [enabled]
-mrdrnd [disabled]
-mrdseed [disabled]
-mrecip [disabled]
-mrecip=
-mrecord-mcount [disabled]
-mred-zone [enabled]
-mregparm= 0
-mrtd [disabled]
-mrtm [disabled]
-msahf [disabled]
-msha [disabled]
-mskip-rax-setup [disabled]
-msoft-float [disabled]
-msse [disabled]
-msse2 [disabled]
-msse2avx [disabled]
-msse3 [disabled]
-msse4 [disabled]
-msse4.1 [disabled]
-msse4.2 [disabled]
-msse4a [disabled]
-msseregparm [disabled]
-mssse3 [disabled]
-mstack-arg-probe [disabled]
-mstack-protector-guard= tls
-mstackrealign [enabled]
-mstringop-strategy= [default]
-mtbm [disabled]
-mtls-dialect= gnu
-mtls-direct-seg-refs [enabled]
-mtune-ctrl=
-mtune= generic
-muclibc [disabled]
-mveclibabi= [default]
-mvect8-ret-in-mem [disabled]
-mvzeroupper [disabled]
-mx32 [disabled]
-mxop [disabled]
-mxsave [disabled]
-mxsavec [disabled]
-mxsaveopt [disabled]
-mxsaves [disabled]
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 indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options):
keep thunk thunk-extern thunk-inline
Known data alignment choices (for use with the -malign-data= option):
abi cacheline compat
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.
-Q ignored
-V print assembler version number
-k ignored
-n Do not optimize code alignment
-q quieten some warnings
-s ignored
--32/--64/--x32 generate 32bit/64bit/x32 code
--divide ignored
-march=CPU[,+EXTENSION...]
generate code for CPU and EXTENSION, CPU is one of:
generic32, generic64, i386, i486, i586, i686,
pentium, pentiumpro, pentiumii, pentiumiii, pentium4,
prescott, nocona, core, core2, corei7, l1om, k1om,
iamcu, k6, k6_2, athlon, opteron, k8, amdfam10,
bdver1, bdver2, bdver3, bdver4, znver1, btver1,
btver2
EXTENSION is combination of:
8087, 287, 387, no87, mmx, nommx, sse, sse2, sse3,
ssse3, sse4.1, sse4.2, sse4, nosse, avx, avx2,
avx512f, avx512cd, avx512er, avx512pf, avx512dq,
avx512bw, avx512vl, noavx, vmx, vmfunc, smx, xsave,
xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase,
rdrnd, f16c, bmi2, fma, fma4, xop, lwp, movbe, cx16,
ept, lzcnt, hle, rtm, invpcid, clflush, nop, syscall,
rdtscp, 3dnow, 3dnowa, padlock, svme, sse4a, abm,
bmi, tbm, adx, rdseed, prfchw, smap, mpx, sha,
clflushopt, prefetchwt1, se1, clwb, pcommit,
avx512ifma, avx512vbmi, clzero, mwaitx, ospke
-mtune=CPU optimize for CPU, CPU is one of:
generic32, generic64, i8086, i186, i286, i386, i486,
i586, i686, pentium, pentiumpro, pentiumii,
pentiumiii, pentium4, prescott, nocona, core, core2,
corei7, l1om, k1om, iamcu, k6, k6_2, athlon, opteron,
k8, amdfam10, bdver1, bdver2, bdver3, bdver4, znver1,
btver1, btver2
-msse2avx encode SSE instructions with VEX prefix
-msse-check=[none|error|warning]
check SSE instructions
-moperand-check=[none|error|warning]
check operand combinations for validity
-mavxscalar=[128|256] encode scalar AVX instructions with specific vector
length
-mevexlig=[128|256|512] encode scalar EVEX instructions with specific vector
length
-mevexwig=[0|1] encode EVEX instructions with specific EVEX.W value
for EVEX.W bit ignored instructions
-mevexrcig=[rne|rd|ru|rz]
encode EVEX instructions with specific EVEX.RC value
for SAE-only ignored instructions
-mmnemonic=[att|intel] use AT&T/Intel mnemonic
-msyntax=[att|intel] use AT&T/Intel syntax
-mindex-reg support pseudo index registers
-mnaked-reg don't require `%' prefix for registers
-mold-gcc support old (<= 2.8.1) versions of gcc
-madd-bnd-prefix add BND prefix for all valid branches
-mshared disable branch optimization for shared code
-momit-lock-prefix=[no|yes]
strip all lock prefixes
-mrelax-relocations=[no|yes]
generate relax relocations
-mamd64 accept only AMD64 ISA
-mintel64 accept only Intel64 ISA
Linker options
==============
Use "-Wl,OPTION" to pass "OPTION" to the linker.
elf_x86_64:
-z noextern-protected-data Do not treat protected data symbol as external
-z call-nop=PADDING Use PADDING as 1-byte NOP for branch
-z bndplt Always generate BND prefix in PLT entries
elf32_x86_64:
-z noextern-protected-data Do not treat protected data symbol as external
-z call-nop=PADDING Use PADDING as 1-byte NOP for branch
elf_i386:
-z noextern-protected-data Do not treat protected data symbol as external
-z call-nop=PADDING Use PADDING as 1-byte NOP for branch
elf_iamcu:
-z noextern-protected-data Do not treat protected data symbol as external
-z call-nop=PADDING Use PADDING as 1-byte NOP for branch
elf_l1om:
-z noextern-protected-data Do not treat protected data symbol as external
-z call-nop=PADDING Use PADDING as 1-byte NOP for branch
elf_k1om:
-z noextern-protected-data Do not treat protected data symbol as external
-z call-nop=PADDING Use PADDING as 1-byte NOP for branch
i386pep:
--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
--[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 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 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 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
--[no-]leading-underscore Set explicit symbol underscore prefix mode
--thumb-entry= Set the entry point to be Thumb
--[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 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
(optionally starting with address) unless
specifically set with --image-base
--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 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