Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Jul 2015 13:30:28 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r392421 - in head/lang/gcc5-aux: . files
Message-ID:  <201507181330.t6IDUSFG087930@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Sat Jul 18 13:30:27 2015
New Revision: 392421
URL: https://svnweb.freebsd.org/changeset/ports/392421

Log:
  lang/gcc5-aux: Upgrade version 20150609 => 20150716 (release 5.2.0)
  
  This contains some minor fixes for DragonFly's master branch.  The
  patch diffs are less due to freebsd unwind support backport to 5 branch.

Modified:
  head/lang/gcc5-aux/Makefile
  head/lang/gcc5-aux/Makefile.version
  head/lang/gcc5-aux/distinfo
  head/lang/gcc5-aux/files/diff-ada
  head/lang/gcc5-aux/files/diff-core
  head/lang/gcc5-aux/files/diff-cxx

Modified: head/lang/gcc5-aux/Makefile
==============================================================================
--- head/lang/gcc5-aux/Makefile	Sat Jul 18 12:58:18 2015	(r392420)
+++ head/lang/gcc5-aux/Makefile	Sat Jul 18 13:30:27 2015	(r392421)
@@ -255,22 +255,22 @@ test-ada:
 test-cxx:
 	# libstdc++ testsuite will break every time, for TRUE to continue
 	cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} \
-		${MAKE_CMD} -sk check-c++ || true
+		${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -sk check-c++ || true
 
 test-c:
 	cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} \
-		${MAKE_CMD} -sk check-c
+		${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -sk check-c
 
 test-fortran:
 .  if ${PORT_OPTIONS:MFORT}
 	cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} \
-		${MAKE_CMD} -sk check-fortran
+		${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -sk check-fortran
 .  endif
 
 test-objc:
 .  if ${PORT_OPTIONS:MOBJC}
 	cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} \
-		${MAKE_CMD} -sk check-objc
+		${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -sk check-objc
 .  endif
 .endif
 

Modified: head/lang/gcc5-aux/Makefile.version
==============================================================================
--- head/lang/gcc5-aux/Makefile.version	Sat Jul 18 12:58:18 2015	(r392420)
+++ head/lang/gcc5-aux/Makefile.version	Sat Jul 18 13:30:27 2015	(r392421)
@@ -1,12 +1,12 @@
 # $FreeBSD$
 
 GCC_BRANCH=		5
-GCC_POINT=		1.1
+GCC_POINT=		2.0
 GCC_VERSION=		${GCC_BRANCH}.${GCC_POINT}
-SNAPSHOT=		20150609
-BUILD_RELEASE=		no
-MAIN_PR=		1
-UTIL_PR=		1
+SNAPSHOT=		20150716
+BUILD_RELEASE=		yes
+MAIN_PR=		0
+UTIL_PR=		0
 ARMV7_PR=		0
 
 .if ${BUILD_RELEASE:Mno}

Modified: head/lang/gcc5-aux/distinfo
==============================================================================
--- head/lang/gcc5-aux/distinfo	Sat Jul 18 12:58:18 2015	(r392420)
+++ head/lang/gcc5-aux/distinfo	Sat Jul 18 13:30:27 2015	(r392421)
@@ -1,5 +1,5 @@
-SHA256 (gcc-5-20150609.tar.bz2) = 9154f0b0c4950cfb6dc802da8a35d02478029923a0c44f8ca963cd7ca9107885
-SIZE (gcc-5-20150609.tar.bz2) = 90768076
+SHA256 (gcc-5.2.0.tar.bz2) = 5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad
+SIZE (gcc-5.2.0.tar.bz2) = 95221552
 SHA256 (ada-bootstrap.i386.freebsd.84.tar.bz2) = b410336cb0e71c8a29dd5f831a17b4b7282e7d590f452475a94c6a625cfc8846
 SIZE (ada-bootstrap.i386.freebsd.84.tar.bz2) = 39727003
 SHA256 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 7231209f2600275f554f788ad1d036cf633c4339ebd25bd479a5bb1ddcddedf3

Modified: head/lang/gcc5-aux/files/diff-ada
==============================================================================
--- head/lang/gcc5-aux/files/diff-ada	Sat Jul 18 12:58:18 2015	(r392420)
+++ head/lang/gcc5-aux/files/diff-ada	Sat Jul 18 13:30:27 2015	(r392421)
@@ -905,6 +905,15 @@
     Non_Empty_Node : constant Project_Node_Id := 1;
 --- 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 @@
  
  */
@@ -914,23 +923,16 @@
  # define PTY_Library "-lutil"
  #else
  # define PTY_Library ""
---- 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);
+@@ -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 @@

Modified: head/lang/gcc5-aux/files/diff-core
==============================================================================
--- head/lang/gcc5-aux/files/diff-core	Sat Jul 18 12:58:18 2015	(r392420)
+++ head/lang/gcc5-aux/files/diff-core	Sat Jul 18 13:30:27 2015	(r392421)
@@ -11,7 +11,7 @@
  #undef  LINK_SPEC
 --- gcc/config/i386/freebsd.h.orig
 +++ gcc/config/i386/freebsd.h
-@@ -90,6 +90,14 @@
+@@ -77,6 +77,14 @@
     When the -shared link option is used a final link is not being
     done.  */
  
@@ -26,7 +26,7 @@
  #undef	LINK_SPEC
  #define LINK_SPEC "\
    %{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \
-@@ -101,6 +109,7 @@
+@@ -88,6 +96,7 @@
          %{rdynamic:-export-dynamic} \
          -dynamic-linker %(fbsd_dynamic_linker) } \
      %{static:-Bstatic}} \
@@ -42,182 +42,6 @@
      %{static:-Bstatic}} \
 +  %{!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>
-+
-+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__  */
 --- libiberty/getpagesize.c.orig
 +++ libiberty/getpagesize.c
 @@ -20,6 +20,7 @@
@@ -308,35 +132,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

Modified: head/lang/gcc5-aux/files/diff-cxx
==============================================================================
--- head/lang/gcc5-aux/files/diff-cxx	Sat Jul 18 12:58:18 2015	(r392420)
+++ head/lang/gcc5-aux/files/diff-cxx	Sat Jul 18 13:30:27 2015	(r392421)
@@ -1,6 +1,18 @@
+--- 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/configure.host.orig
 +++ libstdc++-v3/configure.host
-@@ -267,6 +267,9 @@
+@@ -270,6 +270,9 @@
    dragonfly*)
      os_include_dir="os/bsd/dragonfly"
      ;;



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