Re: [Mingw-w64-public] [PATCH] mingw-w64-crt: Build system changes for ARM
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Am 27.05.2014 01:04, schrieb JonY: On 5/27/2014 05:23, André Hentschel wrote: I don't see any obvious problems with it. Just one question though, does the ARM compiler also interpret -m32/-m64? If so, there should be some checks added to prevent accidentally trying to build x86 stuff with it. Of course, the check can come in later. Thx for the review, i pushed it after fixing some obvious bugs. The ARM gcc bails out on -m32/-m64... Do you mean a check like the existing one for libce? That too, I'm just wondering what will the ARM compiler do with -m32/-m64 or if multilib is even possible given that ARM has recently introduced 64bit CPUs. - -m32/-m64 even alerts with aarch64 aware compilers, the architectures are strictly separated. On aarch32 there are switches like -marm and -mthumb(2), but i really doubt that we should wait for -m32/-m64 on ARM. At the moment we also should focus on aarch32 and don't even care about aarch64 until we have a working toolchain. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQGcBAEBAgAGBQJThhurAAoJEGm5GZTakYssAJUL/jrhSTAdOSOqDlyQQbqAxlxl zAcIMc5JqLJqvPfbCUSGMrJ6uH8gYHggLtk5KBAalym08vFnErAwwk5b6JQC+9Eu Xb5fj199CwdeVX/fMR2nkjyS6UruVvYoLHtEqXW+e7z21K9KHMNR1Sd1hxJaaMhk aN19rHLAOv10WBXayAHxFBhW8THy4Lyu9i2OlDVyAFDRX03Hu5htPj7ut9ST1J5D EmIp7oHKsE8UK+g6w2KX6RDxJGa0yIlagoHv6zIxABWxHe8eNEb9ztP7bROQ4JrG BAUDf368Qh5Ha8U5B4QBmmRKTxXeBwtLkZ/RV+7nh6y0mVKUqRoApPhLVIHLUzlY IeejaW6/d/u6A7icSzPsMHHT+44Q5fkFq6xd5IiDLaOy1KgEPNI3cauE0OcfjeIJ jXG2AIBTBh/wIHHBKKumbse/Zyr+Fj6tMqEDJTsKcZfRFW1vQZmeKHE54oTPI1/V ZIqWdlDU28AXN3KcHFdoMmr58fOYSUhAG0uQlku3qQ== =Vq0K -END PGP SIGNATURE- -- Time is money. Stop wasting it! Get your web API in 5 minutes. www.restlet.com/download http://p.sf.net/sfu/restlet ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] mingw-w64-crt: Build system changes for ARM
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Am 24.05.2014 14:18, schrieb JonY: On 5/24/2014 04:43, André Hentschel wrote: Am 22.05.2014 11:36, schrieb Jean-Baptiste Kempf: On 19 May, André Hentschel wrote : Hope it is ok to compress these 1.8 MB To be honest, it would be easier to review if you just send the non-generated files :) You're right, here it is. I don't see any obvious problems with it. Just one question though, does the ARM compiler also interpret -m32/-m64? If so, there should be some checks added to prevent accidentally trying to build x86 stuff with it. Of course, the check can come in later. Thx for the review, i pushed it after fixing some obvious bugs. The ARM gcc bails out on -m32/-m64... Do you mean a check like the existing one for libce? -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQGcBAEBAgAGBQJTg7C0AAoJEGm5GZTakYssqH8L/26yVSlBBUwz/V+msVI494Xg iV33sYS9ncNRMUfGdxZx/paBRjQUjHVEMLy0xJy3HcG19BYZ+I9ahVmSt8UJmqUN yJItkwLPJkXP5sQGn7+zqSZjTX9c7HxWlKbZGTtUhac4rGk2tWoo3Yy+GlPdm3Q2 vPQk+MtGpKoUx5xy2TtEpb93EAp6XGZ1K3EE5RqbBzXXugaBrZ7UQBZKCgxDMxNn 0qsE8+o2StALyzuSJd1FG3tmh+XSW1iTl5ICiCiwIYNZEwwMlxcUQpNmopTCOhFK DWU2apWS4vIBAA5TZVQty1ydx1lkExwLJFBZx90SgQdeuHUp++S6Ebb5CjjQplf7 lfUoqBb9U/kqm3VefSr3B46iUJ1cen46LKTth/y/K2EQX2f/z5VOO4lrxkGv3u37 jFgnEBBTGkQZ6LSk2BPlmKuOJys79Cna8lFo1A0EDY7q+kQsE5W3xY9YqUFNrhf0 nksabCZNh158qXg0xwjyBtcpiuUe+wzUgtvd2JvuBQ== =hgMt -END PGP SIGNATURE- -- The best possible search technologies are now affordable for all companies. Download your FREE open source Enterprise Search Engine today! Our experts will assist you in its installation for $59/mo, no commitment. Test it for FREE on our Cloud platform anytime! http://pubads.g.doubleclick.net/gampad/clk?id=145328191iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] mingw-w64-crt: Build system changes for ARM
On 5/27/2014 05:23, André Hentschel wrote: I don't see any obvious problems with it. Just one question though, does the ARM compiler also interpret -m32/-m64? If so, there should be some checks added to prevent accidentally trying to build x86 stuff with it. Of course, the check can come in later. Thx for the review, i pushed it after fixing some obvious bugs. The ARM gcc bails out on -m32/-m64... Do you mean a check like the existing one for libce? That too, I'm just wondering what will the ARM compiler do with -m32/-m64 or if multilib is even possible given that ARM has recently introduced 64bit CPUs. signature.asc Description: OpenPGP digital signature -- The best possible search technologies are now affordable for all companies. Download your FREE open source Enterprise Search Engine today! Our experts will assist you in its installation for $59/mo, no commitment. Test it for FREE on our Cloud platform anytime! http://pubads.g.doubleclick.net/gampad/clk?id=145328191iu=/4140/ostg.clktrk___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] mingw-w64-crt: Build system changes for ARM
On 5/24/2014 04:43, André Hentschel wrote: Am 22.05.2014 11:36, schrieb Jean-Baptiste Kempf: On 19 May, André Hentschel wrote : Hope it is ok to compress these 1.8 MB To be honest, it would be easier to review if you just send the non-generated files :) You're right, here it is. I don't see any obvious problems with it. Just one question though, does the ARM compiler also interpret -m32/-m64? If so, there should be some checks added to prevent accidentally trying to build x86 stuff with it. Of course, the check can come in later. signature.asc Description: OpenPGP digital signature -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] mingw-w64-crt: Build system changes for ARM
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Am 22.05.2014 11:36, schrieb Jean-Baptiste Kempf: On 19 May, André Hentschel wrote : Hope it is ok to compress these 1.8 MB To be honest, it would be easier to review if you just send the non-generated files :) You're right, here it is. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQGcBAEBAgAGBQJTf7LpAAoJEGm5GZTakYssJmkL/AuqWqZR67wQVB4Kibj6TxZ/ i6u7+5STwoliEgx9K5GUwSlN3OmgbhrVU3SP404tfuJuXLlavbmMv9wCtmXDZkYr glDL6d2sut742/PbaWy00TZNlPEBAGSdfbQEAbVEuVakVb+SHqzaEZtAmH5O27Sv ft7Q2f6svQ7p09zkM9j74cbO9tAmkIXXK3vb2yU8qCGthRcvRF2O6UBwG7NNWbjN gg1/J+RUh2NBv7wAjcmGEDdK0A/VrdIU+gEx37/4yI8Z9reB6oXaXy2wd3Iglf9c dFRt7p5CwCS/ao+Dda4xvYckDlfCsF3+9xjtagPp21z89+1T19twFrjFMoeUWOwv OQ5ms4wyFzbdDBkZAWJcokrTmF6WJ91FB0cNSuyDdoeVR3KF+hMSrmm6ADj3r+3h BTHgwlzDoFvwBT/HjbRBw4QG7zyp8xo2rfII7DyzGcugFPqg8hMDLtYjBeFYf/Ph HJslu3ijQG2q4eBvgXRJz9uNGsY75LAH2FcpMqwX6A== =q7lm -END PGP SIGNATURE- diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 47532cb..3806416 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -26,14 +26,18 @@ AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ if DELAY_IMPORT_LIBS AM_DLLTOOLFLAGS += --output-delaylib $@.delayimp.a endif +CPPFLAGSARM32=-mfpu=vfp CPPFLAGS32=-m32 CPPFLAGS64=-m64 +DLLTOOLFLAGSARM32= DLLTOOLFLAGS32=--as-flags=--32 -m i386 DLLTOOLFLAGS64=--as-flags=--64 -m i386:x86-64 +DTDEFARM32=$(DLLTOOL) $(DLLTOOLFLAGSARM32) $(AM_DLLTOOLFLAGS) --input-def DTDEF32=$(DLLTOOL) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS) --input-def DTDEF64=$(DLLTOOL) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS) --input-def DTLIB32=$(DTDEF32) $(top_srcdir)/`echo $@ | $(SED) 's|/lib|/|;s|\.a|.def|'` DTLIB64=$(DTDEF64) $(top_srcdir)/`echo $@ | $(SED) 's|/lib|/|;s|\.a|.def|'` +LDFLAGSARM32= -L$(top_builddir)/libarm32 LDFLAGS32=-m32 -L$(top_builddir)/lib32 LDFLAGS64=-m64 -L$(top_builddir)/lib64 extra_include=-I$(top_srcdir)/include @@ -1087,6 +1091,259 @@ endif # End 64-bit runtime ## + + +if LIBARM32 +# +# Compiling ARM 32-bit runtime +# + +libarm32dir=$(prefix)/@LIBARM32SUFFIXDIR@ +crt32dir=$(libarm32dir) +winrt32dir=$(libarm32dir) +dx32dir=$(libarm32dir) + +winrt32_DATA = $(winrtlibs) + +if !W32API +crt32_DATA = \ + libarm32/crt1.olibarm32/crt2.o libarm32/crt1u.o libarm32/crt2u.o libarm32/dllcrt1.olibarm32/dllcrt2.o \ + libarm32/CRT_fp8.o libarm32/CRT_fp10.o libarm32/txtmode.o libarm32/binmode.o libarm32/crtbegin.o libarm32/crtend.o \ + libarm32/gcrt0.o libarm32/gcrt1.olibarm32/gcrt2.o libarm32/CRT_glob.o libarm32/CRT_noglob.o +else +crt32_DATA = +endif + +COMPILE32=$(COMPILE) $(CPPFLAGSARM32) $(extra_include) -D_SYSCRT=1 -DCRTDLL=1 +libarm32/crt1.o: crt/crtexe.c + $(COMPILE32) -c $ -o $@ -D__CRTDLL__ -U__MSVCRT__ +libarm32/crt2.o: crt/crtexe.c + $(COMPILE32) -c $ -o $@ -U__CRTDLL__ -D__MSVCRT__ +libarm32/crt1u.o: crt/ucrtexe.c + $(COMPILE32) -c $ -o $@ -D__CRTDLL__ -U__MSVCRT__ +libarm32/crt2u.o: crt/ucrtexe.c + $(COMPILE32) -c $ -o $@ -U__CRTDLL__ -D__MSVCRT__ +libarm32/dllcrt1.o: crt/crtdll.c + $(COMPILE32) -c $ -o $@ -D__CRTDLL__ -U__MSVCRT__ +libarm32/dllcrt2.o: crt/crtdll.c + $(COMPILE32) -c $ -o $@ -U__CRTDLL__ -D__MSVCRT__ + +libarm32/gcrt0.o: profile/gcrt0.c + $(COMPILE) $(CPPFLAGSARM32) -c $ -o $@ +libarm32/gcrt1.o: profile/gcrt0.c + $(COMPILE) $(CPPFLAGSARM32) -c $ -o $@ -U__MSVCRT__ +libarm32/gcrt2.o: profile/gcrt0.c + $(COMPILE) $(CPPFLAGSARM32) -c $ -o $@ -D__MSVCRT__ + +libarm32/%.o: crt/%.c + $(COMPILE) $(CPPFLAGSARM32) -c $ -o $@ + +# These source files aren't compiled in to any library yet. I'm not sure how / where to do so. +# The source files that I did compile somewhere I just guessed at anyway. +# + +temp= \ +dxerr.c \ +test.c + +libarm32_LIBRARIES = libarm32/libkernel32.a +libarm32_libkernel32_a_SOURCES = $(src_intrincs) +libarm32_libkernel32_a_AR = $(DTLIB32) $(AR) $(ARFLAGS) +libarm32_libkernel32_a_CPPFLAGS=$(CPPFLAGSARM32) $(extra_include) $(AM_CPPFLAGS) + +if !W32API +libarm32_LIBRARIES += libarm32/libmsvcrt.a +libarm32_libmsvcrt_a_SOURCES = $(src_msvcrt32) libarm32/msvcrt.def.in +libarm32_libmsvcrt_a_AR = $(DTDEFARM32) libarm32/msvcrt.def $(AR) $(ARFLAGS) +libarm32_libmsvcrt_a_CPPFLAGS=$(CPPFLAGSARM32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes) +EXTRA_libarm32_libmsvcrt_a_DEPENDENCIES=libarm32/msvcrt.def +endif + +libarm32_LIBRARIES += libarm32/libshell32.a +libarm32_libshell32_a_SOURCES = $(src_libshell32) +libarm32_libshell32_a_AR = $(DTLIB32) $(AR) $(ARFLAGS) +libarm32_libshell32_a_CPPFLAGS=$(CPPFLAGSARM32) $(sysincludes) + +libarm32_LIBRARIES += libarm32/libdinput.a +libarm32_libdinput_a_SOURCES = $(src_libdinput) +libarm32_libdinput_a_AR = $(DTLIB32) $(AR) $(ARFLAGS) +libarm32_libdinput_a_CPPFLAGS=$(CPPFLAGSARM32) $(sysincludes) + +libarm32_LIBRARIES += libarm32/libdinput8.a
Re: [Mingw-w64-public] [PATCH] mingw-w64-crt: Build system changes for ARM
On 19 May, André Hentschel wrote : Hope it is ok to compress these 1.8 MB To be honest, it would be easier to review if you just send the non-generated files :) With my kindest regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public