pkgsrc/lang/gcc49/Makefile
wiz 8fb465ab72 Update to 4.9.3. The following bugs were fixed:
[4.9 Regression] select case with strings and -fgcse -O
[4.9 Regression] Executes wrong function inside an anonymous namespace on runtime
[4.9 Regression] Predictive commoning after loop vectorization produces incorrect code.
[4.9/5 Regression] wrong code (segfaults) at -Os on x86_64-linux-gnu
[4.9.2/5 Regression] Bootstrap broken on powerpc-apple-darwin, cc1: internal compiler error: in init_reg_sets
[4.9 Regression] FAIL: gcc.dg/ipa/pr63551.c (test for excess errors)
[4.9 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)
[4.9/5 Regression] ERROR: can't read additional_sources: no such variable
[4.9/5 Regression] Thumb1 ICE caused by no register to spill
[4.9 Regression] GCC 4.9.2 bootstrap fails on ARM, haifa-sched.c:6507:1: internal compiler error: in lra_create
[4.9 Regression] FAIL: gcc.target/powerpc/pr53199.c scan-assembler-times *
[4.9 Regression] ICE on invalid code on x86_64-linux-gnu: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in create_tmp_from_val, at gimplify.c:491
[4.9 Regression]: Unaligned access with -O3 -mtune=k8
[4.8/4.9 Regression] Introducing an unrelated template parameter causes compilation to fail
[4.9 Regression] const int (&in)[]{1,2,3,4,5}; results in internal compiler error: Segmentation fault
[4.9/5 Regression] ICE with -frepo
[4.9/5/6 Regression] NSDMI calling constexpr constructor with pointer-to-member is not a constant expression
bootstrap failure on x32
[4.9 Regression] -O2 miscompiles with -mtune=nehalem or corei7
[4.9 Regression] Wrong results with loop vectorization of: "var[i] = ABS_EXPR<var2[i]> > 9.9e-7"
[4.9 Regression] ICE with LTO on valid code on x86_64-linux-gnu in verify_ssa (in 64-bit mode)
[4.9/5 Regression] ssa corruption when compiled with -O3
[4.9 Regression] Incorrect warning "array subscript is above array bounds"
[4.9 regression] ICE with lto related to variably modified type
[4.8 Regression] Missed vectorization with bdver1
[4.9 Regression] ICE: in extract_constrain_insn_cached, at recog.c:2117 with -flive-range-shrinkage -mdispatch-scheduler -march=bdver4
[4.9/5 regression] libsanitizer fails to build with old glibc
[4.9/5 Regression] undefined label in jump_table_data
[4.9 Regression] ICE on valid code at -O3 on x86_64-linux-gnu in vectorizable_reduction, at tree-vect-loop.c:4913
[4.9 regression] FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan-tree-dump-times slp2" basic block vectorized using SLP" 1
[4.9 regression] -Wunused-variable: warning supressed by virtual dtor
[4.9 Regression] Using class reference as template parameter causes compilation to fail
[4.9 Regression] gcc-4_9 inlines less funcs than gcc-4_8 because of used_as_abstract_origin flag
[4.9/5 Regression] ICE: in update_visibility_by_resolution_info, at ipa-visibility.c:427
[4.9/5 Regression] ICE: : in rs6000_delegitimize_address, at config/rs6000/rs6000.c:7051
[4.9/5 Regression] SIGBUS in gen_group_rtx compiling 64-bit gcc.dg/vect/vect-singleton_1.c
AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used
ICE in verify_gimple_assign_single
[4.9 Regression] CSE on x86 asm()-s no longer working due to PR/60663 fix
[4.8 Regression] ICE at -O1 and above with -g enabled on x86_64-linux-gnu
[4.9/5 Regression] ICE at omp lowering
[5 Regression] ICE with lambda in default argument of template function
[4.9/5.0 Regression][c++11] ICE on variadic alias template with wrappers
[4.9/5 Regression] Error in template instantiation in GCC 4.9, works fine in GCC 4.8
[4.9/5/6 Regression] Bogus linkage errors for member class of anonymous class
[4.9/5/6 Regression] Default move assignment does not move array members
Simplifying vec_select of vec_concat miscompiles when first element of vec_concat is const_int
ICE in tree_to_uhwi, at tree.h:3668
std::this_thread::sleep_until can cause inifinite sleep
[4.9/5 Regression] std::uninitialized_copy tests assignability the wrong way, resulting in performance pessimization
-fsanitize=nonnull-attribute errors in stl_algobase.h
[UBSAN] stl_algobase.h:708:7: runtime error: null pointer passed as argument
[4.9 regression] Octave -O3 build: internal compiler error: in prepare_cmp_insn, at optabs.c:4237
[4.8 Regression] Vectorization fails because of CLOBBER statements
[4.8 Regression] Element swizzling produces invalid result with -O3
[4.8 Regression] inefficient FDO instrumentation code
[4.9 Regression] Incorrect calculation when assigning to array with -O3
[4.9 Regression] ICE: Segmentation fault with -g -flto
[4.8 Regression] wrong code at -O3 on x86_64-linux-gnu
Postreload CSE propagates aliased memory operand
Scheduler performs Invalid move of aliased memory reference
Gcc on Alpha: Error: No lda !gpdisp!282 was found
avx512fintrin.h:5344:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:3494
ICE: in extract_insn, at recog.c:2341 (unrecognizable insn) with -mmemcpy-strategy=rep_8byte👎noalign -m32 -mtune=btver2
gnatmake doesn't report the options it actually provides to ranlib
[4.8 Regression] Const overloads resolution failure
[4.9/5 Regression] powerpc fp-bit ices at dwf_regno
Merging function DECLs discards leaf attribute which causes cfg verifier to fail
[4.9/5 Regression] Erroneous warning about taking address of register with std=c++1y
[4.9/5 Regression] ICE: verify_flow_info failed: control flow in the middle of basic block with -fprofile-generate
Missing intrinsic functions in avx512intrin.h
[4.9 Regression] array subscript is above array bounds [-Werror=array-bounds]
ICE when non-variadic template template parameter is default argument of variadic template template parameter
[4.9 Regression] Constexpr variables can trigger spurious compiler warnings
ASan reported heap-buffer-overflow in gcc.target/i386/avx256-unaligned-load{store}-7.c
ICE in GCC powerpc64le top of trunk with -mupper-regs-df
[X86_64] With -mcmodel=medium .lrodata accesses do not use 64-bit addresses
[4.9 Regression] internal compiler error: in asan_expand_check_ifn (with -fsanitize=address)
[4.9/5 Regression] [SH] Miscompilation of boolean negation on SH4 using -O2
conflicting definitions in parallel/algo.h and algorithmfwd.h
ICE: SIGSEGV in decide_alg() with -mmemset-strategy=libcall👎align -minline-all-stringops
[4.9 Regression] bootstrap error: segv in c parser
ICE: in decide_alg, at config/i386/i386.c:24510 with -mmemcpy-strategy=libcall👎align -minline-stringops-dynamically
shared_mutex compile errors on bare-metal targets
missed warning for unused variable.
ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep
[4.9/5 Regression] Undefined .L* symbol starting with jump2 on s390x
New overloads of std::is_permutation dereference past-the-end iterator
std::experimental::bad_optional_access is not default constructible
[4.9 Regression] ICE in symtab_remove_unreachable_nodes, at ipa.c:547 on arm-linux-gnueabihf
[4.8/4.9/5 Regression] ICE with {} initialized array with string
array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan
Missing "using namespace literals::chrono_literals" in std::chrono
arm*-linux* "link" spec passes '-dynamic-linker' even for '-shared'
[4.9 Regression] ICE: definition in block 4 does not dominate use in block 2 with -fnon-call-exceptions -fsanitize=enum
False positive in array bound check in a for loop
[4.9 Regression] ICE (in add_stores, at var-tracking.c:6000) on arm-linux-gnueabihf
[4.9/5/6 Regression] missing DW_AT_abstract_origin for cross-unit call sites
[4.9/5 Regression] overriding final function defined out of line does not lead to an error
[4.8/4.9 Regression] ICE in avr-gcc when passing struct member to varargs function
avr_adjust_insn_length uses recog_memoized on invalid insn
[4.9/5 Regression] Memory leak with allocatable CLASS components
[4.9/5 Regression] Invalid memory reference in a compiler-generated finalizer for allocatable component
[4.9/5 Regression] NAMELIST bug with f2003: reads too far
[4.8 Regression] ICE on cyclically dependent polymorphic types
[4.9/5 Regression] [OOP] ICE on valid with finalizable array components
[4.9/5 Regression] ICE in gfc_conv_descriptor_data_get for generated finalizer
[4.9/5 Regression] -freorder-blocks-and-partition causes some failures on SH
[4.9/5 Regression] ICE(segfault) when passing coarrays around; ICE in gfc_zero_size_array in arith.c:1637
[SH][4.9 Regression] "insn does not satisfy its constraints" when compiling libmcrypt
2015-07-01 13:39:33 +00:00

183 lines
5.9 KiB
Makefile

# $NetBSD: Makefile,v 1.7 2015/07/01 13:39:33 wiz Exp $
GCC_PKGNAME= gcc49
.include "version.mk"
DISTNAME= gcc-${GCC49_DIST_VERSION}
PKGNAME= ${GCC_PKGNAME}-${GCC49_DIST_VERSION}
## When bumping the PKGREVISION of this package the PKGREVISION of
## lang/gcc49-libs needs to be bump to be at least 1 more than the
## PKGREVISION of this package!
#PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC49_DIST_VERSION}/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://gcc.gnu.org/
COMMENT= The GNU Compiler Collection (GCC) - 4.9 Release Series
LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
DISTFILES= ${DEFAULT_DISTFILES}
EXTRACT_ONLY= ${DEFAULT_DISTFILES}
NOT_FOR_PLATFORM= Interix-*-*
USE_LANGUAGES= c c++
USE_TOOLS+= gmake makeinfo sed:run
GNU_CONFIGURE= yes
## Build outside ${WRKSRC}
OBJDIR= ../build
CONFIGURE_DIRS= ${OBJDIR}
CONFIGURE_SCRIPT= ../${DISTNAME}/configure
GCC_SUBPREFIX= ${GCC_PKGNAME}
GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX}
GCC_TARGET_MACHINE?= ${MACHINE_GNU_PLATFORM}
GNU_CONFIGURE_PREFIX= ${GCC_PREFIX}
INFO_FILES= yes
UNLIMIT_RESOURCES+= datasize
UNLIMIT_RESOURCES+= stacksize
SUBST_CLASSES+= vars
SUBST_STAGE.vars= pre-configure
SUBST_FILES.vars= gcc/Makefile.in
SUBST_VARS.vars= GCC_TARGET_MACHINE
.include "../../mk/bsd.prefs.mk"
LANGS= c
# In some cases LINKER_RPATH_FLAG needs a trailing space.
LINKER_RPATH_FLAG:= ${LINKER_RPATH_FLAG:S/-rpath/& /}
## The Library rpath to use in end programs.
LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*}
# The "-static-libstdc++ -static-libgcc" flags are normally added to the
# boot-ldflags by configure but because we are supply the boot-ldflags
# we mash supply them.
BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET}
# Needed on Darwin when LDFLAGS point to a SDK
BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*}
## For target librarys and libjava programs.
CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q}
CONFIGURE_ARGS+= --enable-languages=${LANGS:Q}
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= --enable-long-long
CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q}
CONFIGURE_ARGS+= --enable-libssp
CONFIGURE_ARGS+= --enable-threads=posix
CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q}
.if ${OPSYS} == "NetBSD"
CONFIGURE_ARGS+= --with-gnu-ld --with-ld=/usr/bin/ld
CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/bin/as
MAKE_ENV+= ac_cv_func_clock_gettime=yes
MAKE_ENV+= ac_cv_func_gethostbyname_r=no
.endif
.if ${OPSYS} == "DragonFly"
CONFIGURE_ARGS+= --disable-bootstrap
.endif
.if ${OPSYS} == "Darwin"
# See ${WRKSRC}/libgcc/config/t-slibgcc-darwin: It uses strip(1) to
# create a stub library, not just to remove symbols, so we must not
# let strip(1) be a no-op regardless of ${INSTALL_UNSTRIPPED} or the
# build fails for missing files.
CONFIGURE_ARGS+= STRIP_FOR_TARGET=${TOOLS_PLATFORM.strip}
.endif
.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-*)
CONFIGURE_ARGS+= --with-dwarf2
CONFIGURE_ARGS+= --disable-libitm
.endif
.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-powerpc)
CONFIGURE_ARGS+= --disable-multilib
.endif
.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || !empty(MACHINE_PLATFORM:MLinux-*-i386)
CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486
.endif
.include "options.mk"
# ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
# a binary so we need to make sure we give it the installed sed and not
# the tool wrapped one.
MAKE_ENV+= ac_cv_path_SED=${TOOLS_SED}
MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED}
.if !empty(MACHINE_PLATFORM:MSunOS-5.1[123456789]-*)
# Causes multilib build problems with specific compiler combinations
MAKE_ENV+= gcc_cv_ld_as_needed=no
# Determine whether to use binutils
. if exists(/usr/sfw/bin/gobjdump)
CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump
. endif
. if exists(/usr/bin/ld)
CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/bin/ld
. else
CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld
. endif
. if exists(/usr/sfw/bin/gas)
CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas
. elif exists(/usr/ccs/bin/as)
CONFIGURE_ARGS+= --without-gnu-as --with-as=/usr/ccs/bin/as
. else
BUILDLINK_DEPMETHOD.binutils= full
. include "../../devel/binutils/buildlink3.mk"
CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas
. endif
.elif !empty(MACHINE_PLATFORM:MSunOS-5.10-*)
. if exists(/usr/sfw/bin/gobjdump)
CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump
. endif
BUILDLINK_API_DEPENDS.binutils+= binutils>=2.23
BUILDLINK_DEPMETHOD.binutils= full
. include "../../devel/binutils/buildlink3.mk"
CONFIGURE_ENV+= OBJCOPY=${PREFIX}/bin/gobjcopy
CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas
CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld
.endif
pre-configure:
${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
TEST_TARGET= -k check || ${TRUE}
pre-test:
${RUN} \
if runtest --version >/dev/null 2>/dev/null ; then \
: ; \
else \
${ECHO} "ERROR: Please install devel/dejagnu in order to run the test suite." ; \
exit 1 ; \
fi
post-test:
${RUN} cd ${WRKSRC} && cd ${OBJDIR} && \
${SHELL} ${WRKSRC}/contrib/test_summary >${WRKDIR}/test_summary.log
@${INFO_MSG} "Test summary are available in ${WRKDIR}/test_summary.log"
post-install:
${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || \
( cd ${DESTDIR}${GCC_PREFIX}/bin ; ${LN} -f gcc cc )
.if !empty(PKG_OPTIONS:Mgcc-java)
${RM} -f ${DESTDIR}${JAVA_HOME}/bin/javadoc
${RM} -f ${DESTDIR}${JAVA_HOME}/jre/lib/${JAVA_ARCH}/libjawt.so
.endif
.if !empty(MACHINE_PLATFORM:MSunOS-*-*86*) && ${OS_VERSION} != "5.11"
${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 || ${TRUE}
${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 || ${TRUE}
.endif
GENERATE_PLIST+= \
cd ${DESTDIR}${PREFIX} && \
${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print | ${SORT} ;
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"