Bug 56909 - [4.8 regression] s-atopri.adb:multiple undefined references on mingw32
Summary: [4.8 regression] s-atopri.adb:multiple undefined references on mingw32
Status: RESOLVED WONTFIX
Alias: None
Product: gcc
Classification: Unclassified
Component: ada (show other bugs)
Version: 4.8.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-10 15:58 UTC by Arthur Zhang
Modified: 2013-04-23 14:31 UTC (History)
2 users (show)

See Also:
Host: mingw32
Target: mingw32
Build: mingw32
Known to work:
Known to fail:
Last reconfirmed: 2013-04-11 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arthur Zhang 2013-04-10 15:58:29 UTC
Both for 4.8.0 release tarball and SVN 4_8-Branch

Error:

s-atopri.o: In function `system__atomic_primitives__lock_free_read_64':
e:\test1\bd\wk\build\gcc\ada\rts/s-atopri.adb:80: undefined reference to `__atomic_load_8'
s-atopri.o: In function `system__atomic_primitives__lock_free_try_write_8':
e:\test1\bd\wk\build\gcc\ada\rts/s-atopri.adb:101: undefined reference to `__sync_val_compare_and_swap_1'
s-atopri.o: In function `system__atomic_primitives__lock_free_try_write_16':
e:\test1\bd\wk\build\gcc\ada\rts/s-atopri.adb:130: undefined reference to `__sync_val_compare_and_swap_2'
s-atopri.o: In function `system__atomic_primitives__lock_free_try_write_32':
e:\test1\bd\wk\build\gcc\ada\rts/s-atopri.adb:159: undefined reference to `__sync_val_compare_and_swap_4'
s-atopri.o: In function `system__atomic_primitives__lock_free_try_write_64':
e:\test1\bd\wk\build\gcc\ada\rts/s-atopri.adb:188: undefined reference to `__sync_val_compare_and_swap_8'
collect2.exe: error: ld returned 1 exit status
make[4]: *** [gnatlib-shared-win32] Error 1
make[4]: Leaving directory `/home/t/bd/wk/build/gcc/ada'
make[3]: *** [gnatlib-shared] Error 2
make[3]: Leaving directory `/home/t/bd/wk/build/gcc/ada'
make[2]: *** [gnatlib-shared] Error 2
make[2]: Leaving directory `/home/t/bd/wk/build/mingw32/libada'
make[1]: *** [all-target-libada] Error 2
make[1]: Leaving directory `/home/t/bd/wk/build'
make: *** [all] Error 2


Command:

...
/mingw/mingw32/bin/ranlib rts/libgnarl.a
/mingw/mingw32/bin/ar rc rts/libgmem.a \
		  rts/memtrack.o
/mingw/mingw32/bin/ranlib rts/libgmem.a
chmod a-wx rts/*.ali
touch ../stamp-gnatlib-rts
make[5]: Leaving directory `/home/t/bd/wk/build/gcc/ada'
rm -f rts/libgna*.dll
cd rts; `echo "/home/t/bd/wk/build/./gcc/xgcc -B/home/t/bd/wk/build/./gcc/ -L/home/t/bd/wk/build/mingw32/winsup/mingw -L/home/t/bd/wk/build/mingw32/winsup/w32api/lib -isystem /home/t/bd/wk/gcc-4.8.0/winsup/mingw/include -isystem /home/t/bd/wk/gcc-4.8.0/winsup/w32api/include -B/mingw/mingw32/bin/ -B/mingw/mingw32/lib/ -isystem /mingw/mingw32/include -isystem /mingw/mingw32/sys-include   " \
                | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \
		 \
		-o libgnat-4.8.dll \
		a-assert.o a-btgbso.o a-calari.o a-calcon.o a-caldel.o a-calend.o a-calfor.o a-catizo.o a-cbhama.o a-cbhase.o a-cborse.o a-cbdlli.o a-cbmutr.o a-cborma.o a-cbprqu.o a-cbsyqu.o a-cdlili.o a-cfdlli.o a-cfhama.o a-cfhase.o a-cforma.o a-cforse.o a-cgaaso.o a-cgarso.o a-cgcaso.o a-chacon.o a-chahan.o a-charac.o a-chlat1.o a-chlat9.o a-chtgbo.o a-chtgbk.o a-chtgke.o a-chtgop.o a-chzla1.o a-chzla9.o a-cidlli.o a-cihama.o a-cihase.o a-ciorma.o a-ciormu.o a-ciorse.o a-clrefi.o a-cogeso.o a-cohama.o a-cohase.o a-cohata.o a-coinho.o a-coinve.o a-colien.o a-colire.o a-comlin.o a-contai.o a-convec.o a-cobove.o a-cofove.o a-coorma.o a-coormu.o a-coorse.o a-coprnu.o a-coteio.o a-crbltr.o a-crbtgk.o a-crbtgo.o a-crdlli.o a-comutr.o a-cimutr.o a-csquin.o a-cuprqu.o a-cusyqu.o a-cwila1.o a-cwila9.o a-decima.o a-diocst.o a-direct.o a-direio.o a-dirval.o a-einuoc.o a-elchha.o a-envvar.o a-except.o a-exctra.o a-finali.o a-flteio.o a-fwteio.o a-fzteio.o a-inteio.o a-ioexce.o a-iteint.o a-iwteio.o a-izteio.o a-lcteio.o a-lfteio.o a-lfwtio.o a-lfztio.o a-liteio.o a-liwtio.o a-liztio.o a-llctio.o a-llftio.o a-llfwti.o a-llfzti.o a-llitio.o a-lliwti.o a-llizti.o a-locale.o a-ncelfu.o a-ngcefu.o a-ngcoar.o a-ngcoty.o a-ngelfu.o a-ngrear.o a-nlcefu.o a-nlcoar.o a-nlcoty.o a-nlelfu.o a-nlrear.o a-nllcar.o a-nllcef.o a-nllcty.o a-nllefu.o a-nllrar.o a-nscefu.o a-nscoty.o a-nselfu.o a-nucoar.o a-nucoty.o a-nudira.o a-nuelfu.o a-nuflra.o a-numaux.o a-numeri.o a-nurear.o a-rbtgbo.o a-rbtgbk.o a-rbtgso.o a-sbecin.o a-sbhcin.o a-sblcin.o a-scteio.o a-secain.o a-sequio.o a-sfecin.o a-sfhcin.o a-sflcin.o a-sfteio.o a-sfwtio.o a-sfztio.o a-shcain.o a-siocst.o a-siteio.o a-siwtio.o a-siztio.o a-slcain.o a-ssicst.o a-ssitio.o a-ssiwti.o a-ssizti.o a-stboha.o a-stfiha.o a-stmaco.o a-storio.o a-strbou.o a-stream.o a-strfix.o a-strhas.o a-string.o a-strmap.o a-strsea.o a-strsup.o a-strunb.o a-ststio.o a-stunau.o a-stunha.o a-stuten.o a-stwibo.o a-stwifi.o a-stwiha.o a-stwima.o a-stwise.o a-stwisu.o a-stwiun.o a-stzbou.o a-stzfix.o a-stzhas.o a-stzmap.o a-stzsea.o a-stzsup.o a-stzunb.o a-suecin.o a-suenco.o a-suenst.o a-suewst.o a-suezst.o a-suhcin.o a-sulcin.o a-suteio.o a-swbwha.o a-swfwha.o a-swmwco.o a-swunau.o a-swuwha.o a-swuwti.o a-szbzha.o a-szfzha.o a-szmzco.o a-szunau.o a-szuzha.o a-szuzti.o a-tags.o a-teioed.o a-textio.o a-tgdico.o a-tiboio.o a-ticoau.o a-ticoio.o a-tideau.o a-tideio.o a-tienau.o a-tienio.o a-tifiio.o a-tiflau.o a-tiflio.o a-tigeau.o a-tiinau.o a-tiinio.o a-timoau.o a-timoio.o a-tiocst.o a-tirsfi.o a-titest.o a-tiunio.o a-unccon.o a-uncdea.o a-undesu.o a-wichha.o a-wichun.o a-widcha.o a-witeio.o a-wrstfi.o a-wtcoau.o a-wtcoio.o a-wtcstr.o a-wtdeau.o a-wtdeio.o a-wtedit.o a-wtenau.o a-wtenio.o a-wtfiio.o a-wtflau.o a-wtflio.o a-wtgeau.o a-wtinau.o a-wtinio.o a-wtmoau.o a-wtmoio.o a-wttest.o a-wwboio.o a-wwunio.o a-zchara.o a-zchhan.o a-zchuni.o a-zrstfi.o a-ztcoau.o a-ztcoio.o a-ztcstr.o a-ztdeau.o a-ztdeio.o a-ztedit.o a-ztenau.o a-ztenio.o a-ztexio.o a-ztfiio.o a-ztflau.o a-ztflio.o a-ztgeau.o a-ztinau.o a-ztinio.o a-ztmoau.o a-ztmoio.o a-zttest.o a-zzboio.o a-zzunio.o ada.o calendar.o directio.o g-arrspl.o g-awk.o g-bubsor.o g-busora.o g-busorg.o g-byorma.o g-bytswa.o g-calend.o g-casuti.o g-catiio.o g-cgi.o g-cgicoo.o g-cgideb.o g-comlin.o g-comver.o g-crc32.o g-ctrl_c.o g-curexc.o g-debpoo.o g-debuti.o g-decstr.o g-deutst.o g-diopit.o g-dirope.o g-dynhta.o g-dyntab.o g-encstr.o g-enutst.o g-excact.o g-except.o g-exctra.o g-expect.o g-exptty.o g-flocon.o g-heasor.o g-hesora.o g-hesorg.o g-htable.o g-io.o g-io_aux.o g-locfil.o g-mbdira.o g-mbflra.o g-md5.o g-memdum.o g-moreex.o g-os_lib.o g-pehage.o g-rannum.o g-regexp.o g-regpat.o g-sechas.o g-sehamd.o g-sehash.o g-sercom.o g-sestin.o g-sha1.o g-sha224.o g-sha256.o g-sha384.o g-sha512.o g-shsh32.o g-shsh64.o g-shshco.o g-souinf.o g-spchge.o g-speche.o g-spipat.o g-spitbo.o g-sptabo.o g-sptain.o g-sptavs.o g-string.o g-strspl.o g-table.o g-tasloc.o g-timsta.o g-traceb.o g-trasym.o g-tty.o g-u3spch.o g-utf_32.o g-wispch.o g-wistsp.o g-zspche.o g-zstspl.o gnat.o i-c.o i-cexten.o i-cobol.o i-cpoint.o i-cpp.o i-cstrea.o i-cstrin.o i-fortra.o i-pacdec.o interfac.o ioexcept.o machcode.o s-addima.o s-addope.o s-arit64.o s-assert.o s-atacco.o s-atocou.o s-atopri.o s-auxdec.o s-bignum.o s-bitops.o s-boarop.o s-bytswa.o s-carsi8.o s-carun8.o s-casi16.o s-casi32.o s-casi64.o s-casuti.o s-caun16.o s-caun32.o s-caun64.o s-chepoo.o s-commun.o s-conca2.o s-conca3.o s-conca4.o s-conca5.o s-conca6.o s-conca7.o s-conca8.o s-conca9.o s-crc32.o s-crtl.o s-crtrun.o s-diflio.o s-dim.o s-diinio.o s-dimkio.o s-dimmks.o s-direio.o s-dmotpr.o s-dsaser.o s-excdeb.o s-except.o s-exctab.o s-exnint.o s-exnllf.o s-exnlli.o s-expint.o s-explli.o s-expllu.o s-expmod.o s-expuns.o s-fatflt.o s-fatgen.o s-fatlfl.o s-fatllf.o s-fatsfl.o s-ficobl.o s-fileio.o s-filofl.o s-finmas.o s-finroo.o s-fishfl.o s-flocon.o s-fore.o s-fvadfl.o s-fvaffl.o s-fvagfl.o s-gearop.o s-geveop.o s-gloloc.o s-htable.o s-imenne.o s-imgbiu.o s-imgboo.o s-imgcha.o s-imgdec.o s-imgenu.o s-imgint.o s-imgllb.o s-imglld.o s-imglli.o s-imgllu.o s-imgllw.o s-imgrea.o s-imguns.o s-imgwch.o s-imgwiu.o s-io.o s-llflex.o s-maccod.o s-mantis.o s-mastop.o s-memcop.o s-memory.o s-multip.o s-os_lib.o s-oscons.o s-osprim.o s-pack03.o s-pack05.o s-pack06.o s-pack07.o s-pack09.o s-pack10.o s-pack11.o s-pack12.o s-pack13.o s-pack14.o s-pack15.o s-pack17.o s-pack18.o s-pack19.o s-pack20.o s-pack21.o s-pack22.o s-pack23.o s-pack24.o s-pack25.o s-pack26.o s-pack27.o s-pack28.o s-pack29.o s-pack30.o s-pack31.o s-pack33.o s-pack34.o s-pack35.o s-pack36.o s-pack37.o s-pack38.o s-pack39.o s-pack40.o s-pack41.o s-pack42.o s-pack43.o s-pack44.o s-pack45.o s-pack46.o s-pack47.o s-pack48.o s-pack49.o s-pack50.o s-pack51.o s-pack52.o s-pack53.o s-pack54.o s-pack55.o s-pack56.o s-pack57.o s-pack58.o s-pack59.o s-pack60.o s-pack61.o s-pack62.o s-pack63.o s-parame.o s-parint.o s-pooglo.o s-pooloc.o s-poosiz.o s-powtab.o s-purexc.o s-rannum.o s-ransee.o s-regexp.o s-regpat.o s-restri.o s-rident.o s-rpc.o s-scaval.o s-secsta.o s-sequio.o s-shasto.o s-soflin.o s-spsufi.o s-stache.o s-stalib.o s-stausa.o s-stchop.o s-stoele.o s-stopoo.o s-stposu.o s-stratt.o s-strhas.o s-string.o s-ststop.o s-tasloc.o s-traceb.o s-traces.o s-traent.o s-unstyp.o s-utf_32.o s-vaflop.o s-valboo.o s-valcha.o s-valdec.o s-valenu.o s-valint.o s-vallld.o s-vallli.o s-valllu.o s-valrea.o s-valuns.o s-valuti.o s-valwch.o s-veboop.o s-vector.o s-vercon.o s-vmexta.o s-wchcnv.o s-wchcon.o s-wchjis.o s-wchstw.o s-wchwts.o s-widboo.o s-widcha.o s-widenu.o s-widlli.o s-widllu.o s-widwch.o s-wwdcha.o s-wwdenu.o s-wwdwch.o sequenio.o system.o text_io.o unchconv.o unchdeal.o g-allein.o g-alleve.o g-altcon.o g-altive.o g-alveop.o g-alvety.o g-alvevi.o g-soccon.o g-socket.o g-socthi.o g-soliop.o g-sothco.o s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o adadecode.o adaint.o argv.o aux-io.o cal.o cio.o cstreams.o ctrl_c.o env.o errno.o exit.o expect.o final.o init.o initialize.o locales.o mkdir.o raise.o seh_init.o socket.o sysdep.o targext.o terminals.o tracebak.o  raise-gcc.o \
		-m32 -Wl,-soname,libgnat-4.8.dll -lws2_32 -lgcc_s
Comment 1 Arthur Zhang 2013-04-10 16:32:49 UTC
Less undefined references if add '--with-arch=i486 --with-tune=i686' to configure.

s-atopri.o: In function `system__atomic_primitives__lock_free_read_64':
e:\test1\bd\wk\build\gcc\ada\rts/s-atopri.adb:80: undefined reference to `__atomic_load_8'
s-atopri.o: In function `system__atomic_primitives__lock_free_try_write_64':
e:\test1\bd\wk\build\gcc\ada\rts/s-atopri.adb:188: undefined reference to `__sync_val_compare_and_swap_8'
collect2.exe: error: ld returned 1 exit status

Full configure command line:

  $srcdir/configure \
    --enable-languages=c,c++,ada,fortran,objc,obj-c++  \
    --with-arch=i486 --with-tune=i686 \
    --disable-sjlj-exceptions    \
    --with-dwarf2                \
    --enable-shared              \
    --enable-libgomp             \
    --disable-win32-registry     \
    --enable-libstdcxx-debug     \
    --disable-build-poststage1-with-cxx \
    --enable-version-specific-runtime-libs \
    --build=mingw32  \
    --prefix=/mingw
}
Comment 2 Eric Botcazou 2013-04-11 07:28:27 UTC
> Less undefined references if add '--with-arch=i486 --with-tune=i686' to
> configure.

Probably not a single one if you remove this i486 thing?  If so, we're probably not going to fix it.
Comment 3 Arthur Zhang 2013-04-11 22:08:54 UTC
The only configure option works for now is '--with-arch=i686'. Thanks.
Comment 4 Eric Botcazou 2013-04-12 05:41:33 UTC
> The only configure option works for now is '--with-arch=i686'. Thanks.

You're welcome.  But you should remove it, it probably slows down the compiler.
Comment 5 Arthur Zhang 2013-04-12 20:39:42 UTC
(In reply to comment #4)
> > The only configure option works for now is '--with-arch=i686'. Thanks.
> 
> You're welcome.  But you should remove it, it probably slows down the compiler.

Remove what? The '--with-arch=i686' setting? If so then is there any workaround to get rid of those undefined references.
Comment 6 Eric Botcazou 2013-04-12 21:35:26 UTC
> Remove what? The '--with-arch=i686' setting? If so then is there any workaround
> to get rid of those undefined references.

Yes, remove --with-arch=i686 and --with-tune=i686, the default is better.
Comment 7 Arthur Zhang 2013-04-14 04:12:35 UTC
clarification:

On MinGW, GCC 4.7.x Ada built successfully with default (no -with-arch or -with-tune) configure.

GCC 4.8.0 s-atopri.* changes breaks same configure:

1. with default (no -with-arch or -with-tune):
  failed with five undefined reference (as the top of this ticket)

2. with '--with-arch=i486 --with-tune=i686':
  failed with two undefined reference (as comment 1)

3. with '--with-arch=i686':
  build successfully (as comment 3). this may slow the compiler, and leave i384/i486 arch not be supported so we are looking for a better build workaround or even better a fix from gcc/ada/libgnat.
Comment 8 Andrew Pinski 2013-04-14 04:51:20 UTC
(In reply to comment #7)
> 3. with '--with-arch=i686':
>   build successfully (as comment 3). this may slow the compiler, and leave
> i384/i486 arch not be supported so we are looking for a better build workaround
> or even better a fix from gcc/ada/libgnat.

I doubt i384/i486 are supported in any modern Windows OS; even 686 is questionable too.
Comment 9 Eric Botcazou 2013-04-14 06:45:18 UTC
> On MinGW, GCC 4.7.x Ada built successfully with default (no -with-arch or
> -with-tune) configure.
> 
> GCC 4.8.0 s-atopri.* changes breaks same configure:
> 
> 1. with default (no -with-arch or -with-tune):
>   failed with five undefined reference (as the top of this ticket)

OK, I missed that, then configure with --build=i686-pc-mingw32.
Comment 10 Arthur Zhang 2013-04-14 22:09:34 UTC
(In reply to comment #9)
> > On MinGW, GCC 4.7.x Ada built successfully with default (no -with-arch or
> > -with-tune) configure.
> > 
> > GCC 4.8.0 s-atopri.* changes breaks same configure:
> > 
> > 1. with default (no -with-arch or -with-tune):
> >   failed with five undefined reference (as the top of this ticket)
> 
> OK, I missed that, then configure with --build=i686-pc-mingw32.

Thanks for the suggestion, it built successfully too. 
However, since MinGW build has --enable-version-specific-runtime-libs, the old v4.7.2 has lib installed to \MinGW\lib\gcc\mingw32\4.7.2 (as --build=mingw32) but now new v4.8.0 build will install lib to ...\gcc\i686-pc-mingw32\4.8.0. For sure we can use post-install script to move it back from i686-pc-mingw32 dir to mingw32 dir. Is there any gcc configure switch I can set to do that too?
Comment 11 Arthur Zhang 2013-04-14 23:12:48 UTC
Will '--exec-prefix=mingw32' work?
Comment 12 Arthur Zhang 2013-04-17 19:44:34 UTC
I can build successfully with either '--with-arch=i686 --build=mingw32' or '--build=i686-pc-mingw32', but as I mentioned in comment 10, change build target cause packaging issue. 

What is the benefit to use '--build=i686-pc-mingw32' than '--with-arch=i686'?

Thanks.
Comment 13 Eric Botcazou 2013-04-17 20:41:54 UTC
> I can build successfully with either '--with-arch=i686 --build=mingw32' or
> '--build=i686-pc-mingw32', but as I mentioned in comment 10, change build
> target cause packaging issue. 

Too bad, but I don't think this will ultimately change the decision, as i686-pc-mingw32 is the standard triplet for Windows these days.

> What is the benefit to use '--build=i686-pc-mingw32' than '--with-arch=i686'?

It doesn't force -march=i686 by default.
Comment 14 Arthur Zhang 2013-04-17 21:02:14 UTC
(In reply to comment #13)
> > What is the benefit to use '--build=i686-pc-mingw32' than '--with-arch=i686'?
> 
> It doesn't force -march=i686 by default.

Why below output has '-march=pentiumpro'?

bash-3.1$ gcc -v  -o t.exe ./test.c
Using built-in specs.
COLLECT_GCC=c:\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/i686-pc-mingw32/4.8.0/lto-wrappe
r.exe
Target: i686-pc-mingw32
Configured with: ../gcc-4.8.0/configure --enable-languages=c,c++,ada,fortran,obj
c,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgo
mp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-r
untime-libs --build=i686-pc-mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.8.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 't.exe' '-mtune=generic' '-march=pentiumpro'
...
Comment 15 Eric Botcazou 2013-04-17 21:35:54 UTC
> Why below output has '-march=pentiumpro'?

I think it's the autodetected arch, but maybe I'm confused.  Never mind.
Comment 16 Arthur Zhang 2013-04-18 14:48:50 UTC
(In reply to comment #15)
> > Why below output has '-march=pentiumpro'?
> 
> I think it's the autodetected arch, but maybe I'm confused.  Never mind.

If you mean autodetected arch of the running PC (which has i7 CPU), then I think it is not, since for gcc v4.7.2 (which is built with only --build=mingw32):

sh-3.1$ gcc -v -o t.exe test.c
Using built-in specs.
COLLECT_GCC=c:\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.7.2/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.7.2/configure --enable-languages=c,c++,ada,fortran,obj
c,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgo
mp --disable-win32-registry --enable-libstdcxx-debug --disable-build-poststage1-
with-cxx --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.7.2 (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 't.exe' '-mtune=i386' '-march=i386'
...
Comment 17 nightstrike 2013-04-23 13:09:40 UTC
What is the driving factor that is causing you to want to make the gcc build so complicated?  We at http://mingw-w64.sf.net have gone to great lengths to make the windows build process simple, and to support many configurations.

Perhaps you shuld take a step back and look at your overall objective.  You shouldn't need many configure options at all.
Comment 18 Arthur Zhang 2013-04-23 14:31:12 UTC
(In reply to comment #17)
> What is the driving factor that is causing you to want to make the gcc build so
> complicated?  

I am building release packages for MinGW project. I'd like to keep as more as gcc4.7.2 release from building/packaging point of view.

> We at http://mingw-w64.sf.net have gone to great lengths to make
> the windows build process simple, and to support many configurations.

Thanks for maintaining mingw-w64 project! I will try it for sure.

> Perhaps you shuld take a step back and look at your overall objective.  You
> shouldn't need many configure options at all.

Before I learn the details of mingw-w64, can you share how mingw-w64 configure the gcc 4.8.0 Ada build. Thanks.