From: Alexandre Rostovtsev Date: Sat, 3 Oct 2015 05:40:26 +0000 (-0400) Subject: app-emulation/wine: works with gcc-5.2.0 with latest patchset X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=28604e0c07a3062664926465c294038a9dcdb82f;p=gentoo.git app-emulation/wine: works with gcc-5.2.0 with latest patchset Instead of a simple version check, run the upstream test case to check whether the installed gcc ebuild has the ms_abi bug or not. Gentoo-Bug: 549768 Package-Manager: portage-2.2.22 --- diff --git a/app-emulation/wine/files/pr66838.c b/app-emulation/wine/files/pr66838.c new file mode 100644 index 000000000000..cd616859427a --- /dev/null +++ b/app-emulation/wine/files/pr66838.c @@ -0,0 +1,36 @@ +/* From gcc svn, /branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr66838.c */ +/* Copyrighted and distributed under the same terms as gcc */ + +void abort (void); + +char global; + +__attribute__((sysv_abi, noinline, noclone)) +void sysv_abi_func(char const *desc, void *local) +{ + register int esi asm ("esi"); + register int edi asm ("edi"); + + if (local != &global) + abort (); + + /* Clobber some of the extra SYSV ABI registers. */ + asm volatile ("movl\t%2, %0\n\tmovl\t%2, %1" + : "=r" (esi), "=r" (edi) + : "i" (0xdeadbeef)); +} + +__attribute__((ms_abi, noinline, noclone)) +void ms_abi_func () +{ + sysv_abi_func ("1st call", &global); + sysv_abi_func ("2nd call", &global); + sysv_abi_func ("3rd call", &global); +} + +int +main(void) +{ + ms_abi_func(); + return 0; +} diff --git a/app-emulation/wine/wine-1.6.2-r1.ebuild b/app-emulation/wine/wine-1.6.2-r1.ebuild index cd806c0684a2..7890da716df5 100644 --- a/app-emulation/wine/wine-1.6.2-r1.ebuild +++ b/app-emulation/wine/wine-1.6.2-r1.ebuild @@ -145,12 +145,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.6.2.ebuild b/app-emulation/wine/wine-1.6.2.ebuild index 3b620b1f9fd5..e990228e1af3 100644 --- a/app-emulation/wine/wine-1.6.2.ebuild +++ b/app-emulation/wine/wine-1.6.2.ebuild @@ -174,12 +174,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.10-r1.ebuild b/app-emulation/wine/wine-1.7.10-r1.ebuild index 8dd499670d14..9cd19bdcba2c 100644 --- a/app-emulation/wine/wine-1.7.10-r1.ebuild +++ b/app-emulation/wine/wine-1.7.10-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.11-r1.ebuild b/app-emulation/wine/wine-1.7.11-r1.ebuild index 8dd499670d14..9cd19bdcba2c 100644 --- a/app-emulation/wine/wine-1.7.11-r1.ebuild +++ b/app-emulation/wine/wine-1.7.11-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.12-r1.ebuild b/app-emulation/wine/wine-1.7.12-r1.ebuild index a672bc81acc3..16697c5c4b24 100644 --- a/app-emulation/wine/wine-1.7.12-r1.ebuild +++ b/app-emulation/wine/wine-1.7.12-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.13-r1.ebuild b/app-emulation/wine/wine-1.7.13-r1.ebuild index a672bc81acc3..16697c5c4b24 100644 --- a/app-emulation/wine/wine-1.7.13-r1.ebuild +++ b/app-emulation/wine/wine-1.7.13-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.14-r1.ebuild b/app-emulation/wine/wine-1.7.14-r1.ebuild index a672bc81acc3..16697c5c4b24 100644 --- a/app-emulation/wine/wine-1.7.14-r1.ebuild +++ b/app-emulation/wine/wine-1.7.14-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.15-r1.ebuild b/app-emulation/wine/wine-1.7.15-r1.ebuild index a672bc81acc3..16697c5c4b24 100644 --- a/app-emulation/wine/wine-1.7.15-r1.ebuild +++ b/app-emulation/wine/wine-1.7.15-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.16-r1.ebuild b/app-emulation/wine/wine-1.7.16-r1.ebuild index a672bc81acc3..16697c5c4b24 100644 --- a/app-emulation/wine/wine-1.7.16-r1.ebuild +++ b/app-emulation/wine/wine-1.7.16-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.17-r1.ebuild b/app-emulation/wine/wine-1.7.17-r1.ebuild index a672bc81acc3..16697c5c4b24 100644 --- a/app-emulation/wine/wine-1.7.17-r1.ebuild +++ b/app-emulation/wine/wine-1.7.17-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.18-r1.ebuild b/app-emulation/wine/wine-1.7.18-r1.ebuild index a672bc81acc3..16697c5c4b24 100644 --- a/app-emulation/wine/wine-1.7.18-r1.ebuild +++ b/app-emulation/wine/wine-1.7.18-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.19-r2.ebuild b/app-emulation/wine/wine-1.7.19-r2.ebuild index 0569dd93ff56..90fb71037732 100644 --- a/app-emulation/wine/wine-1.7.19-r2.ebuild +++ b/app-emulation/wine/wine-1.7.19-r2.ebuild @@ -159,12 +159,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.20-r1.ebuild b/app-emulation/wine/wine-1.7.20-r1.ebuild index baa882c1ee6d..39a57ab49f68 100644 --- a/app-emulation/wine/wine-1.7.20-r1.ebuild +++ b/app-emulation/wine/wine-1.7.20-r1.ebuild @@ -161,12 +161,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.21-r1.ebuild b/app-emulation/wine/wine-1.7.21-r1.ebuild index 73436402e63e..3e8845408490 100644 --- a/app-emulation/wine/wine-1.7.21-r1.ebuild +++ b/app-emulation/wine/wine-1.7.21-r1.ebuild @@ -161,12 +161,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.22-r1.ebuild b/app-emulation/wine/wine-1.7.22-r1.ebuild index 73436402e63e..3e8845408490 100644 --- a/app-emulation/wine/wine-1.7.22-r1.ebuild +++ b/app-emulation/wine/wine-1.7.22-r1.ebuild @@ -161,12 +161,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.28-r1.ebuild b/app-emulation/wine/wine-1.7.28-r1.ebuild index 54d6481fa299..9963e5bc2db8 100644 --- a/app-emulation/wine/wine-1.7.28-r1.ebuild +++ b/app-emulation/wine/wine-1.7.28-r1.ebuild @@ -161,12 +161,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.29-r1.ebuild b/app-emulation/wine/wine-1.7.29-r1.ebuild index 54d6481fa299..9963e5bc2db8 100644 --- a/app-emulation/wine/wine-1.7.29-r1.ebuild +++ b/app-emulation/wine/wine-1.7.29-r1.ebuild @@ -161,12 +161,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.3-r1.ebuild b/app-emulation/wine/wine-1.7.3-r1.ebuild index 8ac9a7d468a6..aecbaf3b75f9 100644 --- a/app-emulation/wine/wine-1.7.3-r1.ebuild +++ b/app-emulation/wine/wine-1.7.3-r1.ebuild @@ -145,12 +145,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.33-r1.ebuild b/app-emulation/wine/wine-1.7.33-r1.ebuild index f6af72780f4e..f38cb492923e 100644 --- a/app-emulation/wine/wine-1.7.33-r1.ebuild +++ b/app-emulation/wine/wine-1.7.33-r1.ebuild @@ -163,12 +163,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.34.ebuild b/app-emulation/wine/wine-1.7.34.ebuild index 91fbdfa04522..09684950e5a9 100644 --- a/app-emulation/wine/wine-1.7.34.ebuild +++ b/app-emulation/wine/wine-1.7.34.ebuild @@ -163,12 +163,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.35.ebuild b/app-emulation/wine/wine-1.7.35.ebuild index 137912ea262d..8f493b046b74 100644 --- a/app-emulation/wine/wine-1.7.35.ebuild +++ b/app-emulation/wine/wine-1.7.35.ebuild @@ -163,12 +163,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.36.ebuild b/app-emulation/wine/wine-1.7.36.ebuild index 9c7bba65d427..3d79ebd04cc3 100644 --- a/app-emulation/wine/wine-1.7.36.ebuild +++ b/app-emulation/wine/wine-1.7.36.ebuild @@ -162,12 +162,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.37.ebuild b/app-emulation/wine/wine-1.7.37.ebuild index 2e2c0d0c085f..a5371660e6b8 100644 --- a/app-emulation/wine/wine-1.7.37.ebuild +++ b/app-emulation/wine/wine-1.7.37.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.38-r1.ebuild b/app-emulation/wine/wine-1.7.38-r1.ebuild index 1ba468d05a3e..e8bff6566795 100644 --- a/app-emulation/wine/wine-1.7.38-r1.ebuild +++ b/app-emulation/wine/wine-1.7.38-r1.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.39-r1.ebuild b/app-emulation/wine/wine-1.7.39-r1.ebuild index 6fd525b4068b..cba75014d06b 100644 --- a/app-emulation/wine/wine-1.7.39-r1.ebuild +++ b/app-emulation/wine/wine-1.7.39-r1.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.4-r1.ebuild b/app-emulation/wine/wine-1.7.4-r1.ebuild index 5ca4da7e4ddc..e157195ba651 100644 --- a/app-emulation/wine/wine-1.7.4-r1.ebuild +++ b/app-emulation/wine/wine-1.7.4-r1.ebuild @@ -145,12 +145,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.40-r1.ebuild b/app-emulation/wine/wine-1.7.40-r1.ebuild index 6fd525b4068b..cba75014d06b 100644 --- a/app-emulation/wine/wine-1.7.40-r1.ebuild +++ b/app-emulation/wine/wine-1.7.40-r1.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.41.ebuild b/app-emulation/wine/wine-1.7.41.ebuild index 6fd525b4068b..cba75014d06b 100644 --- a/app-emulation/wine/wine-1.7.41.ebuild +++ b/app-emulation/wine/wine-1.7.41.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.42.ebuild b/app-emulation/wine/wine-1.7.42.ebuild index 6fd525b4068b..cba75014d06b 100644 --- a/app-emulation/wine/wine-1.7.42.ebuild +++ b/app-emulation/wine/wine-1.7.42.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.43.ebuild b/app-emulation/wine/wine-1.7.43.ebuild index 6fd525b4068b..cba75014d06b 100644 --- a/app-emulation/wine/wine-1.7.43.ebuild +++ b/app-emulation/wine/wine-1.7.43.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.44.ebuild b/app-emulation/wine/wine-1.7.44.ebuild index 6fd525b4068b..cba75014d06b 100644 --- a/app-emulation/wine/wine-1.7.44.ebuild +++ b/app-emulation/wine/wine-1.7.44.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.45.ebuild b/app-emulation/wine/wine-1.7.45.ebuild index 8930da943b27..555a7d1773b4 100644 --- a/app-emulation/wine/wine-1.7.45.ebuild +++ b/app-emulation/wine/wine-1.7.45.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.46.ebuild b/app-emulation/wine/wine-1.7.46.ebuild index 6fd525b4068b..cba75014d06b 100644 --- a/app-emulation/wine/wine-1.7.46.ebuild +++ b/app-emulation/wine/wine-1.7.46.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.47.ebuild b/app-emulation/wine/wine-1.7.47.ebuild index 6b89273a5b79..4f5cc8e30178 100644 --- a/app-emulation/wine/wine-1.7.47.ebuild +++ b/app-emulation/wine/wine-1.7.47.ebuild @@ -165,12 +165,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.50.ebuild b/app-emulation/wine/wine-1.7.50.ebuild index d78c249d5b5e..8a8d5c1cfe01 100644 --- a/app-emulation/wine/wine-1.7.50.ebuild +++ b/app-emulation/wine/wine-1.7.50.ebuild @@ -166,12 +166,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.51.ebuild b/app-emulation/wine/wine-1.7.51.ebuild index d78c249d5b5e..8a8d5c1cfe01 100644 --- a/app-emulation/wine/wine-1.7.51.ebuild +++ b/app-emulation/wine/wine-1.7.51.ebuild @@ -166,12 +166,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.8-r1.ebuild b/app-emulation/wine/wine-1.7.8-r1.ebuild index 501513787d76..090fb1c204bd 100644 --- a/app-emulation/wine/wine-1.7.8-r1.ebuild +++ b/app-emulation/wine/wine-1.7.8-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-1.7.9-r1.ebuild b/app-emulation/wine/wine-1.7.9-r1.ebuild index 501513787d76..090fb1c204bd 100644 --- a/app-emulation/wine/wine-1.7.9-r1.ebuild +++ b/app-emulation/wine/wine-1.7.9-r1.ebuild @@ -146,12 +146,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then diff --git a/app-emulation/wine/wine-9999.ebuild b/app-emulation/wine/wine-9999.ebuild index d78c249d5b5e..8a8d5c1cfe01 100644 --- a/app-emulation/wine/wine-9999.ebuild +++ b/app-emulation/wine/wine-9999.ebuild @@ -166,12 +166,18 @@ wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then - eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;" - eerror "you may use gcc-config to select an older compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + einfo "Checking for gcc-5 ms_abi compiler bug ..." + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi fi if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then