From owner-svn-ports-all@freebsd.org Wed Nov 29 18:51:02 2017 Return-Path: Delivered-To: svn-ports-all@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 34BC9E65AA0; Wed, 29 Nov 2017 18:51:02 +0000 (UTC) (envelope-from gerald@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 0E9A2809F1; Wed, 29 Nov 2017 18:51:01 +0000 (UTC) (envelope-from gerald@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vATIp17r029368; Wed, 29 Nov 2017 18:51:01 GMT (envelope-from gerald@FreeBSD.org) Received: (from gerald@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vATIp0IM029364; Wed, 29 Nov 2017 18:51:00 GMT (envelope-from gerald@FreeBSD.org) Message-Id: <201711291851.vATIp0IM029364@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gerald set sender to gerald@FreeBSD.org using -f From: Gerald Pfeifer Date: Wed, 29 Nov 2017 18:51:00 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r455139 - in head/lang/gcc8-devel: . files X-SVN-Group: ports-head X-SVN-Commit-Author: gerald X-SVN-Commit-Paths: in head/lang/gcc8-devel: . files X-SVN-Commit-Revision: 455139 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Nov 2017 18:51:02 -0000 Author: gerald Date: Wed Nov 29 18:51:00 2017 New Revision: 455139 URL: https://svnweb.freebsd.org/changeset/ports/455139 Log: Update to the 20171126 snapshot of GCC 8. This requires two temporary patches to allow for building with clang 3.4.1 (on FreeBSD 10.4) and trimming down an overeager check that breaks Wine, for example. Forward port revision 454177 from lang/gcc7: [1] Make sure what we install is stripped (i.e., debug info is removed). The straightforward way is setting INSTALL_TARGET to install-strip, which is supported by the upstream GCC build machinery. Unfortunately this fails when running as regular user (non-root) since strip requires write permission to the files in question, and we install binaries as r-xr-xr-x by default. To work around that we need to set BINMODE to allow for write access by the user, something that's common on GNU/Linux (which is why this probably has not been noticed there). This is not necessary when running as root. (A different approach suggested was to set STRIP=true, alas that leads to many files actually not being stripped. This is due to GCC using its own script install-sh that in turn uses cp, chmod, strip,... instead of our own install-* tools in many cases.) Reported by: Ports QA Framework, miwi, sobomax [1] Discussed with: tijl, miwi [1] Differential Revision: https://reviews.freebsd.org/D10357 [1] Added: head/lang/gcc8-devel/files/patch-clang3.4.1-fixes (contents, props changed) head/lang/gcc8-devel/files/patch-gcc_tree-cfg.c (contents, props changed) Modified: head/lang/gcc8-devel/Makefile head/lang/gcc8-devel/distinfo Modified: head/lang/gcc8-devel/Makefile ============================================================================== --- head/lang/gcc8-devel/Makefile Wed Nov 29 18:46:30 2017 (r455138) +++ head/lang/gcc8-devel/Makefile Wed Nov 29 18:51:00 2017 (r455139) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= gcc -PORTVERSION= 8.0.0.s20171119 +PORTVERSION= 8.0.0.s20171126 CATEGORIES= lang MASTER_SITES= GCC/snapshots/${DIST_VERSION} PKGNAMESUFFIX= ${SUFFIX}-devel @@ -75,6 +75,10 @@ CONFIGURE_ARGS+=--disable-bootstrap .else CONFIGURE_ARGS+=--with-build-config=bootstrap-debug ALL_TARGET= bootstrap-lean +.endif +INSTALL_TARGET= install-strip +.if ${UID} != 0 +BINMODE= 755 .endif CONFIGURE_ARGS+=--disable-nls \ --enable-gnu-indirect-function \ Modified: head/lang/gcc8-devel/distinfo ============================================================================== --- head/lang/gcc8-devel/distinfo Wed Nov 29 18:46:30 2017 (r455138) +++ head/lang/gcc8-devel/distinfo Wed Nov 29 18:51:00 2017 (r455139) @@ -1,3 +1,3 @@ -TIMESTAMP = 1511131785 -SHA256 (gcc-8-20171119.tar.xz) = 0b6da0bbddc4379fa9dc7fc11ae6a3d54eb503068c47ebd76d1418010ffac088 -SIZE (gcc-8-20171119.tar.xz) = 60502776 +TIMESTAMP = 1511737702 +SHA256 (gcc-8-20171126.tar.xz) = b3fc82c0714f1489119bfbde242221bdd851e105af236da1f15b4a542da98b51 +SIZE (gcc-8-20171126.tar.xz) = 60566772 Added: head/lang/gcc8-devel/files/patch-clang3.4.1-fixes ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/gcc8-devel/files/patch-clang3.4.1-fixes Wed Nov 29 18:51:00 2017 (r455139) @@ -0,0 +1,29 @@ +--- UTC +Index: gcc/hash-set.h +=================================================================== +--- gcc/hash-set.h (revision 255155) ++++ gcc/hash-set.h (working copy) +@@ -150,7 +150,7 @@ + } + + #define DEFINE_DEBUG_HASH_SET(T) \ +- template static void debug_helper (hash_set &); \ ++ template void debug_helper (hash_set &); \ + DEBUG_FUNCTION void \ + debug (hash_set &ref) \ + { \ +Index: gcc/vec.h +=================================================================== +--- gcc/vec.h (revision 255155) ++++ gcc/vec.h (working copy) +@@ -453,8 +453,8 @@ + functions for a type T. */ + + #define DEFINE_DEBUG_VEC(T) \ +- template static void debug_helper (vec &); \ +- template static void debug_helper (vec &); \ ++ template void debug_helper (vec &); \ ++ template void debug_helper (vec &); \ + /* Define the vec debug functions. */ \ + DEBUG_FUNCTION void \ + debug (vec &ref) \ Added: head/lang/gcc8-devel/files/patch-gcc_tree-cfg.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lang/gcc8-devel/files/patch-gcc_tree-cfg.c Wed Nov 29 18:51:00 2017 (r455139) @@ -0,0 +1,14 @@ +--- UTC +Index: gcc/tree-cfg.c +=================================================================== +--- gcc/tree-cfg.c (revision 255155) ++++ gcc/tree-cfg.c (working copy) +@@ -3994,7 +3994,7 @@ + { + if (!POINTER_TYPE_P (rhs1_type) + || !POINTER_TYPE_P (rhs2_type) +- || !types_compatible_p (rhs1_type, rhs2_type) ++// || !types_compatible_p (rhs1_type, rhs2_type) + || TREE_CODE (lhs_type) != INTEGER_TYPE + || TYPE_UNSIGNED (lhs_type) + || TYPE_PRECISION (lhs_type) != TYPE_PRECISION (rhs1_type))