Index: head/lang/gcc6/Makefile =================================================================== --- head/lang/gcc6/Makefile (revision 483048) +++ head/lang/gcc6/Makefile (revision 483049) @@ -1,185 +1,184 @@ # Created by: Gerald Pfeifer # $FreeBSD$ PORTNAME= gcc -PORTVERSION= 6.4.0 -PORTREVISION= 8 +PORTVERSION= 6.5.0 CATEGORIES= lang java MASTER_SITES= GCC PKGNAMESUFFIX= ${SUFFIX} MAINTAINER= gerald@FreeBSD.org COMMENT= GNU Compiler Collection 6 LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe sparc64 BROKEN_sparc64= fails to configure: cannot compute suffix of object files: cannot compile LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ libmpc.so:math/mpc BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils RUN_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils .if defined(MAINTAINER_MODE) BUILD_DEPENDS+= runtest:misc/dejagnu .endif CONFLICTS= gcc6-devel-6.* CPE_VENDOR= gnu GCC_VERSION= ${PORTVERSION} SUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/} USES= compiler cpe gmake iconv libtool makeinfo perl5 tar:xz USE_BINUTILS= yes USE_PERL5= build SSP_UNSAFE= yes CFLAGS:= ${CFLAGS:N-mretpoline} CXXFLAGS:= ${CXXFLAGS:N-mretpoline} OPTIONS_DEFINE= BOOTSTRAP GRAPHITE OPTIONS_DEFINE_i386= JAVA OPTIONS_DEFINE_amd64= JAVA OPTIONS_DEFINE_powerpc64= JAVA OPTIONS_DEFAULT= BOOTSTRAP OPTIONS_DEFAULT_i386= JAVA OPTIONS_DEFAULT_amd64= JAVA OPTIONS_DEFAULT_powerpc64= JAVA OPTIONS_EXCLUDE_DragonFly= JAVA BOOTSTRAP_DESC= Build using a full bootstrap GRAPHITE_DESC= Support for Graphite loop optimizations JAVA_USES= python:build shebangfix SHEBANG_FILES= libjava/contrib/aot-compile.in .if exists(/usr/lib32/libc.so) OPTIONS_DEFINE_powerpc64+= MULTILIB OPTIONS_DEFAULT_powerpc64+= MULTILIB MULTILIB_DESC= Build support for 32-bit and 64-bit targets MULTILIB_CONFIGURE_ENABLE= multilib .else CONFIGURE_ARGS+= --disable-multilib .endif .include .if ${ARCH} == amd64 CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL} .elif ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7 . if ${COMPILER_TYPE} == clang . if empty(PORT_OPTIONS:MBOOTSTRAP) MAKE_ARGS+=CXXFLAGS=-fbracket-depth=512 . else MAKE_ARGS+=STAGE1_CXXFLAGS=-fbracket-depth=512 . endif . endif .elif ${ARCH} == powerpc64 CONFIGURE_ENV+= UNAME_m="powerpc64" USE_GCC= 5 # This port requires at least GCC 4.9, and we need # to ensure not to cause a dependency on itself (so # USE_GCC=yes or USE_GCC=X+ are not an option). .elif ${ARCH} == powerpcspe CONFIGURE_ARGS+= --with-cpu=8540 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran TARGLIB= ${PREFIX}/lib/gcc${SUFFIX} LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX} GNU_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes .if empty(PORT_OPTIONS:MBOOTSTRAP) 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 \ --libdir=${TARGLIB} \ --libexecdir=${LIBEXEC} \ --program-suffix=${SUFFIX} \ --with-as=${LOCALBASE}/bin/as \ --with-gmp=${LOCALBASE} \ --with-gxx-include-dir=${TARGLIB}/include/c++/ \ --with-ld=${LOCALBASE}/bin/ld \ ${ICONV_CONFIGURE_ARG} \ --with-pkgversion="FreeBSD Ports Collection" \ --with-system-zlib MAKE_ARGS+= MAKEINFOFLAGS="--no-split" USE_LDCONFIG= ${TARGLIB} PLIST_SUB+= GCC_VERSION=${GCC_VERSION} \ GNU_HOST=${CONFIGURE_TARGET} \ SUFFIX=${SUFFIX} INFO= gcc${SUFFIX}/cpp \ gcc${SUFFIX}/cppinternals \ gcc${SUFFIX}/gcc \ gcc${SUFFIX}/gccinstall \ gcc${SUFFIX}/gccint \ gcc${SUFFIX}/gfortran \ gcc${SUFFIX}/libgomp # Release tarballs (as opposed to snapshots) always carry this. INFO+= gcc${SUFFIX}/libquadmath \ gcc${SUFFIX}/libitm SUB_FILES= pkg-message SUB_LIST+= TARGLIB=${TARGLIB} .if ${PORT_OPTIONS:MGRAPHITE} LIB_DEPENDS+= libisl.so:devel/isl CONFIGURE_ARGS+=--with-isl=${LOCALBASE} .endif .if ${PORT_OPTIONS:MJAVA} ECJ_JAR= ${LOCALBASE}/share/java/ecj-4.5.jar BUILD_DEPENDS+= ${ECJ_JAR}:lang/gcc-ecj45 \ zip:archivers/zip RUN_DEPENDS+= ${ECJ_JAR}:lang/gcc-ecj45 EXTRA_PATCHES+= ${FILESDIR}/java-patch-hier CONFIGURE_ARGS+=--with-ecj-jar=${ECJ_JAR} LANGUAGES:= ${LANGUAGES},java INFO+= gcc${SUFFIX}/cp-tools \ gcc${SUFFIX}/gcj PLIST_SUB+= JAVA="" .else CONFIGURE_ARGS+=--disable-libgcj PLIST_SUB+= JAVA="@comment " .endif CONFIGURE_ARGS+=--enable-languages=${LANGUAGES} pre-everything:: @${ECHO_MSG} "Making GCC ${PORTVERSION} for ${CONFIGURE_TARGET} [${LANGUAGES}]" pre-configure: cd ${WRKSRC} ; contrib/gcc_update --touch @${RM} ${WRKSRC}/gcc/*/*.info* .if defined(MAINTAINER_MODE) full-regression-test: build cd ${TEST_WRKSRC}; ${MAKE_CMD} -sk check \ ; ${WRKSRC}/contrib/test_summary .endif post-stage: ${RM} ${STAGEDIR}${PREFIX}/man/man7/* ${RM} ${STAGEDIR}${PREFIX}/bin/rebuild-gcj-db${SUFFIX} \ ${STAGEDIR}${PREFIX}/man/man1/rebuild-gcj-db${SUFFIX}.1 ${RM} -r ${STAGEDIR}${TARGLIB}/gcc/*/${GCC_VERSION}/include-fixed/ # Add target libraries and include files to packaging list. ${RM} ${WRKDIR}/PLIST.lib .for d in ${TARGLIB:S/^${PREFIX}\///} ${LIBEXEC:S/^${PREFIX}\///} include/gcj include/gnu include/java include/javax cd ${STAGEDIR}${PREFIX} ; if [ -d $d ]; then \ ${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\ fi .endfor cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST} .include Index: head/lang/gcc6/distinfo =================================================================== --- head/lang/gcc6/distinfo (revision 483048) +++ head/lang/gcc6/distinfo (revision 483049) @@ -1,3 +1,3 @@ -TIMESTAMP = 1499443012 -SHA256 (gcc-6.4.0.tar.xz) = 850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4 -SIZE (gcc-6.4.0.tar.xz) = 76156220 +TIMESTAMP = 1540568033 +SHA256 (gcc-6.5.0.tar.xz) = 7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945 +SIZE (gcc-6.5.0.tar.xz) = 74355588 Index: head/lang/gcc6/files/patch-armv7-support =================================================================== --- head/lang/gcc6/files/patch-armv7-support (revision 483048) +++ head/lang/gcc6/files/patch-armv7-support (nonexistent) @@ -1,28 +0,0 @@ ---- UTC ---- gcc/config.gcc.orig 2017-01-09 22:01:26.582656000 +0100 -+++ gcc/config.gcc 2017-10-07 17:27:59.564810000 +0200 -@@ -1072,6 +1072,10 @@ - tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" - fi - ;; -+ armv7*-*-freebsd*) -+ tm_defines="${tm_defines} TARGET_FREEBSD_ARMv7=1" -+ tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" -+ ;; - esac - with_tls=${with_tls:-gnu} - ;; ---- gcc/config/arm/freebsd.h.orig 2016-06-15 21:17:15.860618000 +0200 -+++ gcc/config/arm/freebsd.h 2017-10-09 21:38:03.395632000 +0200 -@@ -112,7 +112,10 @@ - #undef WCHAR_TYPE_SIZE - #define WCHAR_TYPE_SIZE BITS_PER_WORD - --#if defined (TARGET_FREEBSD_ARMv6) -+#if defined (TARGET_FREEBSD_ARMv7) -+#undef SUBTARGET_CPU_DEFAULT -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_genericv7a -+#elif defined (TARGET_FREEBSD_ARMv6) - #undef SUBTARGET_CPU_DEFAULT - #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm1176jzs - #else Property changes on: head/lang/gcc6/files/patch-armv7-support ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/lang/gcc6/files/patch-freebsd-unwind.h =================================================================== --- head/lang/gcc6/files/patch-freebsd-unwind.h (revision 483048) +++ head/lang/gcc6/files/patch-freebsd-unwind.h (nonexistent) @@ -1,90 +0,0 @@ -2017-11-05 Andreas Tobler - - Backport from mainline - 2017-11-04 Andreas Tobler - - PR libgcc/82635 - * config/i386/freebsd-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Use a - sysctl to determine whether we're in a trampoline. - Keep the pattern matching method for systems without - KERN_PROC_SIGTRAMP sysctl. - ---- UTC ---- libgcc/config/i386/freebsd-unwind.h 2017/11/05 17:24:37 254430 -+++ libgcc/config/i386/freebsd-unwind.h 2017/11/05 19:30:41 254431 -@@ -28,7 +28,10 @@ - - #include - #include -+#include -+#include - #include -+#include - #include - - #define REG_NAME(reg) sf_uc.uc_mcontext.mc_## reg -@@ -36,6 +39,38 @@ - #ifdef __x86_64__ - #define MD_FALLBACK_FRAME_STATE_FOR x86_64_freebsd_fallback_frame_state - -+#ifdef KERN_PROC_SIGTRAMP -+/* FreeBSD past 9.3 provides a kern.proc.sigtramp. sysctl that -+ returns the location of the signal trampoline. Use this to find -+ out whether we're in a trampoline. -+*/ -+static int -+x86_64_outside_sigtramp_range (unsigned char *pc) -+{ -+ static int sigtramp_range_determined = 0; -+ static unsigned char *sigtramp_start, *sigtramp_end; -+ -+ if (sigtramp_range_determined == 0) -+ { -+ struct kinfo_sigtramp kst = {0}; -+ size_t len = sizeof (kst); -+ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_SIGTRAMP, getpid() }; -+ -+ sigtramp_range_determined = 1; -+ if (sysctl (mib, 4, &kst, &len, NULL, 0) == 0) -+ { -+ sigtramp_range_determined = 2; -+ sigtramp_start = kst.ksigtramp_start; -+ sigtramp_end = kst.ksigtramp_end; -+ } -+ } -+ if (sigtramp_range_determined < 2) /* sysctl failed if < 2 */ -+ return 1; -+ -+ return (pc < sigtramp_start || pc >= sigtramp_end); -+} -+#endif -+ - static _Unwind_Reason_Code - x86_64_freebsd_fallback_frame_state - (struct _Unwind_Context *context, _Unwind_FrameState *fs) -@@ -43,6 +78,7 @@ - struct sigframe *sf; - long new_cfa; - -+#ifndef KERN_PROC_SIGTRAMP - /* 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 -@@ -62,12 +98,15 @@ - && *(unsigned int *)(context->ra + 8) == 0x01a1c0c7 - && *(unsigned int *)(context->ra + 12) == 0x050f0000 )) - return _URC_END_OF_STACK; -+#else -+ if (x86_64_outside_sigtramp_range(context->ra)) -+ return _URC_END_OF_STACK; -+#endif - - 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_reg = __LIBGCC_STACK_POINTER_REGNUM__; - fs->regs.cfa_offset = new_cfa - (long) context->cfa; - - /* The SVR4 register numbering macros aren't usable in libgcc. */ Property changes on: head/lang/gcc6/files/patch-freebsd-unwind.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property