Skip site navigation (1)Skip section navigation (2)
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>