diff --git a/mingw-w64-cross-crt-git/0005-handle-ctor_list-internally.patch b/mingw-w64-cross-crt-git/0005-handle-ctor_list-internally.patch deleted file mode 100644 index 5356e68cb7b..00000000000 --- a/mingw-w64-cross-crt-git/0005-handle-ctor_list-internally.patch +++ /dev/null @@ -1,61 +0,0 @@ -From ca451a7a45d4876065edc6755f8aab8095914b04 Mon Sep 17 00:00:00 2001 -From: Martell Malone -Date: Sat, 21 Nov 2015 18:43:46 -0800 -Subject: [PATCH] Handle __CTOR_LIST__ internally within mingw-w64 - ---- - mingw-w64-crt/crt/gccmain.c | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) - -diff --git a/mingw-w64-crt/crt/gccmain.c b/mingw-w64-crt/crt/gccmain.c -index fc0e350..ba50691 100644 ---- a/mingw-w64-crt/crt/gccmain.c -+++ b/mingw-w64-crt/crt/gccmain.c -@@ -9,8 +9,15 @@ - #include - - typedef void (*func_ptr) (void); --extern func_ptr __CTOR_LIST__[]; --extern func_ptr __DTOR_LIST__[]; -+#define STATIC static -+ -+STATIC func_ptr __MINGW_CTOR_LIST__[1] -+ __attribute__ ((__used__, section(".ctors"), aligned(sizeof(func_ptr)))) -+ = { (func_ptr) (-1) }; -+ -+STATIC func_ptr __MINGW_DTOR_LIST__[1] -+ __attribute__((section(".dtors"), aligned(sizeof(func_ptr)))) -+ = { (func_ptr) (-1) }; - - void __do_global_dtors (void); - void __do_global_ctors (void); -@@ -19,7 +26,7 @@ void __main (void); - void - __do_global_dtors (void) - { -- static func_ptr *p = __DTOR_LIST__ + 1; -+ static func_ptr *p = __MINGW_DTOR_LIST__ + 1; - - while (*p) - { -@@ -31,17 +38,17 @@ __do_global_dtors (void) - void - __do_global_ctors (void) - { -- unsigned long nptrs = (unsigned long) (ptrdiff_t) __CTOR_LIST__[0]; -+ unsigned long nptrs = (unsigned long) (ptrdiff_t) __MINGW_CTOR_LIST__[0]; - unsigned long i; - - if (nptrs == (unsigned long) -1) - { -- for (nptrs = 0; __CTOR_LIST__[nptrs + 1] != 0; nptrs++); -+ for (nptrs = 0; __MINGW_CTOR_LIST__[nptrs + 1] != 0; nptrs++); - } - - for (i = nptrs; i >= 1; i--) - { -- __CTOR_LIST__[i] (); -+ __MINGW_CTOR_LIST__[i] (); - } - - atexit (__do_global_dtors); diff --git a/mingw-w64-cross-crt-git/PKGBUILD b/mingw-w64-cross-crt-git/PKGBUILD index a5088991066..7c1f454911d 100644 --- a/mingw-w64-cross-crt-git/PKGBUILD +++ b/mingw-w64-cross-crt-git/PKGBUILD @@ -1,13 +1,9 @@ # Maintainer: Alexey Pavlov # Contributor: Martell Malone -# controls the compiler that builds the crt with _variant -#_variant=clang -_variant=gcc - _realname=crt _mingw_suff=mingw-w64-cross -pkgname="${_mingw_suff}-${_realname}-git" +pkgname=("${_mingw_suff}-${_realname}-git") replaces=("${_mingw_suff}-${_realname}") provides=("${_mingw_suff}-${_realname}") conflicts=("${_mingw_suff}-${_realname}") @@ -17,27 +13,14 @@ pkgdesc='MinGW-w64 CRT for cross-compiler' arch=('i686' 'x86_64') url='https://mingw-w64.sourceforge.io/' license=('custom') -if [ "${_variant}" = "gcc" ]; then groups=("${_mingw_suff}-toolchain" "${_mingw_suff}") -fi depends=("${_mingw_suff}-headers") - -if [ "${_variant}" = "clang" ]; then - makedepends=("git" "clang" "lld") - pkgname="${_mingw_suff}-${_realname}-clang-git" - _imptool=genlib -else - makedepends=("git" "${_mingw_suff}-gcc" "${_mingw_suff}-binutils") - _imptool=dlltool -fi - +makedepends=("git" "${_mingw_suff}-gcc" "${_mingw_suff}-binutils") options=('!strip' 'staticlibs' '!emptydirs' '!buildflags') _commit='ecb4ff5498dfedd6abcbadb889b84fab19ee57b2' -source=("mingw-w64"::"git+https://git.code.sf.net/p/mingw-w64/mingw-w64#commit=$_commit" - "0005-handle-ctor_list-internally.patch") +source=("mingw-w64"::"git+https://git.code.sf.net/p/mingw-w64/mingw-w64#commit=$_commit") -sha256sums=('SKIP' - '0eabe00375d4e26fd7e9afa56f6a9da02845fe2c0f900f5e1f829842bff8624a') +sha256sums=('SKIP') _targets="x86_64-w64-mingw32 i686-w64-mingw32" #armv7-w64-mingw32 @@ -51,9 +34,6 @@ pkgver() { prepare() { cd "${srcdir}/mingw-w64" - if [ "${_variant}" = "clang" ]; then - git am "${srcdir}"/0005-handle-ctor_list-internally.patch - fi } build() { @@ -72,18 +52,6 @@ build() { esac mkdir -p ${srcdir}/crt-${_target} && cd ${srcdir}/crt-${_target} - #--with-host-libstdcxx="-lstdc++ -lsupc++" - # we must stitch to this once i get it built / working :) - # AS = as - - if [ "${_variant}" = "clang" ]; then - export CC="${_target}-clang" CXX="${_target}-clang++" AR="llvm-ar" RANLIB="llvm-ranlib" DLLTOOL="${_target}-dlltool" LD="lld" - fi - - if [ "${_imptool}" = "genlib" ]; then - _crt_configure_args+=" --with-genlib" - fi - ${srcdir}/mingw-w64/mingw-w64-crt/configure \ --build=${CHOST} \ --prefix=/opt/${_target} \ diff --git a/mingw-w64-cross-headers-git/PKGBUILD b/mingw-w64-cross-headers-git/PKGBUILD index 9d6a89d174f..6ef4567d34d 100644 --- a/mingw-w64-cross-headers-git/PKGBUILD +++ b/mingw-w64-cross-headers-git/PKGBUILD @@ -7,9 +7,9 @@ pkgname=("${_mingw_suff}-${_realname}-git") replaces=("${_mingw_suff}-${_realname}") provides=("${_mingw_suff}-${_realname}") conflicts=("${_mingw_suff}-${_realname}") -pkgdesc="MinGW-w64 headers for cross-compiler" pkgver=9.0.0.6029.ecb4ff54 pkgrel=2 +pkgdesc="MinGW-w64 headers for cross-compiler" arch=('i686' 'x86_64') url="https://mingw-w64.sourceforge.io/" license=('custom') @@ -44,7 +44,8 @@ build() { --prefix=/opt/${_target} \ --enable-sdk=all \ --enable-secure-api \ - --with-default-win32-winnt=0x601 + --with-default-win32-winnt=0x601 \ + --with-default-msvcrt=msvcrt done }