Per comments in invoke.texi, target option groups in the Option Summary section are supposed to be alphabetized and in the same order as the documentation sections they refer to. "M32C Options" was misordered in the Option Summary. "Cygwin and MinGW Options" was ordered incorrectly in both places, which also caused Texinfo diagnostics because the ordering in the menu (which was correctly alphabetized) didn't match the node order.
I also added a reference to the appropriate section to each entry in the Option Summary so that you can go directly to the detailed description for that set of target options. I'm not real happy with the formatting of the tables in that section but the experiments I tried all looked worse. :-( gcc/ChangeLog * doc/invoke.texi (Option Summary): Put "M32C Options" and "Cygwin and MinGW Options" in alphabetical order. Add cross-references. (Cygwin and MinGW Options): Likewise move the section to its correct alphabetical location. * config/lynx.opt.urls: Regenerated. * config/mingw/cygming.opt.urls: Regenerated. --- gcc/config/lynx.opt.urls | 2 +- gcc/config/mingw/cygming.opt.urls | 2 +- gcc/doc/invoke.texi | 335 +++++++++++++++--------------- 3 files changed, 170 insertions(+), 169 deletions(-) diff --git a/gcc/config/lynx.opt.urls b/gcc/config/lynx.opt.urls index b547138f7ff..2b5f44eb6c4 100644 --- a/gcc/config/lynx.opt.urls +++ b/gcc/config/lynx.opt.urls @@ -1,5 +1,5 @@ ; Autogenerated by regenerate-opt-urls.py from gcc/config/lynx.opt and generated HTML mthreads -UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mthreads-1) +UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mthreads) diff --git a/gcc/config/mingw/cygming.opt.urls b/gcc/config/mingw/cygming.opt.urls index af11c499760..fd5502c246e 100644 --- a/gcc/config/mingw/cygming.opt.urls +++ b/gcc/config/mingw/cygming.opt.urls @@ -10,7 +10,7 @@ mnop-fun-dllimport UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mnop-fun-dllimport) mthreads -UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mthreads-1) +UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mthreads) mwin32 UrlSuffix(gcc/Cygwin-and-MinGW-Options.html#index-mwin32) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 400d192795b..1572348b130 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -808,7 +808,7 @@ Objective-C and Objective-C++ Dialects}. @c Try and put the significant identifier (CPU or system) first, @c so users have a clue at guessing where the ones they want will be. -@emph{AArch64 Options} +@emph{AArch64 Options} (@ref{AArch64 Options}) @gccoptlist{-mabi=@var{name} -mbig-endian -mlittle-endian -mgeneral-regs-only -mcmodel=tiny -mcmodel=small -mcmodel=large @@ -829,7 +829,7 @@ Objective-C and Objective-C++ Dialects}. -mstack-protector-guard-offset=@var{offset} -mtrack-speculation -moutline-atomics -mearly-ldp-fusion -mlate-ldp-fusion} -@emph{Adapteva Epiphany Options} +@emph{Adapteva Epiphany Options} (@ref{Adapteva Epiphany Options}) @gccoptlist{-mhalf-reg-file -mprefer-short-insn-regs -mbranch-cost=@var{num} -mcmove -mnops=@var{num} -msoft-cmpsf -msplit-lohi -mpost-inc -mpost-modify -mstack-offset=@var{num} @@ -837,10 +837,10 @@ Objective-C and Objective-C++ Dialects}. -mfp-mode=@var{mode} -mvect-double -max-vect-align=@var{num} -msplit-vecmove-early -m1reg-@var{reg}} -@emph{AMD GCN Options} +@emph{AMD GCN Options} (@ref{AMD GCN Options}) @gccoptlist{-march=@var{gpu} -mtune=@var{gpu} -mstack-size=@var{bytes}} -@emph{ARC Options} +@emph{ARC Options} (@ref{ARC Options}) @gccoptlist{-mbarrel-shifter -mjli-always -mcpu=@var{cpu} -mA6 -mARC600 -mA7 -mARC700 -mdpfp -mdpfp-compact -mdpfp-fast -mno-dpfp-lrsr @@ -860,7 +860,7 @@ Objective-C and Objective-C++ Dialects}. -munalign-prob-threshold=@var{probability} -mmpy-option=@var{multo} -mdiv-rem -mcode-density -mll64 -mfpu=@var{fpu} -mrf16 -mbranch-index} -@emph{ARM Options} +@emph{ARM Options} (@ref{ARM Options}) @gccoptlist{-mapcs-frame -mno-apcs-frame -mabi=@var{name} -mapcs-stack-check -mno-apcs-stack-check @@ -903,7 +903,7 @@ Objective-C and Objective-C++ Dialects}. -mbranch-protection=@var{none}|@var{standard}|@var{pac-ret}[+@var{leaf}] [+@var{bti}]|@var{bti}[+@var{pac-ret}[+@var{leaf}]]} -@emph{AVR Options} +@emph{AVR Options} (@ref{AVR Options}) @gccoptlist{-mmcu=@var{mcu} -mabsdata -maccumulate-args -mbranch-cost=@var{cost} -mfuse-add=@var{level} -mfuse-move=@var{level} -mcall-prologues -mgas-isr-prologues -mint8 -mflmap @@ -914,7 +914,7 @@ Objective-C and Objective-C++ Dialects}. -mshort-calls -mskip-bug -nodevicelib -nodevicespecs -Waddr-space-convert -Wmisspelled-isr} -@emph{Blackfin Options} +@emph{Blackfin Options} (@ref{Blackfin Options}) @gccoptlist{-mcpu=@var{cpu}@r{[}-@var{sirevision}@r{]} -msim -momit-leaf-frame-pointer -mno-omit-leaf-frame-pointer -mspecld-anomaly -mno-specld-anomaly -mcsync-anomaly -mno-csync-anomaly @@ -925,11 +925,11 @@ Objective-C and Objective-C++ Dialects}. -mfast-fp -minline-plt -mmulticore -mcorea -mcoreb -msdram -micplb} -@emph{C6X Options} +@emph{C6X Options} (@ref{C6X Options}) @gccoptlist{-mbig-endian -mlittle-endian -march=@var{cpu} -msim -msdata=@var{sdata-type}} -@emph{CRIS Options} +@emph{CRIS Options} (@ref{CRIS Options}) @gccoptlist{-mcpu=@var{cpu} -march=@var{cpu} -mtune=@var{cpu} -mmax-stack-frame=@var{n} -metrax4 -metrax100 -mpdebug -mcc-init -mno-side-effects @@ -938,7 +938,7 @@ Objective-C and Objective-C++ Dialects}. -melf -maout -sim -sim2 -mmul-bug-workaround -mno-mul-bug-workaround} -@emph{C-SKY Options} +@emph{C-SKY Options} (@ref{C-SKY Options}) @gccoptlist{-march=@var{arch} -mcpu=@var{cpu} -mbig-endian -EB -mlittle-endian -EL -mhard-float -msoft-float -mfpu=@var{fpu} -mdouble-float -mfdivdu @@ -949,7 +949,12 @@ Objective-C and Objective-C++ Dialects}. -mpushpop -mmultiple-stld -mconstpool -mstack-size -mccrt -mbranch-cost=@var{n} -mcse-cc -msched-prolog -msim} -@emph{Darwin Options} +@emph{Cygwin and MinGW Options} (@ref{Cygwin and MinGW Options}) +@gccoptlist{-mconsole -mcrtdll=@var{library} -mdll +-mnop-fun-dllimport -mthread +-municode -mwin32 -mwindows -fno-set-stack-executable} + +@emph{Darwin Options} (@ref{Darwin Options}) @gccoptlist{-all_load -allowable_client -arch -arch_errors_fatal -arch_only -bind_at_load -bundle -bundle_loader -client_name -compatibility_version -current_version @@ -976,7 +981,7 @@ Objective-C and Objective-C++ Dialects}. -whatsloaded -F -gused -gfull -mmacosx-version-min=@var{version} -mkernel -mone-byte-bool} -@emph{DEC Alpha Options} +@emph{DEC Alpha Options} (@ref{DEC Alpha Options}) @gccoptlist{-mno-fp-regs -msoft-float -mieee -mieee-with-inexact -mieee-conformant -mfp-trap-mode=@var{mode} -mfp-rounding-mode=@var{mode} @@ -988,19 +993,19 @@ Objective-C and Objective-C++ Dialects}. -msmall-text -mlarge-text -mmemory-latency=@var{time}} -@emph{eBPF Options} +@emph{eBPF Options} (@ref{eBPF Options}) @gccoptlist{-mbig-endian -mlittle-endian -mframe-limit=@var{bytes} -mxbpf -mco-re -mno-co-re -mjmpext -mjmp32 -malu32 -mv3-atomics -mbswap -msdiv -msmov -mcpu=@var{version} -masm=@var{dialect} -minline-memops-threshold=@var{bytes}} -@emph{FR30 Options} +@emph{FR30 Options} (@ref{FR30 Options}) @gccoptlist{-msmall-model -mno-lsim} -@emph{FT32 Options} +@emph{FT32 Options} (@ref{FT32 Options}) @gccoptlist{-msim -mlra -mnodiv -mft32b -mcompress -mnopm} -@emph{FRV Options} +@emph{FRV Options} (@ref{FRV Options}) @gccoptlist{-mgpr-32 -mgpr-64 -mfpr-32 -mfpr-64 -mhard-float -msoft-float -malloc-cc -mfixed-cc -mdword -mno-dword @@ -1018,14 +1023,14 @@ Objective-C and Objective-C++ Dialects}. -mTLS -mtls -mcpu=@var{cpu}} -@emph{GNU/Linux Options} +@emph{GNU/Linux Options} (@ref{GNU/Linux Options}) @gccoptlist{-mglibc -muclibc -mmusl -mbionic -mandroid -tno-android-cc -tno-android-ld} -@emph{H8/300 Options} +@emph{H8/300 Options} (@ref{H8/300 Options}) @gccoptlist{-mrelax -mh -ms -mn -mexr -mno-exr -mint32 -malign-300} -@emph{HPPA Options} +@emph{HPPA Options} (@ref{HPPA Options}) @gccoptlist{-march=@var{architecture-type} -matomic-libcalls -mbig-switch -mcaller-copies -mdisable-fpregs -mdisable-indexing @@ -1041,7 +1046,7 @@ Objective-C and Objective-C++ Dialects}. -mschedule=@var{cpu-type} -mspace-regs -msoft-mult -msio -mwsio -munix=@var{unix-std} -nolibdld -static -threads} -@emph{IA-64 Options} +@emph{IA-64 Options} (@ref{IA-64 Options}) @gccoptlist{-mbig-endian -mlittle-endian -mgnu-as -mgnu-ld -mno-pic -mvolatile-asm-stop -mregister-names -msdata -mno-sdata -mconstant-gp -mauto-pic -mfused-madd @@ -1064,11 +1069,11 @@ Objective-C and Objective-C++ Dialects}. -msel-sched-dont-check-control-spec -msched-fp-mem-deps-zero-cost -msched-max-memory-insns-hard-limit -msched-max-memory-insns=@var{max-insns}} -@emph{LM32 Options} +@emph{LM32 Options} (@ref{LM32 Options}) @gccoptlist{-mbarrel-shift-enabled -mdivide-enabled -mmultiply-enabled -msign-extend-enabled -muser-enabled} -@emph{LoongArch Options} +@emph{LoongArch Options} (@ref{LoongArch Options}) @gccoptlist{-march=@var{arch-type} -mtune=@var{tune-type} -mabi=@var{base-abi-type} -mfpu=@var{fpu-type} -msimd=@var{simd-type} -msoft-float -msingle-float -mdouble-float -mlsx -mno-lsx -mlasx -mno-lasx @@ -1084,7 +1089,10 @@ Objective-C and Objective-C++ Dialects}. -mlam-bh -mno-lam-bh -mlamcas -mno-lamcas -mld-seq-sa -mno-ld-seq-sa -mtls-dialect=@var{opt} -mannotate-tablejump -mno-annotate-tablejump} -@emph{M32R/D Options} +@emph{M32C Options} (@ref{M32C Options}) +@gccoptlist{-mcpu=@var{cpu} -msim -memregs=@var{number}} + +@emph{M32R/D Options} (@ref{M32R/D Options}) @gccoptlist{-m32r2 -m32rx -m32r -mdebug -malign-loops -mno-align-loops @@ -1096,10 +1104,7 @@ Objective-C and Objective-C++ Dialects}. -mno-flush-trap -mflush-trap=@var{number} -G @var{num}} -@emph{M32C Options} -@gccoptlist{-mcpu=@var{cpu} -msim -memregs=@var{number}} - -@emph{M680x0 Options} +@emph{M680x0 Options} (@ref{M680x0 Options}) @gccoptlist{-march=@var{arch} -mcpu=@var{cpu} -mtune=@var{tune} -m68000 -m68020 -m68020-40 -m68020-60 -m68030 -m68040 -m68060 -mcpu32 -m5200 -m5206e -m528x -m5307 -m5407 @@ -1110,14 +1115,14 @@ Objective-C and Objective-C++ Dialects}. -mshared-library-id=n -mid-shared-library -mno-id-shared-library -mxgot -mno-xgot -mlong-jump-table-offsets} -@emph{MCore Options} +@emph{MCore Options} (@ref{MCore Options}) @gccoptlist{-mhardlit -mno-hardlit -mdiv -mno-div -mrelax-immediates -mno-relax-immediates -mwide-bitfields -mno-wide-bitfields -m4byte-functions -mno-4byte-functions -mcallgraph-data -mno-callgraph-data -mslow-bytes -mno-slow-bytes -mno-lsim -mlittle-endian -mbig-endian -m210 -m340 -mstack-increment} -@emph{MicroBlaze Options} +@emph{MicroBlaze Options} (@ref{MicroBlaze Options}) @gccoptlist{-msoft-float -mhard-float -msmall-divides -mcpu=@var{cpu} -mmemcpy -mxl-soft-mul -mxl-soft-div -mxl-barrel-shift -mxl-pattern-compare -mxl-stack-check -mxl-gp-opt -mno-clearbss @@ -1125,7 +1130,7 @@ Objective-C and Objective-C++ Dialects}. -mbig-endian -mlittle-endian -mxl-reorder -mxl-mode-@var{app-model} -mpic-data-is-text-relative} -@emph{MIPS Options} +@emph{MIPS Options} (@ref{MIPS Options}) @gccoptlist{-EL -EB -march=@var{arch} -mtune=@var{arch} -mips1 -mips2 -mips3 -mips4 -mips32 -mips32r2 -mips32r3 -mips32r5 -mips32r6 -mips64 -mips64r2 -mips64r3 -mips64r5 -mips64r6 @@ -1185,30 +1190,30 @@ Objective-C and Objective-C++ Dialects}. -mrelax-pic-calls -mno-relax-pic-calls -mmcount-ra-address -mframe-header-opt -mno-frame-header-opt} -@emph{MMIX Options} +@emph{MMIX Options} (@ref{MMIX Options}) @gccoptlist{-mlibfuncs -mno-libfuncs -mepsilon -mno-epsilon -mabi=gnu -mabi=mmixware -mzero-extend -mknuthdiv -mtoplevel-symbols -melf -mbranch-predict -mno-branch-predict -mbase-addresses -mno-base-addresses -msingle-exit -mno-single-exit} -@emph{MN10300 Options} +@emph{MN10300 Options} (@ref{MN10300 Options}) @gccoptlist{-mmult-bug -mno-mult-bug -mno-am33 -mam33 -mam33-2 -mam34 -mtune=@var{cpu-type} -mreturn-pointer-on-d0 -mno-crt0 -mrelax -mliw -msetlb} -@emph{Moxie Options} +@emph{Moxie Options} (@ref{Moxie Options}) @gccoptlist{-meb -mel -mmul.x -mno-crt0} -@emph{MSP430 Options} +@emph{MSP430 Options} (@ref{MSP430 Options}) @gccoptlist{-msim -masm-hex -mmcu= -mcpu= -mlarge -msmall -mrelax -mwarn-mcu -mcode-region= -mdata-region= -msilicon-errata= -msilicon-errata-warn= -mhwmult= -minrt -mtiny-printf -mmax-inline-shift=} -@emph{NDS32 Options} +@emph{NDS32 Options} (@ref{NDS32 Options}) @gccoptlist{-mbig-endian -mlittle-endian -mreduced-regs -mfull-regs -mcmov -mno-cmov @@ -1223,17 +1228,17 @@ Objective-C and Objective-C++ Dialects}. -mcmodel=@var{code-model} -mctor-dtor -mrelax} -@emph{Nvidia PTX Options} +@emph{Nvidia PTX Options} (@ref{Nvidia PTX Options}) @gccoptlist{-m64 -mmainkernel -moptimize} -@emph{OpenRISC Options} +@emph{OpenRISC Options} (@ref{OpenRISC Options}) @gccoptlist{-mboard=@var{name} -mnewlib -mhard-mul -mhard-div -msoft-mul -msoft-div -msoft-float -mhard-float -mdouble-float -munordered-float -mcmov -mror -mrori -msext -msfimm -mshftimm -mcmodel=@var{code-model}} -@emph{PDP-11 Options} +@emph{PDP-11 Options} (@ref{PDP-11 Options}) @gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 -mint32 -mno-int16 -mint16 -mno-int32 -msplit -munix-asm -mdec-asm -mgnu-asm -mlra} @@ -1241,11 +1246,11 @@ Objective-C and Objective-C++ Dialects}. @emph{PowerPC Options} See RS/6000 and PowerPC Options. -@emph{PRU Options} +@emph{PRU Options} (@ref{PRU Options}) @gccoptlist{-mmcu=@var{mcu} -minrt -mno-relax -mloop -mabi=@var{variant}} -@emph{RISC-V Options} +@emph{RISC-V Options} (@ref{RISC-V Options}) @gccoptlist{-mbranch-cost=@var{N-instruction} -mplt -mno-plt -mabi=@var{ABI-string} @@ -1276,12 +1281,12 @@ See RS/6000 and PowerPC Options. -minline-strncmp -mno-inline-strncmp -mtls-dialect=desc -mtls-dialect=trad} -@emph{RL78 Options} +@emph{RL78 Options} (@ref{RL78 Options}) @gccoptlist{-msim -mmul=none -mmul=g13 -mmul=g14 -mallregs -mcpu=g10 -mcpu=g13 -mcpu=g14 -mg10 -mg13 -mg14 -m64bit-doubles -m32bit-doubles -msave-mduc-in-interrupts} -@emph{RS/6000 and PowerPC Options} +@emph{RS/6000 and PowerPC Options} (@ref{RS/6000 and PowerPC Options}) @gccoptlist{-mcpu=@var{cpu-type} -mtune=@var{cpu-type} -mcmodel=@var{code-model} @@ -1342,7 +1347,7 @@ See RS/6000 and PowerPC Options. -mpcrel -mno-pcrel -mmma -mno-mmma -mrop-protect -mno-rop-protect -mprivileged -mno-privileged} -@emph{RX Options} +@emph{RX Options} (@ref{RX Options}) @gccoptlist{-m64bit-doubles -m32bit-doubles -fpu -nofpu -mcpu= -mbig-endian-data -mlittle-endian-data @@ -1358,7 +1363,7 @@ See RS/6000 and PowerPC Options. -mno-warn-multiple-fast-interrupts -msave-acc-in-interrupts} -@emph{S/390 and zSeries Options} +@emph{S/390 and zSeries Options} (@ref{S/390 and zSeries Options}) @gccoptlist{-mtune=@var{cpu-type} -march=@var{cpu-type} -mhard-float -msoft-float -mhard-dfp -mno-hard-dfp -mlong-double-64 -mlong-double-128 @@ -1371,7 +1376,7 @@ See RS/6000 and PowerPC Options. -mwarn-framesize -mwarn-dynamicstack -mstack-size -mstack-guard -mhotpatch=@var{halfwords},@var{halfwords}} -@emph{SH Options} +@emph{SH Options} (@ref{SH Options}) @gccoptlist{-m1 -m2 -m2e -m2a-nofpu -m2a-single-only -m2a-single -m2a -m3 -m3e @@ -1389,11 +1394,11 @@ See RS/6000 and PowerPC Options. -mfused-madd -mno-fused-madd -mfsca -mno-fsca -mfsrra -mno-fsrra -mpretend-cmove -mtas} -@emph{Solaris 2 Options} +@emph{Solaris 2 Options} (@ref{Solaris 2 Options}) @gccoptlist{-mclear-hwcap -mno-clear-hwcap -mimpure-text -mno-impure-text -pthreads} -@emph{SPARC Options} +@emph{SPARC Options} (@ref{SPARC Options}) @gccoptlist{-mcpu=@var{cpu-type} -mtune=@var{cpu-type} -mcmodel=@var{code-model} @@ -1413,10 +1418,10 @@ See RS/6000 and PowerPC Options. -mpopc -mno-popc -msubxc -mno-subxc -mfix-at697f -mfix-ut699 -mfix-ut700 -mfix-gr712rc} -@emph{System V Options} +@emph{System V Options} (@ref{System V Options}) @gccoptlist{-Qy -Qn -YP,@var{paths} -Ym,@var{dir}} -@emph{V850 Options} +@emph{V850 Options} (@ref{V850 Options}) @gccoptlist{-mlong-calls -mno-long-calls -mep -mno-ep -mprolog-function -mno-prolog-function -mspace -mtda=@var{n} -msda=@var{n} -mzda=@var{n} @@ -1433,22 +1438,22 @@ See RS/6000 and PowerPC Options. -mrh850-abi -mbig-switch} -@emph{VAX Options} +@emph{VAX Options} (@ref{VAX Options}) @gccoptlist{-munix -mgnu -md -md-float -mg -mg-float -mlra} -@emph{Visium Options} +@emph{Visium Options} (@ref{Visium Options}) @gccoptlist{-mdebug -msim -mfpu -mno-fpu -mhard-float -msoft-float -mcpu=@var{cpu-type} -mtune=@var{cpu-type} -msv-mode -muser-mode} -@emph{VMS Options} +@emph{VMS Options} (@ref{VMS Options}) @gccoptlist{-mvms-return-codes -mdebug-main=@var{prefix} -mmalloc64 -mpointer-size=@var{size}} -@emph{VxWorks Options} +@emph{VxWorks Options} (@ref{VxWorks Options}) @gccoptlist{-mrtp -msmp -non-static -Bstatic -Bdynamic -Xbind-lazy -Xbind-now} -@emph{x86 Options} +@emph{x86 Options} (@ref{x86 Options}) @gccoptlist{-mtune=@var{cpu-type} -march=@var{cpu-type} -mtune-ctrl=@var{feature-list} -mdump-tune-features -mno-default -mfpmath=@var{unit} @@ -1507,16 +1512,12 @@ See RS/6000 and PowerPC Options. -munroll-only-small-loops -mlam=@var{choice}} @emph{x86 Windows Options} +See Cygwin and MinGW Options. -@emph{Cygwin and MinGW Options} -@gccoptlist{-mconsole -mcrtdll=@var{library} -mdll --mnop-fun-dllimport -mthread --municode -mwin32 -mwindows -fno-set-stack-executable} - -@emph{Xstormy16 Options} +@emph{Xstormy16 Options} (@ref{Xstormy16 Options}) @gccoptlist{-msim} -@emph{Xtensa Options} +@emph{Xtensa Options} (@ref{Xtensa Options}) @gccoptlist{-mconst16 -mno-const16 -mfused-madd -mno-fused-madd -mforce-no-pic @@ -25482,6 +25483,112 @@ to ELF compiler only. @end table +@node Cygwin and MinGW Options +@subsection Cygwin and MinGW Options +@cindex Cygwin and MinGW Options +@cindex Options for Cygwin and MinGW + +These additional options are available for Microsoft Windows targets: + +@table @gcctabopt +@opindex mconsole +@item -mconsole +This option +specifies that a console application is to be generated, by +instructing the linker to set the PE header subsystem type +required for console applications. +This option is available for Cygwin and MinGW targets and is +enabled by default on those targets. + +@opindex mcrtdll +@item -mcrtdll=@var{library} +Preprocess, compile or link with specified C RunTime DLL @var{library}. +This option adjust predefined macros @code{__CRTDLL__}, @code{__MSVCRT__}, +@code{_UCRT} and @code{__MSVCRT_VERSION__} for specified CRT @var{library}, +choose start file for CRT @var{library} and link with CRT @var{library}. +Recognized CRT library names for proprocessor are: +@code{crtdll*}, @code{msvcrt10*}, @code{msvcrt20*}, @code{msvcrt40*}, +@code{msvcr40*}, @code{msvcrtd*}, @code{msvcrt-os*}, +@code{msvcr70*}, @code{msvcr71*}, @code{msvcr80*}, @code{msvcr90*}, +@code{msvcr100*}, @code{msvcr110*}, @code{msvcr120*} and @code{ucrt*}. +If this options is not specified then the default MinGW import library +@code{msvcrt} is used for linking and no other adjustment for +preprocessor is done. MinGW import library @code{msvcrt} is just a +symlink to (or a copy of) another MinGW CRT import library +chosen during MinGW compilation. MinGW import library @code{msvcrt-os} +is for Windows system CRT DLL library @code{msvcrt.dll} and +in most cases is the default MinGW import library. +Generally speaking, changing the CRT DLL requires recompiling +the entire MinGW CRT. This option is for experimental and testing +purposes only. +This option is available for MinGW targets. + +@opindex mdll +@item -mdll +This option is available for Cygwin and MinGW targets. It +specifies that a DLL---a dynamic link library---is to be +generated, enabling the selection of the required runtime +startup object and entry point. + +@opindex mnop-fun-dllimport +@item -mnop-fun-dllimport +This option is available for Cygwin and MinGW targets. It +specifies that the @code{dllimport} attribute should be ignored. + +@opindex mthreads +@item -mthreads +This option is available for MinGW targets. It specifies +that MinGW-specific thread support is to be used. + +@opindex municode +@item -municode +This option is available for MinGW-w64 targets. It causes +the @code{UNICODE} preprocessor macro to be predefined, and +chooses Unicode-capable runtime startup code. + +@opindex mwin32 +@item -mwin32 +This option is available for Cygwin and MinGW targets. It +specifies that the typical Microsoft Windows predefined macros are to +be set in the pre-processor, but does not influence the choice +of runtime library/startup code. + +@opindex mwindows +@item -mwindows +This option is available for Cygwin and MinGW targets. It +specifies that a GUI application is to be generated by +instructing the linker to set the PE header subsystem type +appropriately. + +@opindex fno-set-stack-executable +@opindex fset-stack-executable +@item -fno-set-stack-executable +This option is available for MinGW targets. It specifies that +the executable flag for the stack used by nested functions isn't +set. This is necessary for binaries running in kernel mode of +Microsoft Windows, as there the User32 API, which is used to set executable +privileges, isn't available. + +@opindex fno-writable-relocated-rdata +@opindex fwritable-relocated-rdata +@item -fwritable-relocated-rdata +This option is available for MinGW and Cygwin targets. It specifies +that relocated-data in read-only section is put into the @code{.data} +section. This is a necessary for older runtimes not supporting +modification of @code{.rdata} sections for pseudo-relocation. + +@opindex mpe-aligned-commons +@item -mpe-aligned-commons +This option is available for Cygwin and MinGW targets. It +specifies that the GNU extension to the PE file format that +permits the correct alignment of COMMON variables should be +used when generating code. It is enabled by default if +GCC detects that the target assembler found during configuration +supports the feature. +@end table + +See also under @ref{x86 Options} for standard options. + @node Darwin Options @subsection Darwin Options @cindex Darwin options @@ -36488,112 +36595,6 @@ positions 62:57 can be used for metadata. @xref{Cygwin and MinGW Options}. -@node Cygwin and MinGW Options -@subsection Cygwin and MinGW Options -@cindex Cygwin and MinGW Options -@cindex Options for Cygwin and MinGW - -These additional options are available for Microsoft Windows targets: - -@table @gcctabopt -@opindex mconsole -@item -mconsole -This option -specifies that a console application is to be generated, by -instructing the linker to set the PE header subsystem type -required for console applications. -This option is available for Cygwin and MinGW targets and is -enabled by default on those targets. - -@opindex mcrtdll -@item -mcrtdll=@var{library} -Preprocess, compile or link with specified C RunTime DLL @var{library}. -This option adjust predefined macros @code{__CRTDLL__}, @code{__MSVCRT__}, -@code{_UCRT} and @code{__MSVCRT_VERSION__} for specified CRT @var{library}, -choose start file for CRT @var{library} and link with CRT @var{library}. -Recognized CRT library names for proprocessor are: -@code{crtdll*}, @code{msvcrt10*}, @code{msvcrt20*}, @code{msvcrt40*}, -@code{msvcr40*}, @code{msvcrtd*}, @code{msvcrt-os*}, -@code{msvcr70*}, @code{msvcr71*}, @code{msvcr80*}, @code{msvcr90*}, -@code{msvcr100*}, @code{msvcr110*}, @code{msvcr120*} and @code{ucrt*}. -If this options is not specified then the default MinGW import library -@code{msvcrt} is used for linking and no other adjustment for -preprocessor is done. MinGW import library @code{msvcrt} is just a -symlink to (or a copy of) another MinGW CRT import library -chosen during MinGW compilation. MinGW import library @code{msvcrt-os} -is for Windows system CRT DLL library @code{msvcrt.dll} and -in most cases is the default MinGW import library. -Generally speaking, changing the CRT DLL requires recompiling -the entire MinGW CRT. This option is for experimental and testing -purposes only. -This option is available for MinGW targets. - -@opindex mdll -@item -mdll -This option is available for Cygwin and MinGW targets. It -specifies that a DLL---a dynamic link library---is to be -generated, enabling the selection of the required runtime -startup object and entry point. - -@opindex mnop-fun-dllimport -@item -mnop-fun-dllimport -This option is available for Cygwin and MinGW targets. It -specifies that the @code{dllimport} attribute should be ignored. - -@opindex mthreads -@item -mthreads -This option is available for MinGW targets. It specifies -that MinGW-specific thread support is to be used. - -@opindex municode -@item -municode -This option is available for MinGW-w64 targets. It causes -the @code{UNICODE} preprocessor macro to be predefined, and -chooses Unicode-capable runtime startup code. - -@opindex mwin32 -@item -mwin32 -This option is available for Cygwin and MinGW targets. It -specifies that the typical Microsoft Windows predefined macros are to -be set in the pre-processor, but does not influence the choice -of runtime library/startup code. - -@opindex mwindows -@item -mwindows -This option is available for Cygwin and MinGW targets. It -specifies that a GUI application is to be generated by -instructing the linker to set the PE header subsystem type -appropriately. - -@opindex fno-set-stack-executable -@opindex fset-stack-executable -@item -fno-set-stack-executable -This option is available for MinGW targets. It specifies that -the executable flag for the stack used by nested functions isn't -set. This is necessary for binaries running in kernel mode of -Microsoft Windows, as there the User32 API, which is used to set executable -privileges, isn't available. - -@opindex fno-writable-relocated-rdata -@opindex fwritable-relocated-rdata -@item -fwritable-relocated-rdata -This option is available for MinGW and Cygwin targets. It specifies -that relocated-data in read-only section is put into the @code{.data} -section. This is a necessary for older runtimes not supporting -modification of @code{.rdata} sections for pseudo-relocation. - -@opindex mpe-aligned-commons -@item -mpe-aligned-commons -This option is available for Cygwin and MinGW targets. It -specifies that the GNU extension to the PE file format that -permits the correct alignment of COMMON variables should be -used when generating code. It is enabled by default if -GCC detects that the target assembler found during configuration -supports the feature. -@end table - -See also under @ref{x86 Options} for standard options. - @node Xstormy16 Options @subsection Xstormy16 Options @cindex Xstormy16 Options -- 2.34.1