[125310] trunk/dports/lang/gcc49

larryv at macports.org larryv at macports.org
Fri Sep 12 21:59:28 PDT 2014


Revision: 125310
          https://trac.macports.org/changeset/125310
Author:   larryv at macports.org
Date:     2014-09-12 21:59:28 -0700 (Fri, 12 Sep 2014)
Log Message:
-----------
gcc49, libgcc: Update patch for Yosemite build

Use the newer patch from the gcc-patches mailing list[1] and drop the
irrelevant and invalid fixes for 32-bit inodes[2].

  [1] https://gcc.gnu.org/ml/gcc-patches/2014-08/msg02428.html
  [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407#c39

Modified Paths:
--------------
    trunk/dports/lang/gcc49/Portfile

Added Paths:
-----------
    trunk/dports/lang/gcc49/files/Fix-__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__.patch

Removed Paths:
-------------
    trunk/dports/lang/gcc49/files/patch-10.10.diff

Modified: trunk/dports/lang/gcc49/Portfile
===================================================================
--- trunk/dports/lang/gcc49/Portfile	2014-09-13 02:40:47 UTC (rev 125309)
+++ trunk/dports/lang/gcc49/Portfile	2014-09-13 04:59:28 UTC (rev 125310)
@@ -40,7 +40,8 @@
 depends_skip_archcheck-append gcc_select ld64 cctools
 license_noconflict  gmp mpfr ppl libmpc
 
-patchfiles          patch-10.10.diff
+patch.pre_args      -p1
+patchfiles          Fix-__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__.patch
 
 set major           4.9
 

Added: trunk/dports/lang/gcc49/files/Fix-__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__.patch
===================================================================
--- trunk/dports/lang/gcc49/files/Fix-__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__.patch	                        (rev 0)
+++ trunk/dports/lang/gcc49/files/Fix-__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__.patch	2014-09-13 04:59:28 UTC (rev 125310)
@@ -0,0 +1,184 @@
+From gcc-patches-return-376219-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org Tue Aug 26 18:11:50 2014
+Return-Path: <gcc-patches-return-376219-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org>
+Delivered-To: listarch-gcc-patches at gcc dot gnu dot org
+Received: (qmail 25306 invoked by alias); 26 Aug 2014 18:11:50 -0000
+Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm
+Precedence: bulk
+List-Id: <gcc-patches.gcc.gnu.org>
+List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
+List-Post: <mailto:gcc-patches at gcc dot gnu dot org>
+List-Help: <mailto:gcc-patches-help at gcc dot gnu dot org>
+Sender: gcc-patches-owner at gcc dot gnu dot org
+Delivered-To: mailing list gcc-patches at gcc dot gnu dot org
+Received: (qmail 25285 invoked by uid 89); 26 Aug 2014 18:11:48 -0000
+Authentication-Results: sourceware.org; auth=none
+X-Virus-Found: No
+X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2
+X-HELO: mail-we0-f177.google.com
+Received: from mail-we0-f177.google.com (HELO mail-we0-f177.google.com) (74.125.82.177) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 26 Aug 2014 18:11:47 +0000
+Received: by mail-we0-f177.google.com with SMTP id w62so15108145wes.36        for <gcc-patches at gcc.gnu.org>; Tue, 26 Aug 2014 11:11:44 -0700 (PDT)
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=1e100.net; s=20130820;        h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to         :references;        bh=jQ8aZHBAd6aQJ3IMFFUC1zIOTmzfBeJqWQhaseZNEsU=;        b=RhREQ4ihhLt2jJtbfxJSCLGCo/lICme+YCyHeZpI/AzO1i+eTcMJ94dAcfmYVa3Sck         Cf9oFxCOw3VU5kktoLrlatc24kJjYFpovV1UxFJco67XdorzR6mr0F6VQXH0gaC2g3Jz         lqb4wLPhGIEzkCGn9JAUV7LKa+Sc2pBR8nZMVqiOiNSy0h08EUfP7q2uJk5OrJKpVMOK         ekDdKFEvO8IwglW4WGjohbTADyprazBNjDfnBkML/1oKIgMUXgMlBiY7O2fhbnr4mGEz         yDciKi9gsmxXY0+2r3VbzyXw+wXtJWlujzgfmv7ImN/0wQ2xfJMWbd1z450A/V+HK/PU         b90g==
+X-Gm-Message-State: ALoCoQl0hzSRQSEGOgbvgyiep3ufqSqyioui3xbjhaWFUBFKcB9UvLGzQ95p/4hGHUfPlpQHv1JK
+X-Received: by 10.180.74.42 with SMTP id q10mr23507919wiv.39.1409076704756;        Tue, 26 Aug 2014 11:11:44 -0700 (PDT)
+Received: from localhost.localdomain (host81-133-133-27.in-addr.btopenworld.com. [81.133.133.27])        by mx.google.com with ESMTPSA id cy9sm14548123wib.18.2014.08.26.11.11.43        for <multiple recipients>        (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);        Tue, 26 Aug 2014 11:11:44 -0700 (PDT)
+From: James Clarke <jrtc27 at jrtc27 dot com>
+To: gcc-patches at gcc dot gnu dot org
+Cc: James Clarke <jrtc27 at jrtc27 dot com>
+Subject: [PATCH v4 1/2] Fix __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
+Date: Tue, 26 Aug 2014 19:11:31 +0100
+Message-Id: <1409076692-65815-2-git-send-email-jrtc27 at jrtc27.com>
+In-Reply-To: <1409076692-65815-1-git-send-email-jrtc27 at jrtc27 dot com>
+References: <1409076692-65815-1-git-send-email-jrtc27 at jrtc27.com>
+
+Previously, this macro had taken the form 10X0, where X is the minor
+version number, e.g. 1090 for OS X 10.9 Mavericks. However, as of OS X
+10.10 Yosemite, it should take the form 10XX00, i.e. 101000 for 10.10.
+
+Added a test for the new format and fixed the formatting for the
+existing ones.
+
+gcc/ChangeLog:
+
+    * config/darwin-c.c (version_as_macro): Added extra 0 for OS X 10.10
+    and above
+    * config/darwin-driver.c (darwin_find_version_from_kernel): Removed
+    kernel version check to avoid incrementing it after every major OS X
+    release
+
+gcc/testsuite/ChangeLog:
+
+    * gcc.db/darwin-minversion-1.c: Fixed formatting
+    * gcc.db/darwin-minversion-2.c: Fixed formatting
+    * gcc.db/darwin-minversion-3.c: Fixed formatting
+    * gcc.dg/darwin-minversion-4.c: Added test for OS X 10.10
+---
+ gcc/config/darwin-c.c                      | 25 +++++++++++++++++++------
+ gcc/config/darwin-driver.c                 |  2 --
+ gcc/testsuite/gcc.dg/darwin-minversion-1.c |  3 ++-
+ gcc/testsuite/gcc.dg/darwin-minversion-2.c |  3 ++-
+ gcc/testsuite/gcc.dg/darwin-minversion-3.c |  3 ++-
+ gcc/testsuite/gcc.dg/darwin-minversion-4.c | 12 ++++++++++++
+ 6 files changed, 37 insertions(+), 11 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.dg/darwin-minversion-4.c
+
+diff --git a/gcc/config/darwin-c.c b/gcc/config/darwin-c.c
+index 892ba35..7fe4b1f 100644
+--- a/gcc/config/darwin-c.c
++++ b/gcc/config/darwin-c.c
+@@ -571,21 +571,34 @@ find_subframework_header (cpp_reader *pfile, const char *header, cpp_dir **dirp)
+ }
+ 
+ /* Return the value of darwin_macosx_version_min suitable for the
+-   __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro,
+-   so '10.4.2' becomes 1040.  The lowest digit is always zero.
++   __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro, so '10.4.2'
++   becomes 1040 and '10.10.0' becomes 101000.  The lowest digit is
++   always zero, as is the second lowest for '10.10.x' and above.
+    Print a warning if the version number can't be understood.  */
+ static const char *
+ version_as_macro (void)
+ {
+-  static char result[] = "1000";
++  static char result[7] = "1000";
++  int minorDigitIdx;
+ 
+   if (strncmp (darwin_macosx_version_min, "10.", 3) != 0)
+     goto fail;
+   if (! ISDIGIT (darwin_macosx_version_min[3]))
+     goto fail;
+-  result[2] = darwin_macosx_version_min[3];
+-  if (darwin_macosx_version_min[4] != '\0'
+-      && darwin_macosx_version_min[4] != '.')
++
++  minorDigitIdx = 3;
++  result[2] = darwin_macosx_version_min[minorDigitIdx++];
++  if (ISDIGIT (darwin_macosx_version_min[minorDigitIdx]))
++  {
++    /* Starting with OS X 10.10, the macro ends '00' rather than '0',
++       i.e. 10.10.x becomes 101000 rather than 10100.  */
++    result[3] = darwin_macosx_version_min[minorDigitIdx++];
++    result[4] = '0';
++    result[5] = '0';
++    result[6] = '\0';
++  }
++  if (darwin_macosx_version_min[minorDigitIdx] != '\0'
++      && darwin_macosx_version_min[minorDigitIdx] != '.')
+     goto fail;
+ 
+   return result;
+diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c
+index 8b6ae93..eb478e8 100644
+--- a/gcc/config/darwin-driver.c
++++ b/gcc/config/darwin-driver.c
+@@ -57,8 +57,6 @@ darwin_find_version_from_kernel (char *new_flag)
+   version_p = osversion + 1;
+   if (ISDIGIT (*version_p))
+     major_vers = major_vers * 10 + (*version_p++ - '0');
+-  if (major_vers > 4 + 9)
+-    goto parse_failed;
+   if (*version_p++ != '.')
+     goto parse_failed;
+   version_pend = strchr(version_p, '.');
+diff --git a/gcc/testsuite/gcc.dg/darwin-minversion-1.c b/gcc/testsuite/gcc.dg/darwin-minversion-1.c
+index d8a3243..6221d61 100644
+--- a/gcc/testsuite/gcc.dg/darwin-minversion-1.c
++++ b/gcc/testsuite/gcc.dg/darwin-minversion-1.c
+@@ -2,7 +2,8 @@
+ /* { dg-options "-mmacosx-version-min=10.1" } */
+ /* { dg-do run { target *-*-darwin* } } */
+ 
+-int main(void)
++int
++main ()
+ {
+ #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1010
+   fail me;
+diff --git a/gcc/testsuite/gcc.dg/darwin-minversion-2.c b/gcc/testsuite/gcc.dg/darwin-minversion-2.c
+index fd4975a..8e18d52 100644
+--- a/gcc/testsuite/gcc.dg/darwin-minversion-2.c
++++ b/gcc/testsuite/gcc.dg/darwin-minversion-2.c
+@@ -2,7 +2,8 @@
+ /* { dg-options "-mmacosx-version-min=10.1 -mmacosx-version-min=10.3" } */
+ /* { dg-do run { target *-*-darwin* } } */
+ 
+-int main(void)
++int
++main ()
+ {
+ #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1030
+   fail me;
+diff --git a/gcc/testsuite/gcc.dg/darwin-minversion-3.c b/gcc/testsuite/gcc.dg/darwin-minversion-3.c
+index d0c5934..4fcb969 100644
+--- a/gcc/testsuite/gcc.dg/darwin-minversion-3.c
++++ b/gcc/testsuite/gcc.dg/darwin-minversion-3.c
+@@ -2,7 +2,8 @@
+ /* { dg-options "-mmacosx-version-min=10.4.10" } */
+ /* { dg-do compile { target *-*-darwin* } } */
+ 
+-int main(void)
++int
++main ()
+ {
+ #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1040
+   fail me;
+diff --git a/gcc/testsuite/gcc.dg/darwin-minversion-4.c b/gcc/testsuite/gcc.dg/darwin-minversion-4.c
+new file mode 100644
+index 0000000..1cb42eb
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/darwin-minversion-4.c
+@@ -0,0 +1,12 @@
++/* Test that major versions greater than 9 work and have the additional 0.  */
++/* { dg-options "-mmacosx-version-min=10.10.0" } */
++/* { dg-do compile { target *-*-darwin* } } */
++
++int
++main ()
++{
++#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 101000
++  fail me;
++#endif
++  return 0;
++}
+-- 
+2.1.0
+

Deleted: trunk/dports/lang/gcc49/files/patch-10.10.diff
===================================================================
--- trunk/dports/lang/gcc49/files/patch-10.10.diff	2014-09-13 02:40:47 UTC (rev 125309)
+++ trunk/dports/lang/gcc49/files/patch-10.10.diff	2014-09-13 04:59:28 UTC (rev 125310)
@@ -1,89 +0,0 @@
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407#c16
---- gcc/config/darwin-c.c.orig
-+++ gcc/config/darwin-c.c
-@@ -572,20 +572,31 @@ find_subframework_header (cpp_reader *pfile, const char *header, cpp_dir **dirp)
- 
- /* Return the value of darwin_macosx_version_min suitable for the
-    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro,
--   so '10.4.2' becomes 1040.  The lowest digit is always zero.
--   Print a warning if the version number can't be understood.  */
-+   so '10.4.2' becomes 1040 and '10.10.0' becomes 101000.  The lowest
-+   digit is always zero. Print a warning if the version number
-+   can't be understood.  */
- static const char *
- version_as_macro (void)
- {
--  static char result[] = "1000";
-+  static char result[7] = "1000";
-+  int minorDigitIdx;
- 
-   if (strncmp (darwin_macosx_version_min, "10.", 3) != 0)
-     goto fail;
-   if (! ISDIGIT (darwin_macosx_version_min[3]))
-     goto fail;
--  result[2] = darwin_macosx_version_min[3];
--  if (darwin_macosx_version_min[4] != '\0'
--      && darwin_macosx_version_min[4] != '.')
-+
-+  minorDigitIdx = 3;
-+  result[2] = darwin_macosx_version_min[minorDigitIdx++];
-+  if (ISDIGIT(darwin_macosx_version_min[minorDigitIdx])) {
-+    /* Starting with 10.10 numeration for mactro changed */
-+    result[3] = darwin_macosx_version_min[minorDigitIdx++];
-+    result[4] = '0';
-+    result[5] = '0';
-+    result[6] = '\0';
-+  }
-+  if (darwin_macosx_version_min[minorDigitIdx] != '\0'
-+      && darwin_macosx_version_min[minorDigitIdx] != '.')
-     goto fail;
- 
-   return result;
---- gcc/config/darwin-driver.c.orig
-+++ gcc/config/darwin-driver.c
-@@ -57,7 +57,7 @@ darwin_find_version_from_kernel (char *new_flag)
-   version_p = osversion + 1;
-   if (ISDIGIT (*version_p))
-     major_vers = major_vers * 10 + (*version_p++ - '0');
--  if (major_vers > 4 + 9)
-+  if (major_vers > 4 + 10)
-     goto parse_failed;
-   if (*version_p++ != '.')
-     goto parse_failed;
---- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc.orig
-+++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
-@@ -835,8 +835,10 @@ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
- 
- COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
- CHECK_SIZE_AND_OFFSET(dirent, d_ino);
--#if SANITIZER_MAC
-+#if SANITIZER_MAC && ( !defined(__DARWIN_64_BIT_INO_T) || __DARWIN_64_BIT_INO_T)
- CHECK_SIZE_AND_OFFSET(dirent, d_seekoff);
-+#elif SANITIZER_MAC
-+// There is no d_seekoff with non 64-bit ino_t
- #else
- CHECK_SIZE_AND_OFFSET(dirent, d_off);
- #endif
---- libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h.orig
-+++ libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -275,12 +275,20 @@ namespace __sanitizer {
- #endif
- 
- #if SANITIZER_MAC
-+# if ! defined(__DARWIN_64_BIT_INO_T) || __DARWIN_64_BIT_INO_T
-   struct __sanitizer_dirent {
-     unsigned long long d_ino;
-     unsigned long long d_seekoff;
-     unsigned short d_reclen;
-     // more fields that we don't care about
-   };
-+# else
-+  struct __sanitizer_dirent {
-+    unsigned int d_ino;
-+    unsigned short d_reclen;
-+    // more fields that we don't care about
-+  };
-+# endif
- #elif SANITIZER_ANDROID || defined(__x86_64__)
-   struct __sanitizer_dirent {
-     unsigned long long d_ino;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140912/aa44ead6/attachment-0001.html>


More information about the macports-changes mailing list