Date: Wed, 12 Oct 2016 20:50:28 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r423893 - in head: mail/thunderbird/files www/firefox-esr/files www/firefox/files www/libxul/files www/seamonkey/files Message-ID: <201610122050.u9CKoSUW070775@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim (src committer) Date: Wed Oct 12 20:50:28 2016 New Revision: 423893 URL: https://svnweb.freebsd.org/changeset/ports/423893 Log: Add the upstream fix for Mozilla bug 1278861, which prevents clang assertions on a particular piece of arm inline assembly. This applies to: * mail/thunderbird * www/firefox * www/firefox-esr * www/libxul * www/seamonkey Approved by: jbeich (maintainer) PR: 203989 MFH: 2016Q4 Added: head/mail/thunderbird/files/patch-bug1278861 (contents, props changed) head/www/firefox-esr/files/patch-bug1278861 (contents, props changed) head/www/firefox/files/patch-bug1278861 (contents, props changed) head/www/libxul/files/patch-bug1278861 (contents, props changed) head/www/seamonkey/files/patch-bug1278861 (contents, props changed) Added: head/mail/thunderbird/files/patch-bug1278861 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/thunderbird/files/patch-bug1278861 Wed Oct 12 20:50:28 2016 (r423893) @@ -0,0 +1,38 @@ + +# HG changeset patch +# User Nathan Froyd <froydnj@gmail.com> +# Date 1466820205 14400 +# Node ID bd25b06261c840a62d035192cf4b1dbc18f54e3f +# Parent fbe25a30fcbbe172bdd37c70c5b06cdbb07886af +Bug 1278861 - adjust ifdefs in Conversions.h:ToInt32 to catch clang-on-arm-generally; r=luke + +The bug noted in ToInt32 doesn't just exist when compiling for +arm-darwin; it exists for ARM targets generally. The ifdef should +reflect that. + +diff --git mozilla/js/public/Conversions.h mozilla/js/public/Conversions.h +--- mozilla/js/public/Conversions.h ++++ mozilla/js/public/Conversions.h +@@ -395,19 +395,19 @@ ToIntWidth(double d) + } + + } // namespace detail + + /* ES5 9.5 ToInt32 (specialized for doubles). */ + inline int32_t + ToInt32(double d) + { +- // clang crashes compiling this when targeting arm-darwin: ++ // clang crashes compiling this when targeting arm: + // https://llvm.org/bugs/show_bug.cgi?id=22974 +-#if defined (__arm__) && defined (__GNUC__) && !defined(__APPLE__) ++#if defined (__arm__) && defined (__GNUC__) && !defined(__clang__) + int32_t i; + uint32_t tmp0; + uint32_t tmp1; + uint32_t tmp2; + asm ( + // We use a pure integer solution here. In the 'softfp' ABI, the argument + // will start in r0 and r1, and VFP can't do all of the necessary ECMA + // conversions by itself so some integer code will be required anyway. A + Added: head/www/firefox-esr/files/patch-bug1278861 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/firefox-esr/files/patch-bug1278861 Wed Oct 12 20:50:28 2016 (r423893) @@ -0,0 +1,38 @@ + +# HG changeset patch +# User Nathan Froyd <froydnj@gmail.com> +# Date 1466820205 14400 +# Node ID bd25b06261c840a62d035192cf4b1dbc18f54e3f +# Parent fbe25a30fcbbe172bdd37c70c5b06cdbb07886af +Bug 1278861 - adjust ifdefs in Conversions.h:ToInt32 to catch clang-on-arm-generally; r=luke + +The bug noted in ToInt32 doesn't just exist when compiling for +arm-darwin; it exists for ARM targets generally. The ifdef should +reflect that. + +diff --git js/public/Conversions.h js/public/Conversions.h +--- js/public/Conversions.h ++++ js/public/Conversions.h +@@ -395,19 +395,19 @@ ToIntWidth(double d) + } + + } // namespace detail + + /* ES5 9.5 ToInt32 (specialized for doubles). */ + inline int32_t + ToInt32(double d) + { +- // clang crashes compiling this when targeting arm-darwin: ++ // clang crashes compiling this when targeting arm: + // https://llvm.org/bugs/show_bug.cgi?id=22974 +-#if defined (__arm__) && defined (__GNUC__) && !defined(__APPLE__) ++#if defined (__arm__) && defined (__GNUC__) && !defined(__clang__) + int32_t i; + uint32_t tmp0; + uint32_t tmp1; + uint32_t tmp2; + asm ( + // We use a pure integer solution here. In the 'softfp' ABI, the argument + // will start in r0 and r1, and VFP can't do all of the necessary ECMA + // conversions by itself so some integer code will be required anyway. A + Added: head/www/firefox/files/patch-bug1278861 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/firefox/files/patch-bug1278861 Wed Oct 12 20:50:28 2016 (r423893) @@ -0,0 +1,38 @@ + +# HG changeset patch +# User Nathan Froyd <froydnj@gmail.com> +# Date 1466820205 14400 +# Node ID bd25b06261c840a62d035192cf4b1dbc18f54e3f +# Parent fbe25a30fcbbe172bdd37c70c5b06cdbb07886af +Bug 1278861 - adjust ifdefs in Conversions.h:ToInt32 to catch clang-on-arm-generally; r=luke + +The bug noted in ToInt32 doesn't just exist when compiling for +arm-darwin; it exists for ARM targets generally. The ifdef should +reflect that. + +diff --git js/public/Conversions.h js/public/Conversions.h +--- js/public/Conversions.h ++++ js/public/Conversions.h +@@ -395,19 +395,19 @@ ToIntWidth(double d) + } + + } // namespace detail + + /* ES5 9.5 ToInt32 (specialized for doubles). */ + inline int32_t + ToInt32(double d) + { +- // clang crashes compiling this when targeting arm-darwin: ++ // clang crashes compiling this when targeting arm: + // https://llvm.org/bugs/show_bug.cgi?id=22974 +-#if defined (__arm__) && defined (__GNUC__) && !defined(__APPLE__) ++#if defined (__arm__) && defined (__GNUC__) && !defined(__clang__) + int32_t i; + uint32_t tmp0; + uint32_t tmp1; + uint32_t tmp2; + asm ( + // We use a pure integer solution here. In the 'softfp' ABI, the argument + // will start in r0 and r1, and VFP can't do all of the necessary ECMA + // conversions by itself so some integer code will be required anyway. A + Added: head/www/libxul/files/patch-bug1278861 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/libxul/files/patch-bug1278861 Wed Oct 12 20:50:28 2016 (r423893) @@ -0,0 +1,38 @@ + +# HG changeset patch +# User Nathan Froyd <froydnj@gmail.com> +# Date 1466820205 14400 +# Node ID bd25b06261c840a62d035192cf4b1dbc18f54e3f +# Parent fbe25a30fcbbe172bdd37c70c5b06cdbb07886af +Bug 1278861 - adjust ifdefs in Conversions.h:ToInt32 to catch clang-on-arm-generally; r=luke + +The bug noted in ToInt32 doesn't just exist when compiling for +arm-darwin; it exists for ARM targets generally. The ifdef should +reflect that. + +diff --git js/public/Conversions.h js/public/Conversions.h +--- js/public/Conversions.h ++++ js/public/Conversions.h +@@ -395,19 +395,19 @@ ToIntWidth(double d) + } + + } // namespace detail + + /* ES5 9.5 ToInt32 (specialized for doubles). */ + inline int32_t + ToInt32(double d) + { +- // clang crashes compiling this when targeting arm-darwin: ++ // clang crashes compiling this when targeting arm: + // https://llvm.org/bugs/show_bug.cgi?id=22974 +-#if defined (__arm__) && defined (__GNUC__) && !defined(__APPLE__) ++#if defined (__arm__) && defined (__GNUC__) && !defined(__clang__) + int32_t i; + uint32_t tmp0; + uint32_t tmp1; + uint32_t tmp2; + asm ( + // We use a pure integer solution here. In the 'softfp' ABI, the argument + // will start in r0 and r1, and VFP can't do all of the necessary ECMA + // conversions by itself so some integer code will be required anyway. A + Added: head/www/seamonkey/files/patch-bug1278861 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/seamonkey/files/patch-bug1278861 Wed Oct 12 20:50:28 2016 (r423893) @@ -0,0 +1,38 @@ + +# HG changeset patch +# User Nathan Froyd <froydnj@gmail.com> +# Date 1466820205 14400 +# Node ID bd25b06261c840a62d035192cf4b1dbc18f54e3f +# Parent fbe25a30fcbbe172bdd37c70c5b06cdbb07886af +Bug 1278861 - adjust ifdefs in Conversions.h:ToInt32 to catch clang-on-arm-generally; r=luke + +The bug noted in ToInt32 doesn't just exist when compiling for +arm-darwin; it exists for ARM targets generally. The ifdef should +reflect that. + +diff --git mozilla/js/public/Conversions.h mozilla/js/public/Conversions.h +--- mozilla/js/public/Conversions.h ++++ mozilla/js/public/Conversions.h +@@ -395,19 +395,19 @@ ToIntWidth(double d) + } + + } // namespace detail + + /* ES5 9.5 ToInt32 (specialized for doubles). */ + inline int32_t + ToInt32(double d) + { +- // clang crashes compiling this when targeting arm-darwin: ++ // clang crashes compiling this when targeting arm: + // https://llvm.org/bugs/show_bug.cgi?id=22974 +-#if defined (__arm__) && defined (__GNUC__) && !defined(__APPLE__) ++#if defined (__arm__) && defined (__GNUC__) && !defined(__clang__) + int32_t i; + uint32_t tmp0; + uint32_t tmp1; + uint32_t tmp2; + asm ( + // We use a pure integer solution here. In the 'softfp' ABI, the argument + // will start in r0 and r1, and VFP can't do all of the necessary ECMA + // conversions by itself so some integer code will be required anyway. A +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201610122050.u9CKoSUW070775>