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
This commit is contained in:
parent
f87b62d428
commit
022c0f9056
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=423893
5 changed files with 190 additions and 0 deletions
38
mail/thunderbird/files/patch-bug1278861
Normal file
38
mail/thunderbird/files/patch-bug1278861
Normal file
|
@ -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
|
||||
|
38
www/firefox-esr/files/patch-bug1278861
Normal file
38
www/firefox-esr/files/patch-bug1278861
Normal file
|
@ -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
|
||||
|
38
www/firefox/files/patch-bug1278861
Normal file
38
www/firefox/files/patch-bug1278861
Normal file
|
@ -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
|
||||
|
38
www/libxul/files/patch-bug1278861
Normal file
38
www/libxul/files/patch-bug1278861
Normal file
|
@ -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
|
||||
|
38
www/seamonkey/files/patch-bug1278861
Normal file
38
www/seamonkey/files/patch-bug1278861
Normal file
|
@ -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
|
||||
|
Loading…
Reference in a new issue