Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Oct 2016 14:40:46 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r423974 - in branches/2016Q4: mail/thunderbird/files www/firefox-esr/files www/firefox/files www/libxul/files www/seamonkey/files
Message-ID:  <201610141440.u9EEekDp033691@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim (src committer)
Date: Fri Oct 14 14:40:46 2016
New Revision: 423974
URL: https://svnweb.freebsd.org/changeset/ports/423974

Log:
  MFH: r423893
  
  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:	portmgr (feld)
  PR:		203989

Added:
  branches/2016Q4/mail/thunderbird/files/patch-bug1278861
     - copied unchanged from r423893, head/mail/thunderbird/files/patch-bug1278861
  branches/2016Q4/www/firefox-esr/files/patch-bug1278861
     - copied unchanged from r423893, head/www/firefox-esr/files/patch-bug1278861
  branches/2016Q4/www/firefox/files/patch-bug1278861
     - copied unchanged from r423893, head/www/firefox/files/patch-bug1278861
  branches/2016Q4/www/libxul/files/patch-bug1278861
     - copied unchanged from r423893, head/www/libxul/files/patch-bug1278861
  branches/2016Q4/www/seamonkey/files/patch-bug1278861
     - copied unchanged from r423893, head/www/seamonkey/files/patch-bug1278861
Modified:
Directory Properties:
  branches/2016Q4/   (props changed)

Copied: branches/2016Q4/mail/thunderbird/files/patch-bug1278861 (from r423893, head/mail/thunderbird/files/patch-bug1278861)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2016Q4/mail/thunderbird/files/patch-bug1278861	Fri Oct 14 14:40:46 2016	(r423974, copy of r423893, head/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
+

Copied: branches/2016Q4/www/firefox-esr/files/patch-bug1278861 (from r423893, head/www/firefox-esr/files/patch-bug1278861)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2016Q4/www/firefox-esr/files/patch-bug1278861	Fri Oct 14 14:40:46 2016	(r423974, copy of r423893, head/www/firefox-esr/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 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
+

Copied: branches/2016Q4/www/firefox/files/patch-bug1278861 (from r423893, head/www/firefox/files/patch-bug1278861)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2016Q4/www/firefox/files/patch-bug1278861	Fri Oct 14 14:40:46 2016	(r423974, copy of r423893, head/www/firefox/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 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
+

Copied: branches/2016Q4/www/libxul/files/patch-bug1278861 (from r423893, head/www/libxul/files/patch-bug1278861)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2016Q4/www/libxul/files/patch-bug1278861	Fri Oct 14 14:40:46 2016	(r423974, copy of r423893, head/www/libxul/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 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
+

Copied: branches/2016Q4/www/seamonkey/files/patch-bug1278861 (from r423893, head/www/seamonkey/files/patch-bug1278861)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2016Q4/www/seamonkey/files/patch-bug1278861	Fri Oct 14 14:40:46 2016	(r423974, copy of r423893, head/www/seamonkey/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
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201610141440.u9EEekDp033691>