pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang/gcc5-aux



Module Name:    pkgsrc
Committed By:   marino
Date:           Sun Aug 28 17:59:37 UTC 2016

Modified Files:
        pkgsrc/lang/gcc5-aux: Makefile Makefile.version distinfo
        pkgsrc/lang/gcc5-aux/files: diff-ada diff-core diff-cxx
            diff-cxx-testsuite diff-fortran
Removed Files:
        pkgsrc/lang/gcc5-aux: Makefile.testsuite

Log Message:
lang/gcc5-aux: Upgrade version 20150422 => 20160603 (GCC 5.1 => 5.4)

The signal trampoline detection for NetBSD 7 and later is still broken.
Support for NetBSD 6.99 has been removed along with supporte for
32-bit DragonFly.  The modifications to the testsuite were misguided and
have also been removed.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/gcc5-aux/Makefile \
    pkgsrc/lang/gcc5-aux/Makefile.version
cvs rdiff -u -r1.1 -r0 pkgsrc/lang/gcc5-aux/Makefile.testsuite
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/gcc5-aux/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/gcc5-aux/files/diff-ada \
    pkgsrc/lang/gcc5-aux/files/diff-core pkgsrc/lang/gcc5-aux/files/diff-cxx \
    pkgsrc/lang/gcc5-aux/files/diff-cxx-testsuite \
    pkgsrc/lang/gcc5-aux/files/diff-fortran

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/lang/gcc5-aux/Makefile
diff -u pkgsrc/lang/gcc5-aux/Makefile:1.2 pkgsrc/lang/gcc5-aux/Makefile:1.3
--- pkgsrc/lang/gcc5-aux/Makefile:1.2   Mon Jun 15 17:14:27 2015
+++ pkgsrc/lang/gcc5-aux/Makefile       Sun Aug 28 17:59:36 2016
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2015/06/15 17:14:27 marino Exp $
+# $NetBSD: Makefile,v 1.3 2016/08/28 17:59:36 marino Exp $
 #
 
 PKGNAME=       gcc5-aux-${SNAPSHOT}
@@ -18,7 +18,6 @@ USE_TOOLS+=   gmake sed:run perl makeinfo 
 APPLY_DIFFS=   core ada cxx
 
 .include "Makefile.version"
-.include "Makefile.testsuite"
 .include "../../mk/bsd.prefs.mk"
 .include "options.mk"
 
@@ -40,7 +39,7 @@ FULL_GNATGCC=         NOT SET
 FULL_PATH=             /sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/gcc-aux/bin:${PREFIX}/sbin:${PREFIX}/bin
 
 .if ${OPSYS} == DragonFly
-BOOTSTRAP_COMPILER=    ada-bootstrap.${GARCH}.dragonfly.36A.tar.bz2
+BOOTSTRAP_COMPILER=    ada-bootstrap.${GARCH}.dragonfly.41.tar.bz2
 .endif
 
 .if ${OPSYS} == FreeBSD
@@ -53,9 +52,7 @@ BOOTSTRAP_COMPILER=   ada-bootstrap.${GARC
 .endif
 
 .if ${OPSYS} == NetBSD
-.  if !empty(OS_VERSION:M6.99.*)
-NSUFF= 7.0_DEV
-.  elif !empty(OS_VERSION:M7.99.*)
+.  if !empty(OS_VERSION:M7.99.*)
 NSUFF= 8.0_DEV
 .  else
 NSUFF= ${OS_VERSION}
@@ -162,11 +159,10 @@ MASTER_SITES= http://downloads.dragonlac
    ${MASTER_SITE_GNU:=gcc/${IDENTIFICATION}/}
 DISTFILES= \
    ${DISTNAME}.tar.bz2 \
-   ada-bootstrap.i386.dragonfly.36A.tar.bz2 \
    ada-bootstrap.i386.freebsd.84.tar.bz2 \
    ada-bootstrap.i386.freebsd.100B.tar.bz2 \
    ada-bootstrap.i386.netbsd.614.tar.bz2 \
-   ada-bootstrap.x86_64.dragonfly.36A.tar.bz2 \
+   ada-bootstrap.x86_64.dragonfly.41.tar.bz2 \
    ada-bootstrap.x86_64.freebsd.84.tar.bz2 \
    ada-bootstrap.x86_64.freebsd.100B.tar.bz2 \
    ada-bootstrap.x86_64.netbsd.614.tar.bz2 \
@@ -214,14 +210,6 @@ post-extract:
        @${ECHO} "Applying composite patch diff-${suffix}"
        ${PATCH} -d ${WRKSRC} -s -E < ${FILESDIR}/diff-${suffix}
 .endfor
-       (cd ${WRKSRC}/libstdc++-v3/testsuite/22_locale && ${PERL5} -i \
-         -pe 's|ISO-8859|ISO8859|g;' \
-         -pe 's|ja_JP.eucjp|ja_JP.eucJP|g;' \
-         -pe 's|en_HK|zh_HK|g;' \
-         -pe 's|en_PH|en_NZ|g;' \
-         -pe 's|se_NO|no_NO|g;' \
-         -pe 's|es_MX|es_ES|g;' \
-         -pe 's|ru_RU.UTF8|ru_RU.UTF-8|g' ${LOCALE22FIX})
 .if ${OPSYS} == NetBSD
 .  for sysfile in ${CORRECTIONS}
 .    for pair in ${${CRXN}_${sysfile}}
Index: pkgsrc/lang/gcc5-aux/Makefile.version
diff -u pkgsrc/lang/gcc5-aux/Makefile.version:1.2 pkgsrc/lang/gcc5-aux/Makefile.version:1.3
--- pkgsrc/lang/gcc5-aux/Makefile.version:1.2   Mon Jun 15 17:14:27 2015
+++ pkgsrc/lang/gcc5-aux/Makefile.version       Sun Aug 28 17:59:36 2016
@@ -1,12 +1,12 @@
-# $NetBSD: Makefile.version,v 1.2 2015/06/15 17:14:27 marino Exp $
+# $NetBSD: Makefile.version,v 1.3 2016/08/28 17:59:36 marino Exp $
 #
 
-SNAPSHOT=      20150422
+SNAPSHOT=      20160603
 GCC_BRANCH=    5
-GCC_POINT=     1.0
+GCC_POINT=     4.0
 GCC_VERSION=   ${GCC_BRANCH}.${GCC_POINT}
 BUILD_RELEASE= yes
-MAIN_PR=       1
+MAIN_PR=       0
 
 .if ${BUILD_RELEASE:Mno}
 # Snapshot naming pattern

Index: pkgsrc/lang/gcc5-aux/distinfo
diff -u pkgsrc/lang/gcc5-aux/distinfo:1.1 pkgsrc/lang/gcc5-aux/distinfo:1.2
--- pkgsrc/lang/gcc5-aux/distinfo:1.1   Mon Jun 15 09:46:27 2015
+++ pkgsrc/lang/gcc5-aux/distinfo       Sun Aug 28 17:59:36 2016
@@ -1,32 +1,38 @@
-$NetBSD: distinfo,v 1.1 2015/06/15 09:46:27 marino Exp $
+$NetBSD: distinfo,v 1.2 2016/08/28 17:59:36 marino Exp $
 
-SHA1 (ada-bootstrap.i386.dragonfly.36A.tar.bz2) = 7e0725889ae752e6a9fdbac5b1d2ef0e3f62822e
-RMD160 (ada-bootstrap.i386.dragonfly.36A.tar.bz2) = f62c00515588804ce69368507822f30380d7e48d
-Size (ada-bootstrap.i386.dragonfly.36A.tar.bz2) = 39357314 bytes
 SHA1 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = b7ff322bbcfa403d37d917d6e88e306de0857251
 RMD160 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 7a85e0f073dafe9b0d37b493dbb4268bd2f39601
+SHA512 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = ab4a32457f5febf2c854b7107abb8159754f5a5e8413598fb2ecf1ed0a755129c26aab0e0c2e09695d02cef5490b53a3b18c9fa37cec0b07476940c27fc76ae8
 Size (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 41229192 bytes
 SHA1 (ada-bootstrap.i386.freebsd.84.tar.bz2) = 54c3d59fd2ca75bb91255296bc0f9d6028ac2cd2
 RMD160 (ada-bootstrap.i386.freebsd.84.tar.bz2) = 8ceb3957708eb9ccc8ce2ff1ea26949683ee2fa7
+SHA512 (ada-bootstrap.i386.freebsd.84.tar.bz2) = de193d7f501538204b4c3159e3df33c2c3e9c9ffbe6ccd67d2aec2c77243e91b217ea7c05b202fe513d43c751ca7fcb002f47e3156d05436302e2038b4c4e5ae
 Size (ada-bootstrap.i386.freebsd.84.tar.bz2) = 39727003 bytes
 SHA1 (ada-bootstrap.i386.netbsd.614.tar.bz2) = 2c29209b086dcf3076428f232fadf306b9a227c6
 RMD160 (ada-bootstrap.i386.netbsd.614.tar.bz2) = f0ecb9b0d69c2d097c6405e0db581f606b372017
+SHA512 (ada-bootstrap.i386.netbsd.614.tar.bz2) = 39d0b2503e9e3a0c9aa25c2daa83be4109e9bda41076c2ea5eb4abf89137c6c2ad6b6726a6d634c8f89f4695810ba902920444df29c5cba31942f84a69aeee75
 Size (ada-bootstrap.i386.netbsd.614.tar.bz2) = 37900035 bytes
-SHA1 (ada-bootstrap.x86_64.dragonfly.36A.tar.bz2) = 85ceea8d0bd0d1b8c1f91ea6d7ffb2ffe4a4c7da
-RMD160 (ada-bootstrap.x86_64.dragonfly.36A.tar.bz2) = 7ca8ccff5a4400a7e4fc9ad1d11c64f3c92d54f4
-Size (ada-bootstrap.x86_64.dragonfly.36A.tar.bz2) = 40747242 bytes
+SHA1 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = 95fdb86cff798ca7ddb7ac5f9dc397cd1f73e9c4
+RMD160 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = 54b56708e6f944ca5e40eb2d99cf79b3487abdb2
+SHA512 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = 9a3244b5f76104f1ffcd6e4c47f222f8be7b1faf7184e2e265b1a349e587f4d5112271e91a619e665b893e6a7a58ac0a3e07129f8cff7a473e66229718cff2d2
+Size (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = 44956630 bytes
 SHA1 (ada-bootstrap.x86_64.freebsd.100B.tar.bz2) = edfe60c5f42bbeb145d7070ed868135ebc60c2de
 RMD160 (ada-bootstrap.x86_64.freebsd.100B.tar.bz2) = 0d50885402208caafbc133ffc3b8684e89a50cae
+SHA512 (ada-bootstrap.x86_64.freebsd.100B.tar.bz2) = 07e7503f575c6ba30c5d4db1f9781f522c0b48effb62c90fe3af991ebbada8064d035871e0e99206c86eb4c10fdfffb6faf89bc203370797d9c1818657004f1a
 Size (ada-bootstrap.x86_64.freebsd.100B.tar.bz2) = 42163803 bytes
 SHA1 (ada-bootstrap.x86_64.freebsd.84.tar.bz2) = b5c76ce07df6e944742eda5f860352c8e179b988
 RMD160 (ada-bootstrap.x86_64.freebsd.84.tar.bz2) = 334c2375ee35bdf931a3a476e794e494ff252515
+SHA512 (ada-bootstrap.x86_64.freebsd.84.tar.bz2) = f7edc4b4d9adcf071cb74221119ae5989f39af176c988f9c446b7b302247f7263215724f5826cf27854f0b87a23f2756ce703e6e1519997faa48a157c0c1425e
 Size (ada-bootstrap.x86_64.freebsd.84.tar.bz2) = 40227668 bytes
 SHA1 (ada-bootstrap.x86_64.netbsd.614.tar.bz2) = 683f58e6e394a508a52ec1dc5f3d9ca2869d5252
 RMD160 (ada-bootstrap.x86_64.netbsd.614.tar.bz2) = 4574857089e82fb80725161cc8b625ce75f6810e
+SHA512 (ada-bootstrap.x86_64.netbsd.614.tar.bz2) = 6287668001dd6d45a1dfe2a6f548fe933ce2bff4fec43516dc76aad8aeb27859ee6660068edfbc9dc671f025e1635629212b1adc1308d5cc775dd19e1f1764b2
 Size (ada-bootstrap.x86_64.netbsd.614.tar.bz2) = 39348972 bytes
 SHA1 (ada-bootstrap.x86_64.solaris.511.tar.bz2) = abb16c1582e2a6ffe37df4afd96d04c44f2eea7b
 RMD160 (ada-bootstrap.x86_64.solaris.511.tar.bz2) = 41677e2fd0cb02c89f200fb97b112ad3be7f19cd
+SHA512 (ada-bootstrap.x86_64.solaris.511.tar.bz2) = 59db01497b11bd4913cfedcbe3931caa361564c1f5eadddd200dc1e0516a44d107494ab898f93bc1050998f73623bf30a74f0933b84d9a03a3c9d51f3f2de8d9
 Size (ada-bootstrap.x86_64.solaris.511.tar.bz2) = 60110383 bytes
-SHA1 (gcc-5.1.0.tar.bz2) = b6c947b09adf780fe02065d0c48bfd7b4bdddfa3
-RMD160 (gcc-5.1.0.tar.bz2) = 17a9623f384ce10415a603042e0592c9b4956078
-Size (gcc-5.1.0.tar.bz2) = 94954411 bytes
+SHA1 (gcc-5.4.0.tar.bz2) = 07524df2b4ab9070bad9c49ab668da72237b8115
+RMD160 (gcc-5.4.0.tar.bz2) = 7ae3413ca7e90bb21e65e637c02ddf2b675b45f4
+SHA512 (gcc-5.4.0.tar.bz2) = 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b
+Size (gcc-5.4.0.tar.bz2) = 95661481 bytes

Index: pkgsrc/lang/gcc5-aux/files/diff-ada
diff -u pkgsrc/lang/gcc5-aux/files/diff-ada:1.1 pkgsrc/lang/gcc5-aux/files/diff-ada:1.2
--- pkgsrc/lang/gcc5-aux/files/diff-ada:1.1     Mon Jun 15 09:46:27 2015
+++ pkgsrc/lang/gcc5-aux/files/diff-ada Sun Aug 28 17:59:37 2016
@@ -1045,23 +1045,36 @@
     Gcc_Path : String_Access := null;
  
     Non_Empty_Node : constant Project_Node_Id := 1;
---- gcc/ada/s-osinte-android.ads.orig
-+++ gcc/ada/s-osinte-android.ads
-@@ -597,11 +597,11 @@
- 
-    type pid_t is new int;
- 
--   type time_t is new long;
-+   type time_t is new Long_Long_Integer;
- 
-    type timespec is record
--      tv_sec  : time_t;
--      tv_nsec : long;
-+      ts_sec  : time_t;
-+      ts_nsec : long;
-    end record;
-    pragma Convention (C, timespec);
+--- gcc/ada/s-oscons-tmplt.c.orig
++++ gcc/ada/s-oscons-tmplt.c
+@@ -402,7 +402,7 @@
+ 
+ /* ioctl(2) requests are "int" in UNIX, but "unsigned long" on FreeBSD */
+ 
+-#ifdef __FreeBSD__
++#if defined (__FreeBSD__) || defined (__DragonFly__)
+ # define CNI CNU
+ # define IOCTL_Req_T "unsigned"
+ #else
+@@ -1014,7 +1014,7 @@
+ 
+ */
+ 
+-#if defined (__FreeBSD__) || defined (linux)
++#if defined (__FreeBSD__) || defined (linux) || defined (__DragonFly__)
+ # define PTY_Library "-lutil"
+ #else
+ # define PTY_Library ""
+@@ -1435,7 +1435,8 @@
+ #endif
+ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
  
+-#if defined(__FreeBSD__) || (defined(_AIX) && defined(_AIXVERSION_530))
++#if defined(__FreeBSD__) || (defined(_AIX) && defined(_AIXVERSION_530)) \
++ || defined(__DragonFly__)
+ /** On these platforms use system provided monotonic clock instead of
+  ** the default CLOCK_REALTIME. We then need to set up cond var attributes
+  ** appropriately (see thread.c).
 --- /dev/null
 +++ gcc/ada/s-osinte-dragonfly.adb
 @@ -0,0 +1,116 @@
@@ -3620,7 +3633,7 @@
    THREADSLIB = -lposix4 -lthread
    MISCLIB = -lposix4 -lnsl -lsocket
    SO_OPTS = -Wl,-h,
-@@ -1420,8 +1424,11 @@
+@@ -1416,8 +1420,11 @@
  ifeq ($(strip $(filter-out %86 freebsd%,$(target_cpu) $(target_os))),)
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-freebsd.ads \
@@ -3632,7 +3645,7 @@
    s-osinte.adb<s-osinte-freebsd.adb \
    s-osinte.ads<s-osinte-freebsd.ads \
    s-osprim.adb<s-osprim-posix.adb \
-@@ -1436,6 +1443,8 @@
+@@ -1432,6 +1439,8 @@
    mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
    GNATLIB_SHARED = gnatlib-shared-dual
  
@@ -3641,7 +3654,7 @@
    EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
  
    EH_MECHANISM=-gcc
-@@ -1449,8 +1458,11 @@
+@@ -1445,8 +1454,11 @@
  ifeq ($(strip $(filter-out %86_64 freebsd%,$(target_cpu) $(target_os))),)
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-freebsd.ads \
@@ -3653,7 +3666,7 @@
    s-osinte.adb<s-osinte-freebsd.adb \
    s-osinte.ads<s-osinte-freebsd.ads \
    s-osprim.adb<s-osprim-posix.adb \
-@@ -1465,6 +1477,110 @@
+@@ -1461,6 +1473,110 @@
    mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
    GNATLIB_SHARED = gnatlib-shared-dual
  
Index: pkgsrc/lang/gcc5-aux/files/diff-core
diff -u pkgsrc/lang/gcc5-aux/files/diff-core:1.1 pkgsrc/lang/gcc5-aux/files/diff-core:1.2
--- pkgsrc/lang/gcc5-aux/files/diff-core:1.1    Mon Jun 15 09:46:27 2015
+++ pkgsrc/lang/gcc5-aux/files/diff-core        Sun Aug 28 17:59:37 2016
@@ -11,13 +11,11 @@
  #undef  LINK_SPEC
 --- gcc/config/i386/freebsd.h.orig
 +++ gcc/config/i386/freebsd.h
-@@ -90,6 +90,14 @@
+@@ -77,6 +77,12 @@
     When the -shared link option is used a final link is not being
     done.  */
  
-+#if FBSD_MAJOR < 9
-+#define ELF_HASH_STYLE ""
-+#elif FBSD_MAJOR < 10
++#if FBSD_MAJOR < 10
 +#define ELF_HASH_STYLE "--hash-style=both "
 +#else
 +#define ELF_HASH_STYLE "--hash-style=gnu "
@@ -26,7 +24,7 @@
  #undef        LINK_SPEC
  #define LINK_SPEC "\
    %{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \
-@@ -101,6 +109,7 @@
+@@ -88,6 +94,7 @@
          %{rdynamic:-export-dynamic} \
          -dynamic-linker %(fbsd_dynamic_linker) } \
      %{static:-Bstatic}} \
@@ -43,182 +41,6 @@
 +  %{!static:" ELF_HASH_STYLE "-rpath @PREFIX@/@GCCAUX@/lib} \
    %{symbolic:-Bsymbolic}"
 --- /dev/null
-+++ libgcc/config/i386/freebsd-unwind.h
-@@ -0,0 +1,173 @@
-+/* DWARF2 EH unwinding support for FreeBSD: AMD x86-64 and x86.
-+   Copyright (C) 2015 Free Software Foundation, Inc.
-+   Contributed by John Marino <gnugcc%marino.st@localhost>
-+
-+This file is part of GCC.
-+
-+GCC is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 3, or (at your option)
-+any later version.
-+
-+GCC is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+GNU General Public License for more details.
-+
-+Under Section 7 of GPL version 3, you are granted additional
-+permissions described in the GCC Runtime Library Exception, version
-+3.1, as published by the Free Software Foundation.
-+
-+You should have received a copy of the GNU General Public License and
-+a copy of the GCC Runtime Library Exception along with this program;
-+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-+<http://www.gnu.org/licenses/>.  */
-+
-+/* Do code reading to identify a signal frame, and set the frame
-+   state data appropriately.  See unwind-dw2.c for the structs. */
-+
-+#include <sys/types.h>
-+#include <signal.h>
-+#include <sys/ucontext.h>
-+#include <machine/sigframe.h>
-+
-+#define REG_NAME(reg) sf_uc.uc_mcontext.mc_## reg
-+
-+#ifdef __x86_64__
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_64_freebsd_fallback_frame_state
-+
-+static _Unwind_Reason_Code
-+x86_64_freebsd_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+  struct sigframe *sf;
-+  long new_cfa;
-+
-+  /* Prior to FreeBSD 9, the signal trampoline was located immediately
-+     before the ps_strings.  To support non-executable stacks on AMD64,
-+     the sigtramp was moved to a shared page for FreeBSD 9.  Unfortunately
-+     this means looking frame patterns again (sys/amd64/amd64/sigtramp.S)
-+     rather than using the robust and convenient KERN_PS_STRINGS trick.
-+
-+     <pc + 00>:  lea     0x10(%rsp),%rdi
-+     <pc + 05>:  pushq   $0x0
-+     <pc + 17>:  mov     $0x1a1,%rax
-+     <pc + 14>:  syscall
-+
-+     If we can't find this pattern, we're at the end of the stack.
-+  */
-+
-+  if (!(   *(unsigned int *)(context->ra)      == 0x247c8d48
-+        && *(unsigned int *)(context->ra +  4) == 0x48006a10
-+        && *(unsigned int *)(context->ra +  8) == 0x01a1c0c7
-+        && *(unsigned int *)(context->ra + 12) == 0x050f0000 ))
-+    return _URC_END_OF_STACK;
-+
-+  sf = (struct sigframe *) context->cfa;
-+  new_cfa = sf->REG_NAME(rsp);
-+  fs->regs.cfa_how = CFA_REG_OFFSET;
-+  /* Register 7 is rsp  */
-+  fs->regs.cfa_reg = 7;
-+  fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+
-+  /* The SVR4 register numbering macros aren't usable in libgcc.  */
-+  fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(rax) - new_cfa;
-+  fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(rdx) - new_cfa;
-+  fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(rcx) - new_cfa;
-+  fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(rbx) - new_cfa;
-+  fs->regs.reg[4].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[4].loc.offset = (long)&sf->REG_NAME(rsi) - new_cfa;
-+  fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(rdi) - new_cfa;
-+  fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(rbp) - new_cfa;
-+  fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(r8) - new_cfa;
-+  fs->regs.reg[9].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[9].loc.offset = (long)&sf->REG_NAME(r9) - new_cfa;
-+  fs->regs.reg[10].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[10].loc.offset = (long)&sf->REG_NAME(r10) - new_cfa;
-+  fs->regs.reg[11].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[11].loc.offset = (long)&sf->REG_NAME(r11) - new_cfa;
-+  fs->regs.reg[12].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[12].loc.offset = (long)&sf->REG_NAME(r12) - new_cfa;
-+  fs->regs.reg[13].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[13].loc.offset = (long)&sf->REG_NAME(r13) - new_cfa;
-+  fs->regs.reg[14].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[14].loc.offset = (long)&sf->REG_NAME(r14) - new_cfa;
-+  fs->regs.reg[15].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[15].loc.offset = (long)&sf->REG_NAME(r15) - new_cfa;
-+  fs->regs.reg[16].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[16].loc.offset = (long)&sf->REG_NAME(rip) - new_cfa;
-+  fs->retaddr_column = 16;
-+  fs->signal_frame = 1;
-+  return _URC_NO_REASON;
-+}
-+
-+#else /* Next section is for i386  */
-+
-+#define MD_FALLBACK_FRAME_STATE_FOR x86_freebsd_fallback_frame_state
-+
-+/*
-+ * We can't use KERN_PS_STRINGS anymore if we want to support FreeBSD32
-+ * compat on AMD64.  The sigtramp is in a shared page in that case so the
-+ * x86_sigtramp_range only works on a true i386 system.  We have to
-+ * search for the sigtramp frame if we want it working everywhere.
-+ */
-+
-+static _Unwind_Reason_Code
-+x86_freebsd_fallback_frame_state
-+(struct _Unwind_Context *context, _Unwind_FrameState *fs)
-+{
-+  struct sigframe *sf;
-+  long new_cfa;
-+
-+/*
-+ * i386 sigtramp frame we are looking for follows.
-+ * Apparently PSL_VM is variable, so we can't look past context->ra + 4
-+ * <sigcode>:
-+ *   0:       ff 54 24 10             call   *0x10(%esp)          *SIGF_HANDLER
-+ *   4:       8d 44 24 20             lea    0x20(%esp),%eax       SIGF_UC
-+ *   8:       50                      push   %eax
-+ *   9:       f7 40 54 00 00 02 00    testl  $0x20000,0x54(%eax)  $PSL_VM
-+ *  10:       75 03                   jne    15 <sigcode+0x15>
-+ *  12:       8e 68 14                mov    0x14(%eax),%gs        UC_GS
-+ *  15:       b8 a1 01 00 00          mov    0x1a1,%eax           $SYS_sigreturn
-+ */
-+
-+  if (!(   *(unsigned int *)(context->ra - 4) == 0x102454ff
-+        && *(unsigned int *)(context->ra)     == 0x2024448d ))
-+    return _URC_END_OF_STACK;
-+
-+  sf = (struct sigframe *) context->cfa;
-+  new_cfa = sf->REG_NAME(esp);
-+  fs->regs.cfa_how = CFA_REG_OFFSET;
-+  fs->regs.cfa_reg = 4;
-+  fs->regs.cfa_offset = new_cfa - (long) context->cfa;
-+
-+  /* The SVR4 register numbering macros aren't usable in libgcc.  */
-+  fs->regs.reg[0].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[0].loc.offset = (long)&sf->REG_NAME(eax) - new_cfa;
-+  fs->regs.reg[3].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[3].loc.offset = (long)&sf->REG_NAME(ebx) - new_cfa;
-+  fs->regs.reg[1].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[1].loc.offset = (long)&sf->REG_NAME(ecx) - new_cfa;
-+  fs->regs.reg[2].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[2].loc.offset = (long)&sf->REG_NAME(edx) - new_cfa;
-+  fs->regs.reg[6].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[6].loc.offset = (long)&sf->REG_NAME(esi) - new_cfa;
-+  fs->regs.reg[7].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[7].loc.offset = (long)&sf->REG_NAME(edi) - new_cfa;
-+  fs->regs.reg[5].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[5].loc.offset = (long)&sf->REG_NAME(ebp) - new_cfa;
-+  fs->regs.reg[8].how = REG_SAVED_OFFSET;
-+  fs->regs.reg[8].loc.offset = (long)&sf->REG_NAME(eip) - new_cfa;
-+  fs->retaddr_column = 8;
-+  fs->signal_frame = 1;
-+  return _URC_NO_REASON;
-+}
-+#endif /* ifdef __x86_64__  */
---- /dev/null
 +++ libgcc/config/i386/netbsd-unwind.h
 @@ -0,0 +1,178 @@
 +/* DWARF2 EH unwinding support for NetBSD: AMD x86-64 and x86.
@@ -430,7 +252,7 @@
  }
 --- gcc/config.gcc.orig
 +++ gcc/config.gcc
-@@ -1393,12 +1393,16 @@
+@@ -1399,12 +1399,16 @@
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
        ;;
  i[34567]86-*-netbsdelf*)
@@ -451,7 +273,7 @@
        tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
 --- gcc/configure.orig
 +++ gcc/configure
-@@ -27806,6 +27806,13 @@
+@@ -27961,6 +27961,13 @@
        gcc_cv_target_dl_iterate_phdr=no
      fi
      ;;
@@ -527,9 +349,34 @@
      && defined(__OpenBSD__)
  # define ElfW(type) Elf_##type
  # define USE_PT_GNU_EH_FRAME
+--- libgcc/config.host.orig
++++ libgcc/config.host
+@@ -240,7 +240,8 @@
+   extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+   ;;
+ *-*-netbsd*)
+-  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
++  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
++  tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
+   # NetBSD 1.7 and later are set up to use GCC's crtstuff for
+   # ELF configurations.  We will clear extra_parts in the
+   # a.out configurations.
+@@ -579,9 +580,12 @@
+       md_unwind_header=i386/freebsd-unwind.h
+       ;;
+ i[34567]86-*-netbsdelf*)
++      tmake_file="${tmake_file} i386/t-crtstuff"
++      md_unwind_header=i386/netbsd-unwind.h
+       ;;
+ x86_64-*-netbsd*)
+       tmake_file="${tmake_file} i386/t-crtstuff"
++      md_unwind_header=i386/netbsd-unwind.h
+       ;;
+ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
+       ;;
 --- gcc/Makefile.in.orig
 +++ gcc/Makefile.in
-@@ -1156,7 +1156,6 @@
+@@ -1163,7 +1163,6 @@
        insn-emit.o \
        insn-extract.o \
        insn-latencytab.o \
@@ -537,7 +384,7 @@
        insn-opinit.o \
        insn-output.o \
        insn-peep.o \
-@@ -1511,6 +1510,7 @@
+@@ -1518,6 +1517,7 @@
    $(OBJS-libcommon-target) @TREEBROWSER@ main.o c-family/cppspec.o \
    $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS) \
    $(GCOV_TOOL_OBJS) $(GENGTYPE_OBJS) gcc-ar.o gcc-nm.o gcc-ranlib.o \
@@ -545,7 +392,7 @@
    lto-wrapper.o collect-utils.o
  
  # This lists all host object files, whether they are included in this
-@@ -1518,6 +1518,11 @@
+@@ -1525,6 +1525,11 @@
  ALL_HOST_OBJS = $(ALL_HOST_FRONTEND_OBJS) $(ALL_HOST_BACKEND_OBJS)
  
  BACKEND = libbackend.a main.o @TREEBROWSER@ libcommon-target.a libcommon.a \
@@ -557,7 +404,7 @@
        $(CPPLIB) $(LIBDECNUMBER)
  
  # This is defined to "yes" if Tree checking is enabled, which roughly means
-@@ -2164,6 +2169,7 @@
+@@ -2171,6 +2176,7 @@
  
  insn-modes.c: s-modes; @true
  insn-modes.h: s-modes-h; @true
@@ -565,7 +412,7 @@
  min-insn-modes.c: s-modes-m; @true
  
  s-modes: build/genmodes$(build_exeext)
-@@ -2181,6 +2187,12 @@
+@@ -2188,6 +2194,12 @@
        $(SHELL) $(srcdir)/../move-if-change tmp-min-modes.c min-insn-modes.c
        $(STAMP) s-modes-m
  
@@ -578,7 +425,7 @@
  insn-preds.c: s-preds; @true
  tm-preds.h: s-preds-h; @true
  tm-constrs.h: s-constrs-h; @true
-@@ -3326,6 +3338,9 @@
+@@ -3333,6 +3345,9 @@
            ( cd $(DESTDIR)$(bindir) && \
              $(LN) $(GCC_INSTALL_NAME)$(exeext) $(FULL_DRIVER_NAME) ); \
          fi; \
@@ -588,35 +435,8 @@
          if [ ! -f gcc-cross$(exeext) ] \
              && [ "$(GCC_INSTALL_NAME)" != "$(GCC_TARGET_INSTALL_NAME)" ]; then \
            rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \
---- libgcc/config.host.orig
-+++ libgcc/config.host
-@@ -240,7 +240,8 @@
-   extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-   ;;
- *-*-netbsd*)
--  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
-+  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
-+  tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
-   # NetBSD 1.7 and later are set up to use GCC's crtstuff for
-   # ELF configurations.  We will clear extra_parts in the
-   # a.out configurations.
-@@ -567,14 +568,19 @@
-       ;;
- i[34567]86-*-freebsd*)
-       tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
-+      md_unwind_header=i386/freebsd-unwind.h
-       ;;
- x86_64-*-freebsd*)
-       tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
-+      md_unwind_header=i386/freebsd-unwind.h
-       ;;
- i[34567]86-*-netbsdelf*)
-+      tmake_file="${tmake_file} i386/t-crtstuff"
-+      md_unwind_header=i386/netbsd-unwind.h
-       ;;
- x86_64-*-netbsd*)
-       tmake_file="${tmake_file} i386/t-crtstuff"
-+      md_unwind_header=i386/netbsd-unwind.h
-       ;;
- i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
-       ;;
+--- libgcc/config/i386/t-dragonfly.orig
++++ libgcc/config/i386/t-dragonfly
+@@ -0,0 +1,2 @@
++# Required for -fcilkplus support
++SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-bsd.ver
Index: pkgsrc/lang/gcc5-aux/files/diff-cxx
diff -u pkgsrc/lang/gcc5-aux/files/diff-cxx:1.1 pkgsrc/lang/gcc5-aux/files/diff-cxx:1.2
--- pkgsrc/lang/gcc5-aux/files/diff-cxx:1.1     Mon Jun 15 09:46:27 2015
+++ pkgsrc/lang/gcc5-aux/files/diff-cxx Sun Aug 28 17:59:37 2016
@@ -1,3 +1,112 @@
+--- libstdc++-v3/config/locale/dragonfly/c_locale.cc.orig
++++ libstdc++-v3/config/locale/dragonfly/c_locale.cc
+@@ -36,6 +36,7 @@
+ #include <locale>
+ #include <limits>
+ 
++#include <xlocale.h>
+ #ifdef _GLIBCXX_HAVE_IEEEFP_H
+ #include <ieeefp.h>
+ #endif
+@@ -206,61 +207,45 @@
+       delete [] __sav;
+     }
+ 
+-
+-  /*  DragonFly's implementation of setlocale won't accept something like
+-      "de_DE".  According to nls manpage, the expected format is:
+-      language[_territory][.codeset][@modifier], but it seems that both
+-      the _territory and .codeset components are required.
+-      
+-      As an attempt to correct for this, we'll tack on ".UTF-8" if 
+-      a period is not detected in the locale string.  
+-
+-      There are no locales with modifiers on DragonFly so if found, they
+-      will just be stripped off silently.  e.g "de_DE@euro" will be reduced
+-      to "de_DE".  The UTF-8 default would be added after that.
+-  */
+-
+   void
+   locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
+-                                  __c_locale)
++                                  __c_locale __old)
+   {
+-    const size_t size__s = (__s == NULL) ? 1 : strlen (__s);
+-    const char UTF8[] = ".UTF-8";
+-    char localspec[size__s + 6 + 1];
+-    
+-    if (__s == NULL) {
+-       localspec[0] = '\0';
+-    } else {
+-       strcpy (localspec, __s);
+-       char * pch = strchr (localspec, '@');
+-       if (pch != NULL)
+-          *pch = 0;
+-
+-       if (  (strchr (__s, '.') == NULL)
+-          && (strcmp (__s, "C") != 0)
+-          && (strcmp (__s, "POSIX") != 0))
+-          strncat (localspec, UTF8, 6);
+-    }
+-
+-    const char * result = std::setlocale(LC_ALL, localspec);
++    __cloc = (__c_locale)newlocale(LC_ALL_MASK, __s, (locale_t)__old);
+     
+-    if ((strcmp(result, "C") != 0) && (strcmp (result, localspec) != 0))
++    if (!__cloc)
+       __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
+                           "name not valid"));
+-    __cloc = 0;
+   }
+ 
+   void
+   locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
+-  { __cloc = 0; }
++  {
++    if (__cloc && _S_get_c_locale() != __cloc)
++      freelocale((locale_t)__cloc);
++  }
+ 
+   __c_locale
+-  locale::facet::_S_clone_c_locale(__c_locale&) throw()
+-  { return __c_locale(); }
++  locale::facet::_S_clone_c_locale(__c_locale& __cloc) throw()
++  { return (__c_locale)duplocale((locale_t)__cloc); }
+ 
+   __c_locale
+-  locale::facet::_S_lc_ctype_c_locale(__c_locale, const char*)
+-  { return __c_locale(); }
++  locale::facet::_S_lc_ctype_c_locale(__c_locale __cloc, const char* __s)
++  { 
++    __c_locale __dup = (__c_locale)duplocale((locale_t)__cloc);
++    if (__dup == __c_locale(0))
++      __throw_runtime_error(__N("locale::facet::_S_lc_ctype_c_locale "
++                              "duplocale error"));
++    __c_locale __changed = (__c_locale)newlocale(LC_CTYPE_MASK, __s,
++                                                   (locale_t)__dup);
++    if (__changed == __c_locale(0))
++      {
++      freelocale((locale_t)__dup);
++      __throw_runtime_error(__N("locale::facet::_S_lc_ctype_c_locale "
++                                "newlocale error"));
++      }
++    return __changed;
++  }
+ 
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+--- libstdc++-v3/config/os/bsd/dragonfly/os_defines.h.orig
++++ libstdc++-v3/config/os/bsd/dragonfly/os_defines.h
+@@ -29,4 +29,9 @@
+ // System-specific #define, typedefs, corrections, etc, go here.  This
+ // file will come before all others.
+ 
++#define _GLIBCXX_USE_C99_CHECK 1
++#define _GLIBCXX_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999))
++#define _GLIBCXX_USE_C99_LONG_LONG_CHECK 1
++#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC (_GLIBCXX_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED)
++
+ #endif
 --- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig
 +++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
 @@ -43,9 +43,22 @@
@@ -100,7 +209,7 @@
  
 --- libstdc++-v3/configure.host.orig
 +++ libstdc++-v3/configure.host
-@@ -268,6 +268,9 @@
+@@ -270,6 +270,9 @@
    dragonfly*)
      os_include_dir="os/bsd/dragonfly"
      ;;
Index: pkgsrc/lang/gcc5-aux/files/diff-cxx-testsuite
diff -u pkgsrc/lang/gcc5-aux/files/diff-cxx-testsuite:1.1 pkgsrc/lang/gcc5-aux/files/diff-cxx-testsuite:1.2
--- pkgsrc/lang/gcc5-aux/files/diff-cxx-testsuite:1.1   Mon Jun 15 09:46:27 2015
+++ pkgsrc/lang/gcc5-aux/files/diff-cxx-testsuite       Sun Aug 28 17:59:37 2016
@@ -1,6 +1,6 @@
 --- libstdc++-v3/testsuite/lib/libstdc++.exp.orig
 +++ libstdc++-v3/testsuite/lib/libstdc++.exp
-@@ -898,17 +898,18 @@
+@@ -902,17 +902,18 @@
        set f [open $src "w"]
        puts $f "#include <locale>"
        puts $f "#include <cstdio>"
Index: pkgsrc/lang/gcc5-aux/files/diff-fortran
diff -u pkgsrc/lang/gcc5-aux/files/diff-fortran:1.1 pkgsrc/lang/gcc5-aux/files/diff-fortran:1.2
--- pkgsrc/lang/gcc5-aux/files/diff-fortran:1.1 Mon Jun 15 09:46:27 2015
+++ pkgsrc/lang/gcc5-aux/files/diff-fortran     Sun Aug 28 17:59:37 2016
@@ -11,7 +11,7 @@
        ;;
 --- libgfortran/configure.orig
 +++ libgfortran/configure
-@@ -26447,7 +26447,7 @@
+@@ -26456,7 +26456,7 @@
  
    fi
    case "$host" in
@@ -22,7 +22,7 @@
  
 --- gcc/fortran/f95-lang.c.orig
 +++ gcc/fortran/f95-lang.c
-@@ -776,10 +776,17 @@
+@@ -777,10 +777,17 @@
  
    gfc_define_builtin ("__builtin_cabsl", func_clongdouble_longdouble, 
                      BUILT_IN_CABSL, "cabsl", ATTR_CONST_NOTHROW_LEAF_LIST);



Home | Main Index | Thread Index | Old Index