From owner-svn-ports-head@freebsd.org Wed Oct 12 20:50:30 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 220E3C0E2A4; Wed, 12 Oct 2016 20:50:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F08EDD8B; Wed, 12 Oct 2016 20:50:29 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u9CKoTkx070781; Wed, 12 Oct 2016 20:50:29 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u9CKoSUW070775; Wed, 12 Oct 2016 20:50:28 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201610122050.u9CKoSUW070775@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 12 Oct 2016 20:50:28 +0000 (UTC) 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 X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Oct 2016 20:50:30 -0000 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 +# 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 +# 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 +# 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 +# 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 +# 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 +