diff options
author | dim <dim@FreeBSD.org> | 2016-10-13 04:50:28 +0800 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2016-10-13 04:50:28 +0800 |
commit | 74d29e5cebbce800ce69f62421460df32393ee62 (patch) | |
tree | 3d6aca8a74ee00287c8510028ba9f4aa23fc2a36 /mail | |
parent | 5af2bdc88472e4e322018ed0064a63ecd3e7a365 (diff) | |
download | freebsd-ports-gnome-74d29e5cebbce800ce69f62421460df32393ee62.tar.gz freebsd-ports-gnome-74d29e5cebbce800ce69f62421460df32393ee62.tar.zst freebsd-ports-gnome-74d29e5cebbce800ce69f62421460df32393ee62.zip |
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
Diffstat (limited to 'mail')
-rw-r--r-- | mail/thunderbird/files/patch-bug1278861 | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/mail/thunderbird/files/patch-bug1278861 b/mail/thunderbird/files/patch-bug1278861 new file mode 100644 index 000000000000..4a4b292fcff9 --- /dev/null +++ b/mail/thunderbird/files/patch-bug1278861 @@ -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 + |