lang/gcc45
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# $NetBSD: Makefile,v 1.18 2015/04/10 22:01:43 rodent Exp $
|
||||
# $NetBSD: Makefile,v 1.13 2013/05/31 12:41:11 wiz Exp $
|
||||
|
||||
DISTNAME= gcc-${GCC_VERSION}
|
||||
PKGNAME= gcc45-${GCC_VERSION}
|
||||
PKGREVISION= 7
|
||||
PKGREVISION= 5
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
@@ -13,7 +13,6 @@ COMMENT= GNU Compiler Collection 4.5
|
||||
LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
|
||||
|
||||
USE_TOOLS+= awk:run bash:run chmod gmake:run makeinfo sed:run
|
||||
GCC_REQD+= 4.4
|
||||
|
||||
GCC_VERSION= 4.5.3
|
||||
|
||||
@@ -66,12 +65,37 @@ REPLACE_BASH+= libstdc++-v3/scripts/run_doxygen
|
||||
|
||||
|
||||
CONFIGURE_ARGS+= --prefix=${GCC_PREFIX: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-languages=${LANGS:Q}
|
||||
.if ${OPSYS} == "NetBSD" && ${OS_VARIANT} == "Minix"
|
||||
CPPFLAGS+= -DNETBSD_NATIVE
|
||||
|
||||
MAKE_ENV+= gcc_cv_as_hidden=yes gcc_cv_ld_hidden=yes
|
||||
|
||||
CONFIGURE_ARGS+= --disable-libssp
|
||||
CONFIGURE_ARGS+= --disable-threads
|
||||
CONFIGURE_ARGS+= --disable-multilib
|
||||
CONFIGURE_ARGS+= --with-sysroot=/
|
||||
CONFIGURE_ARGS+= --with-as=${PREFIX}/gnu/bin/as
|
||||
CONFIGURE_ARGS+= --with-system-zlib
|
||||
CONFIGURE_ARGS+= --target=i586-elf32-minix
|
||||
|
||||
CONFIGURE_ARGS+= --with-arch=i586
|
||||
CONFIGURE_ARGS+= --with-tune=nocona
|
||||
|
||||
# BJG: Workaround for minix patch breaking on NUL inputs.
|
||||
USE_TOOLS+= gsed
|
||||
post-extract:
|
||||
.for f in libgomp/libgomp.info libjava/classpath/doc/cp-tools.info gcc/doc/gcj.info gcc/doc/gcc.info gcc/doc/gccinstall.info gcc/doc/cppinternals.info gcc/doc/gccint.info gcc/doc/cpp.info gcc/fortran/gfortran.info
|
||||
gsed -i.prev -s 's/^..\[index..\]$$/[index]/' ${WRKSRC}/${f}
|
||||
.endfor
|
||||
|
||||
.else
|
||||
CONFIGURE_ARGS+= --enable-libssp
|
||||
CONFIGURE_ARGS+= --enable-threads=posix
|
||||
.endif # ${OPSYS} == "NetBSD" && ${OS_VARIANT} == "Minix"
|
||||
.if ${OPSYS} == "NetBSD"
|
||||
.include "../../devel/binutils/buildlink3.mk"
|
||||
.include "../../devel/libelf/buildlink3.mk"
|
||||
@@ -82,21 +106,6 @@ MAKE_ENV+= ac_cv_func_clock_gettime=yes
|
||||
.if ${OPSYS} == "Linux"
|
||||
CONFIGURE_ARGS+= --disable-libquadmath --disable-libquadmath-support
|
||||
.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
|
||||
.endif
|
||||
|
||||
.if !empty(MACHINE_PLATFORM:MDarwin-[0-8].*-powerpc)
|
||||
CONFIGURE_ARGS+= --disable-multilib
|
||||
.endif
|
||||
|
||||
CONFIGURE_ENV+= CONFIG_SHELL=${CONFIG_SHELL}
|
||||
|
||||
@@ -130,6 +139,15 @@ pre-configure:
|
||||
|
||||
.if ${OPSYS} == "NetBSD"
|
||||
${CP} ${WRKSRC}/gcc/config/freebsd-stdint.h ${WRKSRC}/gcc/config/netbsd-stdint.h
|
||||
|
||||
.if ${OS_VARIANT} == "Minix"
|
||||
${CP} ${FILESDIR}/minix.h ${WRKSRC}/gcc/config/
|
||||
${CP} ${FILESDIR}/t-minix ${WRKSRC}/gcc/config/
|
||||
${CP} ${FILESDIR}/minix-spec.h ${WRKSRC}/gcc/config/
|
||||
${CP} ${FILESDIR}/arm-minix.h ${WRKSRC}/gcc/config/arm/minix.h
|
||||
${CP} ${FILESDIR}/i386-minix.h ${WRKSRC}/gcc/config/i386/minix.h
|
||||
${CP} ${FILESDIR}/gcov-minix-fs-wrapper.h ${WRKSRC}/gcc/
|
||||
.endif
|
||||
.endif
|
||||
|
||||
do-configure:
|
||||
@@ -146,8 +164,14 @@ do-test:
|
||||
(cd ${WRKDIR}/obj && ${GMAKE} -k check)
|
||||
|
||||
do-install:
|
||||
(cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install DESTDIR=${DESTDIR} \
|
||||
&& ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || ${LN} -f ${DESTDIR}${GCC_PREFIX}/bin/gcc ${DESTDIR}${GCC_PREFIX}/bin/cc)
|
||||
(cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install DESTDIR=${DESTDIR} )
|
||||
${MKDIR} -p ${DESTDIR}/${PREFIX}/bin
|
||||
.for f in g++ c++ gcov gccbug cpp gcc
|
||||
${LN} -sf i586-elf32-minix-${f} ${DESTDIR}/${GCC_PREFIX}/bin/${f}
|
||||
${LN} -sf ${GCC_PREFIX}/bin/i586-elf32-minix-${f} ${DESTDIR}/${PREFIX}/bin/${f}
|
||||
${LN} -sf ${GCC_PREFIX}/bin/i586-elf32-minix-${f} ${DESTDIR}/${PREFIX}/bin/i586-elf32-minix-${f}
|
||||
.endfor
|
||||
${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || ${LN} -f ${DESTDIR}${GCC_PREFIX}/bin/gcc ${DESTDIR}${GCC_PREFIX}/bin/cc
|
||||
|
||||
.if ${OPSYS} == "SunOS" && ${OS_VERSION} != "5.11" && !empty(MACHINE_ARCH:M*86*)
|
||||
post-install:
|
||||
@@ -156,7 +180,7 @@ post-install:
|
||||
.endif
|
||||
|
||||
GENERATE_PLIST+= \
|
||||
cd ${DESTDIR}${PREFIX} && ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print \
|
||||
cd ${DESTDIR}${PREFIX} && ${FIND} . \( -type f -o -type l \) -a ! -name 'crt*.o' -print \
|
||||
| ${SORT} ;
|
||||
|
||||
.include "../../mk/bsd.pkg.mk"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $NetBSD: buildlink3.mk,v 1.7 2014/09/06 08:20:29 jperkin Exp $
|
||||
# $NetBSD: buildlink3.mk,v 1.6 2013/04/06 11:06:52 rodent Exp $
|
||||
|
||||
BUILDLINK_TREE+= gcc45
|
||||
|
||||
@@ -11,7 +11,7 @@ FIND_PREFIX:= BUILDLINK_PREFIX.gcc45=gcc45
|
||||
_GCC45_SUBDIR= gcc45
|
||||
_GCC45_PREFIX= ${BUILDLINK_PREFIX.gcc45}/${_GCC45_SUBDIR}
|
||||
|
||||
BUILDLINK_API_DEPENDS.gcc45+= gcc45>=4.5
|
||||
BUILDLINK_API_DEPENDS.gcc45+= gcc45>=${_GCC_REQD}
|
||||
BUILDLINK_ABI_DEPENDS.gcc45+= gcc45>=4.5.0
|
||||
BUILDLINK_PKGSRCDIR.gcc45?= ../../lang/gcc45
|
||||
|
||||
|
||||
@@ -1,20 +1,433 @@
|
||||
$NetBSD: distinfo,v 1.11 2014/12/06 18:47:01 dholland Exp $
|
||||
$NetBSD: distinfo,v 1.8 2014/03/26 11:07:27 jperkin Exp $
|
||||
|
||||
SHA1 (gcc-4.5.3.tar.bz2) = 73c45dfda5eef6b124be53e56828b5925198cc1b
|
||||
RMD160 (gcc-4.5.3.tar.bz2) = d07aa90f2186b4e082dfd5ad5d5188c097fb6247
|
||||
Size (gcc-4.5.3.tar.bz2) = 66374586 bytes
|
||||
SHA1 (patch-aa) = b20d2e95229bddba42819780725ab159e14f06f0
|
||||
SHA1 (patch-ab) = 61bc2ebf150c6e471917e145d74e7795dc162194
|
||||
SHA1 (patch-ac) = 7da8c27d521164c1a7801dda8ca62d1057ac8d32
|
||||
SHA1 (patch-ad) = b72c93d8477a567363616717e20eef1b33e7d307
|
||||
SHA1 (patch-af) = 54fb9fb3438eb7c646b9d51b6b0cf3ded27d4989
|
||||
SHA1 (patch-ag) = b58f8b82fcf17c60eb2700bc54d6625ca45e542b
|
||||
SHA1 (patch-ah) = a963394b0434b82494b7510d4b2705f77acfb668
|
||||
SHA1 (patch-aj) = 1927ff77d1c51fe9e8927dba582c7d399545ae7b
|
||||
SHA1 (patch-ak) = 3d8a859ba436a4b204bb99f59cd5331d695aa811
|
||||
SHA1 (patch-gcc_doc_cppopts.texi) = fba9b651bdef12f9034e75cb43533b50c2c94540
|
||||
SHA1 (patch-gcc_doc_generic.texi) = b255fb30f889a415318a29c50ac0510ccece0bc4
|
||||
SHA1 (patch-gcc_doc_invoke.texi) = 7418eddc7e4d39fab3da1922ff86965240661fb4
|
||||
SHA1 (patch-libgcc_config_t-slibgcc-darwin) = 2ddda2dd979f27c623e47db70c5abb3befdb68c9
|
||||
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = e328bc56bbb9c3e0a76c8d98a7c0a7b8b8eda22e
|
||||
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = 38dd700202d741de1eeee01c44eee6e2e363b9c5
|
||||
SHA1 (patch-ChangeLog) = d622f0231843d2aa16c576087eb44a53b39c50c9
|
||||
SHA1 (patch-INSTALL_configure.html) = 8364340699d8b6982948c2c2ff307dcd9937c859
|
||||
SHA1 (patch-LAST__UPDATED) = 8daa821d1d697b7b0ae962a51e84af8ee88db933
|
||||
SHA1 (patch-MD5SUMS) = 0fcf74375e331e9b5004db6db1634ee2a0a58cd8
|
||||
SHA1 (patch-Makefile.def) = 5414ce33a3828b39223a8fb947e167d78e9ed129
|
||||
SHA1 (patch-Makefile.in) = f86407c1730982634816a24cb9a9e1734b21793e
|
||||
SHA1 (patch-NEWS) = 00df61252f604487bf27d79e2c01eecce8953b5f
|
||||
SHA1 (patch-config.guess) = 2b5046e6b1691e81f846523d32c3f9bed335a8f8
|
||||
SHA1 (patch-config.sub) = 535d6136de8ed620f47015031284d084bb19bc36
|
||||
SHA1 (patch-config_ChangeLog) = 0d373f6931aaab9cb68d8cd7c8834ff8c3699a26
|
||||
SHA1 (patch-config_acx.m4) = fe1a075bedf90eda9dd320912d47af4385963022
|
||||
SHA1 (patch-config_mh-x86-darwin) = 540c575be0867f64bbb2b09f21aeb9c8115fcdc7
|
||||
SHA1 (patch-configure) = 7e92bb721b8f2609951c7c82f9ec287f86b65625
|
||||
SHA1 (patch-configure.ac) = 0ebab2b51e5d1954fa2a3ee0abb5d735f91dcfe7
|
||||
SHA1 (patch-contrib_ChangeLog) = b1e999b6f8693250e9c963bb92cddcc2e43d0db0
|
||||
SHA1 (patch-contrib_reghunt_ChangeLog) = 27a2674cb080bc7f2c114211f6dd426831fb7eed
|
||||
SHA1 (patch-contrib_regression_ChangeLog) = 75a2333efe1edf928979bc613b6172df4ff82afb
|
||||
SHA1 (patch-fixincludes_ChangeLog) = 833ded2816424b0d7b400f2a03694a8fd89f2ac8
|
||||
SHA1 (patch-gcc_BASE-VER) = 170b504b1462e288a09a6998293b66ceb00079e4
|
||||
SHA1 (patch-gcc_ChangeLog) = eb071520d0936c96db2a7dcd6e067731933898c7
|
||||
SHA1 (patch-gcc_DATESTAMP) = 6d1ec3f06df8a85c5da6548a027dfdaf96f67364
|
||||
SHA1 (patch-gcc_Makefile.in) = cae6f8389a87ed025ae35b978ce61fc242eda7bc
|
||||
SHA1 (patch-gcc_builtins.c) = a8a95735e4349eb6bf25627fffa0d78596a308f8
|
||||
SHA1 (patch-gcc_c-common.c) = 9c445ab1e40a263c80b333b1fba1d4ba496572c4
|
||||
SHA1 (patch-gcc_c-decl.c) = 1e335e1986481bf3493657348ae1bddac1f2cba1
|
||||
SHA1 (patch-gcc_c-lex.c) = 691b1c776532f145b6308ccfa523b6dc56b8fa94
|
||||
SHA1 (patch-gcc_c-opts.c) = da1d5a61c514da5b7a8fa65145ef5363a84fc405
|
||||
SHA1 (patch-gcc_c-typeck.c) = 33c322df5e46fee3af3a888ec3b2c7789dc209e7
|
||||
SHA1 (patch-gcc_c.opt) = 8b1150bca18ab39a96991ff164d910bc8666f356
|
||||
SHA1 (patch-gcc_caller-save.c) = 152343f4a5e5ef21fd3918174b16106680f82cbf
|
||||
SHA1 (patch-gcc_cfgexpand.c) = 8819e6622569dbfcd39efac5d6f3ec45e57ea796
|
||||
SHA1 (patch-gcc_cfgrtl.c) = 4d7706dcd255405069211693a54e7915558ee614
|
||||
SHA1 (patch-gcc_combine.c) = 5bddbc1f41052337306c2634ae79a9fea0da40b9
|
||||
SHA1 (patch-gcc_config.gcc) = c0ca75b48ccc5a6cebcf814e82641c88b8b9ab76
|
||||
SHA1 (patch-gcc_config_alpha_alpha.c) = 9fcfb4e1f993e37e9f40abf41bc288472f908579
|
||||
SHA1 (patch-gcc_config_alpha_elf.h) = 04afd60eb34320b9a2148facc3c74d54f40a1062
|
||||
SHA1 (patch-gcc_config_alpha_linux-unwind.h) = f616e3cf096fd9fbb09d9bb45bf2544216185a8c
|
||||
SHA1 (patch-gcc_config_arm_arm-cores.def) = 46e994e2de516eff3f21a7a5c38669c21c5a829a
|
||||
SHA1 (patch-gcc_config_arm_arm.c) = 6fcaf2cfc510d6ada0539e62ca44998043a3c32c
|
||||
SHA1 (patch-gcc_config_arm_arm.h) = af065a0831bc70917a39195c5999664ed85b919b
|
||||
SHA1 (patch-gcc_config_arm_arm.md) = 9fd644c21d371ed6b48625a2185ae0eed7e12216
|
||||
SHA1 (patch-gcc_config_arm_bpabi-netbsd.c) = 75591ca45937aa538ad1cdebea0008f5bbd7ef14
|
||||
SHA1 (patch-gcc_config_arm_bpabi.h) = 8bfc795506364eff45c0437a88aba0e8d9ccf934
|
||||
SHA1 (patch-gcc_config_arm_elf.h) = 3f350fe20657343085e2fd88f9fb55dc72a03e4c
|
||||
SHA1 (patch-gcc_config_arm_neon.md) = 14fac78792f66cd011f0fa1c876b97723647d476
|
||||
SHA1 (patch-gcc_config_arm_netbsd-eabi.h) = d5b4e9b08a90f242e93d30b913f60143f041d85b
|
||||
SHA1 (patch-gcc_config_arm_netbsd-elf.h) = bf1ff22d780a550c330f32be23e110d316aef228
|
||||
SHA1 (patch-gcc_config_arm_t-arm) = 8cd5fb8b6862ae715d7fe08d4302475be57524a1
|
||||
SHA1 (patch-gcc_config_arm_t-netbsd) = b87847d613243f01d9220f3682092988007cbd01
|
||||
SHA1 (patch-gcc_config_arm_t-netbsd-eabi) = 01f4f16cf0f059aff4da5b0d30728183fb5878a9
|
||||
SHA1 (patch-gcc_config_arm_thumb2.md) = e4d068e273279776d0e6b38f3fa8aea4bc7ac9f0
|
||||
SHA1 (patch-gcc_config_avr_avr-stdint.h) = 19401e7a9d33577b3fc4c694ac01352c5072f067
|
||||
SHA1 (patch-gcc_config_avr_avr.c) = b403d232b4a6240191a111b0bebfa2ab7368998a
|
||||
SHA1 (patch-gcc_config_avr_libgcc.S) = f6c3547d29cbff835c78df44deebfe34b421dc0a
|
||||
SHA1 (patch-gcc_config_bfin_linux-unwind.h) = 5766e6745f50c0ad912886e0d42e09d91254d373
|
||||
SHA1 (patch-gcc_config_darwin-protos.h) = 80461a44f952733e0e2a7b340d2a5fd1cee8625c
|
||||
SHA1 (patch-gcc_config_darwin.c) = 53c3906cfb9aef0dd70de70e29c64b58af6fc9f0
|
||||
SHA1 (patch-gcc_config_freebsd-spec.h) = 8d0c56d129d708675a2a78bdc9aa0ae0e19a7be9
|
||||
SHA1 (patch-gcc_config_i386_athlon.md) = 04e8b68b1718554fc136e8f8fcd620e6d3af3d68
|
||||
SHA1 (patch-gcc_config_i386_avxintrin.h) = f197b50f151dd87a62b0d1b266ddf0df298349f5
|
||||
SHA1 (patch-gcc_config_i386_constraints.md) = 45882b236c2c8f536dccc18f8dc04a9f50ea5183
|
||||
SHA1 (patch-gcc_config_i386_darwin.h) = be39a2217df86fe585cdb5e7f0ac1889556331b4
|
||||
SHA1 (patch-gcc_config_i386_driver-i386.c) = 07240f0d8f1f3efff7f2b2f8e6e66dae2512aa07
|
||||
SHA1 (patch-gcc_config_i386_i386-protos.h) = 3bf123a4f831aafe4e33d1a6caa7820091b03419
|
||||
SHA1 (patch-gcc_config_i386_i386.c) = 273b676db37a382afc7292d90f7b1782ee0ebda5
|
||||
SHA1 (patch-gcc_config_i386_i386.h) = 292586a940379035c14d0ab443b183aa8b9d673a
|
||||
SHA1 (patch-gcc_config_i386_i386.md) = 05303cc2d596b9a175dd7e6b637c5300bff1b384
|
||||
SHA1 (patch-gcc_config_i386_linux-unwind.h) = e4aa5ddbfa08239c24a038cdcc3267bfa638eecb
|
||||
SHA1 (patch-gcc_config_i386_mmx.md) = bccf4c87349ed0f13fe1d3e5f53fd2149d80ce44
|
||||
SHA1 (patch-gcc_config_i386_netbsd-elf.h) = ae31ac8cc54d3d2db7d2b5262090301ac6ebdb06
|
||||
SHA1 (patch-gcc_config_i386_netbsd64.h) = 26e0c3a905de1310ef0e97709e059135361adf31
|
||||
SHA1 (patch-gcc_config_i386_sse.md) = 74b75ed3a3e7ccbbeb078af08d8bba424d6dbeaf
|
||||
SHA1 (patch-gcc_config_i386_t-netbsd64) = 2a002275a83f63375f7d2ae027888470f2f63891
|
||||
SHA1 (patch-gcc_config_i386_winnt-cxx.c) = a01f294a1e8671212bc5616a9f639726edb6eb5d
|
||||
SHA1 (patch-gcc_config_ia64_fde-glibc.c) = b3890e513304a988d95899d6eaf20f6d378d996b
|
||||
SHA1 (patch-gcc_config_ia64_linux-unwind.h) = 8f0b264914e5f03a90f59f92d5241329e1ab27de
|
||||
SHA1 (patch-gcc_config_ia64_netbsd.h) = aca0e3549e540bfd3ab100eb3ace987f5e87aefc
|
||||
SHA1 (patch-gcc_config_lm32_t-lm32) = 20ce66266818a9ff474dd9dc40a4975e2f5fe2c5
|
||||
SHA1 (patch-gcc_config_m68k_constraints.md) = 16d02f2d9380b58e878c6b0e6aa93dfcad585dcf
|
||||
SHA1 (patch-gcc_config_m68k_fpgnulib.c) = eca24b05d4b5c608f1b682493203a279c2278db2
|
||||
SHA1 (patch-gcc_config_m68k_lb1sf68.asm) = 1e1a6df6f2b8e01e5952ad31902d422e6c6b6633
|
||||
SHA1 (patch-gcc_config_m68k_m68k.md) = c224b7b7b1a91b6c70737678856a35a96e5bfdd5
|
||||
SHA1 (patch-gcc_config_m68k_netbsd-elf.h) = 6ed0abb8e8699373ea865fc2914ad4e89d7794cf
|
||||
SHA1 (patch-gcc_config_m68k_t-m68010-netbsd) = 6a9b3d03d41b8bbcec12ec219280c327785382c7
|
||||
SHA1 (patch-gcc_config_mips_linux-unwind.h) = 52b75d1723d013795f57f78d8ca4215a48b9fabd
|
||||
SHA1 (patch-gcc_config_mips_mips.c) = f593f6442c0f9e45ad989ae296d09775d4adae56
|
||||
SHA1 (patch-gcc_config_mips_mips.md) = af14e6e93c9bc5d4de7626127fe319eacdd1c4b3
|
||||
SHA1 (patch-gcc_config_mips_netbsd.h) = 38db596abd34c3627dae66d48800d68aaa327ce4
|
||||
SHA1 (patch-gcc_config_mips_netbsd64.h) = dc20e8c6be66872661dae3e953d77d87f27524e2
|
||||
SHA1 (patch-gcc_config_mips_t-netbsd64) = d60639d5aa3864fc004a141698cccd391371ecd2
|
||||
SHA1 (patch-gcc_config_netbsd-elf.h) = d221928981b0e0605bad162dad9048b2d701e4f5
|
||||
SHA1 (patch-gcc_config_netbsd.h) = efb6cef0c445ad47eefd16d288860d89f7e7ebd3
|
||||
SHA1 (patch-gcc_config_pa_linux-unwind.h) = ec360e35c5fe63cdbd83fb894b2f99a3da3f9ba3
|
||||
SHA1 (patch-gcc_config_pa_milli64.S) = f5dc19ca378ef21ec5093f12bfaed419035d223e
|
||||
SHA1 (patch-gcc_config_pa_pa-netbsd.h) = 9c99102509aeb7be2e1d5ad1304a494fd5a6f7a8
|
||||
SHA1 (patch-gcc_config_pa_pa-protos.h) = f82bf6debd60ff16bb39cf98aeee2ae36345192a
|
||||
SHA1 (patch-gcc_config_pa_pa.c) = 92b08811bee84c54c9a2e5bb7571d89a4e310ad1
|
||||
SHA1 (patch-gcc_config_pa_pa.h) = 4eb66e5e49c6c4687152c982cbf535e5f35537ca
|
||||
SHA1 (patch-gcc_config_pa_pa.md) = 1e8ed0373acee0193fc30fe5047f6d631eb46478
|
||||
SHA1 (patch-gcc_config_pa_pa32-netbsd.h) = 8c2e7387beb9c6cacbc882a0049c7b309dacdf0a
|
||||
SHA1 (patch-gcc_config_pa_predicates.md) = b62155767425db9b6b3def825a920e93fcd25650
|
||||
SHA1 (patch-gcc_config_pa_t-netbsd) = 4e387e6975dbd94845bdcef6a5b6ad3ff0349633
|
||||
SHA1 (patch-gcc_config_rs6000_altivec.md) = e2124cac3cadf8a15534de19f61919b7b72e54a7
|
||||
SHA1 (patch-gcc_config_rs6000_netbsd.h) = deee09c4f836ac8d4dac421faa37f17914871619
|
||||
SHA1 (patch-gcc_config_rs6000_netbsd64.h) = 45b0268a5dd23dc59e32a89e6d5a7c28aa94431d
|
||||
SHA1 (patch-gcc_config_rs6000_rs6000.c) = ec6f84469fdecfcfa33a4d885d4cfe1fa00c8cc8
|
||||
SHA1 (patch-gcc_config_rs6000_rs6000.h) = 1e5081dc3cac1bb3a674f9d5783d51fcf690dfd6
|
||||
SHA1 (patch-gcc_config_rs6000_rs6000.md) = 06fa6b53197ebdda94667487256e7afc56d40278
|
||||
SHA1 (patch-gcc_config_rs6000_sysv4.h) = 98bde4c13303a1aa7a636b1031057ef98909a0b9
|
||||
SHA1 (patch-gcc_config_rs6000_t-netbsd) = b63390c87745b64c0ff13817dfdf0883a5d57e5a
|
||||
SHA1 (patch-gcc_config_rs6000_t-netbsd64) = 5055b170c963ec9720f7d939bd66b30b93107d99
|
||||
SHA1 (patch-gcc_config_rs6000_vector.md) = cca45306af17985a740b6c9871e59d46f689663f
|
||||
SHA1 (patch-gcc_config_rs6000_vsx.md) = 1876423ee6501ade195c67baec9aad205ddf0fa0
|
||||
SHA1 (patch-gcc_config_rx_rx.c) = 7969fc037358fd95fac006ac9831bee10270ce73
|
||||
SHA1 (patch-gcc_config_rx_rx.h) = 11056293364a2009bf9d67ea6d46e4e8150da439
|
||||
SHA1 (patch-gcc_config_rx_rx.md) = 87570c83a88542833902a26f0186e3fc39bbc335
|
||||
SHA1 (patch-gcc_config_sh_linux-unwind.h) = a19d10c649bea425dd347c633472386ceaf76c7b
|
||||
SHA1 (patch-gcc_config_sh_sh.c) = 2818b9eca941c2c1f45b1f4bdec999b355144e40
|
||||
SHA1 (patch-gcc_config_sh_sh.md) = 33dcf6e09cfcf01a1ef4d5a14a9bb1dd4940172f
|
||||
SHA1 (patch-gcc_config_sh_t-netbsd) = 139290741b5bbf41ae5559613f553d3956e011d9
|
||||
SHA1 (patch-gcc_config_sparc_netbsd-elf.h) = 698719d85164648b5f50c67c8454699cf15bcb11
|
||||
SHA1 (patch-gcc_config_sparc_sol2-64.h) = 7561b91f49a1d17e31f3fb4bb372ab5fc088fa4f
|
||||
SHA1 (patch-gcc_config_sparc_sol2-unwind.h) = 55a53fff4b8a1deea095d214f41eccb19968939a
|
||||
SHA1 (patch-gcc_config_sparc_sol2.h) = de92e717117788e687545bf2f14f722af7a85564
|
||||
SHA1 (patch-gcc_config_sparc_sparc-protos.h) = 3ac5b635a145eb977748be4f68bbd451f88e35b7
|
||||
SHA1 (patch-gcc_config_sparc_sparc.c) = 9f155b9a7d1ad2cb4336eb66bd6f4c0a7d57249e
|
||||
SHA1 (patch-gcc_config_sparc_sparc.h) = 4d20eef1528787c15c752a561df6cae8dc7dd54f
|
||||
SHA1 (patch-gcc_config_sparc_sparc.md) = 0cf420977a67e363647dd170b493f4a5bdb45306
|
||||
SHA1 (patch-gcc_config_sparc_t-netbsd64) = 4a6a35c658ff0b7a2ccef70325fe70c8831cf1de
|
||||
SHA1 (patch-gcc_config_t-minix) = 40765debc854309846bf74c6bef4f509106e65f1
|
||||
SHA1 (patch-gcc_config_t-netbsd) = 9cb716951f8f4694b4743008022aa0cf288ee2e9
|
||||
SHA1 (patch-gcc_config_vax_builtins.md) = 621e1fefb610e41f379d9bb5e5d64fc8503235f6
|
||||
SHA1 (patch-gcc_config_vax_constraints.md) = 86a3199d37802be6d4af83da96ef3f58150f2d24
|
||||
SHA1 (patch-gcc_config_vax_elf.h) = e839b143e473697c7a29f57f0cbfdb14b4d85623
|
||||
SHA1 (patch-gcc_config_vax_vax.c) = cfb52a2696f8f590c397062804c32a137fd04f32
|
||||
SHA1 (patch-gcc_config_vax_vax.md) = d88640032f283ae3b73498d03aaafed5b0b2cb29
|
||||
SHA1 (patch-gcc_config_xtensa_linux-unwind.h) = a23613abefdded7a42f8478cbe55e77158807fe7
|
||||
SHA1 (patch-gcc_configure) = c7fbcf516f97e15985a4b1f0b9d4171f2224301e
|
||||
SHA1 (patch-gcc_configure.ac) = 0e7b894c3364676395f609688f624c8733c08b56
|
||||
SHA1 (patch-gcc_convert.c) = 7fc2be82e26dc8fa7d69f2379575b19c8a67a283
|
||||
SHA1 (patch-gcc_cp_ChangeLog) = 465eab23f81a5df16edf32281048b4b05d9b5e83
|
||||
SHA1 (patch-gcc_cp_Make-lang.in) = 996df37ffdbdc9fa1b82138f0270002d95554f2f
|
||||
SHA1 (patch-gcc_cp_class.c) = 28cb2c714afc74e0e06c932275c605f5755562d1
|
||||
SHA1 (patch-gcc_cp_decl.c) = 397c72cf93ee8060b478c0f6f9d880f81589ea6e
|
||||
SHA1 (patch-gcc_cp_decl2.c) = a4e32c19673d87bdbdb523302a82678c1c5a88ca
|
||||
SHA1 (patch-gcc_cp_init.c) = b872bff683777480a260ab90c7cd2ca77c65a64d
|
||||
SHA1 (patch-gcc_cp_mangle.c) = 0c25d23fbfea5287d7b8d76d64397da21f0f9065
|
||||
SHA1 (patch-gcc_cp_method.c) = 4c05ab18c5eba7102aa463e5daf04a813f2e2e61
|
||||
SHA1 (patch-gcc_cp_parser.c) = 650ca0fe514f0eadb6b6af463bcdea5bb9889ded
|
||||
SHA1 (patch-gcc_cp_tree.c) = 3070a8ef20b23f81eb9b2e4b897e750bc02aae1a
|
||||
SHA1 (patch-gcc_cp_typeck.c) = e8236b3dc576220c9df6d360b406093f5c62f0fd
|
||||
SHA1 (patch-gcc_crtstuff.c) = e830707a1c6bc26270c5504ef24940cc9d63188a
|
||||
SHA1 (patch-gcc_df-problems.c) = 0428f0c22fd9e035d4ce587646bb9ad4178887da
|
||||
SHA1 (patch-gcc_df.h) = a72ab98b225475d4f7d0a8cf4660a42787fd40b6
|
||||
SHA1 (patch-gcc_doc_aot-compile.1) = 87f0a8a12efa68f5448118a57d3c8193294420e6
|
||||
SHA1 (patch-gcc_doc_cpp.1) = 9ab9dd4dae2655eb8365ab1a8156c888eab4291f
|
||||
SHA1 (patch-gcc_doc_cpp.info) = 2fe2927aff551f84550e10da337db0c05de68ae9
|
||||
SHA1 (patch-gcc_doc_cpp.texi) = 7ee0b8f29950f4c70de9d8be550301d8e7296fa3
|
||||
SHA1 (patch-gcc_doc_cppenv.texi) = c01cbeffd4a4160dd01f7d695d503a407f01e7c6
|
||||
SHA1 (patch-gcc_doc_cppopts.texi) = 79bb79aac955cfcd9a8f737b0129892b643c2511
|
||||
SHA1 (patch-gcc_doc_fsf-funding.7) = 8b2bf6933982a86d1ebacf745b2885f149fef4b3
|
||||
SHA1 (patch-gcc_doc_g++.1) = 28da050ac624e5ac0cc32c6f29040871dc40eaed
|
||||
SHA1 (patch-gcc_doc_gc-analyze.1) = d9c78dcfa5ffaa866aa565c5b78afff639906942
|
||||
SHA1 (patch-gcc_doc_gcc.1) = 3cc0d4a6ff8ad20ab5d4ca9b3f09d91b84b63ca7
|
||||
SHA1 (patch-gcc_doc_gcc.info) = a3de2570f49e03fb87cb906e6772b49e63147f3a
|
||||
SHA1 (patch-gcc_doc_gccinstall.info) = 5f5925bf2782fe1130e8c309a318022f86ee319a
|
||||
SHA1 (patch-gcc_doc_gccint.info) = 23e12265b136f33bc14292161c015d77cf6528fc
|
||||
SHA1 (patch-gcc_doc_gcj-dbtool.1) = 6c73f5af09f45cbdeee9f79d532e105ac897a31a
|
||||
SHA1 (patch-gcc_doc_gcj.1) = 9ab8f874e4432e2939851a022b32f0d7b4d973e7
|
||||
SHA1 (patch-gcc_doc_gcj.info) = 4fbf44e9a48e0eb4a929e62240b391c40314cbd8
|
||||
SHA1 (patch-gcc_doc_gcov.1) = 9f84f97b28d38d46c88e9af83f078997873107c3
|
||||
SHA1 (patch-gcc_doc_gcov.texi) = 569ecfd1074e7d55d228e58da844f53b6d92cf85
|
||||
SHA1 (patch-gcc_doc_gfdl.7) = 8bc486693aa383c03e01ba9884fe14e4bcd9c8f5
|
||||
SHA1 (patch-gcc_doc_gfortran.1) = d6374af3458f9d47704a73dc89063761ce824e82
|
||||
SHA1 (patch-gcc_doc_gij.1) = cdd54d251468f3af5854ca7f9ed10a4ef2010f84
|
||||
SHA1 (patch-gcc_doc_gpl.7) = 26902cc2f1ac2cfc19e8d03dc4ff5e3d8d86ca4e
|
||||
SHA1 (patch-gcc_doc_grmic.1) = 8b73264f2edb25c9d0ee292318778d80a03292f8
|
||||
SHA1 (patch-gcc_doc_install.texi) = eb242ab314223533d906a194e9a102baf3f01a18
|
||||
SHA1 (patch-gcc_doc_invoke.texi) = 75fb6157449a78c6ef418c4e2737c63aea1c2c31
|
||||
SHA1 (patch-gcc_doc_jcf-dump.1) = 7a5a2996f6e9ffa7eb5ed6cb82d33ad9be1dd3ca
|
||||
SHA1 (patch-gcc_doc_jv-convert.1) = ab6273731a845221793a45f52dccf1899844ff3c
|
||||
SHA1 (patch-gcc_doc_md.texi) = 550e44e46af625701d0e9a2243d54ddf8b52cb50
|
||||
SHA1 (patch-gcc_doc_rebuild-gcj-db.1) = 3c3a47e80d4dda0c6abf064bc1acb6348a914f49
|
||||
SHA1 (patch-gcc_dojump.c) = bfef54fe05e453c2d5c733de935e9adefd010c33
|
||||
SHA1 (patch-gcc_dwarf2out.c) = 17a7469f1e9e98c2f07338a137e005d3b9236aef
|
||||
SHA1 (patch-gcc_expr.c) = 672e5023d489bf0fb9b0bcb8622fdd4be1113af3
|
||||
SHA1 (patch-gcc_expr.h) = a0eeacaaff9425a9d834abeaeee341f1f2f312ee
|
||||
SHA1 (patch-gcc_final.c) = cf7492a869f5626014b84779e2b9a1791afd0dd1
|
||||
SHA1 (patch-gcc_fold-const.c) = b9abbe554f9aad91f2057749e66745fa8abf0ab3
|
||||
SHA1 (patch-gcc_function.c) = 9885996a87e81942aa9ebe0a02b6493d022407c1
|
||||
SHA1 (patch-gcc_fwprop.c) = f8f5253f262b52f954ae8619034ce2dbfb989770
|
||||
SHA1 (patch-gcc_gcc.c) = 2922632460185ed4e9be36e3a697447b253c9c1c
|
||||
SHA1 (patch-gcc_gcc.h) = 7a14473cec164b5ec953bc6e376cbd86643ba80e
|
||||
SHA1 (patch-gcc_gcov-iov.c) = e92b332a4f9853256420844336850acb0ce2a7a9
|
||||
SHA1 (patch-gcc_gcov.c) = 917b8a352881a7280ccfd795e8f81a1678e837bb
|
||||
SHA1 (patch-gcc_genemit.c) = 03c197f0ba53b68ec0bc5002936a97f0d1a72e8b
|
||||
SHA1 (patch-gcc_gengtype-lex.c) = 47803de01e16aa8391e0b33cb4deb676a51d0e78
|
||||
SHA1 (patch-gcc_genmultilib) = 8ba4c03be6f91063c6507ff688f803d860471033
|
||||
SHA1 (patch-gcc_genrecog.c) = 296af75c3a7b0b91855f2b5abd029986cdf34192
|
||||
SHA1 (patch-gcc_gimplify.c) = 32ffb26c5ac8cb1b1423b3f61e3870b0ffae2795
|
||||
SHA1 (patch-gcc_ginclude_stddef.h) = 3504b1d765cacabaacff05cd1294b7d9a0b0ae49
|
||||
SHA1 (patch-gcc_hwint.h) = 74aa3c5753cacce0c63c33b6ea4e1bbaca07620c
|
||||
SHA1 (patch-gcc_ifcvt.c) = 09da3948b3750e230a4318ce6ff96e28b3123669
|
||||
SHA1 (patch-gcc_ipa-prop.c) = ba41e00dae01cc51387cd71d1ce0df8edd906725
|
||||
SHA1 (patch-gcc_libgcc2.c) = d9f7aa89bbc235e0e41ea29055c431b8122b03b4
|
||||
SHA1 (patch-gcc_libgcov.c) = 3a57dbef67839d484a343f8563a2063b52de2fef
|
||||
SHA1 (patch-gcc_loop-doloop.c) = e8db788d7680eb1062778beae47b6de191a04bb4
|
||||
SHA1 (patch-gcc_lto-opts.c) = 098a9b06010db77e41b09e693c4cc19479645a6e
|
||||
SHA1 (patch-gcc_lto-section-in.c) = d2814ac224afc378cdc11897b57dc1f7fd19f932
|
||||
SHA1 (patch-gcc_lto-streamer-in.c) = 0db24a5d93e118c60358dca0ba7353bc70480052
|
||||
SHA1 (patch-gcc_lto-streamer-out.c) = c0654d0755e31ce981db5c9a0aa32e9871113a32
|
||||
SHA1 (patch-gcc_lto_ChangeLog) = d665eeff7daae814afc111f5006a96297c5f8785
|
||||
SHA1 (patch-gcc_lto_lto.c) = 475d2c9d4c291be8578c045c51dcf983408b2b1b
|
||||
SHA1 (patch-gcc_lto_lto.h) = b771af4d88772ea24885d98acf40cb6f96734f32
|
||||
SHA1 (patch-gcc_objc_ChangeLog) = d216369a64195e7da1242f52e45dcd910554a9b6
|
||||
SHA1 (patch-gcc_objcp_ChangeLog) = 46927baddb7e4ae3fb5e60212e2f6435750ba286
|
||||
SHA1 (patch-gcc_output.h) = 82542228b511f069bc54b6000c4ef4b5fd98c252
|
||||
SHA1 (patch-gcc_po_ChangeLog) = 976ee6b620b7b6d94a97e237b4b6d45c34f1773a
|
||||
SHA1 (patch-gcc_profile.c) = 70f257b784694d5a423687193b58ab9d48c2f749
|
||||
SHA1 (patch-gcc_real.c) = 424b098f9a16c82531bcf5fa6829043f330f3bd4
|
||||
SHA1 (patch-gcc_recog.c) = 24799604585c8de7e3448cfc7a99182e12de721b
|
||||
SHA1 (patch-gcc_regmove.c) = 46ee8498021a4dd91d2ed2aaf1147384f2f6c013
|
||||
SHA1 (patch-gcc_reload.c) = fbc1ce5163b3aaa78e307c35e96dfc6fee073d5a
|
||||
SHA1 (patch-gcc_reload1.c) = d6d48734a6ee5f4959d3ae2d46c852f99dfd3b6c
|
||||
SHA1 (patch-gcc_reorg.c) = 0676c821b77eaa49b23bb784041867d542486450
|
||||
SHA1 (patch-gcc_stmt.c) = 4b1c22f7e05ad23bcf848fd65a18d643b64e177f
|
||||
SHA1 (patch-gcc_target-def.h) = bdd4f0efdb0b3d1c3d60676a086736d7cbea9196
|
||||
SHA1 (patch-gcc_targhooks.c) = 2a230ffb59008b92f2b0fe0e8ded1d4a446b824a
|
||||
SHA1 (patch-gcc_testsuite_ChangeLog) = 12eace922fed6131af56f15f8a6be4a0418f9c18
|
||||
SHA1 (patch-gcc_testsuite_c-c++-common_pr51768.c) = 4b74cfbb98431669eb958e4d4c0df097bcf1aca1
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_cpp0x_rv-cast3.C) = c3affd4d05d0ce903f8c904953dbd57c90aa7b9b
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_cpp0x_rv-cast4.C) = 37ba057d542ff3cc987832c8818c979533b2d151
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_debug_dwarf2_icf.C) = 06867ffb6d67b34e6fa620473b63ff9a4136caee
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_dfp_44473-1.C) = 94a775cb75e4d7b1ba7a06f8f5c163e228494bd3
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_dfp_44473-2.C) = 1342dbb97a4896388ecd9a59ee98c0721d4efad7
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_dfp_mangle-1.C) = b116ce05e0e1fc74db16910f6c30f2f52ebca298
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_dfp_mangle-2.C) = ca0f2bb94ec3b97862e6352ff1cebf4bcfbb56d2
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_dfp_mangle-3.C) = 65a2008d93d292c2f6e0e9e7adf018f48ff2f214
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_dfp_mangle-4.C) = 5dc057ce54d7e27332ffc1a31102006a3f93ddcf
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_dfp_mangle-5.C) = 69efc91b5643ff0f5751d4f80d3f4fc39abb3d55
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_eh_cond5.C) = 3ea6bd4b3fa54925009663f9fa3923d945d30129
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_eh_cond6.C) = 668eeabbc1eb24e44324d8b96e6b3bd2feb53c5b
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_gcov_gcov-2.C) = 32cc8a31718a10cc7806d044c81f833264caf913
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_init_new30.C) = 6b7ebfa1efabab9009324a38f463227a9b454e38
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_init_new32.C) = 788780ae87e856cfbb8e0fad6fea233999f420bc
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_init_value9.C) = 8163f54b63ff12583e74464ae3cfcf4a9dcb1a61
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_init_vbase1.C) = 3fd05fad3c1a21ec3e7eb95ed4702e08b9f4eef5
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_ipa_pr51759.C) = 36ded617e28d164eda4e734bfedb8ac7070ddb72
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_other_pr49133.C) = 3912ff9a94c66cd9dfe80f95d0ecc9b5a358aa28
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_other_pr50464.C) = 1bf842133469ac6b5c834cdf93d7a5ca2492fba5
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_parse_ambig6.C) = 14590a1b90a03578c3541315a22dfc45daaeb740
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_pr48660.C) = d830f9254b20fa16461e57c4d32926d18a57c3c5
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_rtti_anon-ns1.C) = 4707600584304cf9614c088a21dba3f0b2d982cb
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_template_nontype23.C) = 4601355a703acd95a32f8fea1e7455779ec37acf
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_torture_pr47714.C) = 44ae702709d20f5f6d49262746299c7b777e0373
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_torture_pr49039.C) = d5d873ce9b9ff9968aa1f1493cc6f4c3cfea7375
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_torture_pr49115.C) = 75218a34e3e00807f25d5bae13c5bf198d14c777
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_torture_pr49615.C) = 446bd73a0f69a79691eb9ba91090291ae4896c19
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_torture_pr49644.C) = e23636c8b0c0e262d2392971e7ff6a3606e61fd5
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_torture_pr50189.C) = ee6e16986279a6f6c769abc5da19b9cc2d90f4dd
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_torture_pr51344.C) = 7d9a61964db8612e597c309ee88c73fec04b8b48
|
||||
SHA1 (patch-gcc_testsuite_g++.dg_tree-ssa_pr49911.C) = 19dd6346be605f4c312c9a93f9ea166d6b2cacbb
|
||||
SHA1 (patch-gcc_testsuite_g++.old-deja_g++.oliva_ChangeLog) = a833b27a5e250726df95eb1cd1046ecf9a37334b
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_limits-externdecl.) = c84ff45bf0648438e75b40548c650bf3299b5dcb
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr38752.c) = a96e848389bde44a778708dd1bec90e643afa2a2
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr48742.c) = a8c4fe706d6ce2e4b39a989a45f95f0122e7bf1c
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr49238.c) = 819880f8980914fbb1d5d9cfc4e38f25e225c73d
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr50565-1.c) = 8d6ab3598ade1225757cf7c466a60eafa1feeaeb
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr50565-2.c) = 37a7a6b31c8528e7c9c3c01d3d64462df441401f
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr51767.c) = 359d6c824f35bdd859987db9331ff06870921010
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr53418-1.c) = c55813dda04a802731ac9dbeb0b3982b7af17870
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_compile_pr53418-2.c) = d6c37fa8f29bcfa9d043658ae5d310d0a9f01187
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_20120111-1.c) = 152eb9a47424e9ecabac174ea18b3638d0505ddf
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_20120427-1.c) = 0e0343d7eacbd34eefd079e64fc56761f5e7cafc
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_960321-1.x) = 3da270f52d50c00b7b31e03a4343f316e394a91e
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_doloop-1.c) = 81b4956bb485c330f34bb4c5817affa015732ea5
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_doloop-2.c) = 0931f11ec03aff7fd582c0294053d6f7056b51d7
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr48809.c) = b76eef4cf1b02c871f78199ed55135b30f71c8ed
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr48973-1.c) = 885268365fb9af9331d640e0fab706c8b01c8ab9
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr48973-2.c) = 1898671a2cf3115280d4f04730422c223fb26907
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr49039.c) = 2d9ce797a58332d0ea731d7bc67d1e55b152dfd9
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr49161.c) = acbfe6411d5e46d3ce71078762b3df3e763513e2
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr49186.c) = 8886dd14e0580a60806c51ef1d4609abd1de92c8
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr49279.c) = 63ffdda3cb200f306e70c9b293a5d8a50804e264
|
||||
SHA1 (patch-gcc_testsuite_gcc.c-torture_execute_pr49644.c) = f99bc6fc7380a0ce61db26159f4643ab58b7d3b5
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_cpp_#cmdlne-M-2.h) = 74ed4fffe00d4b972b5ae7b80b985ae41a3f0512
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_delay-slot-2.c) = 8bf4b5c4748e3acb517176a9904e8d167c4c4b8a
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_dfp_pr52140.c) = 262dee1503b18cb616f61cb1bb301c721193f490
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_gomp_pr49640.c) = c3c2cb537e4528811f27ba7ffbee2d6bfceccae3
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_ipa_pr45644.c) = 47d0426b9e38e7d89c5861a86fe85898d6a1be9b
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_noncompile_pr52290.c) = 6f53af47f49acd52a1f6ffb247f533401f11607e
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr48685.c) = fe2a7d3bcf944bf0357b49dc25b4715e457bcb91
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr48774.c) = 9a022d84b38a45cc16e1177f781736860bd177d7
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr48837.c) = e03bece3057f615a9f55b2f49c5d222713f9160a
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr49120.c) = c3699715aca10f5c15ea86da71db1aa9f22b70ef
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr49307.c) = 996d3b78252452e859f951941f04845bad1a9b41
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr49619.c) = 50c4b8c57da3fbb60c9c8a0e7cb2a2cb34c9fab5
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr51408.c) = b96aa2467757d534e1cecfc78d713caa23a3fa0e
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr51821.c) = 431c4c2e646c3061b9edc4b413b35287bc668e4e
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_pr52139.c) = ec34294eb20637f6ada316e996efe41ff3e87791
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_torture_pr48542.c) = ecb7b9dc0b95e47908535b53ed3d9534d509e118
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_torture_pr48822.c) = 983a831afa7cee0257544c0b13da53d4bdbb86d3
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_torture_pr49651.c) = 503924ba7576b7eeb67e4011c7c69c7ad9c0eb43
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_torture_pr51106-1.c) = 42576ddd130aad033197bdeae4878ea97d0c4bee
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_torture_pr51106-2.c) = d0e9856a1a43b48794b909fcd593686621c589ed
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_torture_pr52693.c) = 2c2b37f3628c0c25c84fa78c384df2dc98ce0a60
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_tree-prof_pr44777.c) = b8b4fdb3d461937e5b65e3f4718411fc9439a6de
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_tree-ssa_pr49039.c) = b680a0024f5c842fc9fd9a0487344acfea8d5a33
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_vect_pr48172.c) = 0765eeaf0e8baeb509d2dca353d8ca13f751ffeb
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_vect_pr49038.c) = 1bd6b3fb8334c000cbebb2a047a05da188b304c0
|
||||
SHA1 (patch-gcc_testsuite_gcc.dg_vect_vect-strided-u8-i8-gap4-unkn) = 4cfa861fabdcd8cb2ec06361791bb9a9d19bc45f
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_arm_neon-vset__lanes8.c) = 6e985f5b3501aee5c924c39515bb117aea3a2aa1
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_arm_pr48252.c) = a6a0a1f72f50a4a0f9fccd710ca8950c2bac18c0
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_arm_pr51835.c) = ceecbcf1879202fdb46730d6b589da1852c1b54d
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_aes-avx-check.h) = 158814855b6cf5f6fe1119a4932acb38347be152
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_avx-check.h) = c87d033c8646e1f9e0673a9b7ebc470577f720a9
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_avx-os-support.h) = 8d4acd81ccb2c3f3c756de0e8e4448a7a3d4fa6c
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_pclmul-avx-check.h) = b59c373252e5864e4f163ecf70f64920142b5911
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_pr47780.c) = cf536ca4e11a27ec3eebe6b02de631b1a4de7cef
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_pr48708.c) = 771b0a84cecc353b264aa2067ef27a11e6243379
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_pr49920.c) = 40ecfda1c24687d25911092b94a1f65a7dce598f
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_pr50788.c) = e55c8f24d7aaf0f5ea821820ffb768960fffe258
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_pr51393.c) = 2b61beb508e1792aae5a57329dc437c4926cfd2d
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_pr52330.c) = 5eb2c37cce4bf1dbf88b6c5e0e5129b040b59080
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_i386_sse2-init-v2di-2.c) = 2029d6d552ce6a7e0baccc5291de0066d512d4e5
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_mips_reg-var-1.c) = d30a40f6843b43ebe22d0f01305d043aafdc8c35
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_altivec-34.c) = c5384e96ccddf3760fd73c4601c91ef6eb2d8c9b
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-1.c) = 65235e4760381364082820b62a2cbb0b803c4957
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-2.c) = 147f47c0da87b76dde17f86f68985a43246a687c
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-3.c) = dd6071e4710972aaeb942056a8234290bcf5a4a0
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-4.c) = e4353785a18e969841a03ea882f11f1898185f3f
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-5.c) = 7204588fbd607cce80928cf0d4d934d8a48cd2b3
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-6.c) = 32bf6ef2127332a631a6d4aa540405110aae9dfb
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-7.c) = 68245d47c69ad9bf4225296b1e87c4bfbefc3276
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_cell__builtin-8.c) = 2635e11285ebbb4da74dba21cfa96a858b50dbc9
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_pr48857.c) = a8d11a5cb0ea952f881fe21cd75e347c11ed269d
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_powerpc_pr53199.c) = 55346671c04cb6d4dddbbeb2aaab4d80277e92c5
|
||||
SHA1 (patch-gcc_testsuite_gcc.target_sparc_cas64.c) = f05f1a835a4b013e5cbd8d57ee633ac4eb614370
|
||||
SHA1 (patch-gcc_testsuite_lib_target-supports.exp) = 310e2b506bb590668570c982e91ed069fca0c8e8
|
||||
SHA1 (patch-gcc_tree-cfg.c) = c0495977757bc9fd8ff4946da42a65d67262dce5
|
||||
SHA1 (patch-gcc_tree-cfgcleanup.c) = b442bdc68979adf160c6d4febb5b71bd82466271
|
||||
SHA1 (patch-gcc_tree-inline.c) = 735aa9bd9b8213fa75e1dd481cdbbdb0a02910ee
|
||||
SHA1 (patch-gcc_tree-mudflap.c) = 45f6d12ef989926cadc0efe9af1ee038df04d97f
|
||||
SHA1 (patch-gcc_tree-outof-ssa.c) = 8349e177b7f66e1f2a92e43082241d7ba9b31f51
|
||||
SHA1 (patch-gcc_tree-scalar-evolution.c) = c9a1b00153187729a27b2520135164b6b375d540
|
||||
SHA1 (patch-gcc_tree-sra.c) = 5ac8966bd06731a250ce12fd20627de550a35d82
|
||||
SHA1 (patch-gcc_tree-ssa-dce.c) = 4b51caf2b96c07b970eef3e743916d0e35e50881
|
||||
SHA1 (patch-gcc_tree-ssa-dom.c) = e56942f2d4b96c17af69bb9c26f45e2da81f7027
|
||||
SHA1 (patch-gcc_tree-ssa-sccvn.c) = 3e23f9e8656d18bb814507c5e7ea5fa5e2c608c2
|
||||
SHA1 (patch-gcc_tree-ssa-structalias.c) = 58f379c89afd58696756c6c2830f0f3ff76b7502
|
||||
SHA1 (patch-gcc_tree-switch-conversion.c) = dc53b3247ec497d46496f6a9d179a4f7d470ccde
|
||||
SHA1 (patch-gcc_tree-tailcall.c) = 94e75287b0c1e96f99536357392ea2d9af48c257
|
||||
SHA1 (patch-gcc_tree-vect-data-refs.c) = ae3c574cf531382de28564f0a300b8876806d85b
|
||||
SHA1 (patch-gcc_tree-vect-loop-manip.c) = 6a22a898b7ae930d5f0b0cc85818657e4826faff
|
||||
SHA1 (patch-gcc_tree-vect-loop.c) = 537c74aae498474555a7677bf1355e7649cc6a99
|
||||
SHA1 (patch-gcc_tree-vect-stmts.c) = 9aed6f1d586872a2772dca90baed3ca6811c19e2
|
||||
SHA1 (patch-gcc_tree-vectorizer.h) = 120e18c82cf64425b6e89ebf4d4af2ff84334471
|
||||
SHA1 (patch-gcc_tree-vrp.c) = 81c877d790aed78b318ba96bff2fc500d29694d8
|
||||
SHA1 (patch-gcc_unwind-dw2-fde-glibc.c) = 6b040bf7f3a95bdd8b414bcac97373f161201578
|
||||
SHA1 (patch-gcc_unwind-dw2-fde.c) = 969d3101a94d208889175ba5fc2797fdc21b82e9
|
||||
SHA1 (patch-gcc_unwind-dw2.c) = 5285e12ed93a5daa6acba0ee96e762e90329aaeb
|
||||
SHA1 (patch-gcc_var-tracking.c) = 15422daebd5fbea36dda283be6d8d007ab990bb6
|
||||
SHA1 (patch-gcc_varasm.c) = 8ccffbac9ee4a90490bdd6746e88c55f993637a7
|
||||
SHA1 (patch-include_ChangeLog) = 9626bfb3b4550326b6f26594e294a51827c42753
|
||||
SHA1 (patch-include_objalloc.h) = 18eb0baf490bb8dd6aed2157054b898b5b92a11d
|
||||
SHA1 (patch-intl_ChangeLog) = c8f034bd07fe3d41a90f892d83b2e6c13ccf8d12
|
||||
SHA1 (patch-libcpp_ChangeLog) = bc1041b4f17c3751a01dac32810e654f9c94aad8
|
||||
SHA1 (patch-libcpp_Makefile.in) = 22f35bfbe701c3baaa4042cddc282b3de4776024
|
||||
SHA1 (patch-libcpp_configure) = d5e1291a8bffb2c1121d4fcb383564eac3b688a6
|
||||
SHA1 (patch-libcpp_files.c) = 5e7cb28e0340ccacff230752f97a99a82b145893
|
||||
SHA1 (patch-libcpp_include_cpplib.h) = 056dc6811f456f8708673d47f4ffd03a49442fe7
|
||||
SHA1 (patch-libcpp_init.c) = dca7d2612f1892dea70d6338e3d0918096c30dae
|
||||
SHA1 (patch-libcpp_internal.h) = 30fb0537e61c7cd58697852ff390ca2f7a5f72c6
|
||||
SHA1 (patch-libcpp_lex.c) = fd0db8021ef0f93a57144ed707a654a4c15bf746
|
||||
SHA1 (patch-libcpp_macro.c) = 3e96026a38e5ce54c59b57f0e6a090f9bfcbb167
|
||||
SHA1 (patch-libcpp_po_ChangeLog) = 416d82e972577c6a6ce9736d0fe965150cddaed3
|
||||
SHA1 (patch-libdecnumber_ChangeLog) = 4761ae5b4b8a0cada4e8621a8fcffecaf09c90b0
|
||||
SHA1 (patch-libgcc_ChangeLog) = e889c37c6c8640e73afc8b755345294137cc5c18
|
||||
SHA1 (patch-libgcc_config.host) = 7bf0f4ef9e2e7437c5d8ee0db5714d57180d74d5
|
||||
SHA1 (patch-libgcc_config_i386_64_sfp-machine.h) = e4999877b70fe31b0e88b2d379c0548dc14aac06
|
||||
SHA1 (patch-libgcc_config_libbid_ChangeLog) = 0c1c76d831fe97757bd0818d7084f3101fd41d9e
|
||||
SHA1 (patch-libgomp_ChangeLog) = cfeff45b0d73354f3f657066093ff4e477076e62
|
||||
SHA1 (patch-libgomp_fortran.c) = 4ee9f148fe71b57115102d7cd8a88b7dd959595d
|
||||
SHA1 (patch-libgomp_libgomp.info) = 3a9ab902cf2ba2c5bd179491b3b8ae5c0c4743cb
|
||||
SHA1 (patch-libgomp_testsuite_libgomp.fortran_pr48894.f90) = d7c0e91aa204e0c4e1f73a1d8e3b222fce5d62ff
|
||||
SHA1 (patch-libiberty_ChangeLog) = 58eae5a2b7281191c61dcc076476f96499e485df
|
||||
SHA1 (patch-libiberty_floatformat.c) = 4c838dc19f024d8b792cc7f6d992ba6f94dcd1ad
|
||||
SHA1 (patch-libiberty_make-relative-prefix.c) = 248bda432bd290dd8fd050284b95d28814829315
|
||||
SHA1 (patch-libiberty_objalloc.c) = ab33e8ab90975cd66e871c6ccbd255fc21d55a89
|
||||
SHA1 (patch-libiberty_strerror.c) = ac592e5690074277e594e266a06ece29e82aabee
|
||||
SHA1 (patch-libiberty_testsuite_test-expandargv.c) = cde0600d899637c466040a23e6b80de692b37d8f
|
||||
SHA1 (patch-libmudflap_ChangeLog) = 836898ae2068ee06c83a294a36aa40aa143a9d37
|
||||
SHA1 (patch-libmudflap_mf-hooks1.c) = 136bf3796016573cc2c51cef9e93b4dbda4edb4f
|
||||
SHA1 (patch-libmudflap_mf-hooks2.c) = 15884c7cf2267c3924774e2de675b18c5ebea473
|
||||
SHA1 (patch-libmudflap_mf-impl.h) = 4b7258cf51abe9ebb1435b17bcf3090aff3a90cf
|
||||
SHA1 (patch-libmudflap_mf-runtime.c) = 41d1b3b8dc6f7898f724b3469a2a28bcc5d773cc
|
||||
SHA1 (patch-libmudflap_mf-runtime.h) = f66e8e5ad8c48ef36dea58357b23e05685c314e0
|
||||
SHA1 (patch-libmudflap_testsuite_libmudflap.c_fail68-frag.c) = e1dd08ee93cb52fd6a9c945237f1d15ce36affdb
|
||||
SHA1 (patch-libobjc_ChangeLog) = 668434e429f36a629fd170a0583141f966020c74
|
||||
SHA1 (patch-libobjc_archive.c) = 7474e33fcb776cb3eb569872c8e349db338acc39
|
||||
SHA1 (patch-libobjc_encoding.c) = 2de56f3c9f55c059a0ab43b49032f48df1af2a21
|
||||
SHA1 (patch-libobjc_hash.c) = 1bdcae878a5b96bb7c62c7ec80798aa9ca787630
|
||||
SHA1 (patch-libobjc_sendmsg.c) = b084ad4ced97491f69c1a639330a2893b0a3f47f
|
||||
SHA1 (patch-libssp_ChangeLog) = 5ffef91b9010433ea0fe305d192d660539613fd4
|
||||
SHA1 (patch-libstdc++-v3_ChangeLog) = ebf0f27088d5df3688142d348958e3a4f15bd260
|
||||
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = bce94ef76edac42ea96d8610c1b365ce6f1f2e55
|
||||
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 1b8f1ff0e81625eb182c6ed3a7b53b368e97431f
|
||||
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = b74cf4720a4f0d305d1215279c4ff6215681acb5
|
||||
SHA1 (patch-libstdc++-v3_configure) = a91baa0699187de74cf847755b1fd77c7e067950
|
||||
SHA1 (patch-libstdc++-v3_crossconfig.m4) = 343551d946b01c389dead8e0f74d609fb6ccee38
|
||||
SHA1 (patch-libstdc++-v3_include_bits_locale__facets.tcc) = c5a787ff8c15e06e0e9983ef359ab6e7481b173c
|
||||
SHA1 (patch-libstdc++-v3_include_bits_stl__algobase.h) = 668bddd2aacfeed9b377e8feea981fd82799aeac
|
||||
SHA1 (patch-libstdc++-v3_include_bits_stl__pair.h) = 1cfb98dc27a7576c65430ed4fb9ca232ec97e40a
|
||||
SHA1 (patch-libstdc++-v3_include_bits_stl__queue.h) = 80fc607a577f9129a9b5e8edb7c6052eeecf979a
|
||||
SHA1 (patch-libstdc++-v3_include_ext_numeric__traits.h) = 5fb0a2f0ee41414a561957c6519ed28a824e5cd2
|
||||
SHA1 (patch-libstdc++-v3_include_ext_rope) = c13a1a9589da52115322d6f7dee95236debcc390
|
||||
SHA1 (patch-libstdc++-v3_include_ext_ropeimpl.h) = 8fc9fcd89a2ca9b0a36f827f18328dd29ae9deaa
|
||||
SHA1 (patch-libstdc++-v3_libsupc++_eh__arm.cc) = a9dec4c7a5a79791ce85b0ff5867359c12264809
|
||||
SHA1 (patch-libstdc++-v3_libsupc++_exception__ptr.h) = 0e76655b676ed97a79c1cc0a518c9775e2bc140c
|
||||
SHA1 (patch-libstdc++-v3_libsupc++_nested__exception.h) = 6ed1f1e7d5419b40a5fd3c6a82d94d4d463a8d87
|
||||
SHA1 (patch-libstdc++-v3_libsupc++_unwind-cxx.h) = 6b9acc0f9803770e029f9a6a7ba65909fb256704
|
||||
SHA1 (patch-libstdc++-v3_src_atomic.cc) = 6072d63c6287c8477ecc22d0bb895046411c595a
|
||||
SHA1 (patch-libstdc++-v3_src_locale-inst.cc) = ec76a985f2eb7340eb10b0558395d90e99839517
|
||||
SHA1 (patch-libstdc++-v3_testsuite_22__locale_time__get_get__weekd) = 8b3a39baea8b5cb5a4e259aa658157c5d5f7b310
|
||||
SHA1 (patch-lto-plugin_ChangeLog) = 6e972c111f7dbddf018e707ce38ccf5e6b64592e
|
||||
SHA1 (patch-maintainer-scripts_ChangeLog) = 703876390c938f3a6944b92197ced9b733d7d82f
|
||||
SHA1 (patch-zlib_ChangeLog) = 815c27b2a3e5bcb7afdf0e5ad8bb93e684a99552
|
||||
SHA1 (patch-zlib_zconf.in.h) = 4fee3c4bf2b33c844c84dc41ec866fa56e92bb02
|
||||
|
||||
150
lang/gcc45/files/arm-minix.h
Normal file
150
lang/gcc45/files/arm-minix.h
Normal file
@@ -0,0 +1,150 @@
|
||||
/* Definitions for ARM running MINIX using the ELF format
|
||||
Copyright (C) 2001, 2004, 2007 Free Software Foundation, Inc.
|
||||
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
|
||||
Adapted for MINIX by Lionel Sambuc <lionel@minix3.org>
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING3. If not see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#undef MINIX_TARGET_CPU_CPP_BUILTINS
|
||||
#define MINIX_TARGET_CPU_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
TARGET_BPABI_CPP_BUILTINS(); \
|
||||
if (ARM_EABI_UNWIND_TABLES) \
|
||||
builtin_define ("__UNWIND_TABLES__"); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Define the actual types of some ANSI-mandated types.
|
||||
Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c,
|
||||
c-common.c, and config/<arch>/<arch>.h. */
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE "unsigned int"
|
||||
|
||||
#undef PTRDIFF_TYPE
|
||||
#define PTRDIFF_TYPE "int"
|
||||
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "int"
|
||||
|
||||
#undef WINT_TYPE
|
||||
#define WINT_TYPE "int"
|
||||
|
||||
/* We don't have any limit on the length as out debugger is GDB. */
|
||||
#undef DBX_CONTIN_LENGTH
|
||||
|
||||
/* NetBSD does its profiling differently to the Acorn compiler. We
|
||||
don't need a word following the mcount call; and to skip it
|
||||
requires either an assembly stub or use of fomit-frame-pointer when
|
||||
compiling the profiling functions. Since we break Acorn CC
|
||||
compatibility below a little more won't hurt. */
|
||||
|
||||
#undef ARM_FUNCTION_PROFILER
|
||||
#define ARM_FUNCTION_PROFILER(STREAM,LABELNO) \
|
||||
{ \
|
||||
asm_fprintf (STREAM, "\tmov\t%Rip, %Rlr\n"); \
|
||||
asm_fprintf (STREAM, "\tbl\t__mcount%s\n", \
|
||||
(TARGET_ARM && NEED_PLT_RELOC) \
|
||||
? "(PLT)" : ""); \
|
||||
}
|
||||
|
||||
/* VERY BIG NOTE: Change of structure alignment for NetBSD/arm.
|
||||
There are consequences you should be aware of...
|
||||
|
||||
Normally GCC/arm uses a structure alignment of 32 for compatibility
|
||||
with armcc. This means that structures are padded to a word
|
||||
boundary. However this causes problems with bugged NetBSD kernel
|
||||
code (possibly userland code as well - I have not checked every
|
||||
binary). The nature of this bugged code is to rely on sizeof()
|
||||
returning the correct size of various structures rounded to the
|
||||
nearest byte (SCSI and ether code are two examples, the vm system
|
||||
is another). This code breaks when the structure alignment is 32
|
||||
as sizeof() will report a word=rounded size. By changing the
|
||||
structure alignment to 8. GCC will conform to what is expected by
|
||||
NetBSD.
|
||||
|
||||
This has several side effects that should be considered.
|
||||
1. Structures will only be aligned to the size of the largest member.
|
||||
i.e. structures containing only bytes will be byte aligned.
|
||||
structures containing shorts will be half word aligned.
|
||||
structures containing ints will be word aligned.
|
||||
|
||||
This means structures should be padded to a word boundary if
|
||||
alignment of 32 is required for byte structures etc.
|
||||
|
||||
2. A potential performance penalty may exist if strings are no longer
|
||||
word aligned. GCC will not be able to use word load/stores to copy
|
||||
short strings.
|
||||
|
||||
This modification is not encouraged but with the present state of the
|
||||
NetBSD source tree it is currently the only solution that meets the
|
||||
requirements. */
|
||||
|
||||
#undef DEFAULT_STRUCTURE_SIZE_BOUNDARY
|
||||
#define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8
|
||||
|
||||
/* Fixed-sized enum by default (-fno-short-enums) */
|
||||
#undef MINIX_CC1_SPEC
|
||||
#define MINIX_CC1_SPEC "%{!fshort-enums:%{!fno-short-enums:-fno-short-enums}} "
|
||||
|
||||
/* Use by default the new abi and calling standard */
|
||||
#undef ARM_DEFAULT_ABI
|
||||
#define ARM_DEFAULT_ABI ARM_ABI_AAPCS
|
||||
|
||||
/* LSC: FIXME: When activated, some programs crash on qemu with an illegal
|
||||
* instruction.
|
||||
* The cause is unknown (Missing support on MINIX, missing support
|
||||
* on the emulator, library error...).
|
||||
*/
|
||||
#if 0
|
||||
/* Make sure we use hard-floating point ABI by default */
|
||||
#undef TARGET_DEFAULT_FLOAT_ABI
|
||||
#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
|
||||
#endif
|
||||
|
||||
#if defined(NETBSD_NATIVE)
|
||||
/* LSC: On arm, when compiling statically, we need gcc_eh. */
|
||||
#undef MINIX_LINK_GCC_C_SEQUENCE_SPEC
|
||||
#define MINIX_LINK_GCC_C_SEQUENCE_SPEC \
|
||||
"%{static:--start-group} %G %L -lgcc_eh %{static:--end-group}%{!static:%G}"
|
||||
#endif /* defined(NETBSD_NATIVE) */
|
||||
|
||||
/* Default to full VFP if -mhard-float is specified. */
|
||||
#undef MINIX_SUBTARGET_ASM_FLOAT_SPEC
|
||||
#define MINIX_SUBTARGET_ASM_FLOAT_SPEC \
|
||||
"%{mhard-float:{!mfpu=*:-mfpu=vfpv3-d16}} \
|
||||
%{mfloat-abi=hard:{!mfpu=*:-mfpu=vfpv3-d16}}"
|
||||
|
||||
#undef MINIX_SUBTARGET_EXTRA_ASM_SPEC
|
||||
#define MINIX_SUBTARGET_EXTRA_ASM_SPEC \
|
||||
"%{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu;:-meabi=5}" \
|
||||
TARGET_FIX_V4BX_SPEC \
|
||||
"%{fpic|fpie:-k} %{fPIC|fPIE:-k}"
|
||||
|
||||
/* Little endian by default */
|
||||
#undef TARGET_ENDIAN_DEFAULT
|
||||
#define TARGET_ENDIAN_DEFAULT 0
|
||||
|
||||
#undef SUBTARGET_CPU_DEFAULT
|
||||
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_cortexa8
|
||||
|
||||
#undef TARGET_VERSION
|
||||
#define TARGET_VERSION fputs (" (MINIX/arm ELF EABI)", stderr);
|
||||
|
||||
#undef ARM_EABI_UNWIND_TABLES
|
||||
#define ARM_EABI_UNWIND_TABLES \
|
||||
((!USING_SJLJ_EXCEPTIONS && flag_exceptions) || flag_unwind_tables)
|
||||
@@ -1,215 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/dragonfly-spec.h,v 1.5 2008/07/24 21:45:10 corecode Exp $ */
|
||||
|
||||
/* Base configuration file for all DragonFly targets.
|
||||
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
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 2, 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Common DragonFly configuration.
|
||||
All DragonFly architectures should include this file, which will specify
|
||||
their commonalities.
|
||||
|
||||
Adapted from gcc/config/freebsd-spec.h by
|
||||
Joerg Sonnenberger <joerg@bec.de>
|
||||
|
||||
Adapted from gcc/config/freebsd.h by
|
||||
David O'Brien <obrien@FreeBSD.org>
|
||||
Loren J. Rittle <ljrittle@acm.org>. */
|
||||
|
||||
|
||||
/* This defines which switch letters take arguments. On DragonFly, most of
|
||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
||||
-z* options (for the linker) (coming from SVR4).
|
||||
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
|
||||
|
||||
#define DFBSD_SWITCH_TAKES_ARG(CHAR) \
|
||||
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|
||||
|| (CHAR) == 'h' \
|
||||
|| (CHAR) == 'z' /* ignored by ld */ \
|
||||
|| (CHAR) == 'R')
|
||||
|
||||
/* This defines which multi-letter switches take arguments. */
|
||||
|
||||
#define DFBSD_WORD_SWITCH_TAKES_ARG(STR) \
|
||||
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
|
||||
|| !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link") \
|
||||
|| !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
|
||||
|| !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
|
||||
|
||||
#define DFBSD_TARGET_OS_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
if (DFBSD_MAJOR == 3) \
|
||||
builtin_define ("__DragonFly__=3"); \
|
||||
else if (DFBSD_MAJOR == 2) \
|
||||
builtin_define ("__DragonFly__=2"); \
|
||||
else if (DFBSD_MAJOR == 1) \
|
||||
builtin_define ("__DragonFly__=1"); \
|
||||
else \
|
||||
builtin_define ("__DragonFly__"); \
|
||||
builtin_define ("__DragonFly_cc_version=100001"); \
|
||||
builtin_define_std ("unix"); \
|
||||
builtin_define ("__KPRINTF_ATTRIBUTE__"); \
|
||||
builtin_assert ("system=unix"); \
|
||||
builtin_assert ("system=bsd"); \
|
||||
builtin_assert ("system=DragonFly"); \
|
||||
DFBSD_TARGET_CPU_CPP_BUILTINS(); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Define the default DragonFly-specific per-CPU hook code. */
|
||||
#define DFBSD_TARGET_CPU_CPP_BUILTINS() do {} while (0)
|
||||
|
||||
/* Provide a CPP_SPEC appropriate for DragonFly. We just deal with the GCC
|
||||
option `-posix', and PIC issues. */
|
||||
|
||||
#define DFBSD_CPP_SPEC " \
|
||||
%(cpp_cpu) \
|
||||
%{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} \
|
||||
%{posix:-D_POSIX_SOURCE}"
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for DragonFly. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
|
||||
#define DFBSD_STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for DragonFly. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
the support for getting C++ file-scope static object constructed
|
||||
before entering `main', followed by a normal "finalizer" file,
|
||||
`crtn.o'. */
|
||||
|
||||
#define DFBSD_ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
|
||||
/* Provide a LIB_SPEC appropriate for DragonFly as configured and as
|
||||
required by the user-land thread model. Select the appropriate libc,
|
||||
depending on whether we're doing profiling or need threads support.
|
||||
Make it a hard error if -pthread is provided on the command line and gcc
|
||||
was configured with --disable-threads (this will help avoid bug
|
||||
reports from users complaining about threading when they
|
||||
misconfigured the gcc bootstrap but are later consulting DragonFly
|
||||
manual pages that refer to the mythical -pthread option). */
|
||||
|
||||
/* Provide a LIB_SPEC appropriate for DragonFly. Just select the appropriate
|
||||
libc, depending on whether we're doing profiling or need threads support.
|
||||
(simular to the default, except no -lg, and no -p). */
|
||||
|
||||
#ifdef DFBSD_NO_THREADS
|
||||
#define DFBSD_LIB_SPEC " \
|
||||
%{pthread: %eThe -pthread option is only supported on DragonFly when gcc \
|
||||
is built with the --enable-threads configure-time option.} \
|
||||
%{!nostdlib{!nostartfiles{!nolibc: -lc}}} \
|
||||
}"
|
||||
#else
|
||||
#define DFBSD_LIB_SPEC " \
|
||||
%{pthread:-lpthread} \
|
||||
%{!nostdlib: %{!nostartfiles: %{!nolibc: -lc}}} \
|
||||
"
|
||||
#endif
|
||||
|
||||
#define DFBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.2"
|
||||
|
||||
#if 0
|
||||
#define LINK_LIBGCC_SPEC ""
|
||||
#define LIBGCC_SPEC "%{shared: -lgcc_pic} %{!shared: -lgcc}"
|
||||
|
||||
#define PRE_LIB_SPEC " \
|
||||
%{pg: -L"PREFIX2"/lib/gcc41/profiling \
|
||||
%{!static: -rpath /usr/lib/gcc41/profiling \
|
||||
-rpath-link "PREFIX2"/lib/gcc41/profiling}} \
|
||||
%{g: -L"PREFIX2"/lib/gcc41/debug \
|
||||
%{!static: -rpath /usr/lib/gcc41/debug \
|
||||
-rpath-link "PREFIX2"/lib/gcc41/debug}} \
|
||||
-L"PREFIX2"/lib/gcc41 \
|
||||
%{!static: -rpath /usr/lib/gcc41 -rpath-link "PREFIX2"/lib/gcc41} \
|
||||
%{pg: -L"PREFIX2"/lib/profiling \
|
||||
%{!static: -rpath /usr/lib/profiling \
|
||||
-rpath-link "PREFIX2"/lib/profiling}} \
|
||||
%{g: -L"PREFIX2"/lib/debug \
|
||||
%{!static: -rpath /usr/lib/debug -rpath-link "PREFIX2"/lib/debug}} \
|
||||
%{!static: -rpath /usr/lib -rpath-link "PREFIX2"/lib} \
|
||||
"
|
||||
|
||||
#define DFBSD_LINK_COMMAND_SPEC "\
|
||||
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
|
||||
%(linker) %l " LINK_PIE_SPEC "%X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}\
|
||||
%{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
|
||||
%{static:} %{L*} %(link_libgcc) %o \
|
||||
%{fprofile-arcs|fprofile-generate: -lgcov}\
|
||||
%{!nostdlib:%{!nodefaultlibs:%(pre_lib)}}\
|
||||
%{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}\
|
||||
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}"
|
||||
|
||||
#ifndef PREFIX2
|
||||
#define PREFIX2 "/usr"
|
||||
#endif
|
||||
|
||||
#ifndef STANDARD_STARTFILE_PREFIX_1
|
||||
#define STANDARD_STARTFILE_PREFIX_1 PREFIX2"/lib/gcc41/"
|
||||
#endif
|
||||
#ifndef STANDARD_EXEC_PREFIX
|
||||
#define STANDARD_EXEC_PREFIX PREFIX2"/libexec/gcc41/"
|
||||
#endif
|
||||
#ifndef STANDARD_STARTFILE_PREFIX
|
||||
#define STANDARD_STARTFILE_PREFIX PREFIX2"/lib/"
|
||||
#endif
|
||||
#ifndef TOOLDIR_BASE_PREFIX
|
||||
#define TOOLDIR_BASE_PREFIX PREFIX2"/libexec/gcc41"
|
||||
#endif
|
||||
#ifndef STANDARD_BINDIR_PREFIX
|
||||
#define STANDARD_BINDIR_PREFIX PREFIX2"/libexec/gcc41"
|
||||
#endif
|
||||
#ifndef STANDARD_LIBEXEC_PREFIX
|
||||
#define STANDARD_LIBEXEC_PREFIX PREFIX2"/libexec/gcc41"
|
||||
#endif
|
||||
|
||||
#ifndef GPLUSPLUS_INCLUDE_DIR
|
||||
#define GPLUSPLUS_INCLUDE_DIR PREFIX2"/include/c++"
|
||||
#endif
|
||||
#ifndef GPLUSPLUS_TOOL_INCLUDE_DIR
|
||||
#define GPLUSPLUS_TOOL_INCLUDE_DIR PREFIX2"/include/c++/4.1"
|
||||
#endif
|
||||
#ifndef GPLUSPLUS_BACKWARD_INCLUDE_DIR
|
||||
#define GPLUSPLUS_BACKWARD_INCLUDE_DIR PREFIX2"/include/c++/4.1/backward"
|
||||
#endif
|
||||
#ifndef GCC_LOCAL_INCLUDE_DIR
|
||||
#define GCC_LOCAL_INCLUDE_DIR PREFIX2"/libdata/gcc41"
|
||||
#endif
|
||||
#ifndef GCC_INCLUDE_DIR
|
||||
#define GCC_INCLUDE_DIR PREFIX2"/include"
|
||||
#endif
|
||||
|
||||
#undef INCLUDE_DEFAULTS
|
||||
#define INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \
|
||||
{ GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0 }, \
|
||||
{ GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0 }, \
|
||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 }, \
|
||||
{ GCC_LOCAL_INCLUDE_DIR, "GCC", 0, 0 }, \
|
||||
{ NULL, NULL, 0, 0 } \
|
||||
}
|
||||
#endif
|
||||
@@ -1,97 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/dragonfly.h,v 1.2 2008/05/19 10:46:39 corecode Exp $ */
|
||||
|
||||
/* Base configuration file for all DragonFly targets.
|
||||
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
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 2, 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* Common DragonFly configuration.
|
||||
All DragonFly architectures should include this file, which will specify
|
||||
their commonalities.
|
||||
|
||||
Adapted from gcc/config/freebsd.h by
|
||||
Joerg Sonnenberger <joerg@bec.de>
|
||||
|
||||
Adapted from gcc/config/i386/freebsd-elf.h by
|
||||
David O'Brien <obrien@FreeBSD.org>.
|
||||
Further work by David O'Brien <obrien@FreeBSD.org> and
|
||||
Loren J. Rittle <ljrittle@acm.org>. */
|
||||
|
||||
|
||||
/* This defines which switch letters take arguments. On DragonFly, most of
|
||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
||||
-z* options (for the linker) (coming from SVR4).
|
||||
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
|
||||
|
||||
#undef SWITCH_TAKES_ARG
|
||||
#define SWITCH_TAKES_ARG(CHAR) (DFBSD_SWITCH_TAKES_ARG(CHAR))
|
||||
|
||||
#undef WORD_SWITCH_TAKES_ARG
|
||||
#define WORD_SWITCH_TAKES_ARG(STR) (DFBSD_WORD_SWITCH_TAKES_ARG(STR))
|
||||
|
||||
#undef TARGET_OS_CPP_BUILTINS
|
||||
#define TARGET_OS_CPP_BUILTINS() DFBSD_TARGET_OS_CPP_BUILTINS()
|
||||
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC DFBSD_CPP_SPEC
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC DFBSD_STARTFILE_SPEC
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC DFBSD_ENDFILE_SPEC
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC DFBSD_LIB_SPEC
|
||||
|
||||
#if 0
|
||||
#undef LINK_COMMAND_SPEC
|
||||
#define LINK_COMMAND_SPEC DFBSD_LINK_COMMAND_SPEC
|
||||
#endif
|
||||
|
||||
/************************[ Target stuff ]***********************************/
|
||||
|
||||
/* All DragonFly Architectures support the ELF object file format. */
|
||||
#undef OBJECT_FORMAT_ELF
|
||||
#define OBJECT_FORMAT_ELF
|
||||
|
||||
/* Don't assume anything about the header files. */
|
||||
#undef NO_IMPLICIT_EXTERN_C
|
||||
#define NO_IMPLICIT_EXTERN_C 1
|
||||
|
||||
/* Make gcc agree with DragonFly's standard headers (<machine/stdint.h>, etc...) */
|
||||
|
||||
#undef WCHAR_TYPE
|
||||
#define WCHAR_TYPE "int"
|
||||
|
||||
#define MATH_LIBRARY_PROFILE "-lm_p"
|
||||
|
||||
/* Code generation parameters. */
|
||||
|
||||
/* Use periods rather than dollar signs in special g++ assembler names.
|
||||
This ensures the configuration knows our system correctly so we can link
|
||||
with libraries compiled with the native cc. */
|
||||
#undef NO_DOLLAR_IN_LABEL
|
||||
|
||||
/* Define this so we can compile MS code for use with WINE. */
|
||||
#define HANDLE_PRAGMA_PACK_PUSH_POP
|
||||
|
||||
/* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW.
|
||||
This enables the test coverage code to use file locking when exiting a
|
||||
program, which avoids race conditions if the program has forked. */
|
||||
#define TARGET_POSIX_IO
|
||||
39
lang/gcc45/files/gcov-minix-fs-wrapper.h
Normal file
39
lang/gcc45/files/gcov-minix-fs-wrapper.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/* This header makes it possible to redefine system calls to the
|
||||
* file system. This way, minix servers can re-route the data
|
||||
* that libgcov tries to send to the file system. This is
|
||||
* necessary, because the servers can't access the file system
|
||||
* directly. Instead, they will copy the data to a helping user
|
||||
* space process, which will call the file system for them.
|
||||
* For more information, see the <minix/gcov.h> header file.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
/* These function pointers initially point to the standard system library
|
||||
* functions (fopen, etc). All calls to these system library functions are
|
||||
* then redefined to calls to these function pointers. Because the pointers
|
||||
* still point to the original functions, all functionality is unchanged.
|
||||
* Therefore, libgcov won't act differently when linked to applications.
|
||||
* But, when these pointers are redefined by code within the minix servers,
|
||||
* the file system calls get replaced by other functionality.
|
||||
*/
|
||||
|
||||
#define fopen(...) _gcov_fopen(__VA_ARGS__)
|
||||
#define fread(...) _gcov_fread(__VA_ARGS__)
|
||||
#define fwrite(...) _gcov_fwrite(__VA_ARGS__)
|
||||
#define fclose(...) _gcov_fclose(__VA_ARGS__)
|
||||
#define fseek(...) _gcov_fseek(__VA_ARGS__)
|
||||
#define getenv(...) _gcov_getenv(__VA_ARGS__)
|
||||
|
||||
|
||||
/* wrapper to make it possible to disable gcov_exit on a process exit (for mfs) */
|
||||
|
||||
int do_gcov_exit = 1;
|
||||
|
||||
void gcov_exit_wrapper(void){
|
||||
if(do_gcov_exit)
|
||||
gcov_exit();
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
|
||||
PROGRAM hello
|
||||
print*, 'Hello, World!'
|
||||
END
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#import <stdio.h>
|
||||
|
||||
int main( int argc, const char *argv[] ) {
|
||||
printf( "hello world\n" );
|
||||
return 0;
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/i386/dragonfly.h,v 1.1 2006/09/27 12:10:34 corecode Exp $ */
|
||||
|
||||
/* Definitions for Intel 386 running DragonFly with ELF format
|
||||
|
||||
Copyright (C) 1996, 2000, 2002 Free Software Foundation, Inc.
|
||||
Contributed by Eric Youngdale.
|
||||
Modified for stabs-in-ELF by H.J. Lu.
|
||||
Adapted from GNU/Linux version by John Polstra.
|
||||
Continued development by David O'Brien <obrien@freebsd.org>
|
||||
Adapted from the FreeBSD version.
|
||||
|
||||
Changes:
|
||||
- remove support for changing the dynamic linker
|
||||
|
||||
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 2, 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
|
||||
#define TARGET_VERSION fprintf (stderr, " (i386 DragonFly/ELF)");
|
||||
|
||||
/* Override the default comment-starter of "/". */
|
||||
#undef ASM_COMMENT_START
|
||||
#define ASM_COMMENT_START "#"
|
||||
|
||||
#undef ASM_APP_ON
|
||||
#define ASM_APP_ON "#APP\n"
|
||||
|
||||
#undef ASM_APP_OFF
|
||||
#define ASM_APP_OFF "#NO_APP\n"
|
||||
|
||||
#undef DBX_REGISTER_NUMBER
|
||||
#define DBX_REGISTER_NUMBER(n) \
|
||||
(TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
|
||||
|
||||
#undef NO_PROFILE_COUNTERS
|
||||
#define NO_PROFILE_COUNTERS 1
|
||||
|
||||
/* Tell final.c that we don't need a label passed to mcount. */
|
||||
|
||||
#undef MCOUNT_NAME
|
||||
#define MCOUNT_NAME ".mcount"
|
||||
|
||||
/* Make gcc agree with <machine/ansi.h>. */
|
||||
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
|
||||
|
||||
#undef PTRDIFF_TYPE
|
||||
#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
|
||||
|
||||
#undef SUBTARGET_EXTRA_SPECS /* i386.h bogusly defines it. */
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for DragonFly. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
|
||||
%{!p:%{profile:gcrt1.o%s} \
|
||||
%{!profile:crt1.o%s}}}} \
|
||||
crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
|
||||
|
||||
/* Provide a ENDFILE_SPEC appropriate for DragonFly. Here we tack on
|
||||
the magical crtend.o file (see crtstuff.c) which provides part of
|
||||
the support for getting C++ file-scope static object constructed
|
||||
before entering `main', followed by a normal "finalizer" file,
|
||||
`crtn.o'. */
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC \
|
||||
"%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for DragonFly. Here we provide support
|
||||
for the special GCC options -static and -shared, which allow us to
|
||||
link things in one of these three modes by applying the appropriate
|
||||
combinations of options at link-time. We like to support here for
|
||||
as many of the other GNU linker options as possible. But I don't
|
||||
have the time to search for those flags. I am sure how to add
|
||||
support for -soname shared_object_name. H.J.
|
||||
|
||||
I took out %{v:%{!V:-V}}. It is too much :-(. They can use
|
||||
-Wl,-V.
|
||||
|
||||
When the -shared link option is used a final link is not being
|
||||
done. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "\
|
||||
%{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
|
||||
%{v:-V} \
|
||||
%{assert*} %{R*} %{rpath*} %{defsym*} \
|
||||
%{shared:-Bshareable %{h*} %{soname*}} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker %(dfbsd_dynamic_linker) }} \
|
||||
%{static:-Bstatic}} \
|
||||
%{symbolic:-Bsymbolic}"
|
||||
|
||||
/* A C statement to output to the stdio stream FILE an assembler
|
||||
command to advance the location counter to a multiple of 1<<LOG
|
||||
bytes if it is within MAX_SKIP bytes.
|
||||
|
||||
This is used to align code labels according to Intel recommendations. */
|
||||
|
||||
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
|
||||
#undef ASM_OUTPUT_MAX_SKIP_ALIGN
|
||||
#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \
|
||||
if ((LOG) != 0) { \
|
||||
if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
|
||||
else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Don't default to pcc-struct-return, we want to retain compatibility with
|
||||
older gcc versions AND pcc-struct-return is nonreentrant.
|
||||
(even though the SVR4 ABI for the i386 says that records and unions are
|
||||
returned in memory). */
|
||||
|
||||
#undef DEFAULT_PCC_STRUCT_RETURN
|
||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
||||
|
||||
/* DragonFly sets the rounding precision of the FPU to 53 bits. Let the
|
||||
compiler get the contents of <float.h> and std::numeric_limits correct. */
|
||||
#undef TARGET_96_ROUND_53_LONG_DOUBLE
|
||||
#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)
|
||||
@@ -1,54 +0,0 @@
|
||||
/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/i386/dragonfly64.h,v 1.1 2007/01/15 17:53:16 corecode Exp $ */
|
||||
|
||||
/* Definitions for AMD x86-64 running DragonFly with ELF format
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
Contributed by David O'Brien <obrien@FreeBSD.org>
|
||||
Adapted from the FreeBSD version.
|
||||
|
||||
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 2, 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* $FreeBSD: src/contrib/gcc/config/i386/freebsd64.h,v 1.9 2004/07/28 04:44:23 kan Exp $ */
|
||||
|
||||
|
||||
#undef TARGET_VERSION
|
||||
#define TARGET_VERSION fprintf (stderr, " (x86-64 DragonFly/ELF)");
|
||||
|
||||
/* Tell final.c that we don't need a label passed to mcount. */
|
||||
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
|
||||
|
||||
#undef MCOUNT_NAME
|
||||
#define MCOUNT_NAME ".mcount"
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for the DragonFly/x86-64 ELF target.
|
||||
This is a copy of LINK_SPEC from <i386/dragonfly.h> tweaked for
|
||||
the x86-64 target.
|
||||
XXX We don't support two arch userland yet */
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC "\
|
||||
%{v:-V} \
|
||||
%{assert*} %{R*} %{rpath*} %{defsym*} \
|
||||
%{shared:-Bshareable %{h*} %{soname*}} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker %(dfbsd_dynamic_linker) }} \
|
||||
%{static:-Bstatic}} \
|
||||
%{symbolic:-Bsymbolic}"
|
||||
91
lang/gcc45/files/i386-minix.h
Normal file
91
lang/gcc45/files/i386-minix.h
Normal file
@@ -0,0 +1,91 @@
|
||||
/* Definitions for Intel 386 running MINIX with ELF format
|
||||
Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
|
||||
Contributed by Eric Youngdale.
|
||||
Modified for stabs-in-ELF by H.J. Lu.
|
||||
Adapted from GNU/Linux version by John Polstra.
|
||||
Continued development by David O'Brien <obrien@freebsd.org>
|
||||
Adapted for MINIX by Lionel Sambuc <lionel@minix3.org>
|
||||
|
||||
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 2, 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
#undef MINIX_TARGET_CPU_CPP_BUILTINS
|
||||
#define MINIX_TARGET_CPU_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
builtin_define ("__i386"); \
|
||||
builtin_define_with_int_value ("_EM_WSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_PSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_SSIZE", 2); \
|
||||
builtin_define_with_int_value ("_EM_LSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_FSIZE", 4); \
|
||||
builtin_define_with_int_value ("_EM_DSIZE", 8); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Define the actual types of some ANSI-mandated types.
|
||||
Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c,
|
||||
c-common.c, and config/<arch>/<arch>.h. */
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
|
||||
|
||||
#undef PTRDIFF_TYPE
|
||||
#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
|
||||
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD)
|
||||
|
||||
/* Override the default comment-starter of "/". */
|
||||
#undef ASM_COMMENT_START
|
||||
#define ASM_COMMENT_START "#"
|
||||
|
||||
#undef ASM_APP_ON
|
||||
#define ASM_APP_ON "#APP\n"
|
||||
|
||||
#undef ASM_APP_OFF
|
||||
#define ASM_APP_OFF "#NO_APP\n"
|
||||
|
||||
#undef DBX_REGISTER_NUMBER
|
||||
#define DBX_REGISTER_NUMBER(n) \
|
||||
(TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
|
||||
|
||||
#undef NO_PROFILE_COUNTERS
|
||||
#define NO_PROFILE_COUNTERS 1
|
||||
|
||||
/* Tell final.c that we don't need a label passed to mcount. */
|
||||
#undef MCOUNT_NAME
|
||||
#define MCOUNT_NAME ".mcount"
|
||||
|
||||
/* A C statement to output to the stdio stream FILE an assembler
|
||||
command to advance the location counter to a multiple of 1<<LOG
|
||||
bytes if it is within MAX_SKIP bytes.
|
||||
|
||||
This is used to align code labels according to Intel recommendations. */
|
||||
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
|
||||
#undef ASM_OUTPUT_MAX_SKIP_ALIGN
|
||||
#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \
|
||||
if ((LOG) != 0) { \
|
||||
if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
|
||||
else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
|
||||
}
|
||||
#endif
|
||||
|
||||
#undef SUBTARGET32_DEFAULT_CPU
|
||||
#define SUBTARGET32_DEFAULT_CPU "i586"
|
||||
|
||||
#undef TARGET_VERSION
|
||||
#define TARGET_VERSION fprintf (stderr, " (MINIX/i586 ELF)");
|
||||
185
lang/gcc45/files/minix-spec.h
Normal file
185
lang/gcc45/files/minix-spec.h
Normal file
@@ -0,0 +1,185 @@
|
||||
/* Base configuration file for all MINIX targets.
|
||||
Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
|
||||
Adapted for MINIX by Lionel Sambuc <lionel@minix3.org>
|
||||
|
||||
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 2, 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
|
||||
MA 02110-1301, USA. */
|
||||
|
||||
/* MINIX defines
|
||||
* Default, architecture independent values for MINIX
|
||||
*
|
||||
* For this to work properly, the order in the tm_file variable has
|
||||
* to be the following:
|
||||
* minix-spec.h $arch/minix.h minix.h
|
||||
*
|
||||
* minix-spec.h : specifies default arch-independent values
|
||||
* $arch/minix.h: redefines as needed default minix values
|
||||
* minix.h : maps GCC defines to the minix defines.
|
||||
*
|
||||
* WARNING:
|
||||
* When changing any default, also check in the arch headers
|
||||
* if the default is redefined and update them as required.
|
||||
*/
|
||||
|
||||
/* In case we need to know. */
|
||||
#define USING_CONFIG_MINIX_SPEC 1
|
||||
|
||||
/* This defines which switch letters take arguments. On FreeBSD, most of
|
||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
||||
-z* options (for the linker) (coming from SVR4).
|
||||
We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
|
||||
#define MINIX_SWITCH_TAKES_ARG(CHAR) \
|
||||
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|
||||
|| (CHAR) == 'h' \
|
||||
|| (CHAR) == 'z' /* ignored by ld */ \
|
||||
|| (CHAR) == 'R')
|
||||
|
||||
/* This defines which multi-letter switches take arguments. */
|
||||
#define MINIX_WORD_SWITCH_TAKES_ARG(STR) \
|
||||
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
|
||||
|| !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link") \
|
||||
|| !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
|
||||
|| !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
|
||||
|
||||
#define MINIX_TARGET_OS_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
builtin_define ("__minix"); \
|
||||
builtin_define ("__minix__"); \
|
||||
builtin_define ("__unix__"); \
|
||||
builtin_assert ("system=bsd"); \
|
||||
builtin_assert ("system=unix"); \
|
||||
builtin_assert ("system=minix"); \
|
||||
MINIX_TARGET_CPU_CPP_BUILTINS(); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* Define the default MINIX-specific per-CPU hook code. */
|
||||
#define MINIX_TARGET_CPU_CPP_BUILTINS() do {} while (0)
|
||||
|
||||
/* Look for the include files in the system-defined places. */
|
||||
|
||||
#define MINIX_GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
|
||||
|
||||
#define MINIX_GPLUSPLUS_BACKWARD_INCLUDE_DIR "/usr/include/g++/backward"
|
||||
|
||||
/*
|
||||
* XXX figure out a better way to do this
|
||||
*/
|
||||
#define MINIX_GCC_INCLUDE_DIR "/usr/include/gcc-4.5"
|
||||
|
||||
#define MINIX_INCLUDE_DEFAULTS \
|
||||
{ \
|
||||
{ MINIX_GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 1 }, \
|
||||
{ MINIX_GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 1 }, \
|
||||
{ MINIX_GCC_INCLUDE_DIR, "GCC", 0, 0, 1 }, \
|
||||
{ "/usr/include", "GCC", 0, 0, 1 }, \
|
||||
{ 0, 0, 0, 0 } \
|
||||
}
|
||||
|
||||
/* Provide a CPP_SPEC appropriate for MINIX. We just deal with the GCC
|
||||
option `-posix'. */
|
||||
#define MINIX_CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
|
||||
|
||||
#define MINIX_CC1_SPEC ""
|
||||
|
||||
/* Pass -cxx-isystem to cc1plus. */
|
||||
#define MINIX_CC1PLUS_SPEC "%{cxx-isystem}"
|
||||
|
||||
#define MINIX_SUBTARGET_CPP_SPEC ""
|
||||
#define MINIX_SUBTARGET_EXTRA_ASM_SPEC ""
|
||||
#define MINIX_SUBTARGET_ASM_FLOAT_SPEC ""
|
||||
|
||||
#define MINIX_DYNAMIC_LINKER "/usr/libexec/ld.elf_so"
|
||||
|
||||
/* Under MINIX, just like on NetBSD, the normal location of the various
|
||||
* *crt*.o files is the /usr/lib directory. */
|
||||
#define MINIX_STANDARD_STARTFILE_PREFIX "/usr/lib/"
|
||||
|
||||
#define MINIX_LINK_GCC_C_SEQUENCE_SPEC \
|
||||
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
|
||||
|
||||
/* Provide a STARTFILE_SPEC appropriate for MINIX. Here we add
|
||||
the magical crtbegin.o file (see crtstuff.c) which provides part
|
||||
of the support for getting C++ file-scope static object constructed
|
||||
before entering `main'. */
|
||||
#define MINIX_STARTFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{pg:gcrt0%O%s} \
|
||||
%{!pg: \
|
||||
%{p:gcrt0%O%s} \
|
||||
%{!p:%{profile:gcrt0%O%s} \
|
||||
%{!profile:crt0%O%s}}}} \
|
||||
%:if-exists(crti%O%s) \
|
||||
%{static:%:if-exists-else(crtbeginT%O%s crtbegin%O%s)} \
|
||||
%{!static: \
|
||||
%{!shared: \
|
||||
%{!pie:crtbegin%O%s} \
|
||||
%{pie:crtbeginS%O%s}} \
|
||||
%{shared:crtbeginS%O%s}}"
|
||||
|
||||
/* Provide an ENDFILE_SPEC appropriate for NetBSD ELF. Here we
|
||||
add crtend.o, which provides part of the support for getting
|
||||
C++ file-scope static objects deconstructed after exiting "main". */
|
||||
#define MINIX_ENDFILE_SPEC \
|
||||
"%{!shared: \
|
||||
%{!pie:crtend%O%s} \
|
||||
%{pie:crtendS%O%s}} \
|
||||
%{shared:crtendS%O%s} \
|
||||
%:if-exists(crtn%O%s)"
|
||||
|
||||
/* Provide a LIB_SPEC appropriate for MINIX. Just select the appropriate
|
||||
libc, depending on whether we're doing profiling or need threads support.
|
||||
(similar to the default, except no -lg, and no -p). */
|
||||
#define MINIX_LIB_SPEC " \
|
||||
%{pthread: %eThe -pthread option is only supported on MINIX when gcc \
|
||||
is built with the --enable-threads configure-time option.} \
|
||||
%{shared:-lc} \
|
||||
%{!shared: \
|
||||
%{!symbolic: \
|
||||
%{!p: \
|
||||
%{!pg:-lc}} \
|
||||
%{p:-lc_p} \
|
||||
%{pg:-lc_p}}}"
|
||||
|
||||
/* Provide a LINK_SPEC appropriate for MINIX. Here we provide support
|
||||
for the special GCC options -static and -shared, which allow us to
|
||||
link things in one of these three modes by applying the appropriate
|
||||
combinations of options at link-time. We like to support here for
|
||||
as many of the other GNU linker options as possible. But I don't
|
||||
have the time to search for those flags. I am sure how to add
|
||||
support for -soname shared_object_name. H.J.
|
||||
|
||||
I took out %{v:%{!V:-V}}. It is too much :-(. They can use
|
||||
-Wl,-V.
|
||||
|
||||
When the -shared link option is used a final link is not being
|
||||
done. */
|
||||
#define MINIX_LINK_SPEC " \
|
||||
-X \
|
||||
%{p:%nconsider using `-pg' instead of `-p' with gprof(1) } \
|
||||
%{assert*} %{R*} %{rpath*} \
|
||||
%{shared:-Bshareable %{h*} %{soname*}} \
|
||||
%{symbolic:-Bsymbolic} \
|
||||
%{!shared: \
|
||||
-dc -dp \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!dynamic-linker:-dynamic-linker %(minix_dynamic_linker) }} \
|
||||
%{static:-Bstatic}}"
|
||||
|
||||
#define MINIX_TARGET_UNWIND_TABLES_DEFAULT true
|
||||
135
lang/gcc45/files/minix.h
Normal file
135
lang/gcc45/files/minix.h
Normal file
@@ -0,0 +1,135 @@
|
||||
/* Base configuration file for all MINIX targets.
|
||||
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
|
||||
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 2, 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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
/* Common MINIX configuration.
|
||||
* This file maps GCC defines to MINIX defines
|
||||
*
|
||||
* For this to work properly, the order in the tm_file variable has
|
||||
* to be the following:
|
||||
* minix-spec.h $arch/minix.h minix.h
|
||||
*
|
||||
* minix-spec.h : specifies default arch-independent values
|
||||
* $arch/minix.h: redefines as needed default minix values
|
||||
* minix.h : maps GCC defines to the minix defines.
|
||||
*/
|
||||
|
||||
/* In case we need to know. */
|
||||
#define USING_CONFIG_MINIX 1
|
||||
|
||||
#undef SWITCH_TAKES_ARG
|
||||
#define SWITCH_TAKES_ARG(CHAR) (MINIX_SWITCH_TAKES_ARG(CHAR))
|
||||
|
||||
#undef WORD_SWITCH_TAKES_ARG
|
||||
#define WORD_SWITCH_TAKES_ARG(STR) (MINIX_WORD_SWITCH_TAKES_ARG(STR))
|
||||
|
||||
#undef TARGET_OS_CPP_BUILTINS
|
||||
#define TARGET_OS_CPP_BUILTINS() MINIX_TARGET_OS_CPP_BUILTINS()
|
||||
|
||||
#if defined(NETBSD_NATIVE)
|
||||
#undef GPLUSPLUS_INCLUDE_DIR
|
||||
#define GPLUSPLUS_INCLUDE_DIR MINIX_GPLUSPLUS_INCLUDE_DIR
|
||||
|
||||
#undef GPLUSPLUS_BACKWARD_INCLUDE_DIR
|
||||
#define GPLUSPLUS_BACKWARD_INCLUDE_DIR MINIX_GPLUSPLUS_BACKWARD_INCLUDE_DIR
|
||||
|
||||
#undef GCC_INCLUDE_DIR
|
||||
#define GCC_INCLUDE_DIR MINIX_GCC_INCLUDE_DIR
|
||||
|
||||
#undef INCLUDE_DEFAULTS
|
||||
#define INCLUDE_DEFAULTS MINIX_INCLUDE_DEFAULTS
|
||||
#endif /* defined(NETBSD_NATIVE) */
|
||||
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC MINIX_CPP_SPEC
|
||||
|
||||
#undef CC1_SPEC
|
||||
#define CC1_SPEC MINIX_CC1_SPEC
|
||||
|
||||
#undef CC1PLUS_SPEC
|
||||
#define CC1PLUS_SPEC MINIX_CC1PLUS_SPEC
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC MINIX_STARTFILE_SPEC
|
||||
|
||||
#undef ENDFILE_SPEC
|
||||
#define ENDFILE_SPEC MINIX_ENDFILE_SPEC
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC MINIX_LIB_SPEC
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC MINIX_LINK_SPEC
|
||||
|
||||
#undef STANDARD_STARTFILE_PREFIX
|
||||
#define STANDARD_STARTFILE_PREFIX MINIX_STANDARD_STARTFILE_PREFIX
|
||||
|
||||
#undef STANDARD_STARTFILE_PREFIX_1
|
||||
#define STANDARD_STARTFILE_PREFIX_1 MINIX_STANDARD_STARTFILE_PREFIX
|
||||
|
||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
||||
#define LINK_GCC_C_SEQUENCE_SPEC MINIX_LINK_GCC_C_SEQUENCE_SPEC
|
||||
|
||||
/* This has to be here in order to allow architecture to define the default
|
||||
* content of the additional specs. */
|
||||
#undef SUBTARGET_EXTRA_SPECS
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "subtarget_extra_asm_spec", MINIX_SUBTARGET_EXTRA_ASM_SPEC }, \
|
||||
{ "subtarget_asm_float_spec", MINIX_SUBTARGET_ASM_FLOAT_SPEC }, \
|
||||
{ "minix_dynamic_linker", MINIX_DYNAMIC_LINKER }
|
||||
|
||||
#undef SUBTARGET_CPP_SPEC
|
||||
#define SUBTARGET_CPP_SPEC MINIX_SUBTARGET_CPP_SPEC
|
||||
|
||||
/* All MINIX Architectures support the ELF object file format. */
|
||||
#undef OBJECT_FORMAT_ELF
|
||||
#define OBJECT_FORMAT_ELF
|
||||
|
||||
/* Use periods rather than dollar signs in special g++ assembler names.
|
||||
This ensures the configuration knows our system correctly so we can link
|
||||
with libraries compiled with the native cc. */
|
||||
#undef NO_DOLLAR_IN_LABEL
|
||||
|
||||
/* Don't assume anything about the header files. */
|
||||
#undef NO_IMPLICIT_EXTERN_C
|
||||
#define NO_IMPLICIT_EXTERN_C 1
|
||||
|
||||
/* Handle #pragma weak and #pragma pack. */
|
||||
#undef HANDLE_SYSV_PRAGMA
|
||||
#define HANDLE_SYSV_PRAGMA 1
|
||||
|
||||
/* Don't default to pcc-struct-return, we want to retain compatibility with
|
||||
older gcc versions AND pcc-struct-return is nonreentrant.
|
||||
(even though the SVR4 ABI for the i386 says that records and unions are
|
||||
returned in memory). */
|
||||
|
||||
#undef DEFAULT_PCC_STRUCT_RETURN
|
||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
||||
|
||||
/* Use --as-needed -lgcc_s for eh support. */
|
||||
#ifdef HAVE_LD_AS_NEEDED
|
||||
#define USE_LD_AS_NEEDED 1
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||
#define LINK_EH_SPEC "--eh-frame-hdr "
|
||||
#endif
|
||||
|
||||
#undef TARGET_UNWIND_TABLES_DEFAULT
|
||||
#define TARGET_UNWIND_TABLES_DEFAULT MINIX_TARGET_UNWIND_TABLES_DEFAULT
|
||||
5
lang/gcc45/files/t-minix
Normal file
5
lang/gcc45/files/t-minix
Normal file
@@ -0,0 +1,5 @@
|
||||
# Compile crtbeginS.o and crtendS.o with pic.
|
||||
CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
|
||||
|
||||
# Compile libgcc.a with pic.
|
||||
TARGET_LIBGCC2_CFLAGS += -fPIC
|
||||
@@ -1,8 +1,8 @@
|
||||
# $NetBSD: options.mk,v 1.3 2014/05/16 12:01:17 pho Exp $
|
||||
# $NetBSD: options.mk,v 1.2 2012/04/13 11:10:09 hans Exp $
|
||||
|
||||
PKG_OPTIONS_VAR= PKG_OPTIONS.gcc45
|
||||
PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-c++ gcc-fortran gcc-java gcc-objc gcc-objc++ #gcc-ada
|
||||
PKG_SUGGESTED_OPTIONS= gcc-c++ gcc-fortran gcc-objc gcc-objc++
|
||||
PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-c++ gcc-fortran gcc-java gcc-objc #gcc-ada
|
||||
PKG_SUGGESTED_OPTIONS= gcc-c++ gcc-fortran gcc-objc
|
||||
.if ${OPSYS} == "NetBSD"
|
||||
PKG_SUGGESTED_OPTIONS+= nls
|
||||
.elif ${OPSYS} == "SunOS"
|
||||
@@ -84,23 +84,16 @@ MAKE_ENV+= ac_cv_prog_JAR=no
|
||||
.include "../../lang/python/application.mk"
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mgcc-objc++)
|
||||
. if empty(PKG_OPTIONS:Mgcc-objc)
|
||||
PKG_OPTIONS+= gcc-objc
|
||||
. endif
|
||||
. if empty(PKG_OPTIONS:Mgcc-c++)
|
||||
PKG_OPTIONS+= gcc-c++
|
||||
. endif
|
||||
|
||||
LANGS+= obj-c++
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mgcc-c++)
|
||||
LANGS+= c++
|
||||
USE_TOOLS+= perl
|
||||
CONFIGURE_ARGS+= --enable-__cxa_atexit
|
||||
.if ${OPSYS} == "NetBSD" && ${OS_VARIANT} == "Minix"
|
||||
CONFIGURE_ARGS+= --with-gxx-include-dir=${GCC_PREFIX}/include/g++/
|
||||
.else
|
||||
CONFIGURE_ARGS+= --with-gxx-include-dir=${GCC_PREFIX}/include/c++/
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if !empty(PKG_OPTIONS:Mgcc-fortran)
|
||||
LANGS+= fortran
|
||||
|
||||
38
lang/gcc45/patches/patch-ChangeLog
Normal file
38
lang/gcc45/patches/patch-ChangeLog
Normal file
@@ -0,0 +1,38 @@
|
||||
$NetBSD$
|
||||
|
||||
--- ChangeLog.orig Thu Apr 28 14:08:55 2011
|
||||
+++ ChangeLog
|
||||
@@ -1,3 +1,33 @@
|
||||
+2012-07-02 Release Manager
|
||||
+
|
||||
+ * GCC 4.5.4 released.
|
||||
+
|
||||
+2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
|
||||
+
|
||||
+ * configure: Regenerate.
|
||||
+
|
||||
+2011-06-27 Hans-Peter Nilsson <hp@axis.com>
|
||||
+
|
||||
+ PR regression/47836
|
||||
+ PR bootstrap/23656
|
||||
+ PR other/47733
|
||||
+ PR bootstrap/49247
|
||||
+ PR c/48825
|
||||
+ * configure.ac (target_libraries): Remove target-libiberty.
|
||||
+ Remove all target-specific settings adding target-libiberty to
|
||||
+ skipdirs and noconfigdirs. Remove checking target_configdirs
|
||||
+ and removing target-libiberty but keeping target-libgcc if
|
||||
+ otherwise empty.
|
||||
+ * Makefile.def (target_modules): Don't add libiberty.
|
||||
+ (dependencies): Remove all traces of target-libiberty.
|
||||
+ * configure, Makefile.in: Regenerate.
|
||||
+
|
||||
+2011-06-19 Jack Howarth <howarth@bromo.med.uc.edu>
|
||||
+
|
||||
+ PR target/49461
|
||||
+ * configure.ac: Use mh-x86-darwin.
|
||||
+ * configure: Regenerate.
|
||||
+
|
||||
2011-04-28 Release Manager
|
||||
|
||||
* GCC 4.5.3 released.
|
||||
13
lang/gcc45/patches/patch-INSTALL_configure.html
Normal file
13
lang/gcc45/patches/patch-INSTALL_configure.html
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- INSTALL/configure.html.orig Thu Apr 28 14:31:39 2011
|
||||
+++ INSTALL/configure.html
|
||||
@@ -561,7 +561,7 @@ systems that support conditional traps).
|
||||
<!-- If you make -with-llsc the default for additional targets, -->
|
||||
<!-- update the -with-llsc description in the MIPS section below. -->
|
||||
<br><dt><code>--with-llsc</code><dd>On MIPS targets, make <samp><span class="option">-mllsc</span></samp> the default when no
|
||||
-<samp><span class="option">-mno-lsc</span></samp> option is passed. This is the default for
|
||||
+<samp><span class="option">-mno-llsc</span></samp> option is passed. This is the default for
|
||||
Linux-based targets, as the kernel will emulate them if the ISA does
|
||||
not provide them.
|
||||
|
||||
7
lang/gcc45/patches/patch-LAST__UPDATED
Normal file
7
lang/gcc45/patches/patch-LAST__UPDATED
Normal file
@@ -0,0 +1,7 @@
|
||||
$NetBSD$
|
||||
|
||||
--- LAST_UPDATED.orig Thu Apr 28 14:31:39 2011
|
||||
+++ LAST_UPDATED
|
||||
@@ -1 +1 @@
|
||||
-Obtained from SVN: tags/gcc_4_5_3_release revision 173114
|
||||
+Obtained from SVN: tags/gcc_4_5_4_release revision 189153
|
||||
2175
lang/gcc45/patches/patch-MD5SUMS
Normal file
2175
lang/gcc45/patches/patch-MD5SUMS
Normal file
File diff suppressed because it is too large
Load Diff
41
lang/gcc45/patches/patch-Makefile.def
Normal file
41
lang/gcc45/patches/patch-Makefile.def
Normal file
@@ -0,0 +1,41 @@
|
||||
$NetBSD$
|
||||
|
||||
--- Makefile.def.orig Thu Jun 10 17:05:59 2010
|
||||
+++ Makefile.def
|
||||
@@ -164,7 +164,6 @@ target_modules = { module= libtermcap; no_check=true;
|
||||
missing=maintainer-clean; };
|
||||
target_modules = { module= winsup; };
|
||||
target_modules = { module= libgloss; no_check=true; };
|
||||
-target_modules = { module= libiberty; };
|
||||
target_modules = { module= gperf; };
|
||||
target_modules = { module= examples; no_check=true; no_install=true; };
|
||||
target_modules = { module= libffi; };
|
||||
@@ -532,7 +531,6 @@ dependencies = { module=configure-target-boehm-gc; on=
|
||||
dependencies = { module=configure-target-boehm-gc; on=all-target-libstdc++-v3; };
|
||||
dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
|
||||
dependencies = { module=all-target-fastjar; on=all-target-zlib; };
|
||||
-dependencies = { module=all-target-fastjar; on=all-target-libiberty; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-zlib; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-qthreads; };
|
||||
@@ -543,9 +541,7 @@ dependencies = { module=all-target-libjava; on=all-tar
|
||||
dependencies = { module=all-target-libjava; on=all-target-qthreads; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-libffi; };
|
||||
dependencies = { module=configure-target-libobjc; on=configure-target-boehm-gc; };
|
||||
-dependencies = { module=all-target-libobjc; on=all-target-libiberty; };
|
||||
dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
|
||||
-dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };
|
||||
dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
|
||||
// parallel_list.o and parallel_settings.o depend on omp.h, which is
|
||||
// generated by the libgomp configure. Unfortunately, due to the use of
|
||||
@@ -560,10 +556,7 @@ lang_env_dependencies = { module=winsup; };
|
||||
lang_env_dependencies = { module=qthreads; };
|
||||
|
||||
dependencies = { module=all-target-libgloss; on=all-target-newlib; };
|
||||
-dependencies = { module=all-target-winsup; on=all-target-libiberty; };
|
||||
dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
|
||||
-dependencies = { module=configure-target-libiberty; on=all-binutils; };
|
||||
-dependencies = { module=configure-target-libiberty; on=all-ld; };
|
||||
dependencies = { module=configure-target-newlib; on=all-binutils; };
|
||||
dependencies = { module=configure-target-newlib; on=all-ld; };
|
||||
|
||||
659
lang/gcc45/patches/patch-Makefile.in
Normal file
659
lang/gcc45/patches/patch-Makefile.in
Normal file
@@ -0,0 +1,659 @@
|
||||
$NetBSD$
|
||||
|
||||
--- /usr/pkgsrc/work/lang/gcc45/work/gcc-4.5.3/Makefile.in.orig Thu Jun 10 17:05:59 2010
|
||||
+++ /usr/pkgsrc/work/lang/gcc45/work/gcc-4.5.3/Makefile.in
|
||||
@@ -530,7 +530,7 @@ COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_TARGET@
|
||||
COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
|
||||
COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
|
||||
|
||||
-CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
|
||||
+CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@ -B/usr/lib
|
||||
CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
|
||||
|
||||
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
|
||||
@@ -930,7 +930,6 @@ configure-target: \
|
||||
maybe-configure-target-libtermcap \
|
||||
maybe-configure-target-winsup \
|
||||
maybe-configure-target-libgloss \
|
||||
- maybe-configure-target-libiberty \
|
||||
maybe-configure-target-gperf \
|
||||
maybe-configure-target-examples \
|
||||
maybe-configure-target-libffi \
|
||||
@@ -1112,7 +1111,6 @@ all-target: maybe-all-target-libobjc
|
||||
all-target: maybe-all-target-libtermcap
|
||||
all-target: maybe-all-target-winsup
|
||||
all-target: maybe-all-target-libgloss
|
||||
-all-target: maybe-all-target-libiberty
|
||||
all-target: maybe-all-target-gperf
|
||||
all-target: maybe-all-target-examples
|
||||
all-target: maybe-all-target-libffi
|
||||
@@ -1233,7 +1231,6 @@ info-target: maybe-info-target-libobjc
|
||||
info-target: maybe-info-target-libtermcap
|
||||
info-target: maybe-info-target-winsup
|
||||
info-target: maybe-info-target-libgloss
|
||||
-info-target: maybe-info-target-libiberty
|
||||
info-target: maybe-info-target-gperf
|
||||
info-target: maybe-info-target-examples
|
||||
info-target: maybe-info-target-libffi
|
||||
@@ -1347,7 +1344,6 @@ dvi-target: maybe-dvi-target-libobjc
|
||||
dvi-target: maybe-dvi-target-libtermcap
|
||||
dvi-target: maybe-dvi-target-winsup
|
||||
dvi-target: maybe-dvi-target-libgloss
|
||||
-dvi-target: maybe-dvi-target-libiberty
|
||||
dvi-target: maybe-dvi-target-gperf
|
||||
dvi-target: maybe-dvi-target-examples
|
||||
dvi-target: maybe-dvi-target-libffi
|
||||
@@ -1461,7 +1457,6 @@ pdf-target: maybe-pdf-target-libobjc
|
||||
pdf-target: maybe-pdf-target-libtermcap
|
||||
pdf-target: maybe-pdf-target-winsup
|
||||
pdf-target: maybe-pdf-target-libgloss
|
||||
-pdf-target: maybe-pdf-target-libiberty
|
||||
pdf-target: maybe-pdf-target-gperf
|
||||
pdf-target: maybe-pdf-target-examples
|
||||
pdf-target: maybe-pdf-target-libffi
|
||||
@@ -1575,7 +1570,6 @@ html-target: maybe-html-target-libobjc
|
||||
html-target: maybe-html-target-libtermcap
|
||||
html-target: maybe-html-target-winsup
|
||||
html-target: maybe-html-target-libgloss
|
||||
-html-target: maybe-html-target-libiberty
|
||||
html-target: maybe-html-target-gperf
|
||||
html-target: maybe-html-target-examples
|
||||
html-target: maybe-html-target-libffi
|
||||
@@ -1689,7 +1683,6 @@ TAGS-target: maybe-TAGS-target-libobjc
|
||||
TAGS-target: maybe-TAGS-target-libtermcap
|
||||
TAGS-target: maybe-TAGS-target-winsup
|
||||
TAGS-target: maybe-TAGS-target-libgloss
|
||||
-TAGS-target: maybe-TAGS-target-libiberty
|
||||
TAGS-target: maybe-TAGS-target-gperf
|
||||
TAGS-target: maybe-TAGS-target-examples
|
||||
TAGS-target: maybe-TAGS-target-libffi
|
||||
@@ -1803,7 +1796,6 @@ install-info-target: maybe-install-info-target-libobjc
|
||||
install-info-target: maybe-install-info-target-libtermcap
|
||||
install-info-target: maybe-install-info-target-winsup
|
||||
install-info-target: maybe-install-info-target-libgloss
|
||||
-install-info-target: maybe-install-info-target-libiberty
|
||||
install-info-target: maybe-install-info-target-gperf
|
||||
install-info-target: maybe-install-info-target-examples
|
||||
install-info-target: maybe-install-info-target-libffi
|
||||
@@ -1917,7 +1909,6 @@ install-pdf-target: maybe-install-pdf-target-libobjc
|
||||
install-pdf-target: maybe-install-pdf-target-libtermcap
|
||||
install-pdf-target: maybe-install-pdf-target-winsup
|
||||
install-pdf-target: maybe-install-pdf-target-libgloss
|
||||
-install-pdf-target: maybe-install-pdf-target-libiberty
|
||||
install-pdf-target: maybe-install-pdf-target-gperf
|
||||
install-pdf-target: maybe-install-pdf-target-examples
|
||||
install-pdf-target: maybe-install-pdf-target-libffi
|
||||
@@ -2031,7 +2022,6 @@ install-html-target: maybe-install-html-target-libobjc
|
||||
install-html-target: maybe-install-html-target-libtermcap
|
||||
install-html-target: maybe-install-html-target-winsup
|
||||
install-html-target: maybe-install-html-target-libgloss
|
||||
-install-html-target: maybe-install-html-target-libiberty
|
||||
install-html-target: maybe-install-html-target-gperf
|
||||
install-html-target: maybe-install-html-target-examples
|
||||
install-html-target: maybe-install-html-target-libffi
|
||||
@@ -2145,7 +2135,6 @@ installcheck-target: maybe-installcheck-target-libobjc
|
||||
installcheck-target: maybe-installcheck-target-libtermcap
|
||||
installcheck-target: maybe-installcheck-target-winsup
|
||||
installcheck-target: maybe-installcheck-target-libgloss
|
||||
-installcheck-target: maybe-installcheck-target-libiberty
|
||||
installcheck-target: maybe-installcheck-target-gperf
|
||||
installcheck-target: maybe-installcheck-target-examples
|
||||
installcheck-target: maybe-installcheck-target-libffi
|
||||
@@ -2259,7 +2248,6 @@ mostlyclean-target: maybe-mostlyclean-target-libobjc
|
||||
mostlyclean-target: maybe-mostlyclean-target-libtermcap
|
||||
mostlyclean-target: maybe-mostlyclean-target-winsup
|
||||
mostlyclean-target: maybe-mostlyclean-target-libgloss
|
||||
-mostlyclean-target: maybe-mostlyclean-target-libiberty
|
||||
mostlyclean-target: maybe-mostlyclean-target-gperf
|
||||
mostlyclean-target: maybe-mostlyclean-target-examples
|
||||
mostlyclean-target: maybe-mostlyclean-target-libffi
|
||||
@@ -2373,7 +2361,6 @@ clean-target: maybe-clean-target-libobjc
|
||||
clean-target: maybe-clean-target-libtermcap
|
||||
clean-target: maybe-clean-target-winsup
|
||||
clean-target: maybe-clean-target-libgloss
|
||||
-clean-target: maybe-clean-target-libiberty
|
||||
clean-target: maybe-clean-target-gperf
|
||||
clean-target: maybe-clean-target-examples
|
||||
clean-target: maybe-clean-target-libffi
|
||||
@@ -2487,7 +2474,6 @@ distclean-target: maybe-distclean-target-libobjc
|
||||
distclean-target: maybe-distclean-target-libtermcap
|
||||
distclean-target: maybe-distclean-target-winsup
|
||||
distclean-target: maybe-distclean-target-libgloss
|
||||
-distclean-target: maybe-distclean-target-libiberty
|
||||
distclean-target: maybe-distclean-target-gperf
|
||||
distclean-target: maybe-distclean-target-examples
|
||||
distclean-target: maybe-distclean-target-libffi
|
||||
@@ -2601,7 +2587,6 @@ maintainer-clean-target: maybe-maintainer-clean-target
|
||||
maintainer-clean-target: maybe-maintainer-clean-target-libtermcap
|
||||
maintainer-clean-target: maybe-maintainer-clean-target-winsup
|
||||
maintainer-clean-target: maybe-maintainer-clean-target-libgloss
|
||||
-maintainer-clean-target: maybe-maintainer-clean-target-libiberty
|
||||
maintainer-clean-target: maybe-maintainer-clean-target-gperf
|
||||
maintainer-clean-target: maybe-maintainer-clean-target-examples
|
||||
maintainer-clean-target: maybe-maintainer-clean-target-libffi
|
||||
@@ -2770,7 +2755,6 @@ check-target: \
|
||||
maybe-check-target-libtermcap \
|
||||
maybe-check-target-winsup \
|
||||
maybe-check-target-libgloss \
|
||||
- maybe-check-target-libiberty \
|
||||
maybe-check-target-gperf \
|
||||
maybe-check-target-examples \
|
||||
maybe-check-target-libffi \
|
||||
@@ -2991,7 +2975,6 @@ install-target: \
|
||||
maybe-install-target-libtermcap \
|
||||
maybe-install-target-winsup \
|
||||
maybe-install-target-libgloss \
|
||||
- maybe-install-target-libiberty \
|
||||
maybe-install-target-gperf \
|
||||
maybe-install-target-examples \
|
||||
maybe-install-target-libffi \
|
||||
@@ -50216,448 +50199,6 @@ maintainer-clean-target-libgloss:
|
||||
|
||||
|
||||
|
||||
-.PHONY: configure-target-libiberty maybe-configure-target-libiberty
|
||||
-maybe-configure-target-libiberty:
|
||||
-@if gcc-bootstrap
|
||||
-configure-target-libiberty: stage_current
|
||||
-@endif gcc-bootstrap
|
||||
-@if target-libiberty
|
||||
-maybe-configure-target-libiberty: configure-target-libiberty
|
||||
-configure-target-libiberty:
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- echo "Checking multilib configuration for libiberty..."; \
|
||||
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
|
||||
- $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libiberty/multilib.tmp 2> /dev/null ; \
|
||||
- if test -r $(TARGET_SUBDIR)/libiberty/multilib.out; then \
|
||||
- if cmp -s $(TARGET_SUBDIR)/libiberty/multilib.tmp $(TARGET_SUBDIR)/libiberty/multilib.out; then \
|
||||
- rm -f $(TARGET_SUBDIR)/libiberty/multilib.tmp; \
|
||||
- else \
|
||||
- rm -f $(TARGET_SUBDIR)/libiberty/Makefile; \
|
||||
- mv $(TARGET_SUBDIR)/libiberty/multilib.tmp $(TARGET_SUBDIR)/libiberty/multilib.out; \
|
||||
- fi; \
|
||||
- else \
|
||||
- mv $(TARGET_SUBDIR)/libiberty/multilib.tmp $(TARGET_SUBDIR)/libiberty/multilib.out; \
|
||||
- fi; \
|
||||
- test ! -f $(TARGET_SUBDIR)/libiberty/Makefile || exit 0; \
|
||||
- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo Configuring in $(TARGET_SUBDIR)/libiberty; \
|
||||
- cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \
|
||||
- case $(srcdir) in \
|
||||
- /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
|
||||
- *) topdir=`echo $(TARGET_SUBDIR)/libiberty/ | \
|
||||
- sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
|
||||
- esac; \
|
||||
- srcdiroption="--srcdir=$${topdir}/libiberty"; \
|
||||
- libsrcdir="$$s/libiberty"; \
|
||||
- rm -f no-such-file || : ; \
|
||||
- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
|
||||
- $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
|
||||
- --target=${target_alias} $${srcdiroption} \
|
||||
- || exit 1
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-.PHONY: all-target-libiberty maybe-all-target-libiberty
|
||||
-maybe-all-target-libiberty:
|
||||
-@if gcc-bootstrap
|
||||
-all-target-libiberty: stage_current
|
||||
-@endif gcc-bootstrap
|
||||
-@if target-libiberty
|
||||
-TARGET-target-libiberty=all
|
||||
-maybe-all-target-libiberty: all-target-libiberty
|
||||
-all-target-libiberty: configure-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
|
||||
- $(TARGET-target-libiberty))
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-.PHONY: check-target-libiberty maybe-check-target-libiberty
|
||||
-maybe-check-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-check-target-libiberty: check-target-libiberty
|
||||
-
|
||||
-check-target-libiberty:
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: install-target-libiberty maybe-install-target-libiberty
|
||||
-maybe-install-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-install-target-libiberty: install-target-libiberty
|
||||
-
|
||||
-install-target-libiberty: installdirs
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-# Other targets (info, dvi, pdf, etc.)
|
||||
-
|
||||
-.PHONY: maybe-info-target-libiberty info-target-libiberty
|
||||
-maybe-info-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-info-target-libiberty: info-target-libiberty
|
||||
-
|
||||
-info-target-libiberty: \
|
||||
- configure-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing info in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- info) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-dvi-target-libiberty dvi-target-libiberty
|
||||
-maybe-dvi-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-dvi-target-libiberty: dvi-target-libiberty
|
||||
-
|
||||
-dvi-target-libiberty: \
|
||||
- configure-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing dvi in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- dvi) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-pdf-target-libiberty pdf-target-libiberty
|
||||
-maybe-pdf-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-pdf-target-libiberty: pdf-target-libiberty
|
||||
-
|
||||
-pdf-target-libiberty: \
|
||||
- configure-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing pdf in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- pdf) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-html-target-libiberty html-target-libiberty
|
||||
-maybe-html-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-html-target-libiberty: html-target-libiberty
|
||||
-
|
||||
-html-target-libiberty: \
|
||||
- configure-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing html in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- html) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-TAGS-target-libiberty TAGS-target-libiberty
|
||||
-maybe-TAGS-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-TAGS-target-libiberty: TAGS-target-libiberty
|
||||
-
|
||||
-TAGS-target-libiberty: \
|
||||
- configure-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing TAGS in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- TAGS) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-install-info-target-libiberty install-info-target-libiberty
|
||||
-maybe-install-info-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-install-info-target-libiberty: install-info-target-libiberty
|
||||
-
|
||||
-install-info-target-libiberty: \
|
||||
- configure-target-libiberty \
|
||||
- info-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing install-info in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- install-info) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-install-pdf-target-libiberty install-pdf-target-libiberty
|
||||
-maybe-install-pdf-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-install-pdf-target-libiberty: install-pdf-target-libiberty
|
||||
-
|
||||
-install-pdf-target-libiberty: \
|
||||
- configure-target-libiberty \
|
||||
- pdf-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing install-pdf in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- install-pdf) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-install-html-target-libiberty install-html-target-libiberty
|
||||
-maybe-install-html-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-install-html-target-libiberty: install-html-target-libiberty
|
||||
-
|
||||
-install-html-target-libiberty: \
|
||||
- configure-target-libiberty \
|
||||
- html-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing install-html in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- install-html) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-installcheck-target-libiberty installcheck-target-libiberty
|
||||
-maybe-installcheck-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-installcheck-target-libiberty: installcheck-target-libiberty
|
||||
-
|
||||
-installcheck-target-libiberty: \
|
||||
- configure-target-libiberty
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing installcheck in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- installcheck) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-mostlyclean-target-libiberty mostlyclean-target-libiberty
|
||||
-maybe-mostlyclean-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-mostlyclean-target-libiberty: mostlyclean-target-libiberty
|
||||
-
|
||||
-mostlyclean-target-libiberty:
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- mostlyclean) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-clean-target-libiberty clean-target-libiberty
|
||||
-maybe-clean-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-clean-target-libiberty: clean-target-libiberty
|
||||
-
|
||||
-clean-target-libiberty:
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing clean in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- clean) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-distclean-target-libiberty distclean-target-libiberty
|
||||
-maybe-distclean-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-distclean-target-libiberty: distclean-target-libiberty
|
||||
-
|
||||
-distclean-target-libiberty:
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing distclean in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- distclean) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-.PHONY: maybe-maintainer-clean-target-libiberty maintainer-clean-target-libiberty
|
||||
-maybe-maintainer-clean-target-libiberty:
|
||||
-@if target-libiberty
|
||||
-maybe-maintainer-clean-target-libiberty: maintainer-clean-target-libiberty
|
||||
-
|
||||
-maintainer-clean-target-libiberty:
|
||||
- @: $(MAKE); $(unstage)
|
||||
- @[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
|
||||
- r=`${PWD_COMMAND}`; export r; \
|
||||
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
|
||||
- $(NORMAL_TARGET_EXPORTS) \
|
||||
- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libiberty" ; \
|
||||
- for flag in $(EXTRA_TARGET_FLAGS); do \
|
||||
- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
|
||||
- done; \
|
||||
- (cd $(TARGET_SUBDIR)/libiberty && \
|
||||
- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
|
||||
- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
|
||||
- "RANLIB=$${RANLIB}" \
|
||||
- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
|
||||
- maintainer-clean) \
|
||||
- || exit 1
|
||||
-
|
||||
-@endif target-libiberty
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
.PHONY: configure-target-gperf maybe-configure-target-gperf
|
||||
maybe-configure-target-gperf:
|
||||
@if gcc-bootstrap
|
||||
@@ -57654,7 +57195,6 @@ configure-target-libobjc: stage_last
|
||||
configure-target-libtermcap: stage_last
|
||||
configure-target-winsup: stage_last
|
||||
configure-target-libgloss: stage_last
|
||||
-configure-target-libiberty: stage_last
|
||||
configure-target-gperf: stage_last
|
||||
configure-target-examples: stage_last
|
||||
configure-target-libffi: stage_last
|
||||
@@ -57683,7 +57223,6 @@ configure-target-libobjc: maybe-all-gcc
|
||||
configure-target-libtermcap: maybe-all-gcc
|
||||
configure-target-winsup: maybe-all-gcc
|
||||
configure-target-libgloss: maybe-all-gcc
|
||||
-configure-target-libiberty: maybe-all-gcc
|
||||
configure-target-gperf: maybe-all-gcc
|
||||
configure-target-examples: maybe-all-gcc
|
||||
configure-target-libffi: maybe-all-gcc
|
||||
@@ -58395,7 +57934,6 @@ configure-target-boehm-gc: maybe-configure-target-qthr
|
||||
configure-target-boehm-gc: maybe-all-target-libstdc++-v3
|
||||
configure-target-fastjar: maybe-configure-target-zlib
|
||||
all-target-fastjar: maybe-all-target-zlib
|
||||
-all-target-fastjar: maybe-all-target-libiberty
|
||||
configure-target-libjava: maybe-configure-target-zlib
|
||||
configure-target-libjava: maybe-configure-target-boehm-gc
|
||||
configure-target-libjava: maybe-configure-target-qthreads
|
||||
@@ -58406,9 +57944,7 @@ all-target-libjava: maybe-all-target-boehm-gc
|
||||
all-target-libjava: maybe-all-target-qthreads
|
||||
all-target-libjava: maybe-all-target-libffi
|
||||
configure-target-libobjc: maybe-configure-target-boehm-gc
|
||||
-all-target-libobjc: maybe-all-target-libiberty
|
||||
all-target-libobjc: maybe-all-target-boehm-gc
|
||||
-all-target-libstdc++-v3: maybe-all-target-libiberty
|
||||
configure-target-libstdc++-v3: maybe-configure-target-libgomp
|
||||
|
||||
configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
|
||||
@@ -58426,10 +57962,7 @@ all-stage4-target-libstdc++-v3: maybe-configure-stage4
|
||||
all-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
|
||||
all-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
|
||||
all-target-libgloss: maybe-all-target-newlib
|
||||
-all-target-winsup: maybe-all-target-libiberty
|
||||
all-target-winsup: maybe-all-target-libtermcap
|
||||
-configure-target-libiberty: maybe-all-binutils
|
||||
-configure-target-libiberty: maybe-all-ld
|
||||
configure-target-newlib: maybe-all-binutils
|
||||
configure-target-newlib: maybe-all-ld
|
||||
|
||||
@@ -58464,7 +57997,6 @@ configure-target-libobjc: maybe-all-target-libgcc
|
||||
configure-target-libtermcap: maybe-all-target-libgcc
|
||||
configure-target-winsup: maybe-all-target-libgcc
|
||||
configure-target-libgloss: maybe-all-target-libgcc
|
||||
-configure-target-libiberty: maybe-all-target-libgcc
|
||||
configure-target-gperf: maybe-all-target-libgcc
|
||||
configure-target-examples: maybe-all-target-libgcc
|
||||
configure-target-libffi: maybe-all-target-libgcc
|
||||
@@ -58493,7 +58025,6 @@ configure-target-libobjc: maybe-all-target-newlib mayb
|
||||
configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss
|
||||
|
||||
configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss
|
||||
-
|
||||
|
||||
|
||||
configure-target-gperf: maybe-all-target-newlib maybe-all-target-libgloss
|
||||
823
lang/gcc45/patches/patch-NEWS
Normal file
823
lang/gcc45/patches/patch-NEWS
Normal file
@@ -0,0 +1,823 @@
|
||||
$NetBSD$
|
||||
|
||||
--- NEWS.orig Thu Apr 28 14:32:00 2011
|
||||
+++ NEWS
|
||||
@@ -9,27 +9,30 @@ http://gcc.gnu.org/gcc-4.5/index.html
|
||||
|
||||
GCC 4.5 Release Series
|
||||
|
||||
- Apr 28, 2011
|
||||
+ Jul 2, 2012
|
||||
|
||||
The [1]GNU project and the GCC developers are pleased to announce the
|
||||
- release of GCC 4.5.3.
|
||||
+ release of GCC 4.5.4.
|
||||
|
||||
This release is a bug-fix release, containing fixes for regressions in
|
||||
- GCC 4.5.2 relative to previous releases of GCC.
|
||||
+ GCC 4.5.3 relative to previous releases of GCC.
|
||||
|
||||
Release History
|
||||
|
||||
+ GCC 4.5.4
|
||||
+ Jul 2, 2012 ([2]changes)
|
||||
+
|
||||
GCC 4.5.3
|
||||
- Apr 28, 2011 ([2]changes)
|
||||
+ Apr 28, 2011 ([3]changes)
|
||||
|
||||
GCC 4.5.2
|
||||
- Dec 16, 2010 ([3]changes)
|
||||
+ Dec 16, 2010 ([4]changes)
|
||||
|
||||
GCC 4.5.1
|
||||
- Jul 31, 2010 ([4]changes)
|
||||
+ Jul 31, 2010 ([5]changes)
|
||||
|
||||
GCC 4.5.0
|
||||
- April 14, 2010 ([5]changes)
|
||||
+ April 14, 2010 ([6]changes)
|
||||
|
||||
References and Acknowledgements
|
||||
|
||||
@@ -37,33 +40,33 @@ References and Acknowledgements
|
||||
supports several other languages aside from C, it now stands for the
|
||||
GNU Compiler Collection.
|
||||
|
||||
- A list of [6]successful builds is updated as new information becomes
|
||||
+ A list of [7]successful builds is updated as new information becomes
|
||||
available.
|
||||
|
||||
The GCC developers would like to thank the numerous people that have
|
||||
contributed new features, improvements, bug fixes, and other changes as
|
||||
- well as test results to GCC. This [7]amazing group of volunteers is
|
||||
+ well as test results to GCC. This [8]amazing group of volunteers is
|
||||
what makes GCC successful.
|
||||
|
||||
- For additional information about GCC please refer to the [8]GCC project
|
||||
- web site or contact the [9]GCC development mailing list.
|
||||
+ For additional information about GCC please refer to the [9]GCC project
|
||||
+ web site or contact the [10]GCC development mailing list.
|
||||
|
||||
- To obtain GCC please use [10]our mirror sites or [11]our SVN server.
|
||||
+ To obtain GCC please use [11]our mirror sites or [12]our SVN server.
|
||||
|
||||
|
||||
For questions related to the use of GCC, please consult these web
|
||||
- pages and the [12]GCC manuals. If that fails, the
|
||||
- [13]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
+ pages and the [13]GCC manuals. If that fails, the
|
||||
+ [14]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
web pages and the development of GCC are welcome on our developer
|
||||
- list at [14]gcc@gcc.gnu.org. All of [15]our lists have public
|
||||
+ list at [15]gcc@gcc.gnu.org. All of [16]our lists have public
|
||||
archives.
|
||||
|
||||
- Copyright (C) [16]Free Software Foundation, Inc. Verbatim copying and
|
||||
+ Copyright (C) [17]Free Software Foundation, Inc. Verbatim copying and
|
||||
distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.
|
||||
|
||||
- These pages are [17]maintained by the GCC team. Last modified
|
||||
- 2011-04-28[18].
|
||||
+ These pages are [18]maintained by the GCC team. Last modified
|
||||
+ 2012-07-02[19].
|
||||
|
||||
References
|
||||
|
||||
@@ -72,19 +75,20 @@ References
|
||||
3. http://gcc.gnu.org/gcc-4.5/changes.html
|
||||
4. http://gcc.gnu.org/gcc-4.5/changes.html
|
||||
5. http://gcc.gnu.org/gcc-4.5/changes.html
|
||||
- 6. http://gcc.gnu.org/gcc-4.5/buildstat.html
|
||||
- 7. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
|
||||
- 8. http://gcc.gnu.org/index.html
|
||||
- 9. mailto:gcc@gcc.gnu.org
|
||||
- 10. http://gcc.gnu.org/mirrors.html
|
||||
- 11. http://gcc.gnu.org/svn.html
|
||||
- 12. http://gcc.gnu.org/onlinedocs/
|
||||
- 13. mailto:gcc-help@gcc.gnu.org
|
||||
- 14. mailto:gcc@gcc.gnu.org
|
||||
- 15. http://gcc.gnu.org/lists.html
|
||||
- 16. http://www.fsf.org/
|
||||
- 17. http://gcc.gnu.org/about.html
|
||||
- 18. http://validator.w3.org/check/referer
|
||||
+ 6. http://gcc.gnu.org/gcc-4.5/changes.html
|
||||
+ 7. http://gcc.gnu.org/gcc-4.5/buildstat.html
|
||||
+ 8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
|
||||
+ 9. http://gcc.gnu.org/index.html
|
||||
+ 10. mailto:gcc@gcc.gnu.org
|
||||
+ 11. http://gcc.gnu.org/mirrors.html
|
||||
+ 12. http://gcc.gnu.org/svn.html
|
||||
+ 13. http://gcc.gnu.org/onlinedocs/
|
||||
+ 14. mailto:gcc-help@gcc.gnu.org
|
||||
+ 15. mailto:gcc@gcc.gnu.org
|
||||
+ 16. http://gcc.gnu.org/lists.html
|
||||
+ 17. http://www.fsf.org/
|
||||
+ 18. http://gcc.gnu.org/about.html
|
||||
+ 19. http://validator.w3.org/check/referer
|
||||
======================================================================
|
||||
http://gcc.gnu.org/gcc-4.5/changes.html
|
||||
|
||||
@@ -171,10 +175,10 @@ General Optimizer Improvements
|
||||
(e.g. csinf and csinl) are also handled.
|
||||
* A new link-time optimizer has been added ([8]-flto). When this
|
||||
option is used, GCC generates a bytecode representation of each
|
||||
- input file and writes it to special ELF sections in each object
|
||||
+ input file and writes it to specially-named sections in each object
|
||||
file. When the object files are linked together, all the function
|
||||
- bodies are read from these ELF sections and instantiated as if they
|
||||
- had been part of the same translation unit. This enables
|
||||
+ bodies are read from these named sections and instantiated as if
|
||||
+ they had been part of the same translation unit. This enables
|
||||
interprocedural optimizations to work across different files (and
|
||||
even different languages), potentially improving the performance of
|
||||
the generated code. To use the link-timer optimizer, -flto needs to
|
||||
@@ -490,8 +494,6 @@ vector-size: improvement = 3: call stack = 0x804842c .
|
||||
ATAN(Y,X) is now an alias for ATAN2(Y,X).
|
||||
+ The BLOCK construct has been implemented.
|
||||
|
||||
- Java (GCJ)
|
||||
-
|
||||
New Targets and Target Specific Improvements
|
||||
|
||||
AIX
|
||||
@@ -595,8 +597,6 @@ New Targets and Target Specific Improvements
|
||||
use_debug_exception_return. See the documentation for more details
|
||||
about these attributes.
|
||||
|
||||
- picochip
|
||||
-
|
||||
RS/6000 (POWER/PowerPC)
|
||||
|
||||
* GCC now supports the Power ISA 2.06, which includes the VSX
|
||||
@@ -616,6 +616,11 @@ New Targets and Target Specific Improvements
|
||||
* GCC can now be configured with options --with-cpu-32,
|
||||
--with-cpu-64, --with-tune-32 and --with-tune-64 to control the
|
||||
default optimization separately for 32-bit and 64-bit modes.
|
||||
+ * Starting with GCC 4.5.4, vectors of type vector long long or vector
|
||||
+ long are passed and returned in the same method as other vectors
|
||||
+ with the VSX instruction set. Previously the GCC compiler did not
|
||||
+ adhere to the ABI for 128-bit vectors with 64-bit integer base
|
||||
+ types (PR 48857). This is also fixed in the GCC 4.6.1 release.
|
||||
|
||||
RX
|
||||
|
||||
@@ -638,7 +643,7 @@ Operating Systems
|
||||
* Numerous other minor bugfixes and improvements, and substantial
|
||||
enhancements to the Fortran language support library.
|
||||
|
||||
-Documentation improvements
|
||||
+ >
|
||||
|
||||
Other significant improvements
|
||||
|
||||
@@ -699,11 +704,11 @@ GCC 4.5.2
|
||||
GCC 4.5.3
|
||||
|
||||
This is the [27]list of problem reports (PRs) from GCC's bug tracking
|
||||
- system that are known to be fixed in the 4.5.2 release. This list might
|
||||
+ system that are known to be fixed in the 4.5.3 release. This list might
|
||||
not be complete (that is, it is possible that some PRs that have been
|
||||
fixed are not listed here).
|
||||
|
||||
- On the PowerPC compiler, the altivec builtin functions vec_ld and
|
||||
+ On the PowerPC compiler, the Altivec builtin functions vec_ld and
|
||||
vec_st have been modified to generate the Altivec memory instructions
|
||||
LVX and STVX, even if the -mvsx option is used. In the initial GCC 4.5
|
||||
release, these builtin functions were changed to generate VSX memory
|
||||
@@ -713,20 +718,27 @@ GCC 4.5.3
|
||||
vec_vsx_ld and vec_vsx_st which always generates the VSX memory
|
||||
instructions.
|
||||
|
||||
+GCC 4.5.4
|
||||
|
||||
+ This is the [28]list of problem reports (PRs) from GCC's bug tracking
|
||||
+ system that are known to be fixed in the 4.5.4 release. This list might
|
||||
+ not be complete (that is, it is possible that some PRs that have been
|
||||
+ fixed are not listed here).
|
||||
+
|
||||
+
|
||||
For questions related to the use of GCC, please consult these web
|
||||
- pages and the [28]GCC manuals. If that fails, the
|
||||
- [29]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
+ pages and the [29]GCC manuals. If that fails, the
|
||||
+ [30]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
web pages and the development of GCC are welcome on our developer
|
||||
- list at [30]gcc@gcc.gnu.org. All of [31]our lists have public
|
||||
+ list at [31]gcc@gcc.gnu.org. All of [32]our lists have public
|
||||
archives.
|
||||
|
||||
- Copyright (C) [32]Free Software Foundation, Inc. Verbatim copying and
|
||||
+ Copyright (C) [33]Free Software Foundation, Inc. Verbatim copying and
|
||||
distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.
|
||||
|
||||
- These pages are [33]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[34].
|
||||
+ These pages are [34]maintained by the GCC team. Last modified
|
||||
+ 2012-07-02[35].
|
||||
|
||||
References
|
||||
|
||||
@@ -756,49 +768,53 @@ References
|
||||
24. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.5.1
|
||||
25. http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto-801
|
||||
26. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.5.2
|
||||
- 27. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.5.2
|
||||
- 28. http://gcc.gnu.org/onlinedocs/
|
||||
- 29. mailto:gcc-help@gcc.gnu.org
|
||||
- 30. mailto:gcc@gcc.gnu.org
|
||||
- 31. http://gcc.gnu.org/lists.html
|
||||
- 32. http://www.fsf.org/
|
||||
- 33. http://gcc.gnu.org/about.html
|
||||
- 34. http://validator.w3.org/check/referer
|
||||
+ 27. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.5.3
|
||||
+ 28. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.5.4
|
||||
+ 29. http://gcc.gnu.org/onlinedocs/
|
||||
+ 30. mailto:gcc-help@gcc.gnu.org
|
||||
+ 31. mailto:gcc@gcc.gnu.org
|
||||
+ 32. http://gcc.gnu.org/lists.html
|
||||
+ 33. http://www.fsf.org/
|
||||
+ 34. http://gcc.gnu.org/about.html
|
||||
+ 35. http://validator.w3.org/check/referer
|
||||
======================================================================
|
||||
http://gcc.gnu.org/gcc-4.4/index.html
|
||||
|
||||
GCC 4.4 Release Series
|
||||
|
||||
- April 16, 2011
|
||||
+ March 13, 2012
|
||||
|
||||
The [1]GNU project and the GCC developers are pleased to announce the
|
||||
- release of GCC 4.4.6.
|
||||
+ release of GCC 4.4.7.
|
||||
|
||||
This release is a bug-fix release, containing fixes for regressions in
|
||||
- GCC 4.4.5 relative to previous releases of GCC.
|
||||
+ GCC 4.4.6 relative to previous releases of GCC.
|
||||
|
||||
Release History
|
||||
|
||||
+ GCC 4.4.7
|
||||
+ March 13, 2012 ([2]changes)
|
||||
+
|
||||
GCC 4.4.6
|
||||
- April 16, 2011 ([2]changes)
|
||||
+ April 16, 2011 ([3]changes)
|
||||
|
||||
GCC 4.4.5
|
||||
- October 1, 2010 ([3]changes)
|
||||
+ October 1, 2010 ([4]changes)
|
||||
|
||||
GCC 4.4.4
|
||||
- April 29, 2010 ([4]changes)
|
||||
+ April 29, 2010 ([5]changes)
|
||||
|
||||
GCC 4.4.3
|
||||
- January 21, 2010 ([5]changes)
|
||||
+ January 21, 2010 ([6]changes)
|
||||
|
||||
GCC 4.4.2
|
||||
- October 15, 2009 ([6]changes)
|
||||
+ October 15, 2009 ([7]changes)
|
||||
|
||||
GCC 4.4.1
|
||||
- July 22, 2009 ([7]changes)
|
||||
+ July 22, 2009 ([8]changes)
|
||||
|
||||
GCC 4.4.0
|
||||
- April 21, 2009 ([8]changes)
|
||||
+ April 21, 2009 ([9]changes)
|
||||
|
||||
References and Acknowledgements
|
||||
|
||||
@@ -806,33 +822,33 @@ References and Acknowledgements
|
||||
supports several other languages aside from C, it now stands for the
|
||||
GNU Compiler Collection.
|
||||
|
||||
- A list of [9]successful builds is updated as new information becomes
|
||||
+ A list of [10]successful builds is updated as new information becomes
|
||||
available.
|
||||
|
||||
The GCC developers would like to thank the numerous people that have
|
||||
contributed new features, improvements, bug fixes, and other changes as
|
||||
- well as test results to GCC. This [10]amazing group of volunteers is
|
||||
+ well as test results to GCC. This [11]amazing group of volunteers is
|
||||
what makes GCC successful.
|
||||
|
||||
- For additional information about GCC please refer to the [11]GCC
|
||||
- project web site or contact the [12]GCC development mailing list.
|
||||
+ For additional information about GCC please refer to the [12]GCC
|
||||
+ project web site or contact the [13]GCC development mailing list.
|
||||
|
||||
- To obtain GCC please use [13]our mirror sites or [14]our SVN server.
|
||||
+ To obtain GCC please use [14]our mirror sites or [15]our SVN server.
|
||||
|
||||
|
||||
For questions related to the use of GCC, please consult these web
|
||||
- pages and the [15]GCC manuals. If that fails, the
|
||||
- [16]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
+ pages and the [16]GCC manuals. If that fails, the
|
||||
+ [17]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
web pages and the development of GCC are welcome on our developer
|
||||
- list at [17]gcc@gcc.gnu.org. All of [18]our lists have public
|
||||
+ list at [18]gcc@gcc.gnu.org. All of [19]our lists have public
|
||||
archives.
|
||||
|
||||
- Copyright (C) [19]Free Software Foundation, Inc. Verbatim copying and
|
||||
+ Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and
|
||||
distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.
|
||||
|
||||
- These pages are [20]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[21].
|
||||
+ These pages are [21]maintained by the GCC team. Last modified
|
||||
+ 2012-03-13[22].
|
||||
|
||||
References
|
||||
|
||||
@@ -844,26 +860,27 @@ References
|
||||
6. http://gcc.gnu.org/gcc-4.4/changes.html
|
||||
7. http://gcc.gnu.org/gcc-4.4/changes.html
|
||||
8. http://gcc.gnu.org/gcc-4.4/changes.html
|
||||
- 9. http://gcc.gnu.org/gcc-4.4/buildstat.html
|
||||
- 10. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
|
||||
- 11. http://gcc.gnu.org/index.html
|
||||
- 12. mailto:gcc@gcc.gnu.org
|
||||
- 13. http://gcc.gnu.org/mirrors.html
|
||||
- 14. http://gcc.gnu.org/svn.html
|
||||
- 15. http://gcc.gnu.org/onlinedocs/
|
||||
- 16. mailto:gcc-help@gcc.gnu.org
|
||||
- 17. mailto:gcc@gcc.gnu.org
|
||||
- 18. http://gcc.gnu.org/lists.html
|
||||
- 19. http://www.fsf.org/
|
||||
- 20. http://gcc.gnu.org/about.html
|
||||
- 21. http://validator.w3.org/check/referer
|
||||
+ 9. http://gcc.gnu.org/gcc-4.4/changes.html
|
||||
+ 10. http://gcc.gnu.org/gcc-4.4/buildstat.html
|
||||
+ 11. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
|
||||
+ 12. http://gcc.gnu.org/index.html
|
||||
+ 13. mailto:gcc@gcc.gnu.org
|
||||
+ 14. http://gcc.gnu.org/mirrors.html
|
||||
+ 15. http://gcc.gnu.org/svn.html
|
||||
+ 16. http://gcc.gnu.org/onlinedocs/
|
||||
+ 17. mailto:gcc-help@gcc.gnu.org
|
||||
+ 18. mailto:gcc@gcc.gnu.org
|
||||
+ 19. http://gcc.gnu.org/lists.html
|
||||
+ 20. http://www.fsf.org/
|
||||
+ 21. http://gcc.gnu.org/about.html
|
||||
+ 22. http://validator.w3.org/check/referer
|
||||
======================================================================
|
||||
http://gcc.gnu.org/gcc-4.4/changes.html
|
||||
|
||||
GCC 4.4 Release Series
|
||||
Changes, New Features, and Fixes
|
||||
|
||||
- The latest release in the 4.4 release series is [1]GCC 4.4.6.
|
||||
+ The latest release in the 4.4 release series is [1]GCC 4.4.7.
|
||||
|
||||
Caveats
|
||||
|
||||
@@ -1442,24 +1459,31 @@ GCC 4.4.6
|
||||
not be complete (that is, it is possible that some PRs that have been
|
||||
fixed are not listed here).
|
||||
|
||||
+GCC 4.4.7
|
||||
|
||||
+ This is the [19]list of problem reports (PRs) from GCC's bug tracking
|
||||
+ system that are known to be fixed in the 4.4.7 release. This list might
|
||||
+ not be complete (that is, it is possible that some PRs that have been
|
||||
+ fixed are not listed here).
|
||||
+
|
||||
+
|
||||
For questions related to the use of GCC, please consult these web
|
||||
- pages and the [19]GCC manuals. If that fails, the
|
||||
- [20]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
+ pages and the [20]GCC manuals. If that fails, the
|
||||
+ [21]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
web pages and the development of GCC are welcome on our developer
|
||||
- list at [21]gcc@gcc.gnu.org. All of [22]our lists have public
|
||||
+ list at [22]gcc@gcc.gnu.org. All of [23]our lists have public
|
||||
archives.
|
||||
|
||||
- Copyright (C) [23]Free Software Foundation, Inc. Verbatim copying and
|
||||
+ Copyright (C) [24]Free Software Foundation, Inc. Verbatim copying and
|
||||
distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.
|
||||
|
||||
- These pages are [24]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[25].
|
||||
+ These pages are [25]maintained by the GCC team. Last modified
|
||||
+ 2012-03-13[26].
|
||||
|
||||
References
|
||||
|
||||
- 1. http://gcc.gnu.org/gcc-4.4/changes.html#4.4.6
|
||||
+ 1. http://gcc.gnu.org/gcc-4.4/changes.html#4.4.7
|
||||
2. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted
|
||||
3. http://gcc.gnu.org/gcc-4.4/porting_to.html
|
||||
4. http://gcc.gnu.org/wiki/Graphite
|
||||
@@ -1477,45 +1501,49 @@ References
|
||||
16. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.4
|
||||
17. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.5
|
||||
18. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.6
|
||||
- 19. http://gcc.gnu.org/onlinedocs/
|
||||
- 20. mailto:gcc-help@gcc.gnu.org
|
||||
- 21. mailto:gcc@gcc.gnu.org
|
||||
- 22. http://gcc.gnu.org/lists.html
|
||||
- 23. http://www.fsf.org/
|
||||
- 24. http://gcc.gnu.org/about.html
|
||||
- 25. http://validator.w3.org/check/referer
|
||||
+ 19. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.4.7
|
||||
+ 20. http://gcc.gnu.org/onlinedocs/
|
||||
+ 21. mailto:gcc-help@gcc.gnu.org
|
||||
+ 22. mailto:gcc@gcc.gnu.org
|
||||
+ 23. http://gcc.gnu.org/lists.html
|
||||
+ 24. http://www.fsf.org/
|
||||
+ 25. http://gcc.gnu.org/about.html
|
||||
+ 26. http://validator.w3.org/check/referer
|
||||
======================================================================
|
||||
http://gcc.gnu.org/gcc-4.3/index.html
|
||||
|
||||
GCC 4.3 Release Series
|
||||
|
||||
- May 22, 2010
|
||||
+ Jun 27, 2011
|
||||
|
||||
The [1]GNU project and the GCC developers are pleased to announce the
|
||||
- release of GCC 4.3.5.
|
||||
+ release of GCC 4.3.6.
|
||||
|
||||
This release is a bug-fix release, containing fixes for regressions in
|
||||
- GCC 4.3.4 relative to previous releases of GCC.
|
||||
+ GCC 4.3.5 relative to previous releases of GCC.
|
||||
|
||||
Release History
|
||||
|
||||
+ GCC 4.3.6
|
||||
+ Jun 27, 2011 ([2]changes)
|
||||
+
|
||||
GCC 4.3.5
|
||||
- May 22, 2010 ([2]changes)
|
||||
+ May 22, 2010 ([3]changes)
|
||||
|
||||
GCC 4.3.4
|
||||
- August 4, 2009 ([3]changes)
|
||||
+ August 4, 2009 ([4]changes)
|
||||
|
||||
GCC 4.3.3
|
||||
- January 24, 2009 ([4]changes)
|
||||
+ January 24, 2009 ([5]changes)
|
||||
|
||||
GCC 4.3.2
|
||||
- August 27, 2008 ([5]changes)
|
||||
+ August 27, 2008 ([6]changes)
|
||||
|
||||
GCC 4.3.1
|
||||
- June 6, 2008 ([6]changes)
|
||||
+ June 6, 2008 ([7]changes)
|
||||
|
||||
GCC 4.3.0
|
||||
- March 5, 2008 ([7]changes)
|
||||
+ March 5, 2008 ([8]changes)
|
||||
|
||||
References and Acknowledgements
|
||||
|
||||
@@ -1523,33 +1551,33 @@ References and Acknowledgements
|
||||
supports several other languages aside from C, it now stands for the
|
||||
GNU Compiler Collection.
|
||||
|
||||
- A list of [8]successful builds is updated as new information becomes
|
||||
+ A list of [9]successful builds is updated as new information becomes
|
||||
available.
|
||||
|
||||
The GCC developers would like to thank the numerous people that have
|
||||
contributed new features, improvements, bug fixes, and other changes as
|
||||
- well as test results to GCC. This [9]amazing group of volunteers is
|
||||
+ well as test results to GCC. This [10]amazing group of volunteers is
|
||||
what makes GCC successful.
|
||||
|
||||
- For additional information about GCC please refer to the [10]GCC
|
||||
- project web site or contact the [11]GCC development mailing list.
|
||||
+ For additional information about GCC please refer to the [11]GCC
|
||||
+ project web site or contact the [12]GCC development mailing list.
|
||||
|
||||
- To obtain GCC please use [12]our mirror sites or [13]our SVN server.
|
||||
+ To obtain GCC please use [13]our mirror sites or [14]our SVN server.
|
||||
|
||||
|
||||
For questions related to the use of GCC, please consult these web
|
||||
- pages and the [14]GCC manuals. If that fails, the
|
||||
- [15]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
+ pages and the [15]GCC manuals. If that fails, the
|
||||
+ [16]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
web pages and the development of GCC are welcome on our developer
|
||||
- list at [16]gcc@gcc.gnu.org. All of [17]our lists have public
|
||||
+ list at [17]gcc@gcc.gnu.org. All of [18]our lists have public
|
||||
archives.
|
||||
|
||||
- Copyright (C) [18]Free Software Foundation, Inc. Verbatim copying and
|
||||
+ Copyright (C) [19]Free Software Foundation, Inc. Verbatim copying and
|
||||
distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.
|
||||
|
||||
- These pages are [19]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[20].
|
||||
+ These pages are [20]maintained by the GCC team. Last modified
|
||||
+ 2011-06-27[21].
|
||||
|
||||
References
|
||||
|
||||
@@ -1560,19 +1588,20 @@ References
|
||||
5. http://gcc.gnu.org/gcc-4.3/changes.html
|
||||
6. http://gcc.gnu.org/gcc-4.3/changes.html
|
||||
7. http://gcc.gnu.org/gcc-4.3/changes.html
|
||||
- 8. http://gcc.gnu.org/gcc-4.3/buildstat.html
|
||||
- 9. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
|
||||
- 10. http://gcc.gnu.org/index.html
|
||||
- 11. mailto:gcc@gcc.gnu.org
|
||||
- 12. http://gcc.gnu.org/mirrors.html
|
||||
- 13. http://gcc.gnu.org/svn.html
|
||||
- 14. http://gcc.gnu.org/onlinedocs/
|
||||
- 15. mailto:gcc-help@gcc.gnu.org
|
||||
- 16. mailto:gcc@gcc.gnu.org
|
||||
- 17. http://gcc.gnu.org/lists.html
|
||||
- 18. http://www.fsf.org/
|
||||
- 19. http://gcc.gnu.org/about.html
|
||||
- 20. http://validator.w3.org/check/referer
|
||||
+ 8. http://gcc.gnu.org/gcc-4.3/changes.html
|
||||
+ 9. http://gcc.gnu.org/gcc-4.3/buildstat.html
|
||||
+ 10. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
|
||||
+ 11. http://gcc.gnu.org/index.html
|
||||
+ 12. mailto:gcc@gcc.gnu.org
|
||||
+ 13. http://gcc.gnu.org/mirrors.html
|
||||
+ 14. http://gcc.gnu.org/svn.html
|
||||
+ 15. http://gcc.gnu.org/onlinedocs/
|
||||
+ 16. mailto:gcc-help@gcc.gnu.org
|
||||
+ 17. mailto:gcc@gcc.gnu.org
|
||||
+ 18. http://gcc.gnu.org/lists.html
|
||||
+ 19. http://www.fsf.org/
|
||||
+ 20. http://gcc.gnu.org/about.html
|
||||
+ 21. http://validator.w3.org/check/referer
|
||||
======================================================================
|
||||
http://gcc.gnu.org/gcc-4.3/changes.html
|
||||
|
||||
@@ -2229,6 +2258,11 @@ New Targets and Target Specific Improvements
|
||||
sign-bit and infinity checks of binary and decimal floating
|
||||
point numbers.
|
||||
|
||||
+ SPARC
|
||||
+
|
||||
+ * Support for the Sun UltraSPARC T2 (Niagara 2) processor has been
|
||||
+ added.
|
||||
+
|
||||
Xtensa
|
||||
|
||||
* Stack unwinding for exception handling now uses by default a
|
||||
@@ -2329,20 +2363,27 @@ GCC 4.3.5
|
||||
not be complete (that is, it is possible that some PRs that have been
|
||||
fixed are not listed here).
|
||||
|
||||
+GCC 4.3.6
|
||||
|
||||
+ This is the [30]list of problem reports (PRs) from GCC's bug tracking
|
||||
+ system that are known to be fixed in the 4.3.6 release. This list might
|
||||
+ not be complete (that is, it is possible that some PRs that have been
|
||||
+ fixed are not listed here).
|
||||
+
|
||||
+
|
||||
For questions related to the use of GCC, please consult these web
|
||||
- pages and the [30]GCC manuals. If that fails, the
|
||||
- [31]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
+ pages and the [31]GCC manuals. If that fails, the
|
||||
+ [32]gcc-help@gcc.gnu.org mailing list might help. Comments on these
|
||||
web pages and the development of GCC are welcome on our developer
|
||||
- list at [32]gcc@gcc.gnu.org. All of [33]our lists have public
|
||||
+ list at [33]gcc@gcc.gnu.org. All of [34]our lists have public
|
||||
archives.
|
||||
|
||||
- Copyright (C) [34]Free Software Foundation, Inc. Verbatim copying and
|
||||
+ Copyright (C) [35]Free Software Foundation, Inc. Verbatim copying and
|
||||
distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.
|
||||
|
||||
- These pages are [35]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[36].
|
||||
+ These pages are [36]maintained by the GCC team. Last modified
|
||||
+ 2011-09-12[37].
|
||||
|
||||
References
|
||||
|
||||
@@ -2375,13 +2416,14 @@ References
|
||||
27. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.3
|
||||
28. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.4
|
||||
29. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.5
|
||||
- 30. http://gcc.gnu.org/onlinedocs/
|
||||
- 31. mailto:gcc-help@gcc.gnu.org
|
||||
- 32. mailto:gcc@gcc.gnu.org
|
||||
- 33. http://gcc.gnu.org/lists.html
|
||||
- 34. http://www.fsf.org/
|
||||
- 35. http://gcc.gnu.org/about.html
|
||||
- 36. http://validator.w3.org/check/referer
|
||||
+ 30. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.6
|
||||
+ 31. http://gcc.gnu.org/onlinedocs/
|
||||
+ 32. mailto:gcc-help@gcc.gnu.org
|
||||
+ 33. mailto:gcc@gcc.gnu.org
|
||||
+ 34. http://gcc.gnu.org/lists.html
|
||||
+ 35. http://www.fsf.org/
|
||||
+ 36. http://gcc.gnu.org/about.html
|
||||
+ 37. http://validator.w3.org/check/referer
|
||||
======================================================================
|
||||
http://gcc.gnu.org/gcc-4.2/index.html
|
||||
|
||||
@@ -4017,7 +4059,7 @@ GCC 4.0.4
|
||||
provided this notice is preserved.
|
||||
|
||||
These pages are [21]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[22].
|
||||
+ 2012-02-20[22].
|
||||
|
||||
References
|
||||
|
||||
@@ -4028,7 +4070,7 @@ References
|
||||
5. http://gcc.gnu.org/news/sms.html
|
||||
6. http://www.akkadia.org/drepper/dsohowto.pdf
|
||||
7. http://gcc.gnu.org/gcc-4.0/changes.html#visibility
|
||||
- 8. http://www.codesourcery.com/public/cxx-abi/
|
||||
+ 8. http://sourcery.mentor.com/public/cxx-abi/
|
||||
9. http://gcc.gnu.org/fortran/
|
||||
10. http://gcc.gnu.org/install/
|
||||
11. http://gcc.gnu.org/wiki/Visibility
|
||||
@@ -4826,8 +4868,8 @@ New Targets and Target Specific Improvements
|
||||
M32R
|
||||
|
||||
* Support for the M32R/2 processor has been added by Renesas.
|
||||
- * Support for an M32R Linux target and PIC code generation has been
|
||||
- added by Renesas.
|
||||
+ * Support for an M32R GNU/Linux target and PIC code generation has
|
||||
+ been added by Renesas.
|
||||
|
||||
M68000
|
||||
|
||||
@@ -5905,7 +5947,7 @@ GCC 3.4.6
|
||||
provided this notice is preserved.
|
||||
|
||||
These pages are [417]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[418].
|
||||
+ 2012-04-24[418].
|
||||
|
||||
References
|
||||
|
||||
@@ -5916,8 +5958,8 @@ References
|
||||
5. http://gcc.gnu.org/gcc-3.4/mips-abi.html
|
||||
6. http://gcc.gnu.org/gcc-3.4/sparc-abi.html
|
||||
7. http://www.boost.org/
|
||||
- 8. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11953
|
||||
- 9. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8361
|
||||
+ 8. http://gcc.gnu.org/PR11953
|
||||
+ 9. http://gcc.gnu.org/PR8361
|
||||
10. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other%20Builtins
|
||||
11. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209
|
||||
12. http://gcc.gnu.org/bugs/#cxx_rvalbind
|
||||
@@ -6574,7 +6616,7 @@ New Targets and Target Specific Improvements
|
||||
+ The 32-bit port now supports weak symbols under HP-UX 11.
|
||||
+ The handling of initializers and finalizers has been improved
|
||||
under HP-UX 11. The 64-bit port no longer uses collect2.
|
||||
- + Dwarf2 EH support has been added to the 32-bit linux port.
|
||||
+ + Dwarf2 EH support has been added to the 32-bit GNU/Linux port.
|
||||
+ ABI fixes to correct the passing of small structures by value.
|
||||
* The SPARC, HP-PA, SH4, and x86/pentium ports have been converted to
|
||||
use the DFA processor pipeline description.
|
||||
@@ -7170,7 +7212,7 @@ GCC 3.3.1
|
||||
with negative argument
|
||||
* [268]11098 g++ doesn't emit complete debugging information for
|
||||
local variables in destructors
|
||||
- * [269]11137 Linux shared library constructors not called unless
|
||||
+ * [269]11137 GNU/Linux shared library constructors not called unless
|
||||
there's one global object
|
||||
* [270]11154 spurious ambiguity report for template class
|
||||
specialization
|
||||
@@ -7777,7 +7819,7 @@ GCC 3.3.6
|
||||
provided this notice is preserved.
|
||||
|
||||
These pages are [558]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[559].
|
||||
+ 2011-10-24[559].
|
||||
|
||||
References
|
||||
|
||||
@@ -8929,8 +8971,8 @@ GCC 3.2.1
|
||||
* [208]6984: wrong code generated with -O2, -O3, -Os for do-while
|
||||
loop on PowerPC
|
||||
* [209]7114: PowerPC: ICE building strcoll.op from glibc-2.2.5
|
||||
- * [210]7130: miscompiled code for GCC-3.1 in powerpc linux with
|
||||
- -funroll-all-loops
|
||||
+ * [210]7130: miscompiled code for GCC-3.1 on
|
||||
+ powerpc-unknown-linux-gnu with -funroll-all-loops
|
||||
* [211]7133: PowerPC ICE: unrecognizable insn
|
||||
* [212]7380: ICE in extract_insn, at recog.c:2148
|
||||
* [213]8252: ICE on Altivec code with optimization turned on
|
||||
@@ -9032,7 +9074,7 @@ GCC 3.2
|
||||
provided this notice is preserved.
|
||||
|
||||
These pages are [251]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[252].
|
||||
+ 2011-10-24[252].
|
||||
|
||||
References
|
||||
|
||||
@@ -10646,7 +10688,7 @@ http://gcc.gnu.org/egcs-1.1/index.html
|
||||
+ Fix problems with ctors/dtors in SCO shared libraries.
|
||||
+ Abort instead of generating incorrect code for PPro/PII
|
||||
floating point conditional moves.
|
||||
- + Avoid multiply defined symbols on Linux/GNU systems using
|
||||
+ + Avoid multiply defined symbols on GNU/Linux systems using
|
||||
libc-5.4.xx.
|
||||
+ Fix abort in alpha compiler.
|
||||
* Fortran-specific fixes
|
||||
@@ -10689,7 +10731,7 @@ http://gcc.gnu.org/egcs-1.1/index.html
|
||||
provided this notice is preserved.
|
||||
|
||||
These pages are [16]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[17].
|
||||
+ 2011-10-24[17].
|
||||
|
||||
References
|
||||
|
||||
@@ -10926,7 +10968,7 @@ http://gcc.gnu.org/egcs-1.0/index.html
|
||||
contain C++ code (upgrade to 1.0.1 and use that).
|
||||
* Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
|
||||
The x86 changes fix code generation errors exposed when building
|
||||
- glibc2 and the Linux dynamic linker (ld.so).
|
||||
+ glibc2 and the usual GNU/Linux dynamic linker (ld.so).
|
||||
The hppa change fixes a compiler abort when configured for use with
|
||||
RTEMS.
|
||||
The MIPS changes fix problems with the definition of LONG_MAX on
|
||||
@@ -10953,7 +10995,7 @@ http://gcc.gnu.org/egcs-1.0/index.html
|
||||
* g++/libstdc++ improvements and fixes
|
||||
+ libstdc++ in the EGCS release has been updated and should be
|
||||
link compatible with libstdc++-2.8.
|
||||
- + Various fixes in libio/libstdc++ to work better on Linux
|
||||
+ + Various fixes in libio/libstdc++ to work better on GNU/Linux
|
||||
systems.
|
||||
+ Fix problems with duplicate symbols on systems that do not
|
||||
support weak symbols.
|
||||
@@ -10976,9 +11018,9 @@ http://gcc.gnu.org/egcs-1.0/index.html
|
||||
+ x86 ports define i386 again to keep imake happy.
|
||||
+ Fix exception handling support on NetBSD ports.
|
||||
+ Several changes to collect2 to fix many problems with AIX.
|
||||
- + Define __ELF__ for rs6000/linux.
|
||||
- + Fix -mcall-linux problem on rs6000/linux.
|
||||
- + Fix stdarg/vararg problem for rs6000/linux.
|
||||
+ + Define __ELF__ for GNU/Linux on rs6000.
|
||||
+ + Fix -mcall-linux problem on GNU/Linux on rs6000.
|
||||
+ + Fix stdarg/vararg problem for GNU/Linux on rs6000.
|
||||
+ Allow autoconf to select a proper install problem on AIX 3.1.
|
||||
+ m68k port support includes -mcpu32 option as well as cpu32
|
||||
multilibs.
|
||||
@@ -11042,7 +11084,7 @@ http://gcc.gnu.org/egcs-1.0/index.html
|
||||
provided this notice is preserved.
|
||||
|
||||
These pages are [11]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[12].
|
||||
+ 2011-10-24[12].
|
||||
|
||||
References
|
||||
|
||||
@@ -11069,7 +11111,7 @@ http://gcc.gnu.org/egcs-1.0/features.html
|
||||
* Vast improvements in the C++ compiler; so many they have [2]page of
|
||||
their own!
|
||||
* Integrated C++ runtime libraries, including support for most major
|
||||
- linux systems!
|
||||
+ GNU/Linux systems!
|
||||
* New instruction scheduler from IBM Haifa which includes support for
|
||||
function wide instruction scheduling as well as superscalar
|
||||
scheduling.
|
||||
@@ -11087,7 +11129,7 @@ http://gcc.gnu.org/egcs-1.0/features.html
|
||||
Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0 and
|
||||
1.1), Support for RTEMS on several embedded targets, Support for
|
||||
arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
|
||||
- MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
|
||||
+ MN103, NEC V850, Sparclet, Solaris & GNU/Linux on PowerPCs, etc.
|
||||
* Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
|
||||
* RS6000/PowerPC ports generate code which can run on all
|
||||
RS6000/PowerPC variants by default.
|
||||
@@ -11095,7 +11137,7 @@ http://gcc.gnu.org/egcs-1.0/features.html
|
||||
control over how the x86 port generates code.
|
||||
* Includes the template repository patch (aka repo patch); note the
|
||||
new template code makes repo obsolete for ELF systems using gnu-ld
|
||||
- such as Linux.
|
||||
+ such as GNU/Linux.
|
||||
* Plus the usual assortment of bugfixes and improvements.
|
||||
|
||||
|
||||
@@ -11110,7 +11152,7 @@ http://gcc.gnu.org/egcs-1.0/features.html
|
||||
provided this notice is preserved.
|
||||
|
||||
These pages are [8]maintained by the GCC team. Last modified
|
||||
- 2011-04-25[9].
|
||||
+ 2011-10-24[9].
|
||||
|
||||
References
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
$NetBSD: patch-aa,v 1.2 2014/12/06 18:47:01 dholland Exp $
|
||||
|
||||
- add dfly support
|
||||
- stdint fixes for netbsd x86
|
||||
- add svr4.h for netbsd ppc, per PR 49453 from Frank Wille
|
||||
|
||||
--- gcc/config.gcc.orig 2011-02-27 01:06:15.000000000 +0000
|
||||
+++ gcc/config.gcc
|
||||
@@ -499,6 +499,33 @@ case ${target} in
|
||||
# need_64bit_hwint=yes # system compiler has this for all arch!
|
||||
use_gcc_stdint=wrap
|
||||
;;
|
||||
+*-*-dragonfly*)
|
||||
+ gas=yes
|
||||
+ gnu_ld=yes
|
||||
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
+ case ${target} in
|
||||
+ *-*-dragonfly1 | *-*-dragonfly[1].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=1" ;;
|
||||
+ *-*-dragonfly2 | *-*-dragonfly[2].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=2" ;;
|
||||
+ *-*-dragonfly3 | *-*-dragonfly[3].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=3" ;;
|
||||
+ *-*-dragonfly4 | *-*-dragonfly[4].*)
|
||||
+ tm_defines="${tm_defines} DFBSD_MAJOR=4" ;;
|
||||
+ *)
|
||||
+ echo 'Please update *-*-dragonfly* in gcc/config.gcc'
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+ esac
|
||||
+ tmake_file="t-slibgcc-elf-ver t-dragonfly"
|
||||
+ case ${enable_threads} in
|
||||
+ "" | yes | posix)
|
||||
+ thread_file='posix'
|
||||
+ tmake_file="${tmake_file} t-dragonfly-thread"
|
||||
+ ;;
|
||||
+ esac
|
||||
+ dfbsd_tm_file="${dfbsd_tm_file} dragonfly-spec.h dragonfly.h"
|
||||
+ ;;
|
||||
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
|
||||
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
||||
gas=yes
|
||||
@@ -572,6 +599,7 @@ case ${target} in
|
||||
default_use_cxa_atexit=yes
|
||||
;;
|
||||
esac
|
||||
+ use_gcc_stdint=wrap
|
||||
;;
|
||||
*-*-openbsd*)
|
||||
tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
|
||||
@@ -1118,17 +1146,23 @@ x86_64-*-freebsd*)
|
||||
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"
|
||||
tmake_file="${tmake_file} i386/t-crtstuff"
|
||||
;;
|
||||
+x86_64-*-dragonfly*)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/x86-64.h i386/dragonfly.h i386/dragonfly64.h"
|
||||
+ ;;
|
||||
+i[34567]86-*-dragonfly*)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfbsd_tm_file} i386/dragonfly.h"
|
||||
+ ;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h netbsd-stdint.h"
|
||||
;;
|
||||
i[34567]86-*-netbsd*)
|
||||
- tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
|
||||
+ tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h netbsd-stdint.h"
|
||||
tmake_file="${tmake_file} t-netbsd"
|
||||
extra_parts=""
|
||||
use_collect2=yes
|
||||
;;
|
||||
x86_64-*-netbsd*)
|
||||
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h netbsd-stdint.h"
|
||||
tmake_file="${tmake_file} i386/t-crtstuff"
|
||||
;;
|
||||
i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
|
||||
@@ -1950,7 +1984,7 @@ powerpc*-*-freebsd*)
|
||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||
;;
|
||||
powerpc-*-netbsd*)
|
||||
- tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
|
||||
+ tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
|
||||
tmake_file="${tmake_file} rs6000/t-netbsd"
|
||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||
;;
|
||||
@@ -1,24 +0,0 @@
|
||||
$NetBSD: patch-ab,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $
|
||||
|
||||
--- libgcc/config.host.orig 2010-04-01 23:02:18.000000000 -0400
|
||||
+++ libgcc/config.host
|
||||
@@ -156,6 +156,8 @@ case ${host} in
|
||||
# machine-specific sections may refine and add to this
|
||||
# configuration.
|
||||
;;
|
||||
+*-*-dragonfly*)
|
||||
+ ;;
|
||||
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu*)
|
||||
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
||||
;;
|
||||
@@ -282,6 +284,10 @@ i[34567]86-*-freebsd*)
|
||||
;;
|
||||
x86_64-*-freebsd*)
|
||||
;;
|
||||
+i[34567]86-*-dragonfly*)
|
||||
+ ;;
|
||||
+x86_64-*-dragonfly*)
|
||||
+ ;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
;;
|
||||
i[34567]86-*-netbsd*)
|
||||
@@ -1,17 +0,0 @@
|
||||
$NetBSD: patch-ac,v 1.2 2014/05/08 02:03:58 pho Exp $
|
||||
|
||||
Add gcc libdir to a programs rpath so that _this gcc's_ support
|
||||
libraries are found. Note that there must not be a whitespace between
|
||||
$(LINKER_RPATH_FLAG) and the path. Otherwise the flag may be
|
||||
misinterpreted by linker (e.g. Apple's ld).
|
||||
|
||||
--- gcc/Makefile.in.orig 2004-06-17 15:56:58.000000000 -0600
|
||||
+++ gcc/Makefile.in
|
||||
@@ -1944,6 +1944,7 @@ c-omp.o : c-omp.c $(CONFIG_H) $(SYSTEM_H
|
||||
# Language-independent files.
|
||||
|
||||
DRIVER_DEFINES = \
|
||||
+ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG)$(exec_prefix)/lib\"" \
|
||||
-DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
|
||||
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
|
||||
-DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \
|
||||
@@ -1,28 +0,0 @@
|
||||
$NetBSD: patch-ad,v 1.3 2012/05/03 12:20:19 hans Exp $
|
||||
|
||||
--- configure.orig 2010-04-02 13:35:47.000000000 -0400
|
||||
+++ configure
|
||||
@@ -5395,7 +5395,7 @@ fi
|
||||
|
||||
|
||||
if test "x$with_mpfr" != x; then
|
||||
- gmplibs="-L$with_mpfr/lib $gmplibs"
|
||||
+ gmplibs="-L$with_mpfr/lib ${COMPILER_RPATH_FLAG}$with_mpfr/lib $gmplibs"
|
||||
gmpinc="-I$with_mpfr/include $gmpinc"
|
||||
fi
|
||||
if test "x$with_mpfr_include" != x; then
|
||||
@@ -5279,9 +5279,11 @@ if test "x$with_mpfr_lib" != x; then
|
||||
gmplibs="-L$with_mpfr_lib $gmplibs"
|
||||
fi
|
||||
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
|
||||
- gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
|
||||
- gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
|
||||
- extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
|
||||
+ sdir=
|
||||
+ test -d "${srcdir}/mpfr/src" && sdir=/src
|
||||
+ gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr'"$sdir/$lt_cv_objdir $gmplibs"
|
||||
+ gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr'"$sdir "'-I$$s/mpfr'"$sdir $gmpinc"
|
||||
+ extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr'"$sdir "'--with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr'"$sdir/$lt_cv_objdir"
|
||||
# Do not test the mpfr version. Assume that it is sufficient, since
|
||||
# it is in the source tree, and the library has not been built yet
|
||||
# but it would be included on the link line in the version check below
|
||||
@@ -1,16 +0,0 @@
|
||||
$NetBSD: patch-af,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $
|
||||
|
||||
Avoid a reference to the wrapped make in the pkgsrc work directory from showing up
|
||||
in an installed file. See ${WRKDIR}/gcc-4.4.1/libjava/contrib/aotcompile.py.in
|
||||
|
||||
--- libjava/configure.orig 2010-04-02 14:18:06.000000000 -0400
|
||||
+++ libjava/configure
|
||||
@@ -24517,7 +24517,7 @@ $as_echo "Python modules dir: ${python_m
|
||||
|
||||
|
||||
# needed for aot-compile-rpm
|
||||
-MAKE=`which make`
|
||||
+MAKE=${PKGSRC_MAKE}
|
||||
|
||||
|
||||
# Check whether --enable-aot-compile-rpm was given.
|
||||
@@ -1,29 +0,0 @@
|
||||
$NetBSD: patch-ag,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $
|
||||
|
||||
No need to use bash for this small script.
|
||||
|
||||
Also -print0 is not portable to solaris and perhaps others.
|
||||
|
||||
--- libjava/contrib/rebuild-gcj-db.in.orig 2008-07-02 09:17:54.000000000 -0400
|
||||
+++ libjava/contrib/rebuild-gcj-db.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
# rebuild-gcj-db
|
||||
|
||||
## Copyright (C) 2000, 2002, 2003, 2008 Free Software Foundation
|
||||
@@ -16,12 +16,12 @@ for i in `@prefix@/bin/gcc --print-multi
|
||||
base=@prefix@/lib/$dirname
|
||||
dbLocation=`@prefix@/bin/gcj-dbtool -p $base`
|
||||
libdir=$base/gcj
|
||||
- if ! test -d $libdir; then
|
||||
+ if test ! -d $libdir; then
|
||||
# No shared libraries here.
|
||||
continue
|
||||
fi
|
||||
dirname $dbLocation | xargs mkdir -p
|
||||
@prefix@/bin/gcj-dbtool -n $dbLocation 64
|
||||
- find $libdir -follow -name '*.db' -print0 | \
|
||||
+ find $libdir -follow -name '*.db' -print | @AWK@ '{printf("%s%c", $1, 0);}' | \
|
||||
@prefix@/bin/gcj-dbtool -0 -m $dbLocation $dbLocation
|
||||
done
|
||||
@@ -1,22 +0,0 @@
|
||||
$NetBSD: patch-ah,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $
|
||||
|
||||
--- gcc/fortran/f95-lang.c.orig 2010-06-15 14:17:16.000000000 +0200
|
||||
+++ gcc/fortran/f95-lang.c
|
||||
@@ -794,10 +794,17 @@
|
||||
|
||||
gfc_define_builtin ("__builtin_cabsl", func_clongdouble_longdouble,
|
||||
BUILT_IN_CABSL, "cabsl", true);
|
||||
+#if defined(__NetBSD__)
|
||||
+ gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
|
||||
+ BUILT_IN_CABS, "__c99_cabs", true);
|
||||
+ gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
|
||||
+ BUILT_IN_CABSF, "__c99_cabsf", true);
|
||||
+#else
|
||||
gfc_define_builtin ("__builtin_cabs", func_cdouble_double,
|
||||
BUILT_IN_CABS, "cabs", true);
|
||||
gfc_define_builtin ("__builtin_cabsf", func_cfloat_float,
|
||||
BUILT_IN_CABSF, "cabsf", true);
|
||||
+#endif
|
||||
|
||||
gfc_define_builtin ("__builtin_copysignl", mfunc_longdouble[1],
|
||||
BUILT_IN_COPYSIGNL, "copysignl", true);
|
||||
@@ -1,46 +0,0 @@
|
||||
$NetBSD: patch-aj,v 1.3 2013/04/29 21:34:49 joerg Exp $
|
||||
|
||||
--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2009-04-09 15:00:19.000000000 +0000
|
||||
+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
|
||||
@@ -41,6 +41,33 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
// NB: Offsets into ctype<char>::_M_table force a particular size
|
||||
// on the mask type. Because of this, we don't use an enum.
|
||||
+#if defined(_CTYPE_BL)
|
||||
+ typedef unsigned short mask;
|
||||
+ static const mask upper = _CTYPE_U;
|
||||
+ static const mask lower = _CTYPE_L;
|
||||
+ static const mask alpha = _CTYPE_A;
|
||||
+ static const mask digit = _CTYPE_D;
|
||||
+ static const mask xdigit = _CTYPE_X;
|
||||
+ static const mask space = _CTYPE_S;
|
||||
+ static const mask print = _CTYPE_R;
|
||||
+ static const mask graph = _CTYPE_G;
|
||||
+ static const mask cntrl = _CTYPE_C;
|
||||
+ static const mask punct = _CTYPE_P;
|
||||
+ static const mask alnum = _CTYPE_A | _CTYPE_D;
|
||||
+#elif defined(_CTYPE_U)
|
||||
+ typedef unsigned char mask;
|
||||
+ static const mask upper = _CTYPE_U;
|
||||
+ static const mask lower = _CTYPE_L;
|
||||
+ static const mask alpha = _CTYPE_U | _CTYPE_L;
|
||||
+ static const mask digit = _CTYPE_N;
|
||||
+ static const mask xdigit = _CTYPE_N | _CTYPE_X;
|
||||
+ static const mask space = _CTYPE_S;
|
||||
+ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B;
|
||||
+ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N;
|
||||
+ static const mask cntrl = _CTYPE_C;
|
||||
+ static const mask punct = _CTYPE_P;
|
||||
+ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N;
|
||||
+#else
|
||||
typedef unsigned char mask;
|
||||
static const mask upper = _U;
|
||||
static const mask lower = _L;
|
||||
@@ -53,6 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
static const mask cntrl = _C;
|
||||
static const mask punct = _P;
|
||||
static const mask alnum = _U | _L | _N;
|
||||
+#endif
|
||||
};
|
||||
|
||||
_GLIBCXX_END_NAMESPACE
|
||||
@@ -1,16 +0,0 @@
|
||||
$NetBSD: patch-ak,v 1.1.1.1 2011/05/14 20:19:47 wiz Exp $
|
||||
|
||||
--- gcc/ginclude/stddef.h.orig 2011-03-03 15:35:00.000000000 +0000
|
||||
+++ gcc/ginclude/stddef.h
|
||||
@@ -53,6 +53,11 @@ see the files COPYING3 and COPYING.RUNTI
|
||||
one less case to deal with in the following. */
|
||||
#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
|
||||
#include <machine/ansi.h>
|
||||
+#if !defined(_MACHINE_ANSI_H_)
|
||||
+#if defined(_I386_ANSI_H_) || defined(_X86_64_ANSI_H_)
|
||||
+#define _MACHINE_ANSI_H_
|
||||
+#endif
|
||||
+#endif
|
||||
#endif
|
||||
/* On FreeBSD 5, machine/ansi.h does not exist anymore... */
|
||||
#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
|
||||
44
lang/gcc45/patches/patch-config.guess
Normal file
44
lang/gcc45/patches/patch-config.guess
Normal file
@@ -0,0 +1,44 @@
|
||||
$NetBSD$
|
||||
|
||||
--- config.guess.orig Tue Mar 23 14:26:40 2010
|
||||
+++ config.guess
|
||||
@@ -160,14 +160,28 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
armeb) machine=armeb-unknown ;;
|
||||
arm*) machine=arm-unknown ;;
|
||||
+ coldfire) machine=m5407-unknown ;;
|
||||
+ earm*eb*) machine=armeb-unknown ;;
|
||||
+ earm*) machine=arm-unknown ;;
|
||||
sh3el) machine=shl-unknown ;;
|
||||
sh3eb) machine=sh-unknown ;;
|
||||
sh5el) machine=sh5le-unknown ;;
|
||||
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
||||
esac
|
||||
# The Operating System including object format, if it has switched
|
||||
- # to ELF recently, or will in the future.
|
||||
+ # to ELF recently, or will in the future and ABI.
|
||||
case "${UNAME_MACHINE_ARCH}" in
|
||||
+ coldfire) os=netbsdelf ;;
|
||||
+ earm*)
|
||||
+ eval $set_cc_for_build
|
||||
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
+ | grep -q __ARM_PCS_VFP
|
||||
+ then
|
||||
+ os=netbsdelf-eabi
|
||||
+ else
|
||||
+ os=netbsdelf-eabihf
|
||||
+ fi
|
||||
+ ;;
|
||||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||
eval $set_cc_for_build
|
||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
@@ -966,6 +980,9 @@ EOF
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
+ exit ;;
|
||||
+ tile*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
32
lang/gcc45/patches/patch-config.sub
Normal file
32
lang/gcc45/patches/patch-config.sub
Normal file
@@ -0,0 +1,32 @@
|
||||
$NetBSD$
|
||||
|
||||
--- config.sub.orig Tue Mar 23 14:26:40 2010
|
||||
+++ config.sub
|
||||
@@ -125,7 +125,8 @@ esac
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
||||
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | \
|
||||
+ netbsd*-gnu* | netbsd*-eabi* | \
|
||||
kopensolaris*-gnu* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
@@ -317,7 +318,8 @@ case $basic_machine in
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
;;
|
||||
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
||||
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | m5407 \
|
||||
+ | v70 | w65 | z8k)
|
||||
;;
|
||||
ms1)
|
||||
basic_machine=mt-unknown
|
||||
@@ -354,6 +356,7 @@ case $basic_machine in
|
||||
| ip2k-* | iq2000-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
+ | m5200-* | m5407-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
|
||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||
22
lang/gcc45/patches/patch-config_ChangeLog
Normal file
22
lang/gcc45/patches/patch-config_ChangeLog
Normal file
@@ -0,0 +1,22 @@
|
||||
$NetBSD$
|
||||
|
||||
--- config/ChangeLog.orig Thu Apr 28 14:11:26 2011
|
||||
+++ config/ChangeLog
|
||||
@@ -1,3 +1,17 @@
|
||||
+2012-07-02 Release Manager
|
||||
+
|
||||
+ * GCC 4.5.4 released.
|
||||
+
|
||||
+2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
|
||||
+
|
||||
+ * acx.m4 (Test for GNAT): Update comment and add quotes in final test.
|
||||
+
|
||||
+2011-06-19 Jack Howarth <howarth@bromo.med.uc.edu>
|
||||
+
|
||||
+ PR target/49461
|
||||
+ * mh-x86-darwin: Add file and pass -no_pie on BOOT_LDFLAGS for
|
||||
+ darwin11.
|
||||
+
|
||||
2011-04-28 Release Manager
|
||||
|
||||
* GCC 4.5.3 released.
|
||||
26
lang/gcc45/patches/patch-config_acx.m4
Normal file
26
lang/gcc45/patches/patch-config_acx.m4
Normal file
@@ -0,0 +1,26 @@
|
||||
$NetBSD$
|
||||
|
||||
--- config/acx.m4.orig Fri Oct 23 10:03:47 2009
|
||||
+++ config/acx.m4
|
||||
@@ -356,9 +356,9 @@ m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_
|
||||
ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
|
||||
|
||||
# Test for GNAT.
|
||||
-# We require the gnatbind program, and a compiler driver that
|
||||
-# understands Ada. We use the user's CC setting, already found,
|
||||
-# and possibly add $1 to the command-line parameters.
|
||||
+# We require the gnatbind & gnatmake programs, as well as a compiler driver
|
||||
+# that understands Ada. We use the user's CC setting, already found, and
|
||||
+# possibly add $1 to the command-line parameters.
|
||||
#
|
||||
# Sets the shell variable have_gnat to yes or no as appropriate, and
|
||||
# substitutes GNATBIND and GNATMAKE.
|
||||
@@ -387,7 +387,7 @@ if test x"$errors" = x && test -f conftest.$ac_objext;
|
||||
fi
|
||||
rm -f conftest.*])
|
||||
|
||||
-if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
+if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
have_gnat=yes
|
||||
else
|
||||
have_gnat=no
|
||||
7
lang/gcc45/patches/patch-config_mh-x86-darwin
Normal file
7
lang/gcc45/patches/patch-config_mh-x86-darwin
Normal file
@@ -0,0 +1,7 @@
|
||||
$NetBSD$
|
||||
|
||||
--- config/mh-x86-darwin.orig Wed May 21 19:48:53 2014
|
||||
+++ config/mh-x86-darwin
|
||||
@@ -0,0 +1,2 @@
|
||||
+# Ensure we don't try and use -pie, as it is incompatible with pch.
|
||||
+BOOT_LDFLAGS += `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
|
||||
13
lang/gcc45/patches/patch-configure
Normal file
13
lang/gcc45/patches/patch-configure
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- configure.orig Wed May 21 19:48:53 2014
|
||||
+++ configure
|
||||
@@ -5321,7 +5321,7 @@ _ACEOF
|
||||
|
||||
|
||||
# Check for GMP, MPFR and MPC
|
||||
-gmplibs="-lmpc -lmpfr -lgmp"
|
||||
+gmplibs="-lmpc -lmpfr -lgmp -lm"
|
||||
gmpinc=
|
||||
have_gmp=no
|
||||
|
||||
147
lang/gcc45/patches/patch-configure.ac
Normal file
147
lang/gcc45/patches/patch-configure.ac
Normal file
@@ -0,0 +1,147 @@
|
||||
$NetBSD$
|
||||
|
||||
--- configure.ac.orig Tue Jan 25 15:49:54 2011
|
||||
+++ configure.ac
|
||||
@@ -185,9 +185,8 @@ libgcj="target-libffi \
|
||||
|
||||
# these libraries are built for the target environment, and are built after
|
||||
# the host libraries and the host tools (which may be a cross compiler)
|
||||
-#
|
||||
+# Note that libiberty is not a target library.
|
||||
target_libraries="target-libgcc \
|
||||
- target-libiberty \
|
||||
target-libgloss \
|
||||
target-newlib \
|
||||
target-libgomp \
|
||||
@@ -506,14 +505,14 @@ case "${target}" in
|
||||
;;
|
||||
*-*-kaos*)
|
||||
# Remove unsupported stuff on all kaOS configurations.
|
||||
- skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx"
|
||||
+ skipdirs="${libgcj} target-libstdc++-v3 target-librx"
|
||||
skipdirs="$skipdirs target-libobjc target-examples target-groff target-gperf"
|
||||
skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
|
||||
noconfigdirs="$noconfigdirs target-libgloss"
|
||||
;;
|
||||
*-*-netbsd*)
|
||||
# Skip some stuff on all NetBSD configurations.
|
||||
- noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
|
||||
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
||||
|
||||
# Skip some stuff that's unsupported on some NetBSD configurations.
|
||||
case "${target}" in
|
||||
@@ -525,20 +524,20 @@ case "${target}" in
|
||||
esac
|
||||
;;
|
||||
*-*-netware*)
|
||||
- noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
|
||||
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj} target-libmudflap"
|
||||
;;
|
||||
*-*-rtems*)
|
||||
noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
|
||||
;;
|
||||
# The tpf target doesn't support gdb yet.
|
||||
*-*-tpf*)
|
||||
- noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl"
|
||||
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj} target-libmudflap gdb tcl tk libgui itcl"
|
||||
;;
|
||||
*-*-uclinux*)
|
||||
noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
|
||||
;;
|
||||
*-*-vxworks*)
|
||||
- noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
|
||||
+ noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libstdc++-v3 ${libgcj}"
|
||||
;;
|
||||
alpha*-dec-osf*)
|
||||
# ld works, but does not support shared libraries.
|
||||
@@ -566,7 +565,7 @@ case "${target}" in
|
||||
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
noconfigdirs="$noconfigdirs target-examples"
|
||||
- noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
|
||||
+ noconfigdirs="$noconfigdirs texinfo send-pr"
|
||||
noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
|
||||
noconfigdirs="$noconfigdirs expect dejagnu"
|
||||
# the C++ libraries don't build on top of CE's C libraries
|
||||
@@ -600,7 +599,7 @@ case "${target}" in
|
||||
libgloss_dir=arm
|
||||
;;
|
||||
arm*-*-symbianelf*)
|
||||
- noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
|
||||
+ noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
libgloss_dir=arm
|
||||
;;
|
||||
arm-*-pe*)
|
||||
@@ -619,7 +618,7 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
|
||||
;;
|
||||
avr-*-*)
|
||||
- noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} target-libssp"
|
||||
+ noconfigdirs="$noconfigdirs target-libstdc++-v3 ${libgcj} target-libssp"
|
||||
;;
|
||||
bfin-*-*)
|
||||
unsupported_languages="$unsupported_languages java"
|
||||
@@ -798,7 +797,7 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
|
||||
- noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
|
||||
+ noconfigdirs="$noconfigdirs target-libstdc++-v3 ${libgcj}"
|
||||
libgloss_dir=m68hc11
|
||||
;;
|
||||
m68k-*-elf*)
|
||||
@@ -869,7 +868,6 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs gprof ${libgcj}"
|
||||
;;
|
||||
mips*-sde-elf*)
|
||||
- skipdirs="$skipdirs target-libiberty"
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
if test x$with_newlib = xyes; then
|
||||
noconfigdirs="$noconfigdirs gprof"
|
||||
@@ -965,7 +963,7 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
||||
;;
|
||||
ip2k-*-*)
|
||||
- noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
|
||||
+ noconfigdirs="$noconfigdirs target-libstdc++-v3 ${libgcj}"
|
||||
;;
|
||||
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
|
||||
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
||||
@@ -1135,6 +1133,9 @@ case "${host}" in
|
||||
tentative_cc="/usr/cygnus/progressive/bin/gcc"
|
||||
host_makefile_frag="config/mh-lynxrs6k"
|
||||
;;
|
||||
+ i[[3456789]]86-*-darwin* | x86_64-*-darwin*)
|
||||
+ host_makefile_frag="config/mh-x86-darwin"
|
||||
+ ;;
|
||||
powerpc-*-darwin*)
|
||||
host_makefile_frag="config/mh-ppc-darwin"
|
||||
;;
|
||||
@@ -2104,27 +2105,6 @@ for dir in . $skipdirs $noconfigdirs ; do
|
||||
fi
|
||||
fi
|
||||
done
|
||||
-
|
||||
-# Sometimes the tools are distributed with libiberty but with no other
|
||||
-# libraries. In that case, we don't want to build target-libiberty.
|
||||
-# Don't let libgcc imply libiberty either.
|
||||
-if test -n "${target_configdirs}" ; then
|
||||
- libgcc=
|
||||
- others=
|
||||
- for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
|
||||
- if test "$i" = "libgcc"; then
|
||||
- libgcc=target-libgcc
|
||||
- elif test "$i" != "libiberty" ; then
|
||||
- if test -r $srcdir/$i/configure ; then
|
||||
- others=yes;
|
||||
- break;
|
||||
- fi
|
||||
- fi
|
||||
- done
|
||||
- if test -z "${others}" ; then
|
||||
- target_configdirs=$libgcc
|
||||
- fi
|
||||
-fi
|
||||
|
||||
# Quietly strip out all directories which aren't configurable in this tree.
|
||||
# This relies on all configurable subdirectories being autoconfiscated, which
|
||||
12
lang/gcc45/patches/patch-contrib_ChangeLog
Normal file
12
lang/gcc45/patches/patch-contrib_ChangeLog
Normal file
@@ -0,0 +1,12 @@
|
||||
$NetBSD$
|
||||
|
||||
--- contrib/ChangeLog.orig Thu Apr 28 14:08:43 2011
|
||||
+++ contrib/ChangeLog
|
||||
@@ -1,3 +1,7 @@
|
||||
+2012-07-02 Release Manager
|
||||
+
|
||||
+ * GCC 4.5.4 released.
|
||||
+
|
||||
2011-04-28 Release Manager
|
||||
|
||||
* GCC 4.5.3 released.
|
||||
12
lang/gcc45/patches/patch-contrib_reghunt_ChangeLog
Normal file
12
lang/gcc45/patches/patch-contrib_reghunt_ChangeLog
Normal file
@@ -0,0 +1,12 @@
|
||||
$NetBSD$
|
||||
|
||||
--- contrib/reghunt/ChangeLog.orig Thu Apr 28 14:08:49 2011
|
||||
+++ contrib/reghunt/ChangeLog
|
||||
@@ -1,3 +1,7 @@
|
||||
+2012-07-02 Release Manager
|
||||
+
|
||||
+ * GCC 4.5.4 released.
|
||||
+
|
||||
2011-04-28 Release Manager
|
||||
|
||||
* GCC 4.5.3 released.
|
||||
12
lang/gcc45/patches/patch-contrib_regression_ChangeLog
Normal file
12
lang/gcc45/patches/patch-contrib_regression_ChangeLog
Normal file
@@ -0,0 +1,12 @@
|
||||
$NetBSD$
|
||||
|
||||
--- contrib/regression/ChangeLog.orig Thu Apr 28 14:08:38 2011
|
||||
+++ contrib/regression/ChangeLog
|
||||
@@ -1,3 +1,7 @@
|
||||
+2012-07-02 Release Manager
|
||||
+
|
||||
+ * GCC 4.5.4 released.
|
||||
+
|
||||
2011-04-28 Release Manager
|
||||
|
||||
* GCC 4.5.3 released.
|
||||
12
lang/gcc45/patches/patch-fixincludes_ChangeLog
Normal file
12
lang/gcc45/patches/patch-fixincludes_ChangeLog
Normal file
@@ -0,0 +1,12 @@
|
||||
$NetBSD$
|
||||
|
||||
--- fixincludes/ChangeLog.orig Thu Apr 28 14:09:41 2011
|
||||
+++ fixincludes/ChangeLog
|
||||
@@ -1,3 +1,7 @@
|
||||
+2012-07-02 Release Manager
|
||||
+
|
||||
+ * GCC 4.5.4 released.
|
||||
+
|
||||
2011-04-28 Release Manager
|
||||
|
||||
* GCC 4.5.3 released.
|
||||
7
lang/gcc45/patches/patch-gcc_BASE-VER
Normal file
7
lang/gcc45/patches/patch-gcc_BASE-VER
Normal file
@@ -0,0 +1,7 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/BASE-VER.orig Thu Dec 16 14:34:03 2010
|
||||
+++ gcc/BASE-VER
|
||||
@@ -1 +1 @@
|
||||
-4.5.3
|
||||
+4.5.4
|
||||
1352
lang/gcc45/patches/patch-gcc_ChangeLog
Normal file
1352
lang/gcc45/patches/patch-gcc_ChangeLog
Normal file
File diff suppressed because it is too large
Load Diff
7
lang/gcc45/patches/patch-gcc_DATESTAMP
Normal file
7
lang/gcc45/patches/patch-gcc_DATESTAMP
Normal file
@@ -0,0 +1,7 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/DATESTAMP.orig Thu Apr 28 00:17:54 2011
|
||||
+++ gcc/DATESTAMP
|
||||
@@ -1 +1 @@
|
||||
-20110428
|
||||
+20120702
|
||||
156
lang/gcc45/patches/patch-gcc_Makefile.in
Normal file
156
lang/gcc45/patches/patch-gcc_Makefile.in
Normal file
@@ -0,0 +1,156 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/Makefile.in.orig Thu Sep 2 13:05:30 2010
|
||||
+++ gcc/Makefile.in
|
||||
@@ -602,6 +602,9 @@ objext = .o
|
||||
exeext = @host_exeext@
|
||||
build_exeext = @build_exeext@
|
||||
|
||||
+# NetBSD mknative-gcc addition
|
||||
+ENABLE_SHARED = @enable_shared@
|
||||
+
|
||||
# Directory in which to put man pages.
|
||||
mandir = @mandir@
|
||||
man1dir = $(mandir)/man1
|
||||
@@ -727,6 +730,7 @@ LIBCONVERT =
|
||||
|
||||
# Control whether header files are installed.
|
||||
INSTALL_HEADERS=install-headers install-mkheaders
|
||||
+INSTALL_HEADERS=install-headers
|
||||
|
||||
# Control whether Info documentation is built and installed.
|
||||
BUILD_INFO = @BUILD_INFO@
|
||||
@@ -766,7 +770,7 @@ BUILD_LINKERFLAGS = $(BUILD_CFLAGS)
|
||||
|
||||
# Native linker and preprocessor flags. For x-fragment overrides.
|
||||
BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
-BUILD_CPPFLAGS=$(ALL_CPPFLAGS)
|
||||
+BUILD_CPPFLAGS=$(BALL_CPPFLAGS)
|
||||
|
||||
# Actual name to use when installing a native compiler.
|
||||
GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
|
||||
@@ -981,6 +985,7 @@ ALL_CXXFLAGS = $(T_CFLAGS) $(CXXFLAGS) $(INTERNAL_CFLA
|
||||
# puts -I options in CPPFLAGS, our include files in the srcdir will always
|
||||
# win against random include files in /usr/include.
|
||||
ALL_CPPFLAGS = $(INCLUDES) $(CPPFLAGS)
|
||||
+BALL_CPPFLAGS = $(BINCLUDES) $(CPPFLAGS)
|
||||
|
||||
# This is the variable to use when using $(COMPILER).
|
||||
ifneq ($(ENABLE_BUILD_WITH_CXX),yes)
|
||||
@@ -1042,6 +1047,10 @@ INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
|
||||
-I$(srcdir)/../include @INCINTL@ \
|
||||
$(CPPINC) $(GMPINC) $(DECNUMINC) \
|
||||
$(PPLINC) $(CLOOGINC) $(LIBELFINC)
|
||||
+BINCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
|
||||
+ -I$(srcdir)/../include @INCINTL@ \
|
||||
+ $(CPPINC) $(DECNUMINC) \
|
||||
+ $(PPLINC) $(CLOOGINC) $(LIBELFINC)
|
||||
|
||||
.c.o:
|
||||
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
|
||||
@@ -1822,8 +1831,7 @@ libgcc-support: libgcc.mvars stmp-int-hdrs $(TCONFIG_H
|
||||
$(MACHMODE_H) $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
|
||||
$(LIB2ADD_ST) $(LIB2ADDEH) $(srcdir)/emutls.c gcov-iov.h $(SFP_MACHINE)
|
||||
|
||||
-libgcc.mvars: config.status Makefile $(LIB2ADD) $(LIB2ADD_ST) specs \
|
||||
- xgcc$(exeext)
|
||||
+libgcc.mvars: config.status Makefile
|
||||
: > tmp-libgcc.mvars
|
||||
echo LIB1ASMFUNCS = '$(LIB1ASMFUNCS)' >> tmp-libgcc.mvars
|
||||
echo LIB1ASMSRC = '$(LIB1ASMSRC)' >> tmp-libgcc.mvars
|
||||
@@ -1880,6 +1888,7 @@ multilib.h: s-mlib; @true
|
||||
s-mlib: $(srcdir)/genmultilib Makefile
|
||||
if test @enable_multilib@ = yes \
|
||||
|| test -n "$(MULTILIB_OSDIRNAMES)"; then \
|
||||
+ CONFIG_SHELL="$(SHELL)" \
|
||||
$(SHELL) $(srcdir)/genmultilib \
|
||||
"$(MULTILIB_OPTIONS)" \
|
||||
"$(MULTILIB_DIRNAMES)" \
|
||||
@@ -3820,6 +3829,12 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS)
|
||||
# s-* so that mostlyclean does not force the include directory to
|
||||
# be rebuilt.
|
||||
|
||||
+unwind.h: $(UNWIND_H)
|
||||
+ -if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
|
||||
+ rm -f include/unwind.h
|
||||
+ cp $(UNWIND_H) include/unwind.h
|
||||
+ chmod a+r include/unwind.h
|
||||
+
|
||||
# Build the include directories.
|
||||
stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fixinc_list
|
||||
# Copy in the headers provided with gcc.
|
||||
@@ -3829,6 +3844,7 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fi
|
||||
# The touch command is here to workaround an AIX/Linux NFS bug.
|
||||
-if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi
|
||||
-if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi
|
||||
+ if false; then \
|
||||
for file in .. $(USER_H); do \
|
||||
if [ X$$file != X.. ]; then \
|
||||
realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
|
||||
@@ -3837,11 +3853,13 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fi
|
||||
cp $$file include; \
|
||||
chmod a+r include/$$realfile; \
|
||||
fi; \
|
||||
- done
|
||||
+ done; \
|
||||
+ fi
|
||||
rm -f include/unwind.h
|
||||
cp $(UNWIND_H) include/unwind.h
|
||||
chmod a+r include/unwind.h
|
||||
- rm -f include/stdint.h
|
||||
+ if false; then \
|
||||
+ rm -f include/stdint.h; \
|
||||
if [ $(USE_GCC_STDINT) = wrap ]; then \
|
||||
rm -f include/stdint-gcc.h; \
|
||||
cp $(srcdir)/ginclude/stdint-gcc.h include/stdint-gcc.h; \
|
||||
@@ -3851,7 +3869,7 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fi
|
||||
elif [ $(USE_GCC_STDINT) = provide ]; then \
|
||||
cp $(srcdir)/ginclude/stdint-gcc.h include/stdint.h; \
|
||||
chmod a+r include/stdint.h; \
|
||||
- fi
|
||||
+ fi; \
|
||||
set -e; for ml in `cat fixinc_list`; do \
|
||||
sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \
|
||||
multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \
|
||||
@@ -3866,7 +3884,8 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fi
|
||||
rm -f $${fix_dir}/limits.h; \
|
||||
mv tmp-xlimits.h $${fix_dir}/limits.h; \
|
||||
chmod a+r $${fix_dir}/limits.h; \
|
||||
- done
|
||||
+ done; \
|
||||
+ fi
|
||||
# Install the README
|
||||
rm -f include-fixed/README
|
||||
cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README
|
||||
@@ -3926,10 +3945,11 @@ s-fixinc_list : $(GCC_PASSES)
|
||||
# Abort if no system headers available, unless building a crosscompiler.
|
||||
# FIXME: abort unless building --without-headers would be more accurate and less ugly
|
||||
stmp-fixinc: gsyslimits.h macro_list fixinc_list \
|
||||
- $(build_objdir)/fixincludes/fixincl \
|
||||
+ $(build_objdir)/fixincludes/fixincl$(build_exeext) \
|
||||
$(build_objdir)/fixincludes/fixinc.sh
|
||||
- rm -rf include-fixed; mkdir include-fixed
|
||||
- -chmod a+rx include-fixed
|
||||
+ if false; then \
|
||||
+ rm -rf include-fixed; mkdir include-fixed; \
|
||||
+ -chmod a+rx include-fixed; \
|
||||
if [ -d ../prev-gcc ]; then \
|
||||
cd ../prev-gcc && \
|
||||
$(MAKE) real-$(INSTALL_HEADERS_DIR) DESTDIR=`pwd`/../gcc/ \
|
||||
@@ -3963,6 +3983,7 @@ stmp-fixinc: gsyslimits.h macro_list fixinc_list \
|
||||
fi; \
|
||||
chmod a+r $${fix_dir}/syslimits.h; \
|
||||
done; \
|
||||
+ fi; \
|
||||
fi
|
||||
$(STAMP) stmp-fixinc
|
||||
#
|
||||
@@ -4389,6 +4410,8 @@ install-info:: doc installdirs \
|
||||
lang.install-info
|
||||
|
||||
$(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
|
||||
+ @echo "NOT REBUILDING $@"
|
||||
+NetBSD_DISABLED_info:
|
||||
rm -f $@
|
||||
if [ -f $< ]; then \
|
||||
for f in $(<)*; do \
|
||||
83
lang/gcc45/patches/patch-gcc_builtins.c
Normal file
83
lang/gcc45/patches/patch-gcc_builtins.c
Normal file
@@ -0,0 +1,83 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/builtins.c.orig Tue Dec 7 15:11:46 2010
|
||||
+++ gcc/builtins.c
|
||||
@@ -347,7 +347,7 @@ bool
|
||||
can_trust_pointer_alignment (void)
|
||||
{
|
||||
/* We rely on TER to compute accurate alignment information. */
|
||||
- return (optimize && flag_tree_ter);
|
||||
+ return (!STRICT_ALIGNMENT && optimize && flag_tree_ter);
|
||||
}
|
||||
|
||||
/* Return the alignment in bits of EXP, a pointer valued expression.
|
||||
@@ -3896,9 +3896,9 @@ expand_builtin_bzero (tree exp)
|
||||
}
|
||||
|
||||
/* Expand expression EXP, which is a call to the memcmp built-in function.
|
||||
- Return NULL_RTX if we failed and the
|
||||
- caller should emit a normal call, otherwise try to get the result in
|
||||
- TARGET, if convenient (and in mode MODE, if that's convenient). */
|
||||
+ Return NULL_RTX if we failed and the caller should emit a normal call,
|
||||
+ otherwise try to get the result in TARGET, if convenient (and in mode
|
||||
+ MODE, if that's convenient). */
|
||||
|
||||
static rtx
|
||||
expand_builtin_memcmp (tree exp, ATTRIBUTE_UNUSED rtx target,
|
||||
@@ -3910,7 +3910,10 @@ expand_builtin_memcmp (tree exp, ATTRIBUTE_UNUSED rtx
|
||||
POINTER_TYPE, POINTER_TYPE, INTEGER_TYPE, VOID_TYPE))
|
||||
return NULL_RTX;
|
||||
|
||||
-#if defined HAVE_cmpmemsi || defined HAVE_cmpstrnsi
|
||||
+ /* Note: The cmpstrnsi pattern, if it exists, is not suitable for
|
||||
+ implementing memcmp because it will stop if it encounters two
|
||||
+ zero bytes. */
|
||||
+#if defined HAVE_cmpmemsi
|
||||
{
|
||||
rtx arg1_rtx, arg2_rtx, arg3_rtx;
|
||||
rtx result;
|
||||
@@ -3925,16 +3928,9 @@ expand_builtin_memcmp (tree exp, ATTRIBUTE_UNUSED rtx
|
||||
= get_pointer_alignment (arg2, BIGGEST_ALIGNMENT) / BITS_PER_UNIT;
|
||||
enum machine_mode insn_mode;
|
||||
|
||||
-#ifdef HAVE_cmpmemsi
|
||||
if (HAVE_cmpmemsi)
|
||||
insn_mode = insn_data[(int) CODE_FOR_cmpmemsi].operand[0].mode;
|
||||
else
|
||||
-#endif
|
||||
-#ifdef HAVE_cmpstrnsi
|
||||
- if (HAVE_cmpstrnsi)
|
||||
- insn_mode = insn_data[(int) CODE_FOR_cmpstrnsi].operand[0].mode;
|
||||
- else
|
||||
-#endif
|
||||
return NULL_RTX;
|
||||
|
||||
/* If we don't have POINTER_TYPE, call the function. */
|
||||
@@ -3959,18 +3955,10 @@ expand_builtin_memcmp (tree exp, ATTRIBUTE_UNUSED rtx
|
||||
set_mem_size (arg2_rtx, arg3_rtx);
|
||||
}
|
||||
|
||||
-#ifdef HAVE_cmpmemsi
|
||||
if (HAVE_cmpmemsi)
|
||||
insn = gen_cmpmemsi (result, arg1_rtx, arg2_rtx, arg3_rtx,
|
||||
GEN_INT (MIN (arg1_align, arg2_align)));
|
||||
else
|
||||
-#endif
|
||||
-#ifdef HAVE_cmpstrnsi
|
||||
- if (HAVE_cmpstrnsi)
|
||||
- insn = gen_cmpstrnsi (result, arg1_rtx, arg2_rtx, arg3_rtx,
|
||||
- GEN_INT (MIN (arg1_align, arg2_align)));
|
||||
- else
|
||||
-#endif
|
||||
gcc_unreachable ();
|
||||
|
||||
if (insn)
|
||||
@@ -3996,7 +3984,7 @@ expand_builtin_memcmp (tree exp, ATTRIBUTE_UNUSED rtx
|
||||
else
|
||||
return convert_to_mode (mode, result, 0);
|
||||
}
|
||||
-#endif
|
||||
+#endif /* HAVE_cmpmemsi. */
|
||||
|
||||
return NULL_RTX;
|
||||
}
|
||||
27
lang/gcc45/patches/patch-gcc_c-common.c
Normal file
27
lang/gcc45/patches/patch-gcc_c-common.c
Normal file
@@ -0,0 +1,27 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/c-common.c.orig Thu Apr 7 18:25:50 2011
|
||||
+++ gcc/c-common.c
|
||||
@@ -4031,14 +4031,15 @@ c_common_truthvalue_conversion (location_t location, t
|
||||
/* Distribute the conversion into the arms of a COND_EXPR. */
|
||||
if (c_dialect_cxx ())
|
||||
{
|
||||
+ tree op1 = TREE_OPERAND (expr, 1);
|
||||
+ tree op2 = TREE_OPERAND (expr, 2);
|
||||
+ /* In C++ one of the arms might have void type if it is throw. */
|
||||
+ if (!VOID_TYPE_P (TREE_TYPE (op1)))
|
||||
+ op1 = c_common_truthvalue_conversion (location, op1);
|
||||
+ if (!VOID_TYPE_P (TREE_TYPE (op2)))
|
||||
+ op2 = c_common_truthvalue_conversion (location, op2);
|
||||
expr = fold_build3_loc (location, COND_EXPR, truthvalue_type_node,
|
||||
- TREE_OPERAND (expr, 0),
|
||||
- c_common_truthvalue_conversion (location,
|
||||
- TREE_OPERAND (expr,
|
||||
- 1)),
|
||||
- c_common_truthvalue_conversion (location,
|
||||
- TREE_OPERAND (expr,
|
||||
- 2)));
|
||||
+ TREE_OPERAND (expr, 0), op1, op2);
|
||||
goto ret;
|
||||
}
|
||||
else
|
||||
23
lang/gcc45/patches/patch-gcc_c-decl.c
Normal file
23
lang/gcc45/patches/patch-gcc_c-decl.c
Normal file
@@ -0,0 +1,23 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/c-decl.c.orig Thu Nov 11 20:40:32 2010
|
||||
+++ gcc/c-decl.c
|
||||
@@ -3909,7 +3909,7 @@ start_decl (struct c_declarator *declarator, struct c_
|
||||
return 0;
|
||||
|
||||
if (expr)
|
||||
- add_stmt (expr);
|
||||
+ add_stmt (fold_convert (void_type_node, expr));
|
||||
|
||||
if (TREE_CODE (decl) != FUNCTION_DECL && MAIN_NAME_P (DECL_NAME (decl)))
|
||||
warning (OPT_Wmain, "%q+D is usually a function", decl);
|
||||
@@ -7385,7 +7385,8 @@ start_function (struct c_declspecs *declspecs, struct
|
||||
|
||||
/* If the declarator is not suitable for a function definition,
|
||||
cause a syntax error. */
|
||||
- if (decl1 == 0)
|
||||
+ if (decl1 == 0
|
||||
+ || TREE_CODE (decl1) != FUNCTION_DECL)
|
||||
return 0;
|
||||
|
||||
loc = DECL_SOURCE_LOCATION (decl1);
|
||||
45
lang/gcc45/patches/patch-gcc_c-lex.c
Normal file
45
lang/gcc45/patches/patch-gcc_c-lex.c
Normal file
@@ -0,0 +1,45 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/c-lex.c.orig Thu Apr 7 18:24:43 2011
|
||||
+++ gcc/c-lex.c
|
||||
@@ -718,22 +718,25 @@ interpret_float (const cpp_token *token, unsigned int
|
||||
outside the range of representable values of its type. Since we
|
||||
have __builtin_inf* to produce an infinity, this is now a
|
||||
mandatory pedwarn if the target does not support infinities. */
|
||||
- if (REAL_VALUE_ISINF (real)
|
||||
- || (const_type != type && REAL_VALUE_ISINF (real_trunc)))
|
||||
+ if (warn_overflow)
|
||||
{
|
||||
- if (!MODE_HAS_INFINITIES (TYPE_MODE (type)))
|
||||
- pedwarn (input_location, 0, "floating constant exceeds range of %qT", type);
|
||||
- else
|
||||
- warning (OPT_Woverflow, "floating constant exceeds range of %qT", type);
|
||||
- }
|
||||
- /* We also give a warning if the value underflows. */
|
||||
- else if (REAL_VALUES_EQUAL (real, dconst0)
|
||||
- || (const_type != type && REAL_VALUES_EQUAL (real_trunc, dconst0)))
|
||||
- {
|
||||
- REAL_VALUE_TYPE realvoidmode;
|
||||
- int overflow = real_from_string (&realvoidmode, copy);
|
||||
- if (overflow < 0 || !REAL_VALUES_EQUAL (realvoidmode, dconst0))
|
||||
- warning (OPT_Woverflow, "floating constant truncated to zero");
|
||||
+ if (REAL_VALUE_ISINF (real)
|
||||
+ || (const_type != type && REAL_VALUE_ISINF (real_trunc)))
|
||||
+ {
|
||||
+ if (!MODE_HAS_INFINITIES (TYPE_MODE (type)))
|
||||
+ pedwarn (input_location, 0, "floating constant exceeds range of %qT", type);
|
||||
+ else
|
||||
+ warning (OPT_Woverflow, "floating constant exceeds range of %qT", type);
|
||||
+ }
|
||||
+ /* We also give a warning if the value underflows. */
|
||||
+ else if (REAL_VALUES_EQUAL (real, dconst0)
|
||||
+ || (const_type != type && REAL_VALUES_EQUAL (real_trunc, dconst0)))
|
||||
+ {
|
||||
+ REAL_VALUE_TYPE realvoidmode;
|
||||
+ int overflow = real_from_string (&realvoidmode, copy);
|
||||
+ if (overflow < 0 || !REAL_VALUES_EQUAL (realvoidmode, dconst0))
|
||||
+ warning (OPT_Woverflow, "floating constant truncated to zero");
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Create a node with determined type and value. */
|
||||
41
lang/gcc45/patches/patch-gcc_c-opts.c
Normal file
41
lang/gcc45/patches/patch-gcc_c-opts.c
Normal file
@@ -0,0 +1,41 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/c-opts.c.orig Fri Apr 2 19:54:46 2010
|
||||
+++ gcc/c-opts.c
|
||||
@@ -160,12 +160,14 @@ c_common_missing_argument (const char *opt, size_t cod
|
||||
error ("macro name missing after %qs", opt);
|
||||
break;
|
||||
|
||||
+ case OPT_cxx_isystem:
|
||||
case OPT_F:
|
||||
case OPT_I:
|
||||
case OPT_idirafter:
|
||||
case OPT_isysroot:
|
||||
case OPT_isystem:
|
||||
case OPT_iquote:
|
||||
+ case OPT_iremap:
|
||||
error ("missing path after %qs", opt);
|
||||
break;
|
||||
|
||||
@@ -564,6 +566,10 @@ c_common_handle_option (size_t scode, const char *arg,
|
||||
set_std_cxx98 (true);
|
||||
break;
|
||||
|
||||
+ case OPT_cxx_isystem:
|
||||
+ add_path (xstrdup (arg), SYSTEM, 1, true);
|
||||
+ break;
|
||||
+
|
||||
case OPT_d:
|
||||
handle_OPT_d (arg);
|
||||
break;
|
||||
@@ -877,6 +883,10 @@ c_common_handle_option (size_t scode, const char *arg,
|
||||
|
||||
case OPT_isystem:
|
||||
add_path (xstrdup (arg), SYSTEM, 0, true);
|
||||
+ break;
|
||||
+
|
||||
+ case OPT_iremap:
|
||||
+ add_cpp_remap_path (arg);
|
||||
break;
|
||||
|
||||
case OPT_iwithprefix:
|
||||
41
lang/gcc45/patches/patch-gcc_c-typeck.c
Normal file
41
lang/gcc45/patches/patch-gcc_c-typeck.c
Normal file
@@ -0,0 +1,41 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/c-typeck.c.orig Sun Jan 16 20:26:27 2011
|
||||
+++ gcc/c-typeck.c
|
||||
@@ -4219,6 +4219,11 @@ build_conditional_expr (location_t colon_loc, tree ife
|
||||
ret = fold_build3_loc (colon_loc, COND_EXPR, result_type, ifexp, op1, op2);
|
||||
else
|
||||
{
|
||||
+ if (int_operands)
|
||||
+ {
|
||||
+ op1 = remove_c_maybe_const_expr (op1);
|
||||
+ op2 = remove_c_maybe_const_expr (op2);
|
||||
+ }
|
||||
ret = build3 (COND_EXPR, result_type, ifexp, op1, op2);
|
||||
if (int_operands)
|
||||
ret = note_integer_operands (ret);
|
||||
@@ -9655,6 +9660,7 @@ build_binary_op (location_t location, enum tree_code c
|
||||
{
|
||||
case MULT_EXPR:
|
||||
case TRUNC_DIV_EXPR:
|
||||
+ op1 = c_save_expr (op1);
|
||||
imag = build2 (resultcode, real_type, imag, op1);
|
||||
/* Fall through. */
|
||||
case PLUS_EXPR:
|
||||
@@ -9675,6 +9681,7 @@ build_binary_op (location_t location, enum tree_code c
|
||||
switch (code)
|
||||
{
|
||||
case MULT_EXPR:
|
||||
+ op0 = c_save_expr (op0);
|
||||
imag = build2 (resultcode, real_type, op0, imag);
|
||||
/* Fall through. */
|
||||
case PLUS_EXPR:
|
||||
@@ -9800,7 +9807,7 @@ build_binary_op (location_t location, enum tree_code c
|
||||
warn_for_sign_compare (location, orig_op0_folded,
|
||||
orig_op1_folded, op0, op1,
|
||||
result_type, resultcode);
|
||||
- if (!in_late_binary_op)
|
||||
+ if (!in_late_binary_op && !int_operands)
|
||||
{
|
||||
if (!op0_maybe_const || TREE_CODE (op0) != INTEGER_CST)
|
||||
op0 = c_wrap_maybe_const (op0, !op0_maybe_const);
|
||||
28
lang/gcc45/patches/patch-gcc_c.opt
Normal file
28
lang/gcc45/patches/patch-gcc_c.opt
Normal file
@@ -0,0 +1,28 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/c.opt.orig Fri Apr 2 19:54:46 2010
|
||||
+++ gcc/c.opt
|
||||
@@ -520,6 +520,12 @@ ansi
|
||||
C ObjC C++ ObjC++
|
||||
A synonym for -std=c89 (for C) or -std=c++98 (for C++)
|
||||
|
||||
+; This should really just be C++/ObjC++ but we (NetBSD) use it when
|
||||
+; calling C and ObjC compilers as well.
|
||||
+cxx-isystem
|
||||
+C ObjC C++ ObjC++ Joined Separate
|
||||
+-cxx-isystem <dir> Add <dir> to the start of the C++ system include path
|
||||
+
|
||||
d
|
||||
C ObjC C++ ObjC++ Joined
|
||||
; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD?
|
||||
@@ -903,6 +909,10 @@ C ObjC C++ ObjC++ Joined Separate
|
||||
iquote
|
||||
C ObjC C++ ObjC++ Joined Separate
|
||||
-iquote <dir> Add <dir> to the end of the quote include path
|
||||
+
|
||||
+iremap
|
||||
+C ObjC C++ ObjC++ Joined Separate
|
||||
+-iremap <src:dst> Convert <src> to <dst> if it occurs as prefix in __FILE__.
|
||||
|
||||
iwithprefix
|
||||
C ObjC C++ ObjC++ Joined Separate
|
||||
192
lang/gcc45/patches/patch-gcc_caller-save.c
Normal file
192
lang/gcc45/patches/patch-gcc_caller-save.c
Normal file
@@ -0,0 +1,192 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/caller-save.c.orig Wed Mar 16 20:19:14 2011
|
||||
+++ gcc/caller-save.c
|
||||
@@ -439,101 +439,93 @@ saved_hard_reg_compare_func (const void *v1p, const vo
|
||||
void
|
||||
setup_save_areas (void)
|
||||
{
|
||||
- int i, j, k;
|
||||
- unsigned int r;
|
||||
+ int i, j, k, freq;
|
||||
HARD_REG_SET hard_regs_used;
|
||||
+ struct saved_hard_reg *saved_reg;
|
||||
+ rtx insn;
|
||||
+ struct insn_chain *chain, *next;
|
||||
+ unsigned int regno;
|
||||
+ HARD_REG_SET hard_regs_to_save, used_regs, this_insn_sets;
|
||||
+ reg_set_iterator rsi;
|
||||
|
||||
- /* Allocate space in the save area for the largest multi-register
|
||||
- pseudos first, then work backwards to single register
|
||||
- pseudos. */
|
||||
-
|
||||
- /* Find and record all call-used hard-registers in this function. */
|
||||
CLEAR_HARD_REG_SET (hard_regs_used);
|
||||
- for (i = FIRST_PSEUDO_REGISTER; i < max_regno; i++)
|
||||
- if (reg_renumber[i] >= 0 && REG_N_CALLS_CROSSED (i) > 0)
|
||||
- {
|
||||
- unsigned int regno = reg_renumber[i];
|
||||
- unsigned int endregno
|
||||
- = end_hard_regno (GET_MODE (regno_reg_rtx[i]), regno);
|
||||
- for (r = regno; r < endregno; r++)
|
||||
- if (call_used_regs[r])
|
||||
- SET_HARD_REG_BIT (hard_regs_used, r);
|
||||
- }
|
||||
|
||||
- if (optimize && flag_ira_share_save_slots)
|
||||
+ /* Find every CALL_INSN and record which hard regs are live across the
|
||||
+ call into HARD_REG_MAP and HARD_REGS_USED. */
|
||||
+ initiate_saved_hard_regs ();
|
||||
+ /* Create hard reg saved regs. */
|
||||
+ for (chain = reload_insn_chain; chain != 0; chain = next)
|
||||
{
|
||||
- rtx insn, slot;
|
||||
- struct insn_chain *chain, *next;
|
||||
- char *saved_reg_conflicts;
|
||||
- unsigned int regno;
|
||||
- int next_k, freq;
|
||||
- struct saved_hard_reg *saved_reg, *saved_reg2, *saved_reg3;
|
||||
- int call_saved_regs_num;
|
||||
- struct saved_hard_reg *call_saved_regs[FIRST_PSEUDO_REGISTER];
|
||||
- HARD_REG_SET hard_regs_to_save, used_regs, this_insn_sets;
|
||||
- reg_set_iterator rsi;
|
||||
- int best_slot_num;
|
||||
- int prev_save_slots_num;
|
||||
- rtx prev_save_slots[FIRST_PSEUDO_REGISTER];
|
||||
+ insn = chain->insn;
|
||||
+ next = chain->next;
|
||||
+ if (!CALL_P (insn)
|
||||
+ || find_reg_note (insn, REG_NORETURN, NULL))
|
||||
+ continue;
|
||||
+ freq = REG_FREQ_FROM_BB (BLOCK_FOR_INSN (insn));
|
||||
+ REG_SET_TO_HARD_REG_SET (hard_regs_to_save,
|
||||
+ &chain->live_throughout);
|
||||
+ COPY_HARD_REG_SET (used_regs, call_used_reg_set);
|
||||
|
||||
- initiate_saved_hard_regs ();
|
||||
- /* Create hard reg saved regs. */
|
||||
- for (chain = reload_insn_chain; chain != 0; chain = next)
|
||||
+ /* Record all registers set in this call insn. These don't
|
||||
+ need to be saved. N.B. the call insn might set a subreg
|
||||
+ of a multi-hard-reg pseudo; then the pseudo is considered
|
||||
+ live during the call, but the subreg that is set
|
||||
+ isn't. */
|
||||
+ CLEAR_HARD_REG_SET (this_insn_sets);
|
||||
+ note_stores (PATTERN (insn), mark_set_regs, &this_insn_sets);
|
||||
+ /* Sibcalls are considered to set the return value. */
|
||||
+ if (SIBLING_CALL_P (insn) && crtl->return_rtx)
|
||||
+ mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
|
||||
+
|
||||
+ AND_COMPL_HARD_REG_SET (used_regs, call_fixed_reg_set);
|
||||
+ AND_COMPL_HARD_REG_SET (used_regs, this_insn_sets);
|
||||
+ AND_HARD_REG_SET (hard_regs_to_save, used_regs);
|
||||
+ for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
|
||||
+ if (TEST_HARD_REG_BIT (hard_regs_to_save, regno))
|
||||
+ {
|
||||
+ if (hard_reg_map[regno] != NULL)
|
||||
+ hard_reg_map[regno]->call_freq += freq;
|
||||
+ else
|
||||
+ saved_reg = new_saved_hard_reg (regno, freq);
|
||||
+ SET_HARD_REG_BIT (hard_regs_used, regno);
|
||||
+ }
|
||||
+ /* Look through all live pseudos, mark their hard registers. */
|
||||
+ EXECUTE_IF_SET_IN_REG_SET
|
||||
+ (&chain->live_throughout, FIRST_PSEUDO_REGISTER, regno, rsi)
|
||||
{
|
||||
- insn = chain->insn;
|
||||
- next = chain->next;
|
||||
- if (!CALL_P (insn)
|
||||
- || find_reg_note (insn, REG_NORETURN, NULL))
|
||||
+ int r = reg_renumber[regno];
|
||||
+ int bound;
|
||||
+
|
||||
+ if (r < 0)
|
||||
continue;
|
||||
- freq = REG_FREQ_FROM_BB (BLOCK_FOR_INSN (insn));
|
||||
- REG_SET_TO_HARD_REG_SET (hard_regs_to_save,
|
||||
- &chain->live_throughout);
|
||||
- COPY_HARD_REG_SET (used_regs, call_used_reg_set);
|
||||
|
||||
- /* Record all registers set in this call insn. These don't
|
||||
- need to be saved. N.B. the call insn might set a subreg
|
||||
- of a multi-hard-reg pseudo; then the pseudo is considered
|
||||
- live during the call, but the subreg that is set
|
||||
- isn't. */
|
||||
- CLEAR_HARD_REG_SET (this_insn_sets);
|
||||
- note_stores (PATTERN (insn), mark_set_regs, &this_insn_sets);
|
||||
- /* Sibcalls are considered to set the return value. */
|
||||
- if (SIBLING_CALL_P (insn) && crtl->return_rtx)
|
||||
- mark_set_regs (crtl->return_rtx, NULL_RTX, &this_insn_sets);
|
||||
-
|
||||
- AND_COMPL_HARD_REG_SET (used_regs, call_fixed_reg_set);
|
||||
- AND_COMPL_HARD_REG_SET (used_regs, this_insn_sets);
|
||||
- AND_HARD_REG_SET (hard_regs_to_save, used_regs);
|
||||
- for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
|
||||
- if (TEST_HARD_REG_BIT (hard_regs_to_save, regno))
|
||||
+ bound = r + hard_regno_nregs[r][PSEUDO_REGNO_MODE (regno)];
|
||||
+ for (; r < bound; r++)
|
||||
+ if (TEST_HARD_REG_BIT (used_regs, r))
|
||||
{
|
||||
- if (hard_reg_map[regno] != NULL)
|
||||
- hard_reg_map[regno]->call_freq += freq;
|
||||
+ if (hard_reg_map[r] != NULL)
|
||||
+ hard_reg_map[r]->call_freq += freq;
|
||||
else
|
||||
- saved_reg = new_saved_hard_reg (regno, freq);
|
||||
+ saved_reg = new_saved_hard_reg (r, freq);
|
||||
+ SET_HARD_REG_BIT (hard_regs_to_save, r);
|
||||
+ SET_HARD_REG_BIT (hard_regs_used, r);
|
||||
}
|
||||
- /* Look through all live pseudos, mark their hard registers. */
|
||||
- EXECUTE_IF_SET_IN_REG_SET
|
||||
- (&chain->live_throughout, FIRST_PSEUDO_REGISTER, regno, rsi)
|
||||
- {
|
||||
- int r = reg_renumber[regno];
|
||||
- int bound;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- if (r < 0)
|
||||
- continue;
|
||||
+ /* If requested, figure out which hard regs can share save slots. */
|
||||
+ if (optimize && flag_ira_share_save_slots)
|
||||
+ {
|
||||
+ rtx slot;
|
||||
+ char *saved_reg_conflicts;
|
||||
+ int next_k;
|
||||
+ struct saved_hard_reg *saved_reg2, *saved_reg3;
|
||||
+ int call_saved_regs_num;
|
||||
+ struct saved_hard_reg *call_saved_regs[FIRST_PSEUDO_REGISTER];
|
||||
+ int best_slot_num;
|
||||
+ int prev_save_slots_num;
|
||||
+ rtx prev_save_slots[FIRST_PSEUDO_REGISTER];
|
||||
|
||||
- bound = r + hard_regno_nregs[r][PSEUDO_REGNO_MODE (regno)];
|
||||
- for (; r < bound; r++)
|
||||
- if (TEST_HARD_REG_BIT (used_regs, r))
|
||||
- {
|
||||
- if (hard_reg_map[r] != NULL)
|
||||
- hard_reg_map[r]->call_freq += freq;
|
||||
- else
|
||||
- saved_reg = new_saved_hard_reg (r, freq);
|
||||
- SET_HARD_REG_BIT (hard_regs_to_save, r);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
/* Find saved hard register conflicts. */
|
||||
saved_reg_conflicts = (char *) xmalloc (saved_regs_num * saved_regs_num);
|
||||
memset (saved_reg_conflicts, 0, saved_regs_num * saved_regs_num);
|
||||
@@ -691,8 +683,10 @@ setup_save_areas (void)
|
||||
}
|
||||
else
|
||||
{
|
||||
- /* Now run through all the call-used hard-registers and allocate
|
||||
- space for them in the caller-save area. Try to allocate space
|
||||
+ /* We are not sharing slots.
|
||||
+
|
||||
+ Run through all the call-used hard-registers and allocate
|
||||
+ space for each in the caller-save area. Try to allocate space
|
||||
in a manner which allows multi-register saves/restores to be done. */
|
||||
|
||||
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
|
||||
24
lang/gcc45/patches/patch-gcc_cfgexpand.c
Normal file
24
lang/gcc45/patches/patch-gcc_cfgexpand.c
Normal file
@@ -0,0 +1,24 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/cfgexpand.c.orig Sun Jan 16 20:20:21 2011
|
||||
+++ gcc/cfgexpand.c
|
||||
@@ -1080,7 +1080,9 @@ stack_protect_classify_type (tree type)
|
||||
else
|
||||
len = tree_low_cst (TYPE_SIZE_UNIT (type), 1);
|
||||
|
||||
- if (len < max)
|
||||
+ if (len == 0)
|
||||
+ ret = SPCT_HAS_ARRAY;
|
||||
+ else if (len < max)
|
||||
ret = SPCT_HAS_SMALL_CHAR_ARRAY | SPCT_HAS_ARRAY;
|
||||
else
|
||||
ret = SPCT_HAS_LARGE_CHAR_ARRAY | SPCT_HAS_ARRAY;
|
||||
@@ -2974,7 +2976,7 @@ expand_debug_expr (tree exp)
|
||||
|
||||
gcc_assert (part >= 0 && (unsigned)part < SA.map->num_partitions);
|
||||
|
||||
- op0 = SA.partition_to_pseudo[part];
|
||||
+ op0 = copy_rtx (SA.partition_to_pseudo[part]);
|
||||
}
|
||||
goto adjust_mode;
|
||||
}
|
||||
107
lang/gcc45/patches/patch-gcc_cfgrtl.c
Normal file
107
lang/gcc45/patches/patch-gcc_cfgrtl.c
Normal file
@@ -0,0 +1,107 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/cfgrtl.c.orig Mon Sep 20 21:30:35 2010
|
||||
+++ gcc/cfgrtl.c
|
||||
@@ -1116,6 +1116,7 @@ force_nonfallthru_and_redirect (edge e, basic_block ta
|
||||
rtx note;
|
||||
edge new_edge;
|
||||
int abnormal_edge_flags = 0;
|
||||
+ bool asm_goto_edge = false;
|
||||
int loc;
|
||||
|
||||
/* In the case the last instruction is conditional jump to the next
|
||||
@@ -1195,8 +1196,28 @@ force_nonfallthru_and_redirect (edge e, basic_block ta
|
||||
}
|
||||
}
|
||||
|
||||
- if (EDGE_COUNT (e->src->succs) >= 2 || abnormal_edge_flags)
|
||||
+ /* If e->src ends with asm goto, see if any of the ASM_OPERANDS_LABELs
|
||||
+ don't point to target label. */
|
||||
+ if (JUMP_P (BB_END (e->src))
|
||||
+ && target != EXIT_BLOCK_PTR
|
||||
+ && e->dest == target
|
||||
+ && (e->flags & EDGE_FALLTHRU)
|
||||
+ && (note = extract_asm_operands (PATTERN (BB_END (e->src)))))
|
||||
{
|
||||
+ int i, n = ASM_OPERANDS_LABEL_LENGTH (note);
|
||||
+
|
||||
+ for (i = 0; i < n; ++i)
|
||||
+ if (XEXP (ASM_OPERANDS_LABEL (note, i), 0) == BB_HEAD (target))
|
||||
+ {
|
||||
+ asm_goto_edge = true;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (EDGE_COUNT (e->src->succs) >= 2 || abnormal_edge_flags || asm_goto_edge)
|
||||
+ {
|
||||
+ gcov_type count = e->count;
|
||||
+ int probability = e->probability;
|
||||
/* Create the new structures. */
|
||||
|
||||
/* If the old block ended with a tablejump, skip its table
|
||||
@@ -1207,7 +1228,7 @@ force_nonfallthru_and_redirect (edge e, basic_block ta
|
||||
note = NEXT_INSN (note);
|
||||
|
||||
jump_block = create_basic_block (note, NULL, e->src);
|
||||
- jump_block->count = e->count;
|
||||
+ jump_block->count = count;
|
||||
jump_block->frequency = EDGE_FREQUENCY (e);
|
||||
jump_block->loop_depth = target->loop_depth;
|
||||
|
||||
@@ -1223,13 +1244,27 @@ force_nonfallthru_and_redirect (edge e, basic_block ta
|
||||
|
||||
/* Wire edge in. */
|
||||
new_edge = make_edge (e->src, jump_block, EDGE_FALLTHRU);
|
||||
- new_edge->probability = e->probability;
|
||||
- new_edge->count = e->count;
|
||||
+ new_edge->probability = probability;
|
||||
+ new_edge->count = count;
|
||||
|
||||
/* Redirect old edge. */
|
||||
redirect_edge_pred (e, jump_block);
|
||||
e->probability = REG_BR_PROB_BASE;
|
||||
|
||||
+ /* If asm goto has any label refs to target's label,
|
||||
+ add also edge from asm goto bb to target. */
|
||||
+ if (asm_goto_edge)
|
||||
+ {
|
||||
+ new_edge->probability /= 2;
|
||||
+ new_edge->count /= 2;
|
||||
+ jump_block->count /= 2;
|
||||
+ jump_block->frequency /= 2;
|
||||
+ new_edge = make_edge (new_edge->src, target,
|
||||
+ e->flags & ~EDGE_FALLTHRU);
|
||||
+ new_edge->probability = probability - probability / 2;
|
||||
+ new_edge->count = count - count / 2;
|
||||
+ }
|
||||
+
|
||||
new_bb = jump_block;
|
||||
}
|
||||
else
|
||||
@@ -1640,9 +1675,10 @@ rtl_dump_bb (basic_block bb, FILE *outf, int indent, i
|
||||
putc ('\n', outf);
|
||||
}
|
||||
|
||||
- for (insn = BB_HEAD (bb), last = NEXT_INSN (BB_END (bb)); insn != last;
|
||||
- insn = NEXT_INSN (insn))
|
||||
- print_rtl_single (outf, insn);
|
||||
+ if (bb->index != ENTRY_BLOCK && bb->index != EXIT_BLOCK)
|
||||
+ for (insn = BB_HEAD (bb), last = NEXT_INSN (BB_END (bb)); insn != last;
|
||||
+ insn = NEXT_INSN (insn))
|
||||
+ print_rtl_single (outf, insn);
|
||||
|
||||
if (df)
|
||||
{
|
||||
@@ -2754,6 +2790,11 @@ cfg_layout_merge_blocks (basic_block a, basic_block b)
|
||||
rtx first = BB_END (a), last;
|
||||
|
||||
last = emit_insn_after_noloc (b->il.rtl->header, BB_END (a), a);
|
||||
+ /* The above might add a BARRIER as BB_END, but as barriers
|
||||
+ aren't valid parts of a bb, remove_insn doesn't update
|
||||
+ BB_END if it is a barrier. So adjust BB_END here. */
|
||||
+ while (BB_END (a) != first && BARRIER_P (BB_END (a)))
|
||||
+ BB_END (a) = PREV_INSN (BB_END (a));
|
||||
delete_insn_chain (NEXT_INSN (first), last, false);
|
||||
b->il.rtl->header = NULL;
|
||||
}
|
||||
13
lang/gcc45/patches/patch-gcc_combine.c
Normal file
13
lang/gcc45/patches/patch-gcc_combine.c
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/combine.c.orig Tue Dec 7 15:08:54 2010
|
||||
+++ gcc/combine.c
|
||||
@@ -5298,7 +5298,7 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mod
|
||||
{
|
||||
/* Try to simplify the expression further. */
|
||||
rtx tor = simplify_gen_binary (IOR, mode, XEXP (x, 0), XEXP (x, 1));
|
||||
- temp = combine_simplify_rtx (tor, mode, in_dest);
|
||||
+ temp = combine_simplify_rtx (tor, VOIDmode, in_dest);
|
||||
|
||||
/* If we could, great. If not, do not go ahead with the IOR
|
||||
replacement, since PLUS appears in many special purpose
|
||||
41
lang/gcc45/patches/patch-gcc_config.gcc
Normal file
41
lang/gcc45/patches/patch-gcc_config.gcc
Normal file
@@ -0,0 +1,41 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config.gcc.orig Wed May 21 19:48:55 2014
|
||||
+++ gcc/config.gcc
|
||||
@@ -839,6 +839,22 @@ arm*-*-eabi* | arm*-*-symbianelf* )
|
||||
tm_file="${tm_file} arm/aout.h arm/arm.h"
|
||||
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
|
||||
;;
|
||||
+arm*-*-minix*)
|
||||
+ # The BPABI long long divmod functions return a 128-bit value in
|
||||
+ # registers r0-r3. Correctly modeling that requires the use of
|
||||
+ # TImode.
|
||||
+ need_64bit_hwint=yes
|
||||
+ default_use_cxa_atexit=yes
|
||||
+ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/bpabi.h"
|
||||
+ tmake_file="arm/t-arm arm/t-arm-elf"
|
||||
+
|
||||
+ tm_file="$tm_file arm/eabi.h newlib-stdint.h minix-spec.h arm/minix.h minix.h"
|
||||
+ tmake_file="${tmake_file} arm/t-bpabi t-minix"
|
||||
+ #extra_options="${extra_options} arm/eabi.opt"
|
||||
+ #use_gcc_stdint=wrap
|
||||
+
|
||||
+ tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
|
||||
+ ;;
|
||||
arm*-*-rtems*)
|
||||
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h"
|
||||
tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
|
||||
@@ -1162,6 +1178,13 @@ i[34567]86-*-freebsd*)
|
||||
x86_64-*-freebsd*)
|
||||
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"
|
||||
tmake_file="${tmake_file} i386/t-crtstuff"
|
||||
+ ;;
|
||||
+i[34567]86-*-minix)
|
||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h minix-spec.h i386/minix.h minix.h"
|
||||
+ tmake_file="${tmake_file} t-minix"
|
||||
+ gas=yes
|
||||
+ gnu_ld=yes
|
||||
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
;;
|
||||
i[34567]86-*-netbsdelf*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
|
||||
100
lang/gcc45/patches/patch-gcc_config_alpha_alpha.c
Normal file
100
lang/gcc45/patches/patch-gcc_config_alpha_alpha.c
Normal file
@@ -0,0 +1,100 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/alpha/alpha.c.orig Tue Aug 3 18:44:56 2010
|
||||
+++ gcc/config/alpha/alpha.c
|
||||
@@ -2464,7 +2464,7 @@ alpha_emit_conditional_branch (rtx operands[], enum ma
|
||||
{
|
||||
case EQ: case LE: case LT: case LEU: case LTU:
|
||||
case UNORDERED:
|
||||
- /* We have these compares: */
|
||||
+ /* We have these compares. */
|
||||
cmp_code = code, branch_code = NE;
|
||||
break;
|
||||
|
||||
@@ -2701,13 +2701,15 @@ alpha_emit_conditional_move (rtx cmp, enum machine_mod
|
||||
switch (code)
|
||||
{
|
||||
case EQ: case LE: case LT: case LEU: case LTU:
|
||||
+ case UNORDERED:
|
||||
/* We have these compares. */
|
||||
cmp_code = code, code = NE;
|
||||
break;
|
||||
|
||||
case NE:
|
||||
- /* This must be reversed. */
|
||||
- cmp_code = EQ, code = EQ;
|
||||
+ case ORDERED:
|
||||
+ /* These must be reversed. */
|
||||
+ cmp_code = reverse_condition (code), code = EQ;
|
||||
break;
|
||||
|
||||
case GE: case GT: case GEU: case GTU:
|
||||
@@ -2727,6 +2729,14 @@ alpha_emit_conditional_move (rtx cmp, enum machine_mod
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
+ if (cmp_mode == DImode)
|
||||
+ {
|
||||
+ if (!reg_or_0_operand (op0, DImode))
|
||||
+ op0 = force_reg (DImode, op0);
|
||||
+ if (!reg_or_8bit_operand (op1, DImode))
|
||||
+ op1 = force_reg (DImode, op1);
|
||||
+ }
|
||||
+
|
||||
tem = gen_reg_rtx (cmp_mode);
|
||||
emit_insn (gen_rtx_SET (VOIDmode, tem,
|
||||
gen_rtx_fmt_ee (cmp_code, cmp_mode,
|
||||
@@ -2738,6 +2748,14 @@ alpha_emit_conditional_move (rtx cmp, enum machine_mod
|
||||
local_fast_math = 1;
|
||||
}
|
||||
|
||||
+ if (cmp_mode == DImode)
|
||||
+ {
|
||||
+ if (!reg_or_0_operand (op0, DImode))
|
||||
+ op0 = force_reg (DImode, op0);
|
||||
+ if (!reg_or_8bit_operand (op1, DImode))
|
||||
+ op1 = force_reg (DImode, op1);
|
||||
+ }
|
||||
+
|
||||
/* We may be able to use a conditional move directly.
|
||||
This avoids emitting spurious compares. */
|
||||
if (signed_comparison_operator (cmp, VOIDmode)
|
||||
@@ -2756,11 +2774,13 @@ alpha_emit_conditional_move (rtx cmp, enum machine_mod
|
||||
switch (code)
|
||||
{
|
||||
case EQ: case LE: case LT: case LEU: case LTU:
|
||||
+ case UNORDERED:
|
||||
/* We have these compares: */
|
||||
break;
|
||||
|
||||
case NE:
|
||||
- /* This must be reversed. */
|
||||
+ case ORDERED:
|
||||
+ /* These must be reversed. */
|
||||
code = reverse_condition (code);
|
||||
cmov_code = EQ;
|
||||
break;
|
||||
@@ -4915,6 +4935,13 @@ alpha_gp_save_rtx (void)
|
||||
return m;
|
||||
}
|
||||
|
||||
+static void
|
||||
+alpha_instantiate_decls (void)
|
||||
+{
|
||||
+ if (cfun->machine->gp_save_rtx != NULL_RTX)
|
||||
+ instantiate_decl_rtl (cfun->machine->gp_save_rtx);
|
||||
+}
|
||||
+
|
||||
static int
|
||||
alpha_ra_ever_killed (void)
|
||||
{
|
||||
@@ -11124,6 +11151,9 @@ alpha_init_libfuncs (void)
|
||||
#define TARGET_ARG_PARTIAL_BYTES alpha_arg_partial_bytes
|
||||
#undef TARGET_TRAMPOLINE_INIT
|
||||
#define TARGET_TRAMPOLINE_INIT alpha_trampoline_init
|
||||
+
|
||||
+#undef TARGET_INSTANTIATE_DECLS
|
||||
+#define TARGET_INSTANTIATE_DECLS alpha_instantiate_decls
|
||||
|
||||
#undef TARGET_SECONDARY_RELOAD
|
||||
#define TARGET_SECONDARY_RELOAD alpha_secondary_reload
|
||||
24
lang/gcc45/patches/patch-gcc_config_alpha_elf.h
Normal file
24
lang/gcc45/patches/patch-gcc_config_alpha_elf.h
Normal file
@@ -0,0 +1,24 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/alpha/elf.h.orig Wed Jun 30 15:16:54 2010
|
||||
+++ gcc/config/alpha/elf.h
|
||||
@@ -25,8 +25,9 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
/* ??? Move all SDB stuff from alpha.h to osf.h. */
|
||||
#undef SDB_DEBUGGING_INFO
|
||||
+#undef MIPS_DEBUGGING_INFO
|
||||
+#undef DBX_DEBUGGING_INFO
|
||||
|
||||
-#define DBX_DEBUGGING_INFO 1
|
||||
#define DWARF2_DEBUGGING_INFO 1
|
||||
|
||||
#undef PREFERRED_DEBUGGING_TYPE
|
||||
@@ -440,7 +441,7 @@ extern int alpha_this_gpdisp_sequence_number;
|
||||
As of Jan 2002, only glibc 2.2.4 can actually make use of this, but
|
||||
I imagine that other systems will catch up. In the meantime, it
|
||||
doesn't harm to make sure that the data exists to be used later. */
|
||||
-#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||
+#if defined(HAVE_LD_EH_FRAME_HDR) && !defined(LINK_EH_SPEC)
|
||||
#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
|
||||
#endif
|
||||
|
||||
81
lang/gcc45/patches/patch-gcc_config_alpha_linux-unwind.h
Normal file
81
lang/gcc45/patches/patch-gcc_config_alpha_linux-unwind.h
Normal file
@@ -0,0 +1,81 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/alpha/linux-unwind.h.orig Thu Apr 9 15:00:19 2009
|
||||
+++ gcc/config/alpha/linux-unwind.h
|
||||
@@ -1,5 +1,5 @@
|
||||
/* DWARF2 EH unwinding support for Alpha Linux.
|
||||
- Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2004, 2005, 2009, 2011, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@@ -36,25 +36,27 @@ alpha_fallback_frame_state (struct _Unwind_Context *co
|
||||
{
|
||||
unsigned int *pc = context->ra;
|
||||
struct sigcontext *sc;
|
||||
- long new_cfa, i;
|
||||
+ long new_cfa;
|
||||
+ int i;
|
||||
|
||||
if (pc[0] != 0x47fe0410 /* mov $30,$16 */
|
||||
- || pc[2] != 0x00000083 /* callsys */)
|
||||
+ || pc[2] != 0x00000083) /* callsys */
|
||||
return _URC_END_OF_STACK;
|
||||
if (context->cfa == 0)
|
||||
return _URC_END_OF_STACK;
|
||||
if (pc[1] == 0x201f0067) /* lda $0,NR_sigreturn */
|
||||
sc = context->cfa;
|
||||
- else if (pc[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */
|
||||
+ else if (pc[1] == 0x201f015f) /* lda $0,NR_rt_sigreturn */
|
||||
{
|
||||
struct rt_sigframe {
|
||||
- struct siginfo info;
|
||||
+ siginfo_t info;
|
||||
struct ucontext uc;
|
||||
} *rt_ = context->cfa;
|
||||
sc = &rt_->uc.uc_mcontext;
|
||||
}
|
||||
else
|
||||
return _URC_END_OF_STACK;
|
||||
+
|
||||
new_cfa = sc->sc_regs[30];
|
||||
fs->regs.cfa_how = CFA_REG_OFFSET;
|
||||
fs->regs.cfa_reg = 30;
|
||||
@@ -63,16 +65,35 @@ alpha_fallback_frame_state (struct _Unwind_Context *co
|
||||
{
|
||||
fs->regs.reg[i].how = REG_SAVED_OFFSET;
|
||||
fs->regs.reg[i].loc.offset
|
||||
- = (long)&sc->sc_regs[i] - new_cfa;
|
||||
+ = (long) &sc->sc_regs[i] - new_cfa;
|
||||
}
|
||||
for (i = 0; i < 31; ++i)
|
||||
{
|
||||
fs->regs.reg[i+32].how = REG_SAVED_OFFSET;
|
||||
fs->regs.reg[i+32].loc.offset
|
||||
- = (long)&sc->sc_fpregs[i] - new_cfa;
|
||||
+ = (long) &sc->sc_fpregs[i] - new_cfa;
|
||||
}
|
||||
fs->regs.reg[64].how = REG_SAVED_OFFSET;
|
||||
fs->regs.reg[64].loc.offset = (long)&sc->sc_pc - new_cfa;
|
||||
fs->retaddr_column = 64;
|
||||
+ fs->signal_frame = 1;
|
||||
+
|
||||
return _URC_NO_REASON;
|
||||
+}
|
||||
+
|
||||
+#define MD_FROB_UPDATE_CONTEXT alpha_frob_update_context
|
||||
+
|
||||
+/* Fix up for signal handlers that don't have S flag set. */
|
||||
+
|
||||
+static void
|
||||
+alpha_frob_update_context (struct _Unwind_Context *context,
|
||||
+ _Unwind_FrameState *fs ATTRIBUTE_UNUSED)
|
||||
+{
|
||||
+ unsigned int *pc = context->ra;
|
||||
+
|
||||
+ if (pc[0] == 0x47fe0410 /* mov $30,$16 */
|
||||
+ && pc[2] == 0x00000083 /* callsys */
|
||||
+ && (pc[1] == 0x201f0067 /* lda $0,NR_sigreturn */
|
||||
+ || pc[1] == 0x201f015f)) /* lda $0,NR_rt_sigreturn */
|
||||
+ _Unwind_SetSignalFrame (context, 1);
|
||||
}
|
||||
15
lang/gcc45/patches/patch-gcc_config_arm_arm-cores.def
Normal file
15
lang/gcc45/patches/patch-gcc_config_arm_arm-cores.def
Normal file
@@ -0,0 +1,15 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/arm-cores.def.orig Fri Nov 20 17:37:30 2009
|
||||
+++ gcc/config/arm/arm-cores.def
|
||||
@@ -119,8 +119,10 @@ ARM_CORE("mpcore", mpcore, 6K, FL_LDSCHED | FL_V
|
||||
ARM_CORE("arm1156t2-s", arm1156t2s, 6T2, FL_LDSCHED, 9e)
|
||||
ARM_CORE("arm1156t2f-s", arm1156t2fs, 6T2, FL_LDSCHED | FL_VFPV2, 9e)
|
||||
ARM_CORE("cortex-a5", cortexa5, 7A, FL_LDSCHED, 9e)
|
||||
+ARM_CORE("cortex-a7", cortexa7, 7A, FL_LDSCHED | FL_DIV, 9e)
|
||||
ARM_CORE("cortex-a8", cortexa8, 7A, FL_LDSCHED, 9e)
|
||||
ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, 9e)
|
||||
+ARM_CORE("cortex-a15", cortexa15, 7A, FL_LDSCHED | FL_DIV, 9e)
|
||||
ARM_CORE("cortex-r4", cortexr4, 7R, FL_LDSCHED, 9e)
|
||||
ARM_CORE("cortex-r4f", cortexr4f, 7R, FL_LDSCHED, 9e)
|
||||
ARM_CORE("cortex-m3", cortexm3, 7M, FL_LDSCHED, 9e)
|
||||
53
lang/gcc45/patches/patch-gcc_config_arm_arm.c
Normal file
53
lang/gcc45/patches/patch-gcc_config_arm_arm.c
Normal file
@@ -0,0 +1,53 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/arm.c.orig Mon Dec 27 12:45:02 2010
|
||||
+++ gcc/config/arm/arm.c
|
||||
@@ -3339,6 +3339,10 @@ arm_libcall_uses_aapcs_base (const_rtx libcall)
|
||||
add_libcall (libcall_htab,
|
||||
convert_optab_libfunc (trunc_optab, HFmode, SFmode));
|
||||
add_libcall (libcall_htab,
|
||||
+ convert_optab_libfunc (sfix_optab, SImode, DFmode));
|
||||
+ add_libcall (libcall_htab,
|
||||
+ convert_optab_libfunc (ufix_optab, SImode, DFmode));
|
||||
+ add_libcall (libcall_htab,
|
||||
convert_optab_libfunc (sfix_optab, DImode, DFmode));
|
||||
add_libcall (libcall_htab,
|
||||
convert_optab_libfunc (ufix_optab, DImode, DFmode));
|
||||
@@ -3346,6 +3350,28 @@ arm_libcall_uses_aapcs_base (const_rtx libcall)
|
||||
convert_optab_libfunc (sfix_optab, DImode, SFmode));
|
||||
add_libcall (libcall_htab,
|
||||
convert_optab_libfunc (ufix_optab, DImode, SFmode));
|
||||
+
|
||||
+ /* Values from double-precision helper functions are returned in core
|
||||
+ registers if the selected core only supports single-precision
|
||||
+ arithmetic, even if we are using the hard-float ABI. The same is
|
||||
+ true for single-precision helpers, but we will never be using the
|
||||
+ hard-float ABI on a CPU which doesn't support single-precision
|
||||
+ operations in hardware. */
|
||||
+ add_libcall (libcall_htab, optab_libfunc (add_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (sdiv_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (smul_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (neg_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (sub_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (eq_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (lt_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (le_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (ge_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (gt_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, optab_libfunc (unord_optab, DFmode));
|
||||
+ add_libcall (libcall_htab, convert_optab_libfunc (sext_optab, DFmode,
|
||||
+ SFmode));
|
||||
+ add_libcall (libcall_htab, convert_optab_libfunc (trunc_optab, SFmode,
|
||||
+ DFmode));
|
||||
}
|
||||
|
||||
return libcall && htab_find (libcall_htab, libcall) != NULL;
|
||||
@@ -18237,7 +18263,7 @@ neon_emit_pair_result_insn (enum machine_mode mode,
|
||||
rtx tmp1 = gen_reg_rtx (mode);
|
||||
rtx tmp2 = gen_reg_rtx (mode);
|
||||
|
||||
- emit_insn (intfn (tmp1, op1, tmp2, op2));
|
||||
+ emit_insn (intfn (tmp1, op1, op2, tmp2));
|
||||
|
||||
emit_move_insn (mem, tmp1);
|
||||
mem = adjust_address (mem, mode, GET_MODE_SIZE (mode));
|
||||
38
lang/gcc45/patches/patch-gcc_config_arm_arm.h
Normal file
38
lang/gcc45/patches/patch-gcc_config_arm_arm.h
Normal file
@@ -0,0 +1,38 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/arm.h.orig Wed Dec 23 16:36:40 2009
|
||||
+++ gcc/config/arm/arm.h
|
||||
@@ -94,7 +94,14 @@ extern char arm_arch_name[];
|
||||
if (arm_arch_iwmmxt) \
|
||||
builtin_define ("__IWMMXT__"); \
|
||||
if (TARGET_AAPCS_BASED) \
|
||||
- builtin_define ("__ARM_EABI__"); \
|
||||
+ { \
|
||||
+ builtin_define ("__ARM_EABI__"); \
|
||||
+ builtin_define ("__ARM_PCS"); \
|
||||
+ if (TARGET_HARD_FLOAT && TARGET_VFP) \
|
||||
+ builtin_define ("__ARM_PCS_VFP"); \
|
||||
+ } \
|
||||
+ if (TARGET_IDIV) \
|
||||
+ builtin_define ("__ARM_ARCH_EXT_IDIV__"); \
|
||||
} while (0)
|
||||
|
||||
/* The various ARM cores. */
|
||||
@@ -264,6 +271,8 @@ extern void (*arm_lang_output_object_attributes_hook)(
|
||||
for Thumb-2. */
|
||||
#define TARGET_UNIFIED_ASM TARGET_THUMB2
|
||||
|
||||
+/* Nonzero if integer division instructions supported. */
|
||||
+#define TARGET_IDIV (arm_arch_hwdiv)
|
||||
|
||||
/* True iff the full BPABI is being used. If TARGET_BPABI is true,
|
||||
then TARGET_AAPCS_BASED must be true -- but the converse does not
|
||||
@@ -2111,7 +2120,7 @@ typedef struct
|
||||
(GET_CODE (X) == REG && ARM_REG_OK_FOR_INDEX_P (X))
|
||||
|
||||
/* Define this for compatibility reasons. */
|
||||
-#define HANDLE_PRAGMA_PACK_PUSH_POP
|
||||
+#define HANDLE_PRAGMA_PACK_PUSH_POP 1
|
||||
|
||||
/* Specify the machine mode that this machine uses
|
||||
for the index in the tablejump instruction. */
|
||||
49
lang/gcc45/patches/patch-gcc_config_arm_arm.md
Normal file
49
lang/gcc45/patches/patch-gcc_config_arm_arm.md
Normal file
@@ -0,0 +1,49 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/arm.md.orig Tue Apr 12 13:52:46 2011
|
||||
+++ gcc/config/arm/arm.md
|
||||
@@ -3134,7 +3134,7 @@
|
||||
bool need_else;
|
||||
|
||||
if (which_alternative != 0 || operands[3] != const0_rtx
|
||||
- || (code != PLUS && code != MINUS && code != IOR && code != XOR))
|
||||
+ || (code != PLUS && code != IOR && code != XOR))
|
||||
need_else = true;
|
||||
else
|
||||
need_else = false;
|
||||
@@ -3189,7 +3189,7 @@
|
||||
)
|
||||
|
||||
(define_insn "arm_ashldi3_1bit"
|
||||
- [(set (match_operand:DI 0 "s_register_operand" "=&r,r")
|
||||
+ [(set (match_operand:DI 0 "s_register_operand" "=r,&r")
|
||||
(ashift:DI (match_operand:DI 1 "s_register_operand" "0,r")
|
||||
(const_int 1)))
|
||||
(clobber (reg:CC CC_REGNUM))]
|
||||
@@ -3248,7 +3248,7 @@
|
||||
)
|
||||
|
||||
(define_insn "arm_ashrdi3_1bit"
|
||||
- [(set (match_operand:DI 0 "s_register_operand" "=&r,r")
|
||||
+ [(set (match_operand:DI 0 "s_register_operand" "=r,&r")
|
||||
(ashiftrt:DI (match_operand:DI 1 "s_register_operand" "0,r")
|
||||
(const_int 1)))
|
||||
(clobber (reg:CC CC_REGNUM))]
|
||||
@@ -3304,7 +3304,7 @@
|
||||
)
|
||||
|
||||
(define_insn "arm_lshrdi3_1bit"
|
||||
- [(set (match_operand:DI 0 "s_register_operand" "=&r,r")
|
||||
+ [(set (match_operand:DI 0 "s_register_operand" "=r,&r")
|
||||
(lshiftrt:DI (match_operand:DI 1 "s_register_operand" "0,r")
|
||||
(const_int 1)))
|
||||
(clobber (reg:CC CC_REGNUM))]
|
||||
@@ -7994,7 +7994,7 @@
|
||||
(not:SI (match_operator:SI 1 "arm_comparison_operator"
|
||||
[(match_operand 2 "cc_register" "") (const_int 0)])))]
|
||||
"TARGET_ARM"
|
||||
- "mov%D1\\t%0, #0\;mvn%d1\\t%0, #1"
|
||||
+ "mvn%D1\\t%0, #0\;mvn%d1\\t%0, #1"
|
||||
[(set_attr "conds" "use")
|
||||
(set_attr "length" "8")]
|
||||
)
|
||||
6
lang/gcc45/patches/patch-gcc_config_arm_bpabi-netbsd.c
Normal file
6
lang/gcc45/patches/patch-gcc_config_arm_bpabi-netbsd.c
Normal file
@@ -0,0 +1,6 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/bpabi-netbsd.c.orig Wed May 21 19:48:53 2014
|
||||
+++ gcc/config/arm/bpabi-netbsd.c
|
||||
@@ -0,0 +1 @@
|
||||
+#include "bpabi.c"
|
||||
43
lang/gcc45/patches/patch-gcc_config_arm_bpabi.h
Normal file
43
lang/gcc45/patches/patch-gcc_config_arm_bpabi.h
Normal file
@@ -0,0 +1,43 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/bpabi.h.orig Fri Nov 20 17:37:30 2009
|
||||
+++ gcc/config/arm/bpabi.h
|
||||
@@ -20,13 +20,18 @@
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Use the AAPCS ABI by default. */
|
||||
+#undef ARM_DEFAULT_ABI
|
||||
#define ARM_DEFAULT_ABI ARM_ABI_AAPCS
|
||||
|
||||
/* Assume that AAPCS ABIs should adhere to the full BPABI. */
|
||||
+#undef TARGET_BPABI
|
||||
#define TARGET_BPABI (TARGET_AAPCS_BASED)
|
||||
|
||||
/* BPABI targets use EABI frame unwinding tables. */
|
||||
+#undef MUST_USE_SJLJ_EXCEPTIONS
|
||||
#define TARGET_UNWIND_INFO 1
|
||||
+#undef ARM_EABI_UNWIND_TABLES
|
||||
+#define ARM_EABI_UNWIND_TABLES 1
|
||||
|
||||
/* Section 4.1 of the AAPCS requires the use of VFP format. */
|
||||
#undef FPUTYPE_DEFAULT
|
||||
@@ -72,17 +77,10 @@
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC BPABI_LINK_SPEC
|
||||
|
||||
-#if defined (__thumb__)
|
||||
-#define RENAME_LIBRARY_SET ".thumb_set"
|
||||
-#else
|
||||
-#define RENAME_LIBRARY_SET ".set"
|
||||
-#endif
|
||||
-
|
||||
/* Make __aeabi_AEABI_NAME an alias for __GCC_NAME. */
|
||||
#define RENAME_LIBRARY(GCC_NAME, AEABI_NAME) \
|
||||
- __asm__ (".globl\t__aeabi_" #AEABI_NAME "\n" \
|
||||
- RENAME_LIBRARY_SET "\t__aeabi_" #AEABI_NAME \
|
||||
- ", __" #GCC_NAME "\n");
|
||||
+ typeof (__##GCC_NAME) __aeabi_##AEABI_NAME \
|
||||
+ __attribute__((alias ("__" #GCC_NAME)));
|
||||
|
||||
/* Give some libgcc functions an additional __aeabi name. */
|
||||
#ifdef L_muldi3
|
||||
14
lang/gcc45/patches/patch-gcc_config_arm_elf.h
Normal file
14
lang/gcc45/patches/patch-gcc_config_arm_elf.h
Normal file
@@ -0,0 +1,14 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/elf.h.orig Sun Jun 21 20:48:15 2009
|
||||
+++ gcc/config/arm/elf.h
|
||||
@@ -161,6 +161,8 @@
|
||||
#undef L_floatdidf
|
||||
#undef L_floatdisf
|
||||
#undef L_floatundidf
|
||||
+/* XXXMRG: don't take this out, we need it! */
|
||||
+# ifndef __NetBSD__
|
||||
#undef L_floatundisf
|
||||
+# endif
|
||||
#endif
|
||||
-
|
||||
75
lang/gcc45/patches/patch-gcc_config_arm_neon.md
Normal file
75
lang/gcc45/patches/patch-gcc_config_arm_neon.md
Normal file
@@ -0,0 +1,75 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/neon.md.orig Mon Jul 5 12:45:19 2010
|
||||
+++ gcc/config/arm/neon.md
|
||||
@@ -680,7 +680,7 @@
|
||||
(match_operand:SI 2 "immediate_operand" "i")))]
|
||||
"TARGET_NEON"
|
||||
{
|
||||
- int elt = ffs ((int) INTVAL (operands[2]) - 1);
|
||||
+ int elt = ffs ((int) INTVAL (operands[2])) - 1;
|
||||
if (BYTES_BIG_ENDIAN)
|
||||
elt = GET_MODE_NUNITS (<MODE>mode) - 1 - elt;
|
||||
operands[2] = GEN_INT (elt);
|
||||
@@ -3895,13 +3895,14 @@
|
||||
|
||||
(define_insn "neon_vtrn<mode>_internal"
|
||||
[(set (match_operand:VDQW 0 "s_register_operand" "=w")
|
||||
- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")]
|
||||
- UNSPEC_VTRN1))
|
||||
- (set (match_operand:VDQW 2 "s_register_operand" "=w")
|
||||
- (unspec:VDQW [(match_operand:VDQW 3 "s_register_operand" "2")]
|
||||
- UNSPEC_VTRN2))]
|
||||
+ (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
|
||||
+ (match_operand:VDQW 2 "s_register_operand" "w")]
|
||||
+ UNSPEC_VTRN1))
|
||||
+ (set (match_operand:VDQW 3 "s_register_operand" "=2")
|
||||
+ (unspec:VDQW [(match_dup 1) (match_dup 2)]
|
||||
+ UNSPEC_VTRN2))]
|
||||
"TARGET_NEON"
|
||||
- "vtrn.<V_sz_elem>\t%<V_reg>0, %<V_reg>2"
|
||||
+ "vtrn.<V_sz_elem>\t%<V_reg>0, %<V_reg>3"
|
||||
[(set (attr "neon_type")
|
||||
(if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
|
||||
(const_string "neon_bp_simple")
|
||||
@@ -3921,13 +3922,14 @@
|
||||
|
||||
(define_insn "neon_vzip<mode>_internal"
|
||||
[(set (match_operand:VDQW 0 "s_register_operand" "=w")
|
||||
- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")]
|
||||
- UNSPEC_VZIP1))
|
||||
- (set (match_operand:VDQW 2 "s_register_operand" "=w")
|
||||
- (unspec:VDQW [(match_operand:VDQW 3 "s_register_operand" "2")]
|
||||
- UNSPEC_VZIP2))]
|
||||
+ (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
|
||||
+ (match_operand:VDQW 2 "s_register_operand" "w")]
|
||||
+ UNSPEC_VZIP1))
|
||||
+ (set (match_operand:VDQW 3 "s_register_operand" "=2")
|
||||
+ (unspec:VDQW [(match_dup 1) (match_dup 2)]
|
||||
+ UNSPEC_VZIP2))]
|
||||
"TARGET_NEON"
|
||||
- "vzip.<V_sz_elem>\t%<V_reg>0, %<V_reg>2"
|
||||
+ "vzip.<V_sz_elem>\t%<V_reg>0, %<V_reg>3"
|
||||
[(set (attr "neon_type")
|
||||
(if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
|
||||
(const_string "neon_bp_simple")
|
||||
@@ -3947,13 +3949,14 @@
|
||||
|
||||
(define_insn "neon_vuzp<mode>_internal"
|
||||
[(set (match_operand:VDQW 0 "s_register_operand" "=w")
|
||||
- (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")]
|
||||
+ (unspec:VDQW [(match_operand:VDQW 1 "s_register_operand" "0")
|
||||
+ (match_operand:VDQW 2 "s_register_operand" "w")]
|
||||
UNSPEC_VUZP1))
|
||||
- (set (match_operand:VDQW 2 "s_register_operand" "=w")
|
||||
- (unspec:VDQW [(match_operand:VDQW 3 "s_register_operand" "2")]
|
||||
- UNSPEC_VUZP2))]
|
||||
+ (set (match_operand:VDQW 3 "s_register_operand" "=2")
|
||||
+ (unspec:VDQW [(match_dup 1) (match_dup 2)]
|
||||
+ UNSPEC_VUZP2))]
|
||||
"TARGET_NEON"
|
||||
- "vuzp.<V_sz_elem>\t%<V_reg>0, %<V_reg>2"
|
||||
+ "vuzp.<V_sz_elem>\t%<V_reg>0, %<V_reg>3"
|
||||
[(set (attr "neon_type")
|
||||
(if_then_else (ne (symbol_ref "<Is_d_reg>") (const_int 0))
|
||||
(const_string "neon_bp_simple")
|
||||
118
lang/gcc45/patches/patch-gcc_config_arm_netbsd-eabi.h
Normal file
118
lang/gcc45/patches/patch-gcc_config_arm_netbsd-eabi.h
Normal file
@@ -0,0 +1,118 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/netbsd-eabi.h.orig Wed May 21 19:48:54 2014
|
||||
+++ gcc/config/arm/netbsd-eabi.h
|
||||
@@ -0,0 +1,113 @@
|
||||
+/* Definitions of target machine for GNU compiler, NetBSD/arm ELF version.
|
||||
+ Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
+ Contributed by Wasabi Systems, Inc.
|
||||
+
|
||||
+ 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.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with GCC; see the file COPYING3. If not see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+/* Run-time Target Specification. */
|
||||
+#undef TARGET_VERSION
|
||||
+#define TARGET_VERSION fputs (" (NetBSD/earm ELF)", stderr);
|
||||
+
|
||||
+#undef MULTILIB_DEFAULTS
|
||||
+#define MULTILIB_DEFAULTS { "mabi=aapcs-linux" }
|
||||
+
|
||||
+#undef MUST_USE_SJLJ_EXCEPTIONS
|
||||
+#define MUST_USE_SJLJ_EXCEPTIONS (!TARGET_AAPCS_BASED)
|
||||
+
|
||||
+#undef ARM_EABI_UNWIND_TABLES
|
||||
+#define ARM_EABI_UNWIND_TABLES \
|
||||
+ ((!USING_SJLJ_EXCEPTIONS && flag_exceptions) || flag_unwind_tables)
|
||||
+
|
||||
+#define TARGET_LINKER_EABI_SUFFIX "%{!mabi=apcs-gnu:%{!mabi=atpcs:_nbsd_eabi}}"
|
||||
+#define TARGET_LINKER_BIG_EMULATION "armelfb%(linker_eabi_suffix)"
|
||||
+#define TARGET_LINKER_LITTLE_EMULATION "armelf%(linker_eabi_suffix)"
|
||||
+
|
||||
+/* TARGET_BIG_ENDIAN_DEFAULT is set in
|
||||
+ config.gcc for big endian configurations. */
|
||||
+#undef TARGET_LINKER_EMULATION
|
||||
+#if TARGET_BIG_ENDIAN_DEFAULT
|
||||
+#define TARGET_LINKER_EMULATION TARGET_LINKER_BIG_EMULATION
|
||||
+#undef BE8_LINK_SPEC
|
||||
+#define BE8_LINK_SPEC " %{!mlittle-endian:%{march=armv7-a|mcpu=cortex-a5|mcpu=cortex-a8|mcpu=cortex-a9:%{!r:--be8}}}"
|
||||
+#else
|
||||
+#define TARGET_LINKER_EMULATION TARGET_LINKER_LITTLE_EMULATION
|
||||
+#endif
|
||||
+
|
||||
+#undef MULTILIB_DEFAULTS
|
||||
+
|
||||
+#undef ARM_DEFAULT_ABI
|
||||
+#define ARM_DEFAULT_ABI ARM_ABI_AAPCS_LINUX
|
||||
+
|
||||
+#undef TARGET_OS_CPP_BUILTINS
|
||||
+#define TARGET_OS_CPP_BUILTINS() \
|
||||
+ do \
|
||||
+ { \
|
||||
+ if (TARGET_AAPCS_BASED) \
|
||||
+ TARGET_BPABI_CPP_BUILTINS(); \
|
||||
+ NETBSD_OS_CPP_BUILTINS_ELF(); \
|
||||
+ if (ARM_EABI_UNWIND_TABLES) \
|
||||
+ builtin_define ("__UNWIND_TABLES__"); \
|
||||
+ } \
|
||||
+ while (0)
|
||||
+
|
||||
+#undef SUBTARGET_CPP_SPEC
|
||||
+#define SUBTARGET_CPP_SPEC NETBSD_CPP_SPEC
|
||||
+
|
||||
+/*
|
||||
+ * Override AAPCS types to remain compatible the existing NetBSD types.
|
||||
+ */
|
||||
+#undef WCHAR_TYPE
|
||||
+#define WCHAR_TYPE "int"
|
||||
+
|
||||
+#undef SIZE_TYPE
|
||||
+#define SIZE_TYPE "long unsigned int"
|
||||
+
|
||||
+#undef PTRDIFF_TYPE
|
||||
+#define PTRDIFF_TYPE "long int"
|
||||
+
|
||||
+#undef SUBTARGET_EXTRA_ASM_SPEC
|
||||
+#define SUBTARGET_EXTRA_ASM_SPEC \
|
||||
+ "-matpcs %{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu} %{fpic|fpie:-k} %{fPIC|fPIE:-k}"
|
||||
+
|
||||
+/* Default to full VFP if -mhard-float is specified. */
|
||||
+#undef SUBTARGET_ASM_FLOAT_SPEC
|
||||
+#define SUBTARGET_ASM_FLOAT_SPEC \
|
||||
+ "%{mhard-float:%{!mfpu=*:-mfpu=vfp}} \
|
||||
+ %{mfloat-abi=hard:%{!mfpu=*:-mfpu=vfp}}"
|
||||
+
|
||||
+#undef SUBTARGET_EXTRA_SPECS
|
||||
+#define SUBTARGET_EXTRA_SPECS \
|
||||
+ { "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, \
|
||||
+ { "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \
|
||||
+ { "netbsd_link_spec", NETBSD_LINK_SPEC_ELF }, \
|
||||
+ { "linker_eabi_suffix", TARGET_LINKER_EABI_SUFFIX }, \
|
||||
+ { "linker_emulation", TARGET_LINKER_EMULATION }, \
|
||||
+ { "linker_big_emulation", TARGET_LINKER_BIG_EMULATION }, \
|
||||
+ { "linker_little_emulation", TARGET_LINKER_LITTLE_EMULATION }, \
|
||||
+ { "be8_link_spec", BE8_LINK_SPEC }, \
|
||||
+ { "target_fix_v4bx_spec", TARGET_FIX_V4BX_SPEC }, \
|
||||
+ { "netbsd_entry_point", NETBSD_ENTRY_POINT },
|
||||
+
|
||||
+#define NETBSD_ENTRY_POINT "__start"
|
||||
+
|
||||
+#undef LINK_SPEC
|
||||
+#define LINK_SPEC \
|
||||
+ "-X %{mbig-endian:-EB -m %(linker_big_emulation)} \
|
||||
+ %{mlittle-endian:-EL -m %(linker_liitle_emulation)} \
|
||||
+ %{!mbig-endian:%{!mlittle-endian:-m %(linker_emulation)}} \
|
||||
+ %(be8_link_spec) %(target_fix_v4bx_spec) \
|
||||
+ %(netbsd_link_spec)"
|
||||
55
lang/gcc45/patches/patch-gcc_config_arm_netbsd-elf.h
Normal file
55
lang/gcc45/patches/patch-gcc_config_arm_netbsd-elf.h
Normal file
@@ -0,0 +1,55 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/netbsd-elf.h.orig Thu Nov 5 14:47:45 2009
|
||||
+++ gcc/config/arm/netbsd-elf.h
|
||||
@@ -24,6 +24,14 @@
|
||||
|
||||
/* arm.h defaults to ARM6 CPU. */
|
||||
|
||||
+/* Default EABI to armv5t so that thumb shared libraries work.
|
||||
+ The ARM926EH-S core is the default for armv5te, so set
|
||||
+ SUBTARGET_CPU_DEFAULT to achieve this. */
|
||||
+
|
||||
+#define SUBTARGET_CPU_DEFAULT \
|
||||
+ (ARM_DEFAULT_ABI != ARM_ABI_APCS && ARM_DEFAULT_ABI != ARM_ABI_ATPCS \
|
||||
+ ? TARGET_CPU_arm926ejs : TARGET_CPU_arm6)
|
||||
+
|
||||
/* This defaults us to little-endian. */
|
||||
#ifndef TARGET_ENDIAN_DEFAULT
|
||||
#define TARGET_ENDIAN_DEFAULT 0
|
||||
@@ -40,6 +48,7 @@
|
||||
#undef ARM_DEFAULT_ABI
|
||||
#define ARM_DEFAULT_ABI ARM_ABI_ATPCS
|
||||
|
||||
+#undef TARGET_OS_CPP_BUILTINS
|
||||
#define TARGET_OS_CPP_BUILTINS() \
|
||||
do \
|
||||
{ \
|
||||
@@ -52,13 +61,13 @@
|
||||
|
||||
#undef SUBTARGET_EXTRA_ASM_SPEC
|
||||
#define SUBTARGET_EXTRA_ASM_SPEC \
|
||||
- "-matpcs %{fpic|fpie:-k} %{fPIC|fPIE:-k}"
|
||||
+ "-matpcs %{mabi=aapcs*:-meabi=5} %{fpic|fpie:-k} %{fPIC|fPIE:-k}"
|
||||
|
||||
/* Default to full VFP if -mhard-float is specified. */
|
||||
#undef SUBTARGET_ASM_FLOAT_SPEC
|
||||
#define SUBTARGET_ASM_FLOAT_SPEC \
|
||||
- "%{mhard-float:{!mfpu=*:-mfpu=vfp}} \
|
||||
- %{mfloat-abi=hard:{!mfpu=*:-mfpu=vfp}}"
|
||||
+ "%{mhard-float:%{!mfpu=*:-mfpu=vfp}} \
|
||||
+ %{mfloat-abi=hard:%{!mfpu=*:-mfpu=vfp}}"
|
||||
|
||||
#undef SUBTARGET_EXTRA_SPECS
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
@@ -71,7 +80,9 @@
|
||||
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC \
|
||||
- "-X %{mbig-endian:-EB} %{mlittle-endian:-EL} \
|
||||
+ "-X \
|
||||
+ %{mbig-endian:-EB %{-mabi=aapcs*:-m armelfb_nbsd_eabi}} \
|
||||
+ %{mlittle-endian:-EL %{-mabi=aapcs*:-m armelf_nbsd_eabi}} \
|
||||
%(netbsd_link_spec)"
|
||||
|
||||
/* Make GCC agree with <machine/ansi.h>. */
|
||||
13
lang/gcc45/patches/patch-gcc_config_arm_t-arm
Normal file
13
lang/gcc45/patches/patch-gcc_config_arm_t-arm
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/t-arm.orig Sun Jun 21 20:48:15 2009
|
||||
+++ gcc/config/arm/t-arm
|
||||
@@ -41,6 +41,8 @@ s-config s-conditions s-flags s-codes s-constants s-em
|
||||
|
||||
$(srcdir)/config/arm/arm-tune.md: $(srcdir)/config/arm/gentune.sh \
|
||||
$(srcdir)/config/arm/arm-cores.def
|
||||
+ @echo "NOT REBUILDING $@"
|
||||
+NetBSD_DISABLED_config_arm_arm-tune.md:
|
||||
$(SHELL) $(srcdir)/config/arm/gentune.sh \
|
||||
$(srcdir)/config/arm/arm-cores.def > \
|
||||
$(srcdir)/config/arm/arm-tune.md
|
||||
19
lang/gcc45/patches/patch-gcc_config_arm_t-netbsd
Normal file
19
lang/gcc45/patches/patch-gcc_config_arm_t-netbsd
Normal file
@@ -0,0 +1,19 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/t-netbsd.orig Tue Apr 21 19:03:23 2009
|
||||
+++ gcc/config/arm/t-netbsd
|
||||
@@ -23,6 +23,14 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fpic
|
||||
LIBGCC2_DEBUG_CFLAGS = -g0
|
||||
LIB2FUNCS_EXTRA = $(srcdir)/config/floatunsidf.c $(srcdir)/config/floatunsisf.c
|
||||
|
||||
+# This list is from t-arm-elf, but with some things removed.
|
||||
+LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
|
||||
+ _call_via_rX _interwork_call_via_rX \
|
||||
+ _arm_fixunsdfsi _arm_fixunssfsi \
|
||||
+ _arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \
|
||||
+ _lshrdi3 _ashrdi3 _ashldi3 \
|
||||
+ _clzsi2 _clzdi2
|
||||
+
|
||||
# Build a shared libgcc library.
|
||||
SHLIB_EXT = .so
|
||||
SHLIB_NAME = @shlib_base_name@.so
|
||||
45
lang/gcc45/patches/patch-gcc_config_arm_t-netbsd-eabi
Normal file
45
lang/gcc45/patches/patch-gcc_config_arm_t-netbsd-eabi
Normal file
@@ -0,0 +1,45 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/t-netbsd-eabi.orig Wed May 21 19:48:54 2014
|
||||
+++ gcc/config/arm/t-netbsd-eabi
|
||||
@@ -0,0 +1,40 @@
|
||||
+# Copyright (C) 2005, 2009 Free Software Foundation, Inc.
|
||||
+#
|
||||
+# 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.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with GCC; see the file COPYING3. If not see
|
||||
+# <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+# Use a version of div0 which raises SIGFPE, and a special __clear_cache.
|
||||
+
|
||||
+LIB1ASMFUNCS += \
|
||||
+ _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX \
|
||||
+ _clzsi2 _clzdi2
|
||||
+
|
||||
+# Add the BPABI C functions that aren't already in libc
|
||||
+LIB2FUNCS_EXTRA = $(srcdir)/config/arm/unaligned-funcs.c
|
||||
+
|
||||
+LIB2FUNCS_STATIC_EXTRA =
|
||||
+
|
||||
+UNWIND_H = $(srcdir)/config/arm/unwind-arm.h
|
||||
+LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
|
||||
+ $(srcdir)/config/arm/libunwind.S \
|
||||
+ $(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
|
||||
+LIB2ADDEHDEP = $(UNWIND_H) $(srcdir)/config/$(LIB1ASMSRC)
|
||||
+
|
||||
+SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver
|
||||
+
|
||||
+MULTILIB_OPTIONS = mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt
|
||||
+MULTILIB_DIRNAMES = aapcs-linux aapcs atpcs oabi iwmmxt
|
||||
+MULTILIB_OSDIRNAMES = . ../lib/aapcs ../lib/atpcs ../lib/oabi ../lib/iwmmxt
|
||||
53
lang/gcc45/patches/patch-gcc_config_arm_thumb2.md
Normal file
53
lang/gcc45/patches/patch-gcc_config_arm_thumb2.md
Normal file
@@ -0,0 +1,53 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/arm/thumb2.md.orig Fri Apr 2 08:32:00 2010
|
||||
+++ gcc/config/arm/thumb2.md
|
||||
@@ -380,7 +380,7 @@
|
||||
(not:SI (match_operator:SI 1 "arm_comparison_operator"
|
||||
[(match_operand 2 "cc_register" "") (const_int 0)])))]
|
||||
"TARGET_THUMB2"
|
||||
- "ite\\t%D1\;mov%D1\\t%0, #0\;mvn%d1\\t%0, #1"
|
||||
+ "ite\\t%D1\;mvn%D1\\t%0, #0\;mvn%d1\\t%0, #1"
|
||||
[(set_attr "conds" "use")
|
||||
(set_attr "length" "10")]
|
||||
)
|
||||
@@ -1108,6 +1108,7 @@
|
||||
(match_operand:SI 2 "low_reg_or_int_operand" "")]))]
|
||||
"TARGET_THUMB2
|
||||
&& peep2_regno_dead_p(0, CC_REGNUM)
|
||||
+ && (CONST_INT_P (operands[2]) || operands[1] == operands[0])
|
||||
&& ((GET_CODE(operands[3]) != ROTATE && GET_CODE(operands[3]) != ROTATERT)
|
||||
|| REG_P(operands[2]))"
|
||||
[(parallel
|
||||
@@ -1120,10 +1121,10 @@
|
||||
)
|
||||
|
||||
(define_insn "*thumb2_shiftsi3_short"
|
||||
- [(set (match_operand:SI 0 "low_register_operand" "=l")
|
||||
+ [(set (match_operand:SI 0 "low_register_operand" "=l,l")
|
||||
(match_operator:SI 3 "shift_operator"
|
||||
- [(match_operand:SI 1 "low_register_operand" "l")
|
||||
- (match_operand:SI 2 "low_reg_or_int_operand" "lM")]))
|
||||
+ [(match_operand:SI 1 "low_register_operand" "0,l")
|
||||
+ (match_operand:SI 2 "low_reg_or_int_operand" "l,M")]))
|
||||
(clobber (reg:CC CC_REGNUM))]
|
||||
"TARGET_THUMB2 && reload_completed
|
||||
&& ((GET_CODE(operands[3]) != ROTATE && GET_CODE(operands[3]) != ROTATERT)
|
||||
@@ -1207,7 +1208,7 @@
|
||||
[(set (match_operand:SI 0 "s_register_operand" "=r")
|
||||
(div:SI (match_operand:SI 1 "s_register_operand" "r")
|
||||
(match_operand:SI 2 "s_register_operand" "r")))]
|
||||
- "TARGET_THUMB2 && arm_arch_hwdiv"
|
||||
+ "(TARGET_THUMB2 || TARGET_ARM) && arm_arch_hwdiv"
|
||||
"sdiv%?\t%0, %1, %2"
|
||||
[(set_attr "predicable" "yes")
|
||||
(set_attr "insn" "sdiv")]
|
||||
@@ -1217,7 +1218,7 @@
|
||||
[(set (match_operand:SI 0 "s_register_operand" "=r")
|
||||
(udiv:SI (match_operand:SI 1 "s_register_operand" "r")
|
||||
(match_operand:SI 2 "s_register_operand" "r")))]
|
||||
- "TARGET_THUMB2 && arm_arch_hwdiv"
|
||||
+ "(TARGET_THUMB2 || TARGET_ARM) && arm_arch_hwdiv"
|
||||
"udiv%?\t%0, %1, %2"
|
||||
[(set_attr "predicable" "yes")
|
||||
(set_attr "insn" "udiv")]
|
||||
71
lang/gcc45/patches/patch-gcc_config_avr_avr-stdint.h
Normal file
71
lang/gcc45/patches/patch-gcc_config_avr_avr-stdint.h
Normal file
@@ -0,0 +1,71 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/avr/avr-stdint.h.orig Wed May 21 19:48:54 2014
|
||||
+++ gcc/config/avr/avr-stdint.h
|
||||
@@ -0,0 +1,66 @@
|
||||
+/* Definitions for <stdint.h> types on systems using newlib.
|
||||
+ Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
+
|
||||
+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.
|
||||
+
|
||||
+You should have received a copy of the GNU General Public License
|
||||
+along with GCC; see the file COPYING3. If not see
|
||||
+<http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+/*
|
||||
+ The intention of this file is to supply definitions that work with
|
||||
+ avr-gcc's -mint8 that sets int to an 8-bit type.
|
||||
+
|
||||
+ This file is intended to yield the same results as newlib-stdint.h,
|
||||
+ but there are some differences to newlib-stdint.h:
|
||||
+
|
||||
+ - AVR is an 8-bit architecture that cannot access 16-bit values
|
||||
+ atomically, this SIG_ATOMIC_TYPE is "char".
|
||||
+
|
||||
+ - For the same reason, [u]int_fast8_t is defined as 8-bit type.
|
||||
+
|
||||
+*/
|
||||
+
|
||||
+#define SIG_ATOMIC_TYPE "char"
|
||||
+
|
||||
+#define INT8_TYPE "signed char"
|
||||
+#define INT16_TYPE (INT_TYPE_SIZE == 16 ? "short int" : "long int")
|
||||
+#define INT32_TYPE (INT_TYPE_SIZE == 16 ? "long int" : "long long int")
|
||||
+#define INT64_TYPE (INT_TYPE_SIZE == 16 ? "long long int" : 0)
|
||||
+#define UINT8_TYPE "unsigned char"
|
||||
+#define UINT16_TYPE (INT_TYPE_SIZE == 16 ? "short unsigned int" : "long unsigned int")
|
||||
+#define UINT32_TYPE (INT_TYPE_SIZE == 16 ? "long unsigned int" : "long long unsigned int")
|
||||
+#define UINT64_TYPE (INT_TYPE_SIZE == 16 ? "long long unsigned int" : 0)
|
||||
+
|
||||
+#define INT_LEAST8_TYPE INT8_TYPE
|
||||
+#define INT_LEAST16_TYPE INT16_TYPE
|
||||
+#define INT_LEAST32_TYPE INT32_TYPE
|
||||
+#define INT_LEAST64_TYPE INT64_TYPE
|
||||
+#define UINT_LEAST8_TYPE UINT8_TYPE
|
||||
+#define UINT_LEAST16_TYPE UINT16_TYPE
|
||||
+#define UINT_LEAST32_TYPE UINT32_TYPE
|
||||
+#define UINT_LEAST64_TYPE UINT64_TYPE
|
||||
+
|
||||
+#define INT_FAST8_TYPE INT8_TYPE
|
||||
+#define INT_FAST16_TYPE (INT_TYPE_SIZE == 16 ? "int" : INT16_TYPE)
|
||||
+#define INT_FAST32_TYPE INT32_TYPE
|
||||
+#define INT_FAST64_TYPE INT64_TYPE
|
||||
+#define UINT_FAST8_TYPE UINT8_TYPE
|
||||
+#define UINT_FAST16_TYPE (INT_TYPE_SIZE == 16 ? "unsigned int" : UINT16_TYPE)
|
||||
+#define UINT_FAST32_TYPE UINT32_TYPE
|
||||
+#define UINT_FAST64_TYPE UINT64_TYPE
|
||||
+
|
||||
+#define INTPTR_TYPE PTRDIFF_TYPE
|
||||
+#ifndef UINTPTR_TYPE
|
||||
+#define UINTPTR_TYPE SIZE_TYPE
|
||||
+#endif
|
||||
116
lang/gcc45/patches/patch-gcc_config_avr_avr.c
Normal file
116
lang/gcc45/patches/patch-gcc_config_avr_avr.c
Normal file
@@ -0,0 +1,116 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/avr/avr.c.orig Thu Mar 3 16:58:26 2011
|
||||
+++ gcc/config/avr/avr.c
|
||||
@@ -1043,8 +1043,7 @@ avr_legitimate_address_p (enum machine_mode mode, rtx
|
||||
true_regnum (XEXP (x, 0)));
|
||||
debug_rtx (x);
|
||||
}
|
||||
- if (!strict && GET_CODE (x) == SUBREG)
|
||||
- x = SUBREG_REG (x);
|
||||
+
|
||||
if (REG_P (x) && (strict ? REG_OK_FOR_BASE_STRICT_P (x)
|
||||
: REG_OK_FOR_BASE_NOSTRICT_P (x)))
|
||||
r = POINTER_REGS;
|
||||
@@ -1386,9 +1385,8 @@ notice_update_cc (rtx body ATTRIBUTE_UNUSED, rtx insn)
|
||||
{
|
||||
rtx x = XEXP (src, 1);
|
||||
|
||||
- if (GET_CODE (x) == CONST_INT
|
||||
- && INTVAL (x) > 0
|
||||
- && INTVAL (x) != 6)
|
||||
+ if (CONST_INT_P (x)
|
||||
+ && IN_RANGE (INTVAL (x), 1, 5))
|
||||
{
|
||||
cc_status.value1 = SET_DEST (set);
|
||||
cc_status.flags |= CC_OVERFLOW_UNUSABLE;
|
||||
@@ -5934,26 +5932,30 @@ jump_over_one_insn_p (rtx insn, rtx dest)
|
||||
int
|
||||
avr_hard_regno_mode_ok (int regno, enum machine_mode mode)
|
||||
{
|
||||
- /* Disallow QImode in stack pointer regs. */
|
||||
- if ((regno == REG_SP || regno == (REG_SP + 1)) && mode == QImode)
|
||||
- return 0;
|
||||
-
|
||||
- /* The only thing that can go into registers r28:r29 is a Pmode. */
|
||||
- if (regno == REG_Y && mode == Pmode)
|
||||
+ /* NOTE: 8-bit values must not be disallowed for R28 or R29.
|
||||
+ Disallowing QI et al. in these regs might lead to code like
|
||||
+ (set (subreg:QI (reg:HI 28) n) ...)
|
||||
+ which will result in wrong code because reload does not
|
||||
+ handle SUBREGs of hard regsisters like this, see PR46779.
|
||||
+ This could be fixed in reload. However, it appears
|
||||
+ that fixing reload is not wanted by reload people. */
|
||||
+
|
||||
+ /* Any GENERAL_REGS register can hold 8-bit values. */
|
||||
+
|
||||
+ if (GET_MODE_SIZE (mode) == 1)
|
||||
return 1;
|
||||
|
||||
- /* Otherwise disallow all regno/mode combinations that span r28:r29. */
|
||||
- if (regno <= (REG_Y + 1) && (regno + GET_MODE_SIZE (mode)) >= (REG_Y + 1))
|
||||
+ /* FIXME: Ideally, the following test is not needed.
|
||||
+ However, it turned out that it can reduce the number
|
||||
+ of spill fails. AVR and it's poor endowment with
|
||||
+ address registers is extreme stress test for reload. */
|
||||
+
|
||||
+ if (GET_MODE_SIZE (mode) >= 4
|
||||
+ && regno >= REG_X)
|
||||
return 0;
|
||||
|
||||
- if (mode == QImode)
|
||||
- return 1;
|
||||
-
|
||||
- /* Modes larger than QImode occupy consecutive registers. */
|
||||
- if (regno + GET_MODE_SIZE (mode) > FIRST_PSEUDO_REGISTER)
|
||||
- return 0;
|
||||
-
|
||||
- /* All modes larger than QImode should start in an even register. */
|
||||
+ /* All modes larger than 8 bits should start in an even register. */
|
||||
+
|
||||
return !(regno & 1);
|
||||
}
|
||||
|
||||
@@ -6080,13 +6082,23 @@ avr_hard_regno_scratch_ok (unsigned int regno)
|
||||
&& !df_regs_ever_live_p (regno))
|
||||
return false;
|
||||
|
||||
+ /* Don't allow hard registers that might be part of the frame pointer.
|
||||
+ Some places in the compiler just test for [HARD_]FRAME_POINTER_REGNUM
|
||||
+ and don't care for a frame pointer that spans more than one register. */
|
||||
+
|
||||
+ if ((!reload_completed || frame_pointer_needed)
|
||||
+ && (regno == REG_Y || regno == REG_Y + 1))
|
||||
+ {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Return nonzero if register OLD_REG can be renamed to register NEW_REG. */
|
||||
|
||||
int
|
||||
-avr_hard_regno_rename_ok (unsigned int old_reg ATTRIBUTE_UNUSED,
|
||||
+avr_hard_regno_rename_ok (unsigned int old_reg,
|
||||
unsigned int new_reg)
|
||||
{
|
||||
/* Interrupt functions can only use registers that have already been
|
||||
@@ -6097,6 +6109,17 @@ avr_hard_regno_rename_ok (unsigned int old_reg ATTRIBU
|
||||
&& !df_regs_ever_live_p (new_reg))
|
||||
return 0;
|
||||
|
||||
+ /* Don't allow hard registers that might be part of the frame pointer.
|
||||
+ Some places in the compiler just test for [HARD_]FRAME_POINTER_REGNUM
|
||||
+ and don't care for a frame pointer that spans more than one register. */
|
||||
+
|
||||
+ if ((!reload_completed || frame_pointer_needed)
|
||||
+ && (old_reg == REG_Y || old_reg == REG_Y + 1
|
||||
+ || new_reg == REG_Y || new_reg == REG_Y + 1))
|
||||
+ {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
return 1;
|
||||
}
|
||||
|
||||
88
lang/gcc45/patches/patch-gcc_config_avr_libgcc.S
Normal file
88
lang/gcc45/patches/patch-gcc_config_avr_libgcc.S
Normal file
@@ -0,0 +1,88 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/avr/libgcc.S.orig Sat May 23 07:16:07 2009
|
||||
+++ gcc/config/avr/libgcc.S
|
||||
@@ -28,6 +28,7 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
|
||||
#define __SP_H__ 0x3e
|
||||
#define __SP_L__ 0x3d
|
||||
#define __RAMPZ__ 0x3B
|
||||
+#define __EIND__ 0x3C
|
||||
|
||||
/* Most of the functions here are called directly from avr.md
|
||||
patterns, instead of using the standard libcall mechanisms.
|
||||
@@ -689,7 +690,8 @@ __tablejump__:
|
||||
lpm
|
||||
push r0
|
||||
#if defined (__AVR_HAVE_EIJMP_EICALL__)
|
||||
- push __zero_reg__
|
||||
+ in __tmp_reg__, __EIND__
|
||||
+ push __tmp_reg__
|
||||
#endif
|
||||
ret
|
||||
#endif
|
||||
@@ -791,22 +793,22 @@ __do_clear_bss:
|
||||
#if defined(__AVR_HAVE_RAMPZ__)
|
||||
__do_global_ctors:
|
||||
ldi r17, hi8(__ctors_start)
|
||||
- ldi r16, hh8(__ctors_start)
|
||||
ldi r28, lo8(__ctors_end)
|
||||
ldi r29, hi8(__ctors_end)
|
||||
- ldi r20, hh8(__ctors_end)
|
||||
+ ldi r16, hh8(__ctors_end)
|
||||
rjmp .L__do_global_ctors_start
|
||||
.L__do_global_ctors_loop:
|
||||
sbiw r28, 2
|
||||
- sbc r20, __zero_reg__
|
||||
+ sbc r16, __zero_reg__
|
||||
mov_h r31, r29
|
||||
mov_l r30, r28
|
||||
- out __RAMPZ__, r20
|
||||
+ out __RAMPZ__, r16
|
||||
XCALL __tablejump_elpm__
|
||||
.L__do_global_ctors_start:
|
||||
cpi r28, lo8(__ctors_start)
|
||||
cpc r29, r17
|
||||
- cpc r20, r16
|
||||
+ ldi r24, hh8(__ctors_start)
|
||||
+ cpc r16, r24
|
||||
brne .L__do_global_ctors_loop
|
||||
#else
|
||||
__do_global_ctors:
|
||||
@@ -832,22 +834,22 @@ __do_global_ctors:
|
||||
#if defined(__AVR_HAVE_RAMPZ__)
|
||||
__do_global_dtors:
|
||||
ldi r17, hi8(__dtors_end)
|
||||
- ldi r16, hh8(__dtors_end)
|
||||
ldi r28, lo8(__dtors_start)
|
||||
ldi r29, hi8(__dtors_start)
|
||||
- ldi r20, hh8(__dtors_start)
|
||||
+ ldi r16, hh8(__dtors_start)
|
||||
rjmp .L__do_global_dtors_start
|
||||
.L__do_global_dtors_loop:
|
||||
sbiw r28, 2
|
||||
- sbc r20, __zero_reg__
|
||||
+ sbc r16, __zero_reg__
|
||||
mov_h r31, r29
|
||||
mov_l r30, r28
|
||||
- out __RAMPZ__, r20
|
||||
+ out __RAMPZ__, r16
|
||||
XCALL __tablejump_elpm__
|
||||
.L__do_global_dtors_start:
|
||||
cpi r28, lo8(__dtors_end)
|
||||
cpc r29, r17
|
||||
- cpc r20, r16
|
||||
+ ldi r24, hh8(__dtors_end)
|
||||
+ cpc r16, r24
|
||||
brne .L__do_global_dtors_loop
|
||||
#else
|
||||
__do_global_dtors:
|
||||
@@ -889,7 +891,8 @@ __tablejump_elpm__:
|
||||
elpm
|
||||
push r0
|
||||
#if defined (__AVR_HAVE_EIJMP_EICALL__)
|
||||
- push __zero_reg__
|
||||
+ in __tmp_reg__, __EIND__
|
||||
+ push __tmp_reg__
|
||||
#endif
|
||||
ret
|
||||
#endif
|
||||
24
lang/gcc45/patches/patch-gcc_config_bfin_linux-unwind.h
Normal file
24
lang/gcc45/patches/patch-gcc_config_bfin_linux-unwind.h
Normal file
@@ -0,0 +1,24 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/bfin/linux-unwind.h.orig Thu Apr 9 15:00:19 2009
|
||||
+++ gcc/config/bfin/linux-unwind.h
|
||||
@@ -1,5 +1,5 @@
|
||||
/* DWARF2 EH unwinding support for Blackfin.
|
||||
- Copyright (C) 2007, 2009 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@@ -48,10 +48,10 @@ bfin_fallback_frame_state (struct _Unwind_Context *con
|
||||
{
|
||||
struct rt_sigframe {
|
||||
int sig;
|
||||
- struct siginfo *pinfo;
|
||||
+ siginfo_t *pinfo;
|
||||
void *puc;
|
||||
char retcode[8];
|
||||
- struct siginfo info;
|
||||
+ siginfo_t info;
|
||||
struct ucontext uc;
|
||||
} *rt_ = context->cfa;
|
||||
|
||||
9
lang/gcc45/patches/patch-gcc_config_darwin-protos.h
Normal file
9
lang/gcc45/patches/patch-gcc_config_darwin-protos.h
Normal file
@@ -0,0 +1,9 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/darwin-protos.h.orig Thu Jun 24 21:06:37 2010
|
||||
+++ gcc/config/darwin-protos.h
|
||||
@@ -93,3 +93,4 @@ extern void darwin_asm_output_anchor (rtx symbol);
|
||||
extern bool darwin_kextabi_p (void);
|
||||
extern void darwin_override_options (void);
|
||||
extern void darwin_patch_builtins (void);
|
||||
+extern void darwin_rename_builtins (void);
|
||||
39
lang/gcc45/patches/patch-gcc_config_darwin.c
Normal file
39
lang/gcc45/patches/patch-gcc_config_darwin.c
Normal file
@@ -0,0 +1,39 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/darwin.c.orig Thu Jun 24 21:06:37 2010
|
||||
+++ gcc/config/darwin.c
|
||||
@@ -337,6 +337,34 @@ static GTY ((param_is (struct machopic_indirection)))
|
||||
|
||||
/* Return a hash value for a SLOT in the indirections hash table. */
|
||||
|
||||
+void
|
||||
+darwin_rename_builtins (void)
|
||||
+{
|
||||
+ /* The system ___divdc3 routine in libSystem on darwin10 is not
|
||||
+ accurate to 1ulp, ours is, so we avoid ever using the system name
|
||||
+ for this routine and instead install a non-conflicting name that
|
||||
+ is accurate.
|
||||
+
|
||||
+ When -ffast-math or -funsafe-math-optimizations is given, we can
|
||||
+ use the faster version. */
|
||||
+ if (!flag_unsafe_math_optimizations)
|
||||
+ {
|
||||
+ int dcode = (BUILT_IN_COMPLEX_DIV_MIN
|
||||
+ + DCmode - MIN_MODE_COMPLEX_FLOAT);
|
||||
+ tree fn = built_in_decls[dcode];
|
||||
+ /* Fortran and c call TARGET_INIT_BUILTINS and
|
||||
+ TARGET_INIT_LIBFUNCS at different times, so we have to put a
|
||||
+ call into each to ensure that at least one of them is called
|
||||
+ after build_common_builtin_nodes. A better fix is to add a
|
||||
+ new hook to run after build_common_builtin_nodes runs. */
|
||||
+ if (fn)
|
||||
+ set_user_assembler_name (fn, "___ieee_divdc3");
|
||||
+ fn = implicit_built_in_decls[dcode];
|
||||
+ if (fn)
|
||||
+ set_user_assembler_name (fn, "___ieee_divdc3");
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static hashval_t
|
||||
machopic_indirection_hash (const void *slot)
|
||||
{
|
||||
13
lang/gcc45/patches/patch-gcc_config_freebsd-spec.h
Normal file
13
lang/gcc45/patches/patch-gcc_config_freebsd-spec.h
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/freebsd-spec.h.orig Fri Feb 25 23:15:48 2011
|
||||
+++ gcc/config/freebsd-spec.h
|
||||
@@ -153,7 +153,7 @@ is built with the --enable-threads configure-time opti
|
||||
#define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
|
||||
#endif
|
||||
|
||||
-#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||
+#if defined(HAVE_LD_EH_FRAME_HDR) && !defined(LINK_EH_SPEC)
|
||||
#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
|
||||
#endif
|
||||
|
||||
13
lang/gcc45/patches/patch-gcc_config_i386_athlon.md
Normal file
13
lang/gcc45/patches/patch-gcc_config_i386_athlon.md
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/athlon.md.orig Tue Apr 21 19:03:23 2009
|
||||
+++ gcc/config/i386/athlon.md
|
||||
@@ -798,7 +798,7 @@
|
||||
"athlon-direct,athlon-fploadk8,athlon-fadd")
|
||||
(define_insn_reservation "athlon_ssecomi" 4
|
||||
(and (eq_attr "cpu" "athlon,k8,generic64")
|
||||
- (eq_attr "type" "ssecmp"))
|
||||
+ (eq_attr "type" "ssecomi"))
|
||||
"athlon-vector,athlon-fpsched,athlon-fadd")
|
||||
(define_insn_reservation "athlon_ssecomi_amdfam10" 3
|
||||
(and (eq_attr "cpu" "amdfam10")
|
||||
13
lang/gcc45/patches/patch-gcc_config_i386_avxintrin.h
Normal file
13
lang/gcc45/patches/patch-gcc_config_i386_avxintrin.h
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/avxintrin.h.orig Mon Feb 21 20:02:02 2011
|
||||
+++ gcc/config/i386/avxintrin.h
|
||||
@@ -759,7 +759,7 @@ _mm256_insert_epi8 (__m256i __X, int __D, int const __
|
||||
|
||||
#ifdef __x86_64__
|
||||
extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
|
||||
-_mm256_insert_epi64 (__m256i __X, int __D, int const __N)
|
||||
+_mm256_insert_epi64 (__m256i __X, long long __D, int const __N)
|
||||
{
|
||||
__m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1);
|
||||
__Y = _mm_insert_epi64 (__Y, __D, __N % 2);
|
||||
13
lang/gcc45/patches/patch-gcc_config_i386_constraints.md
Normal file
13
lang/gcc45/patches/patch-gcc_config_i386_constraints.md
Normal file
@@ -0,0 +1,13 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/constraints.md.orig Wed Jul 8 16:41:23 2009
|
||||
+++ gcc/config/i386/constraints.md
|
||||
@@ -149,7 +149,7 @@
|
||||
(define_constraint "G"
|
||||
"Standard 80387 floating point constant."
|
||||
(and (match_code "const_double")
|
||||
- (match_test "standard_80387_constant_p (op)")))
|
||||
+ (match_test "standard_80387_constant_p (op) > 0")))
|
||||
|
||||
;; This can theoretically be any mode's CONST0_RTX.
|
||||
(define_constraint "C"
|
||||
22
lang/gcc45/patches/patch-gcc_config_i386_darwin.h
Normal file
22
lang/gcc45/patches/patch-gcc_config_i386_darwin.h
Normal file
@@ -0,0 +1,22 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/darwin.h.orig Fri Sep 10 16:12:46 2010
|
||||
+++ gcc/config/i386/darwin.h
|
||||
@@ -302,3 +302,17 @@ along with GCC; see the file COPYING3. If not see
|
||||
#define MACHO_SYMBOL_FLAG_VARIABLE ((SYMBOL_FLAG_MACH_DEP) << 3)
|
||||
|
||||
#define SUBTARGET32_DEFAULT_CPU "i686"
|
||||
+
|
||||
+#define SUBTARGET_INIT_BUILTINS \
|
||||
+do { \
|
||||
+ darwin_rename_builtins (); \
|
||||
+} while(0)
|
||||
+
|
||||
+/* The system ___divdc3 routine in libSystem on darwin10 is not
|
||||
+ accurate to 1ulp, ours is, so we avoid ever using the system name
|
||||
+ for this routine and instead install a non-conflicting name that is
|
||||
+ accurate. See darwin_rename_builtins. */
|
||||
+#ifdef L_divdc3
|
||||
+#define DECLARE_LIBRARY_RENAMES \
|
||||
+ asm(".text; ___divdc3: jmp ___ieee_divdc3 ; .globl ___divdc3");
|
||||
+#endif
|
||||
23
lang/gcc45/patches/patch-gcc_config_i386_driver-i386.c
Normal file
23
lang/gcc45/patches/patch-gcc_config_i386_driver-i386.c
Normal file
@@ -0,0 +1,23 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/driver-i386.c.orig Sun May 9 14:53:00 2010
|
||||
+++ gcc/config/i386/driver-i386.c
|
||||
@@ -436,7 +436,8 @@ const char *host_detect_local_cpu (int argc, const cha
|
||||
has_ssse3 = ecx & bit_SSSE3;
|
||||
has_sse4_1 = ecx & bit_SSE4_1;
|
||||
has_sse4_2 = ecx & bit_SSE4_2;
|
||||
- has_avx = ecx & bit_AVX;
|
||||
+ /* Don't check XCR0[2] - I think that can be 'lazy enabled' by the OS */
|
||||
+ has_avx = (ecx & bit_AVX) && (ecx & bit_OSXSAVE);
|
||||
has_cmpxchg16b = ecx & bit_CMPXCHG16B;
|
||||
has_movbe = ecx & bit_MOVBE;
|
||||
has_popcnt = ecx & bit_POPCNT;
|
||||
@@ -494,7 +495,7 @@ const char *host_detect_local_cpu (int argc, const cha
|
||||
processor = PROCESSOR_AMDFAM10;
|
||||
else if (has_sse2 || has_longmode)
|
||||
processor = PROCESSOR_K8;
|
||||
- else if (has_3dnowp)
|
||||
+ else if (has_3dnowp && family == 6)
|
||||
processor = PROCESSOR_ATHLON;
|
||||
else if (has_mmx)
|
||||
processor = PROCESSOR_K6;
|
||||
14
lang/gcc45/patches/patch-gcc_config_i386_i386-protos.h
Normal file
14
lang/gcc45/patches/patch-gcc_config_i386_i386-protos.h
Normal file
@@ -0,0 +1,14 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/i386-protos.h.orig Thu Jul 22 06:42:02 2010
|
||||
+++ gcc/config/i386/i386-protos.h
|
||||
@@ -57,7 +57,8 @@ extern bool legitimate_constant_p (rtx);
|
||||
extern bool constant_address_p (rtx);
|
||||
extern bool legitimate_pic_operand_p (rtx);
|
||||
extern int legitimate_pic_address_disp_p (rtx);
|
||||
-
|
||||
+extern bool ix86_legitimize_reload_address (rtx, enum machine_mode,
|
||||
+ int, int, int);
|
||||
extern void print_reg (rtx, int, FILE*);
|
||||
extern void print_operand (FILE*, rtx, int);
|
||||
extern void print_operand_address (FILE*, rtx);
|
||||
243
lang/gcc45/patches/patch-gcc_config_i386_i386.c
Normal file
243
lang/gcc45/patches/patch-gcc_config_i386_i386.c
Normal file
@@ -0,0 +1,243 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/i386.c.orig Thu Feb 17 21:22:02 2011
|
||||
+++ gcc/config/i386/i386.c
|
||||
@@ -46,6 +46,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "target.h"
|
||||
#include "target-def.h"
|
||||
#include "langhooks.h"
|
||||
+#include "reload.h"
|
||||
#include "cgraph.h"
|
||||
#include "gimple.h"
|
||||
#include "dwarf2.h"
|
||||
@@ -1540,7 +1541,7 @@ unsigned char ix86_arch_features[X86_ARCH_LAST];
|
||||
/* Feature tests against the various architecture variations, used to create
|
||||
ix86_arch_features based on the processor mask. */
|
||||
static unsigned int initial_ix86_arch_features[X86_ARCH_LAST] = {
|
||||
- /* X86_ARCH_CMOVE: Conditional move was added for pentiumpro. */
|
||||
+ /* X86_ARCH_CMOV: Conditional move was added for pentiumpro. */
|
||||
~(m_386 | m_486 | m_PENT | m_K6),
|
||||
|
||||
/* X86_ARCH_CMPXCHG: Compare and exchange was added for 80486. */
|
||||
@@ -3071,7 +3072,7 @@ override_options (bool main_args_p)
|
||||
-mtune (rather than -march) points us to a processor that has them.
|
||||
However, the VIA C3 gives a SIGILL, so we only do that for i686 and
|
||||
higher processors. */
|
||||
- if (TARGET_CMOVE
|
||||
+ if (TARGET_CMOV
|
||||
&& (processor_alias_table[i].flags & (PTA_PREFETCH_SSE | PTA_SSE)))
|
||||
x86_prefetch_sse = true;
|
||||
break;
|
||||
@@ -3400,11 +3401,6 @@ override_options (bool main_args_p)
|
||||
target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS;
|
||||
}
|
||||
|
||||
- /* For sane SSE instruction set generation we need fcomi instruction.
|
||||
- It is safe to enable all CMOVE instructions. */
|
||||
- if (TARGET_SSE)
|
||||
- TARGET_CMOVE = 1;
|
||||
-
|
||||
/* Figure out what ASM_GENERATE_INTERNAL_LABEL builds as a prefix. */
|
||||
{
|
||||
char *p;
|
||||
@@ -9875,6 +9871,64 @@ legitimate_pic_address_disp_p (rtx disp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/* Our implementation of LEGITIMIZE_RELOAD_ADDRESS. Returns a value to
|
||||
+ replace the input X, or the original X if no replacement is called for.
|
||||
+ The output parameter *WIN is 1 if the calling macro should goto WIN,
|
||||
+ 0 if it should not. */
|
||||
+
|
||||
+bool
|
||||
+ix86_legitimize_reload_address (rtx x,
|
||||
+ enum machine_mode mode ATTRIBUTE_UNUSED,
|
||||
+ int opnum, int type,
|
||||
+ int ind_levels ATTRIBUTE_UNUSED)
|
||||
+{
|
||||
+ /* Reload can generate:
|
||||
+
|
||||
+ (plus:DI (plus:DI (unspec:DI [(const_int 0 [0])] UNSPEC_TP)
|
||||
+ (reg:DI 97))
|
||||
+ (reg:DI 2 cx))
|
||||
+
|
||||
+ This RTX is rejected from ix86_legitimate_address_p due to
|
||||
+ non-strictness of base register 97. Following this rejection,
|
||||
+ reload pushes all three components into separate registers,
|
||||
+ creating invalid memory address RTX.
|
||||
+
|
||||
+ Following code reloads only the invalid part of the
|
||||
+ memory address RTX. */
|
||||
+
|
||||
+ if (GET_CODE (x) == PLUS
|
||||
+ && REG_P (XEXP (x, 1))
|
||||
+ && GET_CODE (XEXP (x, 0)) == PLUS
|
||||
+ && REG_P (XEXP (XEXP (x, 0), 1)))
|
||||
+ {
|
||||
+ rtx base, index;
|
||||
+ bool something_reloaded = false;
|
||||
+
|
||||
+ base = XEXP (XEXP (x, 0), 1);
|
||||
+ if (!REG_OK_FOR_BASE_STRICT_P (base))
|
||||
+ {
|
||||
+ push_reload (base, NULL_RTX, &XEXP (XEXP (x, 0), 1), NULL,
|
||||
+ BASE_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0,
|
||||
+ opnum, (enum reload_type)type);
|
||||
+ something_reloaded = true;
|
||||
+ }
|
||||
+
|
||||
+ index = XEXP (x, 1);
|
||||
+ if (!REG_OK_FOR_INDEX_STRICT_P (index))
|
||||
+ {
|
||||
+ push_reload (index, NULL_RTX, &XEXP (x, 1), NULL,
|
||||
+ INDEX_REG_CLASS, GET_MODE (x), VOIDmode, 0, 0,
|
||||
+ opnum, (enum reload_type)type);
|
||||
+ something_reloaded = true;
|
||||
+ }
|
||||
+
|
||||
+ gcc_assert (something_reloaded);
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
/* Recognizes RTL expressions that are valid memory addresses for an
|
||||
instruction. The MODE argument is the machine mode for the MEM
|
||||
expression that wants to use this address.
|
||||
@@ -11872,6 +11926,13 @@ print_operand (FILE *file, rtx x, int code)
|
||||
return;
|
||||
|
||||
case 'H':
|
||||
+ if (!offsettable_memref_p (x))
|
||||
+ {
|
||||
+ output_operand_lossage ("operand is not an offsettable memory "
|
||||
+ "reference, invalid operand "
|
||||
+ "code 'H'");
|
||||
+ return;
|
||||
+ }
|
||||
/* It doesn't actually matter what mode we use here, as we're
|
||||
only going to use this for printing. */
|
||||
x = adjust_address_nv (x, DImode, 8);
|
||||
@@ -14610,11 +14671,15 @@ ix86_match_ccmode (rtx insn, enum machine_mode req_mod
|
||||
if (req_mode == CCZmode)
|
||||
return 0;
|
||||
/* FALLTHRU */
|
||||
+ case CCZmode:
|
||||
+ break;
|
||||
+
|
||||
case CCAmode:
|
||||
case CCCmode:
|
||||
case CCOmode:
|
||||
case CCSmode:
|
||||
- case CCZmode:
|
||||
+ if (set_mode != req_mode)
|
||||
+ return 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -16196,11 +16261,15 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true,
|
||||
}
|
||||
else if (TARGET_XOP)
|
||||
{
|
||||
- rtx pcmov = gen_rtx_SET (mode, dest,
|
||||
- gen_rtx_IF_THEN_ELSE (mode, cmp,
|
||||
- op_true,
|
||||
- op_false));
|
||||
- emit_insn (pcmov);
|
||||
+ op_true = force_reg (mode, op_true);
|
||||
+
|
||||
+ if (!nonimmediate_operand (op_false, mode))
|
||||
+ op_false = force_reg (mode, op_false);
|
||||
+
|
||||
+ emit_insn (gen_rtx_SET (mode, dest,
|
||||
+ gen_rtx_IF_THEN_ELSE (mode, cmp,
|
||||
+ op_true,
|
||||
+ op_false)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -20104,7 +20173,9 @@ ix86_local_alignment (tree exp, enum machine_mode mode
|
||||
if (!TARGET_64BIT
|
||||
&& align == 64
|
||||
&& ix86_preferred_stack_boundary < 64
|
||||
- && (mode == DImode || (type && TYPE_MODE (type) == DImode))
|
||||
+ && (mode == DImode || (type && TYPE_MODE (type) == DImode)
|
||||
+ || mode == DFmode || (type && TYPE_MODE (type) == DFmode)
|
||||
+ || mode == DCmode || (type && TYPE_MODE (type) == DCmode))
|
||||
&& (!type || !TYPE_USER_ALIGN (type))
|
||||
&& (!decl || !DECL_USER_ALIGN (decl)))
|
||||
align = 32;
|
||||
@@ -20150,7 +20221,8 @@ ix86_local_alignment (tree exp, enum machine_mode mode
|
||||
|| TREE_CODE (type) == QUAL_UNION_TYPE)
|
||||
&& TYPE_FIELDS (type))
|
||||
{
|
||||
- if (DECL_MODE (TYPE_FIELDS (type)) == DFmode && align < 64)
|
||||
+ if (DECL_MODE (TYPE_FIELDS (type)) == DFmode && align < 64
|
||||
+ && ix86_preferred_stack_boundary >= 64)
|
||||
return 64;
|
||||
if (ALIGN_MODE_128 (DECL_MODE (TYPE_FIELDS (type))) && align < 128)
|
||||
return 128;
|
||||
@@ -20159,7 +20231,8 @@ ix86_local_alignment (tree exp, enum machine_mode mode
|
||||
|| TREE_CODE (type) == INTEGER_TYPE)
|
||||
{
|
||||
|
||||
- if (TYPE_MODE (type) == DFmode && align < 64)
|
||||
+ if (TYPE_MODE (type) == DFmode && align < 64
|
||||
+ && ix86_preferred_stack_boundary >= 64)
|
||||
return 64;
|
||||
if (ALIGN_MODE_128 (TYPE_MODE (type)) && align < 128)
|
||||
return 128;
|
||||
@@ -23991,8 +24064,8 @@ ix86_expand_special_args_builtin (const struct builtin
|
||||
arg_adjust = 0;
|
||||
if (optimize
|
||||
|| target == 0
|
||||
- || GET_MODE (target) != tmode
|
||||
- || ! (*insn_p->operand[0].predicate) (target, tmode))
|
||||
+ || !register_operand (target, tmode)
|
||||
+ || GET_MODE (target) != tmode)
|
||||
target = gen_reg_rtx (tmode);
|
||||
}
|
||||
|
||||
@@ -25067,7 +25140,7 @@ ix86_preferred_reload_class (rtx x, enum reg_class reg
|
||||
zero above. We only want to wind up preferring 80387 registers if
|
||||
we plan on doing computation with them. */
|
||||
if (TARGET_80387
|
||||
- && standard_80387_constant_p (x))
|
||||
+ && standard_80387_constant_p (x) > 0)
|
||||
{
|
||||
/* Limit class to non-sse. */
|
||||
if (regclass == FLOAT_SSE_REGS)
|
||||
@@ -27711,10 +27784,19 @@ ix86_expand_vector_set (bool mmx_ok, rtx target, rtx v
|
||||
break;
|
||||
|
||||
case V2DImode:
|
||||
- use_vec_merge = TARGET_SSE4_1;
|
||||
+ use_vec_merge = TARGET_SSE4_1 && TARGET_64BIT;
|
||||
if (use_vec_merge)
|
||||
break;
|
||||
|
||||
+ tmp = gen_reg_rtx (GET_MODE_INNER (mode));
|
||||
+ ix86_expand_vector_extract (false, tmp, target, 1 - elt);
|
||||
+ if (elt == 0)
|
||||
+ tmp = gen_rtx_VEC_CONCAT (mode, tmp, val);
|
||||
+ else
|
||||
+ tmp = gen_rtx_VEC_CONCAT (mode, val, tmp);
|
||||
+ emit_insn (gen_rtx_SET (VOIDmode, target, tmp));
|
||||
+ return;
|
||||
+
|
||||
case V2DFmode:
|
||||
{
|
||||
rtx op0, op1;
|
||||
@@ -30651,6 +30733,11 @@ ix86_enum_va_list (int idx, const char **pname, tree *
|
||||
|
||||
#undef TARGET_ASM_CODE_END
|
||||
#define TARGET_ASM_CODE_END ix86_code_end
|
||||
+
|
||||
+#if TARGET_MACHO
|
||||
+#undef TARGET_INIT_LIBFUNCS
|
||||
+#define TARGET_INIT_LIBFUNCS darwin_rename_builtins
|
||||
+#endif
|
||||
|
||||
struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
|
||||
57
lang/gcc45/patches/patch-gcc_config_i386_i386.h
Normal file
57
lang/gcc45/patches/patch-gcc_config_i386_i386.h
Normal file
@@ -0,0 +1,57 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/i386.h.orig Wed Mar 30 10:48:07 2011
|
||||
+++ gcc/config/i386/i386.h
|
||||
@@ -397,7 +397,7 @@ extern unsigned char ix86_tune_features[X86_TUNE_LAST]
|
||||
|
||||
/* Feature tests against the various architecture variations. */
|
||||
enum ix86_arch_indices {
|
||||
- X86_ARCH_CMOVE, /* || TARGET_SSE */
|
||||
+ X86_ARCH_CMOV,
|
||||
X86_ARCH_CMPXCHG,
|
||||
X86_ARCH_CMPXCHG8B,
|
||||
X86_ARCH_XADD,
|
||||
@@ -408,12 +408,16 @@ enum ix86_arch_indices {
|
||||
|
||||
extern unsigned char ix86_arch_features[X86_ARCH_LAST];
|
||||
|
||||
-#define TARGET_CMOVE ix86_arch_features[X86_ARCH_CMOVE]
|
||||
+#define TARGET_CMOV ix86_arch_features[X86_ARCH_CMOV]
|
||||
#define TARGET_CMPXCHG ix86_arch_features[X86_ARCH_CMPXCHG]
|
||||
#define TARGET_CMPXCHG8B ix86_arch_features[X86_ARCH_CMPXCHG8B]
|
||||
#define TARGET_XADD ix86_arch_features[X86_ARCH_XADD]
|
||||
#define TARGET_BSWAP ix86_arch_features[X86_ARCH_BSWAP]
|
||||
|
||||
+/* For sane SSE instruction set generation we need fcomi instruction.
|
||||
+ It is safe to enable all CMOVE instructions. */
|
||||
+#define TARGET_CMOVE (TARGET_CMOV || TARGET_SSE)
|
||||
+
|
||||
#define TARGET_FISTTP (TARGET_SSE3 && TARGET_80387)
|
||||
|
||||
extern int x86_prefetch_sse;
|
||||
@@ -1081,6 +1085,7 @@ enum target_cpu_default
|
||||
|
||||
#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \
|
||||
(CC_REGNO_P (REGNO) ? VOIDmode \
|
||||
+ : MMX_REGNO_P (REGNO) ? V8QImode \
|
||||
: (MODE) == VOIDmode && (NREGS) != 1 ? VOIDmode \
|
||||
: (MODE) == VOIDmode ? choose_hard_reg_mode ((REGNO), (NREGS), false) \
|
||||
: (MODE) == HImode && !TARGET_PARTIAL_REG_STALL ? SImode \
|
||||
@@ -1765,6 +1770,17 @@ typedef struct ix86_args {
|
||||
It is given that X satisfies CONSTANT_P or is a CONST_DOUBLE. */
|
||||
|
||||
#define LEGITIMATE_CONSTANT_P(X) legitimate_constant_p (X)
|
||||
+
|
||||
+/* Try a machine-dependent way of reloading an illegitimate address
|
||||
+ operand. If we find one, push the reload and jump to WIN. This
|
||||
+ macro is used in only one place: `find_reloads_address' in reload.c. */
|
||||
+
|
||||
+#define LEGITIMIZE_RELOAD_ADDRESS(X, MODE, OPNUM, TYPE, INDL, WIN) \
|
||||
+do { \
|
||||
+ if (ix86_legitimize_reload_address ((X), (MODE), (OPNUM), \
|
||||
+ (int)(TYPE), (INDL))) \
|
||||
+ goto WIN; \
|
||||
+} while (0)
|
||||
|
||||
/* If defined, a C expression to determine the base term of address X.
|
||||
This macro is used in only one place: `find_base_term' in alias.c.
|
||||
582
lang/gcc45/patches/patch-gcc_config_i386_i386.md
Normal file
582
lang/gcc45/patches/patch-gcc_config_i386_i386.md
Normal file
@@ -0,0 +1,582 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/i386.md.orig Fri Jan 7 13:02:29 2011
|
||||
+++ gcc/config/i386/i386.md
|
||||
@@ -2430,7 +2430,7 @@
|
||||
[(set_attr "type" "*,*,mmx,mmxmov,mmxmov,sselog1,ssemov,ssemov,ssemov,sselog1,ssemov,ssemov,ssemov")
|
||||
(set (attr "prefix")
|
||||
(if_then_else (eq_attr "alternative" "5,6,7,8")
|
||||
- (const_string "vex")
|
||||
+ (const_string "maybe_vex")
|
||||
(const_string "orig")))
|
||||
(set_attr "mode" "DI,DI,DI,DI,DI,TI,DI,TI,DI,V4SF,V2SF,V4SF,V2SF")])
|
||||
|
||||
@@ -2468,21 +2468,15 @@
|
||||
return "movdq2q\t{%1, %0|%0, %1}";
|
||||
|
||||
case TYPE_SSEMOV:
|
||||
- if (TARGET_AVX)
|
||||
- {
|
||||
- if (get_attr_mode (insn) == MODE_TI)
|
||||
- return "vmovdqa\t{%1, %0|%0, %1}";
|
||||
- else
|
||||
- return "vmovq\t{%1, %0|%0, %1}";
|
||||
- }
|
||||
-
|
||||
if (get_attr_mode (insn) == MODE_TI)
|
||||
- return "movdqa\t{%1, %0|%0, %1}";
|
||||
- /* FALLTHRU */
|
||||
+ return "%vmovdqa\t{%1, %0|%0, %1}";
|
||||
+ /* Handle broken assemblers that require movd instead of movq. */
|
||||
+ if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
|
||||
+ return "%vmovd\t{%1, %0|%0, %1}";
|
||||
+ return "%vmovq\t{%1, %0|%0, %1}";
|
||||
|
||||
case TYPE_MMXMOV:
|
||||
- /* Moves from and into integer register is done using movd
|
||||
- opcode with REX prefix. */
|
||||
+ /* Handle broken assemblers that require movd instead of movq. */
|
||||
if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
|
||||
return "movd\t{%1, %0|%0, %1}";
|
||||
return "movq\t{%1, %0|%0, %1}";
|
||||
@@ -2878,7 +2872,7 @@
|
||||
&& (reload_in_progress || reload_completed
|
||||
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
|
||||
|| (!TARGET_SSE_MATH && optimize_function_for_size_p (cfun)
|
||||
- && standard_80387_constant_p (operands[1]))
|
||||
+ && standard_80387_constant_p (operands[1]) > 0)
|
||||
|| GET_CODE (operands[1]) != CONST_DOUBLE
|
||||
|| memory_operand (operands[0], SFmode))"
|
||||
{
|
||||
@@ -2915,12 +2909,13 @@
|
||||
|
||||
case 9: case 10: case 14: case 15:
|
||||
return "movd\t{%1, %0|%0, %1}";
|
||||
- case 12: case 13:
|
||||
- return "%vmovd\t{%1, %0|%0, %1}";
|
||||
|
||||
case 11:
|
||||
return "movq\t{%1, %0|%0, %1}";
|
||||
|
||||
+ case 12: case 13:
|
||||
+ return "%vmovd\t{%1, %0|%0, %1}";
|
||||
+
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
@@ -3048,11 +3043,10 @@
|
||||
|| (!(TARGET_SSE2 && TARGET_SSE_MATH)
|
||||
&& optimize_function_for_size_p (cfun)
|
||||
&& !memory_operand (operands[0], DFmode)
|
||||
- && standard_80387_constant_p (operands[1]))
|
||||
+ && standard_80387_constant_p (operands[1]) > 0)
|
||||
|| GET_CODE (operands[1]) != CONST_DOUBLE
|
||||
|| ((optimize_function_for_size_p (cfun)
|
||||
- || !TARGET_MEMORY_MISMATCH_STALL
|
||||
- || reload_in_progress || reload_completed)
|
||||
+ || !TARGET_MEMORY_MISMATCH_STALL)
|
||||
&& memory_operand (operands[0], DFmode)))"
|
||||
{
|
||||
switch (which_alternative)
|
||||
@@ -3067,6 +3061,7 @@
|
||||
case 3:
|
||||
case 4:
|
||||
return "#";
|
||||
+
|
||||
case 5:
|
||||
switch (get_attr_mode (insn))
|
||||
{
|
||||
@@ -3200,7 +3195,7 @@
|
||||
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
|
||||
|| (!(TARGET_SSE2 && TARGET_SSE_MATH)
|
||||
&& optimize_function_for_size_p (cfun)
|
||||
- && standard_80387_constant_p (operands[1]))
|
||||
+ && standard_80387_constant_p (operands[1]) > 0)
|
||||
|| GET_CODE (operands[1]) != CONST_DOUBLE
|
||||
|| memory_operand (operands[0], DFmode))"
|
||||
{
|
||||
@@ -3262,7 +3257,8 @@
|
||||
|
||||
case 9:
|
||||
case 10:
|
||||
- return "%vmovd\t{%1, %0|%0, %1}";
|
||||
+ /* Handle broken assemblers that require movd instead of movq. */
|
||||
+ return "%vmovd\t{%1, %0|%0, %1}";
|
||||
|
||||
default:
|
||||
gcc_unreachable();
|
||||
@@ -3340,7 +3336,7 @@
|
||||
|| (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
|
||||
|| (!(TARGET_SSE2 && TARGET_SSE_MATH)
|
||||
&& optimize_function_for_size_p (cfun)
|
||||
- && standard_80387_constant_p (operands[1]))
|
||||
+ && standard_80387_constant_p (operands[1]) > 0)
|
||||
|| GET_CODE (operands[1]) != CONST_DOUBLE
|
||||
|| memory_operand (operands[0], DFmode))"
|
||||
{
|
||||
@@ -3361,11 +3357,11 @@
|
||||
switch (get_attr_mode (insn))
|
||||
{
|
||||
case MODE_V4SF:
|
||||
- return "xorps\t%0, %0";
|
||||
+ return "%vxorps\t%0, %d0";
|
||||
case MODE_V2DF:
|
||||
- return "xorpd\t%0, %0";
|
||||
+ return "%vxorpd\t%0, %d0";
|
||||
case MODE_TI:
|
||||
- return "pxor\t%0, %0";
|
||||
+ return "%vpxor\t%0, %d0";
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
@@ -3375,28 +3371,56 @@
|
||||
switch (get_attr_mode (insn))
|
||||
{
|
||||
case MODE_V4SF:
|
||||
- return "movaps\t{%1, %0|%0, %1}";
|
||||
+ return "%vmovaps\t{%1, %0|%0, %1}";
|
||||
case MODE_V2DF:
|
||||
- return "movapd\t{%1, %0|%0, %1}";
|
||||
+ return "%vmovapd\t{%1, %0|%0, %1}";
|
||||
case MODE_TI:
|
||||
- return "movdqa\t{%1, %0|%0, %1}";
|
||||
+ return "%vmovdqa\t{%1, %0|%0, %1}";
|
||||
case MODE_DI:
|
||||
- return "movq\t{%1, %0|%0, %1}";
|
||||
+ return "%vmovq\t{%1, %0|%0, %1}";
|
||||
case MODE_DF:
|
||||
- return "movsd\t{%1, %0|%0, %1}";
|
||||
+ if (TARGET_AVX)
|
||||
+ {
|
||||
+ if (REG_P (operands[0]) && REG_P (operands[1]))
|
||||
+ return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
|
||||
+ else
|
||||
+ return "vmovsd\t{%1, %0|%0, %1}";
|
||||
+ }
|
||||
+ else
|
||||
+ return "movsd\t{%1, %0|%0, %1}";
|
||||
case MODE_V1DF:
|
||||
- return "movlpd\t{%1, %0|%0, %1}";
|
||||
+ if (TARGET_AVX)
|
||||
+ {
|
||||
+ if (REG_P (operands[0]))
|
||||
+ return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
|
||||
+ else
|
||||
+ return "vmovlpd\t{%1, %0|%0, %1}";
|
||||
+ }
|
||||
+ else
|
||||
+ return "movlpd\t{%1, %0|%0, %1}";
|
||||
case MODE_V2SF:
|
||||
- return "movlps\t{%1, %0|%0, %1}";
|
||||
+ if (TARGET_AVX)
|
||||
+ {
|
||||
+ if (REG_P (operands[0]))
|
||||
+ return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
|
||||
+ else
|
||||
+ return "vmovlps\t{%1, %0|%0, %1}";
|
||||
+ }
|
||||
+ else
|
||||
+ return "movlps\t{%1, %0|%0, %1}";
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
default:
|
||||
- gcc_unreachable();
|
||||
+ gcc_unreachable ();
|
||||
}
|
||||
}
|
||||
[(set_attr "type" "fmov,fmov,fmov,multi,multi,sselog1,ssemov,ssemov,ssemov")
|
||||
+ (set (attr "prefix")
|
||||
+ (if_then_else (eq_attr "alternative" "0,1,2,3,4")
|
||||
+ (const_string "orig")
|
||||
+ (const_string "maybe_vex")))
|
||||
(set (attr "prefix_data16")
|
||||
(if_then_else (eq_attr "mode" "V1DF")
|
||||
(const_string "1")
|
||||
@@ -3543,7 +3567,8 @@
|
||||
"optimize_function_for_size_p (cfun)
|
||||
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))
|
||||
&& (reload_in_progress || reload_completed
|
||||
- || standard_80387_constant_p (operands[1])
|
||||
+ || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
|
||||
+ || standard_80387_constant_p (operands[1]) > 0
|
||||
|| GET_CODE (operands[1]) != CONST_DOUBLE
|
||||
|| memory_operand (operands[0], XFmode))"
|
||||
{
|
||||
@@ -3571,6 +3596,7 @@
|
||||
"optimize_function_for_speed_p (cfun)
|
||||
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))
|
||||
&& (reload_in_progress || reload_completed
|
||||
+ || (ix86_cmodel == CM_MEDIUM || ix86_cmodel == CM_LARGE)
|
||||
|| GET_CODE (operands[1]) != CONST_DOUBLE
|
||||
|| memory_operand (operands[0], XFmode))"
|
||||
{
|
||||
@@ -3715,7 +3741,7 @@
|
||||
}
|
||||
else if (FP_REG_P (r))
|
||||
{
|
||||
- if (!standard_80387_constant_p (c))
|
||||
+ if (standard_80387_constant_p (c) < 1)
|
||||
FAIL;
|
||||
}
|
||||
else if (MMX_REG_P (r))
|
||||
@@ -3747,7 +3773,7 @@
|
||||
}
|
||||
else if (FP_REG_P (r))
|
||||
{
|
||||
- if (!standard_80387_constant_p (c))
|
||||
+ if (standard_80387_constant_p (c) < 1)
|
||||
FAIL;
|
||||
}
|
||||
else if (MMX_REG_P (r))
|
||||
@@ -17658,7 +17684,8 @@
|
||||
(set (match_operand:DI 1 "register_operand" "=S")
|
||||
(plus:DI (match_dup 3)
|
||||
(const_int 8)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"movsq"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "DI")
|
||||
@@ -17673,7 +17700,8 @@
|
||||
(set (match_operand:SI 1 "register_operand" "=S")
|
||||
(plus:SI (match_dup 3)
|
||||
(const_int 4)))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"movs{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "SI")
|
||||
@@ -17688,7 +17716,8 @@
|
||||
(set (match_operand:DI 1 "register_operand" "=S")
|
||||
(plus:DI (match_dup 3)
|
||||
(const_int 4)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"movs{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "SI")
|
||||
@@ -17703,7 +17732,8 @@
|
||||
(set (match_operand:SI 1 "register_operand" "=S")
|
||||
(plus:SI (match_dup 3)
|
||||
(const_int 2)))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"movsw"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "both")
|
||||
@@ -17718,7 +17748,8 @@
|
||||
(set (match_operand:DI 1 "register_operand" "=S")
|
||||
(plus:DI (match_dup 3)
|
||||
(const_int 2)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"movsw"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "both")
|
||||
@@ -17733,7 +17764,8 @@
|
||||
(set (match_operand:SI 1 "register_operand" "=S")
|
||||
(plus:SI (match_dup 3)
|
||||
(const_int 1)))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"movsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "both")
|
||||
@@ -17748,7 +17780,8 @@
|
||||
(set (match_operand:DI 1 "register_operand" "=S")
|
||||
(plus:DI (match_dup 3)
|
||||
(const_int 1)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"movsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "both")
|
||||
@@ -17779,7 +17812,8 @@
|
||||
(set (mem:BLK (match_dup 3))
|
||||
(mem:BLK (match_dup 4)))
|
||||
(use (match_dup 5))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} movsq"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -17798,7 +17832,8 @@
|
||||
(set (mem:BLK (match_dup 3))
|
||||
(mem:BLK (match_dup 4)))
|
||||
(use (match_dup 5))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} movs{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -17817,7 +17852,8 @@
|
||||
(set (mem:BLK (match_dup 3))
|
||||
(mem:BLK (match_dup 4)))
|
||||
(use (match_dup 5))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} movs{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -17834,7 +17870,8 @@
|
||||
(set (mem:BLK (match_dup 3))
|
||||
(mem:BLK (match_dup 4)))
|
||||
(use (match_dup 5))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} movsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -17851,7 +17888,8 @@
|
||||
(set (mem:BLK (match_dup 3))
|
||||
(mem:BLK (match_dup 4)))
|
||||
(use (match_dup 5))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} movsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -17911,7 +17949,9 @@
|
||||
operands[3] = gen_rtx_PLUS (Pmode, operands[0],
|
||||
GEN_INT (GET_MODE_SIZE (GET_MODE
|
||||
(operands[2]))));
|
||||
- if (TARGET_SINGLE_STRINGOP || optimize_insn_for_size_p ())
|
||||
+ /* Can't use this if the user has appropriated eax or edi. */
|
||||
+ if ((TARGET_SINGLE_STRINGOP || optimize_insn_for_size_p ())
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG]))
|
||||
{
|
||||
emit_insn (gen_strset_singleop (operands[0], operands[1], operands[2],
|
||||
operands[3]));
|
||||
@@ -17933,7 +17973,8 @@
|
||||
(set (match_operand:DI 0 "register_operand" "=D")
|
||||
(plus:DI (match_dup 1)
|
||||
(const_int 8)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
|
||||
"stosq"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "store")
|
||||
@@ -17945,7 +17986,8 @@
|
||||
(set (match_operand:SI 0 "register_operand" "=D")
|
||||
(plus:SI (match_dup 1)
|
||||
(const_int 4)))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
|
||||
"stos{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "store")
|
||||
@@ -17957,7 +17999,8 @@
|
||||
(set (match_operand:DI 0 "register_operand" "=D")
|
||||
(plus:DI (match_dup 1)
|
||||
(const_int 4)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
|
||||
"stos{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "store")
|
||||
@@ -17969,7 +18012,8 @@
|
||||
(set (match_operand:SI 0 "register_operand" "=D")
|
||||
(plus:SI (match_dup 1)
|
||||
(const_int 2)))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
|
||||
"stosw"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "store")
|
||||
@@ -17981,7 +18025,8 @@
|
||||
(set (match_operand:DI 0 "register_operand" "=D")
|
||||
(plus:DI (match_dup 1)
|
||||
(const_int 2)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
|
||||
"stosw"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "store")
|
||||
@@ -17993,7 +18038,8 @@
|
||||
(set (match_operand:SI 0 "register_operand" "=D")
|
||||
(plus:SI (match_dup 1)
|
||||
(const_int 1)))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
|
||||
"stosb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "store")
|
||||
@@ -18005,7 +18051,8 @@
|
||||
(set (match_operand:DI 0 "register_operand" "=D")
|
||||
(plus:DI (match_dup 1)
|
||||
(const_int 1)))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
|
||||
"stosb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "memory" "store")
|
||||
@@ -18032,7 +18079,8 @@
|
||||
(const_int 0))
|
||||
(use (match_operand:DI 2 "register_operand" "a"))
|
||||
(use (match_dup 4))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} stosq"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -18049,7 +18097,8 @@
|
||||
(const_int 0))
|
||||
(use (match_operand:SI 2 "register_operand" "a"))
|
||||
(use (match_dup 4))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} stos{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -18066,7 +18115,8 @@
|
||||
(const_int 0))
|
||||
(use (match_operand:SI 2 "register_operand" "a"))
|
||||
(use (match_dup 4))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} stos{l|d}"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -18082,7 +18132,8 @@
|
||||
(const_int 0))
|
||||
(use (match_operand:QI 2 "register_operand" "a"))
|
||||
(use (match_dup 4))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} stosb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -18098,7 +18149,8 @@
|
||||
(const_int 0))
|
||||
(use (match_operand:QI 2 "register_operand" "a"))
|
||||
(use (match_dup 4))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
|
||||
"rep{%;} stosb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "prefix_rep" "1")
|
||||
@@ -18119,8 +18171,8 @@
|
||||
if (optimize_insn_for_size_p () && !TARGET_INLINE_ALL_STRINGOPS)
|
||||
FAIL;
|
||||
|
||||
- /* Can't use this if the user has appropriated esi or edi. */
|
||||
- if (fixed_regs[SI_REG] || fixed_regs[DI_REG])
|
||||
+ /* Can't use this if the user has appropriated ecx, esi or edi. */
|
||||
+ if (fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
|
||||
FAIL;
|
||||
|
||||
out = operands[0];
|
||||
@@ -18214,7 +18266,8 @@
|
||||
(clobber (match_operand:SI 0 "register_operand" "=S"))
|
||||
(clobber (match_operand:SI 1 "register_operand" "=D"))
|
||||
(clobber (match_operand:SI 2 "register_operand" "=c"))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"repz{%;} cmpsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "QI")
|
||||
@@ -18229,7 +18282,8 @@
|
||||
(clobber (match_operand:DI 0 "register_operand" "=S"))
|
||||
(clobber (match_operand:DI 1 "register_operand" "=D"))
|
||||
(clobber (match_operand:DI 2 "register_operand" "=c"))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"repz{%;} cmpsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "QI")
|
||||
@@ -18265,7 +18319,8 @@
|
||||
(clobber (match_operand:SI 0 "register_operand" "=S"))
|
||||
(clobber (match_operand:SI 1 "register_operand" "=D"))
|
||||
(clobber (match_operand:SI 2 "register_operand" "=c"))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"repz{%;} cmpsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "QI")
|
||||
@@ -18283,7 +18338,8 @@
|
||||
(clobber (match_operand:DI 0 "register_operand" "=S"))
|
||||
(clobber (match_operand:DI 1 "register_operand" "=D"))
|
||||
(clobber (match_operand:DI 2 "register_operand" "=c"))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
|
||||
"repz{%;} cmpsb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "QI")
|
||||
@@ -18295,7 +18351,7 @@
|
||||
(unspec:SI [(match_operand:BLK 1 "general_operand" "")
|
||||
(match_operand:QI 2 "immediate_operand" "")
|
||||
(match_operand 3 "immediate_operand" "")] UNSPEC_SCAS))]
|
||||
- ""
|
||||
+ "!TARGET_64BIT"
|
||||
{
|
||||
if (ix86_expand_strlen (operands[0], operands[1], operands[2], operands[3]))
|
||||
DONE;
|
||||
@@ -18308,7 +18364,7 @@
|
||||
(unspec:DI [(match_operand:BLK 1 "general_operand" "")
|
||||
(match_operand:QI 2 "immediate_operand" "")
|
||||
(match_operand 3 "immediate_operand" "")] UNSPEC_SCAS))]
|
||||
- ""
|
||||
+ "TARGET_64BIT"
|
||||
{
|
||||
if (ix86_expand_strlen (operands[0], operands[1], operands[2], operands[3]))
|
||||
DONE;
|
||||
@@ -18331,7 +18387,8 @@
|
||||
(match_operand:SI 4 "register_operand" "0")] UNSPEC_SCAS))
|
||||
(clobber (match_operand:SI 1 "register_operand" "=D"))
|
||||
(clobber (reg:CC FLAGS_REG))]
|
||||
- "!TARGET_64BIT"
|
||||
+ "!TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
|
||||
"repnz{%;} scasb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "QI")
|
||||
@@ -18345,7 +18402,8 @@
|
||||
(match_operand:DI 4 "register_operand" "0")] UNSPEC_SCAS))
|
||||
(clobber (match_operand:DI 1 "register_operand" "=D"))
|
||||
(clobber (reg:CC FLAGS_REG))]
|
||||
- "TARGET_64BIT"
|
||||
+ "TARGET_64BIT
|
||||
+ && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
|
||||
"repnz{%;} scasb"
|
||||
[(set_attr "type" "str")
|
||||
(set_attr "mode" "QI")
|
||||
@@ -18499,7 +18557,8 @@
|
||||
(define_insn "*x86_mov<mode>cc_0_m1_neg"
|
||||
[(set (match_operand:SWI48 0 "register_operand" "=r")
|
||||
(neg:SWI48 (match_operator 1 "ix86_carry_flag_operator"
|
||||
- [(reg FLAGS_REG) (const_int 0)])))]
|
||||
+ [(reg FLAGS_REG) (const_int 0)])))
|
||||
+ (clobber (reg:CC FLAGS_REG))]
|
||||
""
|
||||
"sbb{<imodesuffix>}\t%0, %0"
|
||||
[(set_attr "type" "alu")
|
||||
23
lang/gcc45/patches/patch-gcc_config_i386_linux-unwind.h
Normal file
23
lang/gcc45/patches/patch-gcc_config_i386_linux-unwind.h
Normal file
@@ -0,0 +1,23 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/linux-unwind.h.orig Fri Nov 13 06:58:12 2009
|
||||
+++ gcc/config/i386/linux-unwind.h
|
||||
@@ -1,5 +1,5 @@
|
||||
/* DWARF2 EH unwinding support for AMD x86-64 and x86.
|
||||
- Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2004, 2005, 2006, 2009, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@@ -133,9 +133,9 @@ x86_fallback_frame_state (struct _Unwind_Context *cont
|
||||
{
|
||||
struct rt_sigframe {
|
||||
int sig;
|
||||
- struct siginfo *pinfo;
|
||||
+ siginfo_t *pinfo;
|
||||
void *puc;
|
||||
- struct siginfo info;
|
||||
+ siginfo_t info;
|
||||
struct ucontext uc;
|
||||
} *rt_ = context->cfa;
|
||||
/* The void * cast is necessary to avoid an aliasing warning.
|
||||
31
lang/gcc45/patches/patch-gcc_config_i386_mmx.md
Normal file
31
lang/gcc45/patches/patch-gcc_config_i386_mmx.md
Normal file
@@ -0,0 +1,31 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/mmx.md.orig Wed Dec 30 11:07:12 2009
|
||||
+++ gcc/config/i386/mmx.md
|
||||
@@ -63,6 +63,7 @@
|
||||
DONE;
|
||||
})
|
||||
|
||||
+;; movd instead of movq is required to handle broken assemblers.
|
||||
(define_insn "*mov<mode>_internal_rex64"
|
||||
[(set (match_operand:MMXMODEI8 0 "nonimmediate_operand"
|
||||
"=rm,r,!?y,!?y ,m ,!y,*Y2,x,x ,m,r,Yi")
|
||||
@@ -81,8 +82,8 @@
|
||||
%vpxor\t%0, %d0
|
||||
%vmovq\t{%1, %0|%0, %1}
|
||||
%vmovq\t{%1, %0|%0, %1}
|
||||
- %vmovq\t{%1, %0|%0, %1}
|
||||
- %vmovq\t{%1, %0|%0, %1}"
|
||||
+ %vmovd\t{%1, %0|%0, %1}
|
||||
+ %vmovd\t{%1, %0|%0, %1}"
|
||||
[(set_attr "type" "imov,imov,mmx,mmxmov,mmxmov,ssecvt,ssecvt,sselog1,ssemov,ssemov,ssemov,ssemov")
|
||||
(set_attr "unit" "*,*,*,*,*,mmx,mmx,*,*,*,*,*")
|
||||
(set_attr "prefix_rep" "*,*,*,*,*,1,1,*,1,*,*,*")
|
||||
@@ -192,6 +193,7 @@
|
||||
(const_string "orig")))
|
||||
(set_attr "mode" "DI,DI,DI,DI,DI,DI,DI,V4SF,V4SF,V2SF,V2SF,DI,DI")])
|
||||
|
||||
+;; movd instead of movq is required to handle broken assemblers.
|
||||
(define_insn "*movv2sf_internal_rex64"
|
||||
[(set (match_operand:V2SF 0 "nonimmediate_operand"
|
||||
"=rm,r ,!?y,!?y ,m ,!y,*Y2,x,x,x,m,r,Yi")
|
||||
12
lang/gcc45/patches/patch-gcc_config_i386_netbsd-elf.h
Normal file
12
lang/gcc45/patches/patch-gcc_config_i386_netbsd-elf.h
Normal file
@@ -0,0 +1,12 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/netbsd-elf.h.orig Thu Aug 2 10:49:31 2007
|
||||
+++ gcc/config/i386/netbsd-elf.h
|
||||
@@ -122,3 +122,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK
|
||||
|
||||
#define TARGET_VERSION fprintf (stderr, " (NetBSD/i386 ELF)");
|
||||
+
|
||||
+/* Preserve i386 psABI */
|
||||
+#undef PREFERRED_STACK_BOUNDARY_DEFAULT
|
||||
+#define PREFERRED_STACK_BOUNDARY_DEFAULT MIN_STACK_BOUNDARY
|
||||
12
lang/gcc45/patches/patch-gcc_config_i386_netbsd64.h
Normal file
12
lang/gcc45/patches/patch-gcc_config_i386_netbsd64.h
Normal file
@@ -0,0 +1,12 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/netbsd64.h.orig Thu Aug 2 10:49:31 2007
|
||||
+++ gcc/config/i386/netbsd64.h
|
||||
@@ -70,3 +70,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK
|
||||
|
||||
#define TARGET_VERSION fprintf (stderr, " (NetBSD/x86_64 ELF)");
|
||||
+
|
||||
+/* Preserve i386 psABI */
|
||||
+#undef PREFERRED_STACK_BOUNDARY_DEFAULT
|
||||
+#define PREFERRED_STACK_BOUNDARY_DEFAULT MIN_STACK_BOUNDARY
|
||||
282
lang/gcc45/patches/patch-gcc_config_i386_sse.md
Normal file
282
lang/gcc45/patches/patch-gcc_config_i386_sse.md
Normal file
@@ -0,0 +1,282 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/sse.md.orig Sat Apr 16 07:53:39 2011
|
||||
+++ gcc/config/i386/sse.md
|
||||
@@ -354,18 +354,7 @@
|
||||
DONE;
|
||||
})
|
||||
|
||||
-(define_expand "avx_movup<avxmodesuffixf2c><avxmodesuffix>"
|
||||
- [(set (match_operand:AVXMODEF2P 0 "nonimmediate_operand" "")
|
||||
- (unspec:AVXMODEF2P
|
||||
- [(match_operand:AVXMODEF2P 1 "nonimmediate_operand" "")]
|
||||
- UNSPEC_MOVU))]
|
||||
- "AVX_VEC_FLOAT_MODE_P (<MODE>mode)"
|
||||
-{
|
||||
- if (MEM_P (operands[0]) && MEM_P (operands[1]))
|
||||
- operands[1] = force_reg (<MODE>mode, operands[1]);
|
||||
-})
|
||||
-
|
||||
-(define_insn "*avx_movup<avxmodesuffixf2c><avxmodesuffix>"
|
||||
+(define_insn "avx_movup<avxmodesuffixf2c><avxmodesuffix>"
|
||||
[(set (match_operand:AVXMODEF2P 0 "nonimmediate_operand" "=x,m")
|
||||
(unspec:AVXMODEF2P
|
||||
[(match_operand:AVXMODEF2P 1 "nonimmediate_operand" "xm,x")]
|
||||
@@ -391,18 +380,7 @@
|
||||
(set_attr "prefix" "maybe_vex")
|
||||
(set_attr "mode" "TI")])
|
||||
|
||||
-(define_expand "<sse>_movup<ssemodesuffixf2c>"
|
||||
- [(set (match_operand:SSEMODEF2P 0 "nonimmediate_operand" "")
|
||||
- (unspec:SSEMODEF2P
|
||||
- [(match_operand:SSEMODEF2P 1 "nonimmediate_operand" "")]
|
||||
- UNSPEC_MOVU))]
|
||||
- "SSE_VEC_FLOAT_MODE_P (<MODE>mode)"
|
||||
-{
|
||||
- if (MEM_P (operands[0]) && MEM_P (operands[1]))
|
||||
- operands[1] = force_reg (<MODE>mode, operands[1]);
|
||||
-})
|
||||
-
|
||||
-(define_insn "*<sse>_movup<ssemodesuffixf2c>"
|
||||
+(define_insn "<sse>_movup<ssemodesuffixf2c>"
|
||||
[(set (match_operand:SSEMODEF2P 0 "nonimmediate_operand" "=x,m")
|
||||
(unspec:SSEMODEF2P
|
||||
[(match_operand:SSEMODEF2P 1 "nonimmediate_operand" "xm,x")]
|
||||
@@ -414,18 +392,7 @@
|
||||
(set_attr "movu" "1")
|
||||
(set_attr "mode" "<MODE>")])
|
||||
|
||||
-(define_expand "avx_movdqu<avxmodesuffix>"
|
||||
- [(set (match_operand:AVXMODEQI 0 "nonimmediate_operand" "")
|
||||
- (unspec:AVXMODEQI
|
||||
- [(match_operand:AVXMODEQI 1 "nonimmediate_operand" "")]
|
||||
- UNSPEC_MOVU))]
|
||||
- "TARGET_AVX"
|
||||
-{
|
||||
- if (MEM_P (operands[0]) && MEM_P (operands[1]))
|
||||
- operands[1] = force_reg (<MODE>mode, operands[1]);
|
||||
-})
|
||||
-
|
||||
-(define_insn "*avx_movdqu<avxmodesuffix>"
|
||||
+(define_insn "avx_movdqu<avxmodesuffix>"
|
||||
[(set (match_operand:AVXMODEQI 0 "nonimmediate_operand" "=x,m")
|
||||
(unspec:AVXMODEQI
|
||||
[(match_operand:AVXMODEQI 1 "nonimmediate_operand" "xm,x")]
|
||||
@@ -437,17 +404,7 @@
|
||||
(set_attr "prefix" "vex")
|
||||
(set_attr "mode" "<avxvecmode>")])
|
||||
|
||||
-(define_expand "sse2_movdqu"
|
||||
- [(set (match_operand:V16QI 0 "nonimmediate_operand" "")
|
||||
- (unspec:V16QI [(match_operand:V16QI 1 "nonimmediate_operand" "")]
|
||||
- UNSPEC_MOVU))]
|
||||
- "TARGET_SSE2"
|
||||
-{
|
||||
- if (MEM_P (operands[0]) && MEM_P (operands[1]))
|
||||
- operands[1] = force_reg (V16QImode, operands[1]);
|
||||
-})
|
||||
-
|
||||
-(define_insn "*sse2_movdqu"
|
||||
+(define_insn "sse2_movdqu"
|
||||
[(set (match_operand:V16QI 0 "nonimmediate_operand" "=x,m")
|
||||
(unspec:V16QI [(match_operand:V16QI 1 "nonimmediate_operand" "xm,x")]
|
||||
UNSPEC_MOVU))]
|
||||
@@ -1268,15 +1225,15 @@
|
||||
(parallel [(const_int 0)]))
|
||||
(vec_select:DF (match_dup 1) (parallel [(const_int 1)])))
|
||||
(plusminus:DF
|
||||
- (vec_select:DF (match_dup 1) (parallel [(const_int 2)]))
|
||||
- (vec_select:DF (match_dup 1) (parallel [(const_int 3)]))))
|
||||
- (vec_concat:V2DF
|
||||
- (plusminus:DF
|
||||
(vec_select:DF
|
||||
(match_operand:V4DF 2 "nonimmediate_operand" "xm")
|
||||
(parallel [(const_int 0)]))
|
||||
- (vec_select:DF (match_dup 2) (parallel [(const_int 1)])))
|
||||
+ (vec_select:DF (match_dup 2) (parallel [(const_int 1)]))))
|
||||
+ (vec_concat:V2DF
|
||||
(plusminus:DF
|
||||
+ (vec_select:DF (match_dup 1) (parallel [(const_int 2)]))
|
||||
+ (vec_select:DF (match_dup 1) (parallel [(const_int 3)])))
|
||||
+ (plusminus:DF
|
||||
(vec_select:DF (match_dup 2) (parallel [(const_int 2)]))
|
||||
(vec_select:DF (match_dup 2) (parallel [(const_int 3)]))))))]
|
||||
"TARGET_AVX"
|
||||
@@ -3904,7 +3861,7 @@
|
||||
"TARGET_SSE"
|
||||
{
|
||||
if (!TARGET_AVX)
|
||||
- operands[1] = force_reg (V4SFmode, operands[1]);
|
||||
+ operands[1] = force_reg (SFmode, operands[1]);
|
||||
})
|
||||
|
||||
(define_insn "*vec_dupv4sf_avx"
|
||||
@@ -4551,15 +4508,14 @@
|
||||
[(set (match_operand:V4DF 0 "register_operand" "=x,x")
|
||||
(vec_select:V4DF
|
||||
(vec_concat:V8DF
|
||||
- (match_operand:V4DF 1 "nonimmediate_operand" "xm,x")
|
||||
- (match_operand:V4DF 2 "nonimmediate_operand" " 1,xm"))
|
||||
+ (match_operand:V4DF 1 "nonimmediate_operand" " x,m")
|
||||
+ (match_operand:V4DF 2 "nonimmediate_operand" "xm,1"))
|
||||
(parallel [(const_int 0) (const_int 4)
|
||||
(const_int 2) (const_int 6)])))]
|
||||
- "TARGET_AVX
|
||||
- && (!MEM_P (operands[1]) || rtx_equal_p (operands[1], operands[2]))"
|
||||
+ "TARGET_AVX"
|
||||
"@
|
||||
- vmovddup\t{%1, %0|%0, %1}
|
||||
- vunpcklpd\t{%2, %1, %0|%0, %1, %2}"
|
||||
+ vunpcklpd\t{%2, %1, %0|%0, %1, %2}
|
||||
+ vmovddup\t{%1, %0|%0, %1}"
|
||||
[(set_attr "type" "sselog")
|
||||
(set_attr "prefix" "vex")
|
||||
(set_attr "mode" "V4DF")])
|
||||
@@ -4964,24 +4920,22 @@
|
||||
;; Avoid combining registers from different units in a single alternative,
|
||||
;; see comment above inline_secondary_memory_needed function in i386.c
|
||||
(define_insn "sse2_loadhpd"
|
||||
- [(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,x,x,o,o,o")
|
||||
+ [(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,x,o,o,o")
|
||||
(vec_concat:V2DF
|
||||
(vec_select:DF
|
||||
- (match_operand:V2DF 1 "nonimmediate_operand" " 0,0,x,0,0,0")
|
||||
+ (match_operand:V2DF 1 "nonimmediate_operand" " 0,0,0,0,0")
|
||||
(parallel [(const_int 0)]))
|
||||
- (match_operand:DF 2 "nonimmediate_operand" " m,x,0,x,*f,r")))]
|
||||
+ (match_operand:DF 2 "nonimmediate_operand" " m,x,x,*f,r")))]
|
||||
"TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
|
||||
"@
|
||||
movhpd\t{%2, %0|%0, %2}
|
||||
unpcklpd\t{%2, %0|%0, %2}
|
||||
- shufpd\t{$1, %1, %0|%0, %1, 1}
|
||||
#
|
||||
#
|
||||
#"
|
||||
- [(set_attr "type" "ssemov,sselog,sselog,ssemov,fmov,imov")
|
||||
- (set_attr "prefix_data16" "1,*,*,*,*,*")
|
||||
- (set_attr "length_immediate" "*,*,1,*,*,*")
|
||||
- (set_attr "mode" "V1DF,V2DF,V2DF,DF,DF,DF")])
|
||||
+ [(set_attr "type" "ssemov,sselog,ssemov,fmov,imov")
|
||||
+ (set_attr "prefix_data16" "1,*,*,*,*")
|
||||
+ (set_attr "mode" "V1DF,V2DF,DF,DF,DF")])
|
||||
|
||||
(define_split
|
||||
[(set (match_operand:V2DF 0 "memory_operand" "")
|
||||
@@ -5137,6 +5091,16 @@
|
||||
(set_attr "length_immediate" "*,*,*,1,*,*")
|
||||
(set_attr "mode" "DF,V1DF,V1DF,V2DF,V1DF,V1DF")])
|
||||
|
||||
+(define_expand "vec_dupv2df"
|
||||
+ [(set (match_operand:V2DF 0 "register_operand" "")
|
||||
+ (vec_duplicate:V2DF
|
||||
+ (match_operand:DF 1 "nonimmediate_operand" "")))]
|
||||
+ "TARGET_SSE2"
|
||||
+{
|
||||
+ if (!TARGET_SSE3)
|
||||
+ operands[1] = force_reg (DFmode, operands[1]);
|
||||
+})
|
||||
+
|
||||
(define_insn "*vec_dupv2df_sse3"
|
||||
[(set (match_operand:V2DF 0 "register_operand" "=x")
|
||||
(vec_duplicate:V2DF
|
||||
@@ -5147,7 +5111,7 @@
|
||||
(set_attr "prefix" "maybe_vex")
|
||||
(set_attr "mode" "DF")])
|
||||
|
||||
-(define_insn "vec_dupv2df"
|
||||
+(define_insn "*vec_dupv2df"
|
||||
[(set (match_operand:V2DF 0 "register_operand" "=x")
|
||||
(vec_duplicate:V2DF
|
||||
(match_operand:DF 1 "register_operand" "0")))]
|
||||
@@ -7473,9 +7437,8 @@
|
||||
"@
|
||||
#
|
||||
#
|
||||
- %vmov{q}\t{%1, %0|%0, %1}"
|
||||
+ mov{q}\t{%1, %0|%0, %1}"
|
||||
[(set_attr "type" "*,*,imov")
|
||||
- (set_attr "prefix" "*,*,maybe_vex")
|
||||
(set_attr "mode" "*,*,DI")])
|
||||
|
||||
(define_insn "*sse2_storeq"
|
||||
@@ -7513,11 +7476,11 @@
|
||||
vmovhps\t{%1, %0|%0, %1}
|
||||
vpsrldq\t{$8, %1, %0|%0, %1, 8}
|
||||
vmovq\t{%H1, %0|%0, %H1}
|
||||
- vmov{q}\t{%H1, %0|%0, %H1}"
|
||||
+ mov{q}\t{%H1, %0|%0, %H1}"
|
||||
[(set_attr "type" "ssemov,sseishft1,ssemov,imov")
|
||||
(set_attr "length_immediate" "*,1,*,*")
|
||||
(set_attr "memory" "*,none,*,*")
|
||||
- (set_attr "prefix" "vex")
|
||||
+ (set_attr "prefix" "vex,vex,vex,orig")
|
||||
(set_attr "mode" "V2SF,TI,TI,DI")])
|
||||
|
||||
(define_insn "*vec_extractv2di_1_rex64"
|
||||
@@ -7795,6 +7758,7 @@
|
||||
(const_string "vex")))
|
||||
(set_attr "mode" "TI,TI,TI,TI,TI,V2SF")])
|
||||
|
||||
+;; movd instead of movq is required to handle broken assemblers.
|
||||
(define_insn "*vec_concatv2di_rex64_sse4_1"
|
||||
[(set (match_operand:V2DI 0 "register_operand" "=x ,x ,Yi,!x,x,x,x")
|
||||
(vec_concat:V2DI
|
||||
@@ -7804,7 +7768,7 @@
|
||||
"@
|
||||
pinsrq\t{$0x1, %2, %0|%0, %2, 0x1}
|
||||
movq\t{%1, %0|%0, %1}
|
||||
- movq\t{%1, %0|%0, %1}
|
||||
+ movd\t{%1, %0|%0, %1}
|
||||
movq2dq\t{%1, %0|%0, %1}
|
||||
punpcklqdq\t{%2, %0|%0, %2}
|
||||
movlhps\t{%2, %0|%0, %2}
|
||||
@@ -7815,6 +7779,7 @@
|
||||
(set_attr "length_immediate" "1,*,*,*,*,*,*")
|
||||
(set_attr "mode" "TI,TI,TI,TI,TI,V4SF,V2SF")])
|
||||
|
||||
+;; movd instead of movq is required to handle broken assemblers.
|
||||
(define_insn "*vec_concatv2di_rex64_sse"
|
||||
[(set (match_operand:V2DI 0 "register_operand" "=Y2 ,Yi,!Y2,Y2,x,x")
|
||||
(vec_concat:V2DI
|
||||
@@ -7823,7 +7788,7 @@
|
||||
"TARGET_64BIT && TARGET_SSE"
|
||||
"@
|
||||
movq\t{%1, %0|%0, %1}
|
||||
- movq\t{%1, %0|%0, %1}
|
||||
+ movd\t{%1, %0|%0, %1}
|
||||
movq2dq\t{%1, %0|%0, %1}
|
||||
punpcklqdq\t{%2, %0|%0, %2}
|
||||
movlhps\t{%2, %0|%0, %2}
|
||||
@@ -10576,8 +10541,8 @@
|
||||
[(set (match_operand:SSEMODE 0 "register_operand" "=x,x")
|
||||
(if_then_else:SSEMODE
|
||||
(match_operand:SSEMODE 3 "nonimmediate_operand" "x,m")
|
||||
- (match_operand:SSEMODE 1 "vector_move_operand" "x,x")
|
||||
- (match_operand:SSEMODE 2 "vector_move_operand" "xm,x")))]
|
||||
+ (match_operand:SSEMODE 1 "register_operand" "x,x")
|
||||
+ (match_operand:SSEMODE 2 "nonimmediate_operand" "xm,x")))]
|
||||
"TARGET_XOP"
|
||||
"vpcmov\t{%3, %2, %1, %0|%0, %1, %2, %3}"
|
||||
[(set_attr "type" "sse4arg")])
|
||||
@@ -10586,8 +10551,8 @@
|
||||
[(set (match_operand:AVX256MODE 0 "register_operand" "=x,x")
|
||||
(if_then_else:AVX256MODE
|
||||
(match_operand:AVX256MODE 3 "nonimmediate_operand" "x,m")
|
||||
- (match_operand:AVX256MODE 1 "vector_move_operand" "x,x")
|
||||
- (match_operand:AVX256MODE 2 "vector_move_operand" "xm,x")))]
|
||||
+ (match_operand:AVX256MODE 1 "register_operand" "x,x")
|
||||
+ (match_operand:AVX256MODE 2 "nonimmediate_operand" "xm,x")))]
|
||||
"TARGET_XOP"
|
||||
"vpcmov\t{%3, %2, %1, %0|%0, %1, %2, %3}"
|
||||
[(set_attr "type" "sse4arg")])
|
||||
@@ -12136,8 +12101,7 @@
|
||||
[(set (match_operand:AVXMODEF2P 0 "register_operand" "=x")
|
||||
(unspec:AVXMODEF2P
|
||||
[(match_operand:AVXMODEF2P 1 "memory_operand" "m")
|
||||
- (match_operand:<avxpermvecmode> 2 "register_operand" "x")
|
||||
- (match_dup 0)]
|
||||
+ (match_operand:<avxpermvecmode> 2 "register_operand" "x")]
|
||||
UNSPEC_MASKLOAD))]
|
||||
"TARGET_AVX"
|
||||
"vmaskmovp<avxmodesuffixf2c>\t{%1, %2, %0|%0, %2, %1}"
|
||||
20
lang/gcc45/patches/patch-gcc_config_i386_t-netbsd64
Normal file
20
lang/gcc45/patches/patch-gcc_config_i386_t-netbsd64
Normal file
@@ -0,0 +1,20 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/t-netbsd64.orig Wed May 21 19:48:54 2014
|
||||
+++ gcc/config/i386/t-netbsd64
|
||||
@@ -0,0 +1,15 @@
|
||||
+# NetBSD has (will have) "non-native" libraries in /usr/lib/<arch>.
|
||||
+# For NetBSD/amd64 we thus have /usr/lib and /usr/lib/i386.
|
||||
+
|
||||
+MULTILIB_OPTIONS = m64/m32
|
||||
+MULTILIB_DIRNAMES = 64 32
|
||||
+MULTILIB_OSDIRNAMES = . ../lib/i386
|
||||
+
|
||||
+LIBGCC = stmp-multilib
|
||||
+INSTALL_LIBGCC = install-multilib
|
||||
+
|
||||
+# The pushl in CTOR initialization interferes with frame pointer elimination.
|
||||
+# crtend*.o cannot be compiled without -fno-asynchronous-unwind-tables,
|
||||
+# because then __FRAME_END__ might not be the last thing in .eh_frame
|
||||
+# section.
|
||||
+CRTSTUFF_T_CFLAGS += -fno-omit-frame-pointer -fno-asynchronous-unwind-tables
|
||||
25
lang/gcc45/patches/patch-gcc_config_i386_winnt-cxx.c
Normal file
25
lang/gcc45/patches/patch-gcc_config_i386_winnt-cxx.c
Normal file
@@ -0,0 +1,25 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/i386/winnt-cxx.c.orig Wed Oct 7 02:57:21 2009
|
||||
+++ gcc/config/i386/winnt-cxx.c
|
||||
@@ -101,6 +101,20 @@ i386_pe_adjust_class_at_definition (tree t)
|
||||
|
||||
if (lookup_attribute ("dllexport", TYPE_ATTRIBUTES (t)) != NULL_TREE)
|
||||
{
|
||||
+ tree tmv = TYPE_MAIN_VARIANT (t);
|
||||
+
|
||||
+ /* Make sure that we set dllexport attribute to typeinfo's
|
||||
+ base declaration, as otherwise it would fail to be exported as
|
||||
+ it isn't a class-member. */
|
||||
+ if (tmv != NULL_TREE
|
||||
+ && CLASSTYPE_TYPEINFO_VAR (tmv) != NULL_TREE)
|
||||
+ {
|
||||
+ tree na, ti_decl = CLASSTYPE_TYPEINFO_VAR (tmv);
|
||||
+ na = tree_cons (get_identifier ("dllexport"), NULL_TREE,
|
||||
+ NULL_TREE);
|
||||
+ decl_attributes (&ti_decl, na, 0);
|
||||
+ }
|
||||
+
|
||||
/* Check static VAR_DECL's. */
|
||||
for (member = TYPE_FIELDS (t); member; member = TREE_CHAIN (member))
|
||||
if (TREE_CODE (member) == VAR_DECL)
|
||||
16
lang/gcc45/patches/patch-gcc_config_ia64_fde-glibc.c
Normal file
16
lang/gcc45/patches/patch-gcc_config_ia64_fde-glibc.c
Normal file
@@ -0,0 +1,16 @@
|
||||
$NetBSD$
|
||||
|
||||
--- gcc/config/ia64/fde-glibc.c.orig Fri Aug 14 20:56:31 2009
|
||||
+++ gcc/config/ia64/fde-glibc.c
|
||||
@@ -34,9 +34,11 @@
|
||||
#include <link.h>
|
||||
#include "unwind-ia64.h"
|
||||
|
||||
+#if !defined(__NetBSD__)
|
||||
#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2) \
|
||||
|| (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && !defined(DT_CONFIG))
|
||||
# error You need GLIBC 2.2.4 or later on IA-64 Linux
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
struct unw_ia64_callback_data
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user