pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/gcc46 Update to 4.6.4
details: https://anonhg.NetBSD.org/pkgsrc/rev/9887876e6dad
branches: trunk
changeset: 629680:9887876e6dad
user: ryoon <ryoon%pkgsrc.org@localhost>
date: Sat Jan 25 13:38:47 2014 +0000
description:
Update to 4.6.4
* Add OpenBSD/amd64 5.4 support
Changelog:
* Bugfixes
diffstat:
lang/gcc46/Makefile | 11 +-
lang/gcc46/distinfo | 46 +-
lang/gcc46/files/patch-gcc_targhooks.c-openbsd.diff | 148 ++++
lang/gcc46/patches/patch-aa | 133 +++-
lang/gcc46/patches/patch-ab | 35 +-
lang/gcc46/patches/patch-ah | 18 +-
lang/gcc46/patches/patch-boehm-gc_configure | 52 +
lang/gcc46/patches/patch-boehm-gc_dyn__load.c | 51 +
lang/gcc46/patches/patch-boehm-gc_include_gc__config.h.in | 14 +
lang/gcc46/patches/patch-boehm-gc_include_gc__config__macros.h | 24 +
lang/gcc46/patches/patch-boehm-gc_include_gc__pthread__redirects.h | 26 +
lang/gcc46/patches/patch-boehm-gc_include_private_gcconfig.h | 355 ++++++++++
lang/gcc46/patches/patch-boehm-gc_mach__dep.c | 22 +
lang/gcc46/patches/patch-boehm-gc_os__dep.c | 177 ++++
lang/gcc46/patches/patch-boehm-gc_pthread__support.c | 35 +
lang/gcc46/patches/patch-boehm-gc_tests_test.c | 14 +
lang/gcc46/patches/patch-boehm-gc_threadlibs.c | 14 +
lang/gcc46/patches/patch-gcc_common.opt | 71 ++
lang/gcc46/patches/patch-gcc_config.host | 15 +
lang/gcc46/patches/patch-gcc_config_exec-stack.h | 45 +
lang/gcc46/patches/patch-gcc_config_host-openbsd.c | 112 +++
lang/gcc46/patches/patch-gcc_config_i386_openbsd.h | 27 +
lang/gcc46/patches/patch-gcc_config_i386_openbsd64.h | 127 +++
lang/gcc46/patches/patch-gcc_config_i386_openbsdelf.h | 25 +
lang/gcc46/patches/patch-gcc_config_openbsd-libpthread.h | 11 +
lang/gcc46/patches/patch-gcc_config_openbsd.h | 16 +
lang/gcc46/patches/patch-gcc_config_t-openbsd | 13 +
lang/gcc46/patches/patch-gcc_config_x-openbsd | 9 +
lang/gcc46/patches/patch-gcc_configure | 12 +
lang/gcc46/patches/patch-gcc_defaults.h | 15 +
lang/gcc46/patches/patch-gcc_gcc.c | 13 +
lang/gcc46/patches/patch-gcc_lto_lto.c | 15 +
lang/gcc46/patches/patch-gcc_opts.c | 13 +
lang/gcc46/patches/patch-gcc_unwind-dw2-fde-glibc.c | 13 +
lang/gcc46/patches/patch-gcc_unwind-dw2-fde-openbsd.c | 15 +
lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h | 16 +-
lang/gcc46/patches/patch-libstdc++-v3_include_std_mutex | 13 +
37 files changed, 1739 insertions(+), 32 deletions(-)
diffs (truncated from 2033 to 300 lines):
diff -r 9a0b79759924 -r 9887876e6dad lang/gcc46/Makefile
--- a/lang/gcc46/Makefile Sat Jan 25 12:57:30 2014 +0000
+++ b/lang/gcc46/Makefile Sat Jan 25 13:38:47 2014 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.23 2013/05/31 12:41:11 wiz Exp $
+# $NetBSD: Makefile,v 1.24 2014/01/25 13:38:47 ryoon Exp $
DISTNAME= gcc-${GCC_VERSION}
PKGNAME= gcc46-${GCC_VERSION}
-PKGREVISION= 5
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
EXTRACT_SUFX= .tar.bz2
@@ -14,7 +13,7 @@
USE_TOOLS+= awk:run bash:run chmod gmake:run makeinfo sed:run
-GCC_VERSION= 4.6.3
+GCC_VERSION= 4.6.4
GCC_SUBPREFIX= gcc46
GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX}
@@ -115,6 +114,12 @@
${CP} ${WRKSRC}/gcc/config/freebsd-stdint.h ${WRKSRC}/gcc/config/netbsd-stdint.h
.endif
+# gengtype does not recognize #ifdef.
+.if ${OPSYS} == "OpenBSD"
+ cd ${WRKSRC}/gcc && \
+ patch -p1 < ${FILESDIR}/patch-gcc_targhooks.c-openbsd.diff
+.endif
+
do-configure:
${MKDIR} ${WRKDIR}/obj
cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS}
diff -r 9a0b79759924 -r 9887876e6dad lang/gcc46/distinfo
--- a/lang/gcc46/distinfo Sat Jan 25 12:57:30 2014 +0000
+++ b/lang/gcc46/distinfo Sat Jan 25 13:38:47 2014 +0000
@@ -1,19 +1,49 @@
-$NetBSD: distinfo,v 1.13 2013/04/30 22:24:15 joerg Exp $
+$NetBSD: distinfo,v 1.14 2014/01/25 13:38:47 ryoon Exp $
-SHA1 (gcc-4.6.3.tar.bz2) = ce317ca5c8185b58bc9300182b534608c578637f
-RMD160 (gcc-4.6.3.tar.bz2) = 9abb2f940d08fc84f2d91b6a6ce8d662ca889269
-Size (gcc-4.6.3.tar.bz2) = 71999439 bytes
-SHA1 (patch-aa) = e68232cd14d6be31dd2c45aefb454dde75d0bbba
-SHA1 (patch-ab) = 419dbd3e80b960ac391dba123d8de68abdd35355
+SHA1 (gcc-4.6.4.tar.bz2) = 63933a8a5cf725626585dbba993c8b0f6db1335d
+RMD160 (gcc-4.6.4.tar.bz2) = 6a58b053812cf75622bc4579e020cd9471f46916
+Size (gcc-4.6.4.tar.bz2) = 72006076 bytes
+SHA1 (patch-aa) = 8bb19e38cacf5dbf9e9f3cac71211d52ec8358c3
+SHA1 (patch-ab) = f25d0b276041e57dcfb00638bc4232b4e0f5abb6
SHA1 (patch-ac) = 0f708412670eca90c2c8e3fa675cffb14be768cd
SHA1 (patch-ad) = b5e17219e7b7ba158b9f3e1a67e155fb158b4484
SHA1 (patch-af) = e4e194ef29924eb986536972c5f5e9f37d98eba3
SHA1 (patch-ag) = 1753d08075de8527d8f14afc3df4afeacb10d507
-SHA1 (patch-ah) = 8df9292331e68a69481aaabc894f285199a7eb05
+SHA1 (patch-ah) = bb08426c9eca792f1af4d87f9ea8c827a452fe47
SHA1 (patch-ak) = 377d6ab5d454f0af2709680dd656f0449228aca9
SHA1 (patch-al) = 20d16fba8c1b9e578c9df6523397e29a94409990
+SHA1 (patch-boehm-gc_configure) = 65fa922741428a4a353bf1d3946090eccc0aa809
+SHA1 (patch-boehm-gc_dyn__load.c) = 2d73263d33f905f75da8cff501f5e00c0322f334
+SHA1 (patch-boehm-gc_include_gc__config.h.in) = 613d5ebbdcb92fc3cd3b04c4a643c70c9b5a7667
+SHA1 (patch-boehm-gc_include_gc__config__macros.h) = 106e09e72990591d5eea3beeea9b2c311e5fa6e5
+SHA1 (patch-boehm-gc_include_gc__pthread__redirects.h) = 5df4e69665bc69c4a53f80361ed84bc7b7ef7b6f
+SHA1 (patch-boehm-gc_include_private_gcconfig.h) = 0dfffa8af8c4a6c2f00b561e8750fb2349a5b42e
+SHA1 (patch-boehm-gc_mach__dep.c) = d91ca0d42357647ccf9fa3f4624bf8eaea2afbf9
+SHA1 (patch-boehm-gc_os__dep.c) = d50619167d76eec4ec6b8fb8e9a9ec65d1e8b69c
+SHA1 (patch-boehm-gc_pthread__support.c) = 1028b0e8604e0477dd80ec20c04ffc00278237a9
+SHA1 (patch-boehm-gc_tests_test.c) = f4f2c7a701ef166004746e5f819f7e04c4176b24
+SHA1 (patch-boehm-gc_threadlibs.c) = 62cabc51234e1ce5c60e70bef9fc4d8f92b9739d
+SHA1 (patch-gcc_common.opt) = 52cbab619bbf7df69a902b066a1d0626193f49b0
+SHA1 (patch-gcc_config.host) = 5be619aad33ee0ac05d8fb64879be5e530914122
SHA1 (patch-gcc_config_arm_elf.h) = 28c67bb698ebe9a3aa45c4cff29f028c82cc7606
SHA1 (patch-gcc_config_arm_t-netbsd) = a1682f4f8dc7e393446f19f615737ddfc98fcb7f
-SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = 7e8413cf45d49890ad7634f9276188413c8ed30a
+SHA1 (patch-gcc_config_exec-stack.h) = 2ff8a153a41638de2943c4109f38ea3a7c26c00d
+SHA1 (patch-gcc_config_host-openbsd.c) = 109ce33dbbc19c988637d77dce4d240d6bfc912c
+SHA1 (patch-gcc_config_i386_openbsd.h) = 0adb1e531eb9d773cbd6944f279e949e59035bd3
+SHA1 (patch-gcc_config_i386_openbsd64.h) = c4fdb98de196702afad36a75886967babf49a55a
+SHA1 (patch-gcc_config_i386_openbsdelf.h) = cd7afa938514dc80fb53c683fb089468c935d2ae
+SHA1 (patch-gcc_config_openbsd-libpthread.h) = 826aaae4b2dda5a49ec71510f0752aba3c1b0b91
+SHA1 (patch-gcc_config_openbsd.h) = a396d14b2df78a4c45d3e51ef7fe960bbc8d5754
+SHA1 (patch-gcc_config_t-openbsd) = 662fe8d0c4b58145fb3268bc7ac432a1616c1106
+SHA1 (patch-gcc_config_x-openbsd) = b307d75331b9a7f6271698c68f1647a03d204eb9
+SHA1 (patch-gcc_configure) = 906906aca782c75b2a053aef272a8472f0a9a9ee
+SHA1 (patch-gcc_defaults.h) = 72b145fdf9baecc061e90e9634eb5f842215a962
+SHA1 (patch-gcc_gcc.c) = 264e561efe02e1e343400ef7dff182e71b358ff5
+SHA1 (patch-gcc_lto_lto.c) = 3c7df0691d300d2915388e7ef019b9717a9673d7
+SHA1 (patch-gcc_opts.c) = e02ebec8a9de24492a3aba80ee8c742446f2c549
+SHA1 (patch-gcc_unwind-dw2-fde-glibc.c) = 704ccc2b1058344586e0ccb8bcd291f41d93ed0a
+SHA1 (patch-gcc_unwind-dw2-fde-openbsd.c) = 74b7df494848d8d52e4574bac3fa3742cd3ff0d7
+SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = eac78601d0f531c8a49c88eacc59691312f1cf25
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 830038744cbbb713ecc3f960a9509bef16176db9
SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = ce481809b051cb281772a0ad4d561241731f7556
+SHA1 (patch-libstdc++-v3_include_std_mutex) = 872322df9bf7406d9fd3fc1e12dd7573c3c91bd2
diff -r 9a0b79759924 -r 9887876e6dad lang/gcc46/files/patch-gcc_targhooks.c-openbsd.diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc46/files/patch-gcc_targhooks.c-openbsd.diff Sat Jan 25 13:38:47 2014 +0000
@@ -0,0 +1,148 @@
+--- gcc/targhooks.c.orig 2014-01-25 15:53:51.000000000 +0900
++++ gcc/targhooks.c 2014-01-25 15:38:03.000000000 +0900
+@@ -56,6 +56,7 @@
+ #include "tree.h"
+ #include "expr.h"
+ #include "output.h"
++#include "c-family/c-common.h"
+ #include "diagnostic-core.h"
+ #include "function.h"
+ #include "target.h"
+@@ -658,7 +659,7 @@
+ rtx x;
+
+ t = build_decl (UNKNOWN_LOCATION,
+- VAR_DECL, get_identifier ("__stack_chk_guard"),
++ VAR_DECL, get_identifier ("__guard_local"),
+ ptr_type_node);
+ TREE_STATIC (t) = 1;
+ TREE_PUBLIC (t) = 1;
+@@ -667,6 +668,8 @@
+ TREE_THIS_VOLATILE (t) = 1;
+ DECL_ARTIFICIAL (t) = 1;
+ DECL_IGNORED_P (t) = 1;
++ DECL_VISIBILITY (t) = VISIBILITY_HIDDEN;
++ DECL_VISIBILITY_SPECIFIED (t) = 1;
+
+ /* Do not share RTL as the declaration is visible outside of
+ current function. */
+@@ -679,67 +682,68 @@
+ return t;
+ }
+
+-static GTY(()) tree stack_chk_fail_decl;
++static GTY(()) int stack_protect_labelno;
+
+ tree
+ default_external_stack_protect_fail (void)
+ {
+- tree t = stack_chk_fail_decl;
+-
+- if (t == NULL_TREE)
+- {
+- t = build_function_type_list (void_type_node, NULL_TREE);
+- t = build_decl (UNKNOWN_LOCATION,
+- FUNCTION_DECL, get_identifier ("__stack_chk_fail"), t);
+- TREE_STATIC (t) = 1;
+- TREE_PUBLIC (t) = 1;
+- DECL_EXTERNAL (t) = 1;
+- TREE_USED (t) = 1;
+- TREE_THIS_VOLATILE (t) = 1;
+- TREE_NOTHROW (t) = 1;
+- DECL_ARTIFICIAL (t) = 1;
+- DECL_IGNORED_P (t) = 1;
+- DECL_VISIBILITY (t) = VISIBILITY_DEFAULT;
+- DECL_VISIBILITY_SPECIFIED (t) = 1;
+-
+- stack_chk_fail_decl = t;
+- }
+-
+- return build_call_expr (t, 0);
++ tree t, func, type, init, stack_smash_handler;
++ const char *name;
++ size_t length;
++ char name_buf[32];
++
++ if (NULL == (name = fname_as_string (0))) {
++ name = (char *)xmalloc(32);
++ strlcpy (name, "*unknown*", 32);
++ }
++ length = strlen (name);
++ /* Build a decl for __func__. */
++ type = build_array_type (char_type_node,
++ build_index_type (size_int (length)));
++ type = build_qualified_type (type, TYPE_QUAL_CONST);
++
++ init = build_string (length + 1, name);
++ free ((char *) name);
++ TREE_TYPE (init) = type;
++
++ func = build_decl (UNKNOWN_LOCATION, VAR_DECL, NULL_TREE, type);
++ TREE_STATIC (func) = 1;
++ TREE_READONLY (func) = 1;
++ DECL_ARTIFICIAL (func) = 1;
++ ASM_GENERATE_INTERNAL_LABEL (name_buf, "LSSH", stack_protect_labelno++);
++ DECL_NAME (func) = get_identifier (name_buf);
++ DECL_INITIAL (func) = init;
++
++ assemble_variable (func, 0, 0, 0);
++
++ /* Build a decl for __stack_smash_handler. */
++ t = build_pointer_type (TREE_TYPE (func));
++ t = build_function_type_list (void_type_node, t, NULL_TREE);
++ t = build_decl (UNKNOWN_LOCATION,
++ FUNCTION_DECL, get_identifier ("__stack_smash_handler"), t);
++ /* t = build_fn_decl ("__stack_smash_handler", t); */
++ TREE_STATIC (t) = 1;
++ TREE_PUBLIC (t) = 1;
++ DECL_EXTERNAL (t) = 1;
++ TREE_USED (t) = 1;
++ TREE_THIS_VOLATILE (t) = 1;
++ TREE_NOTHROW (t) = 1;
++ DECL_ARTIFICIAL (t) = 1;
++ DECL_IGNORED_P (t) = 1;
++ DECL_VISIBILITY (t) = VISIBILITY_DEFAULT;
++ DECL_VISIBILITY_SPECIFIED (t) = 1;
++
++ stack_smash_handler = t;
++
++ /* Generate a call to __stack_smash_handler(__func__). */
++ t = build_fold_addr_expr (func);
++ return build_call_expr (stack_smash_handler, 1, t);
+ }
+
+ tree
+ default_hidden_stack_protect_fail (void)
+ {
+-#ifndef HAVE_GAS_HIDDEN
+ return default_external_stack_protect_fail ();
+-#else
+- tree t = stack_chk_fail_decl;
+-
+- if (!flag_pic)
+- return default_external_stack_protect_fail ();
+-
+- if (t == NULL_TREE)
+- {
+- t = build_function_type_list (void_type_node, NULL_TREE);
+- t = build_decl (UNKNOWN_LOCATION, FUNCTION_DECL,
+- get_identifier ("__stack_chk_fail_local"), t);
+- TREE_STATIC (t) = 1;
+- TREE_PUBLIC (t) = 1;
+- DECL_EXTERNAL (t) = 1;
+- TREE_USED (t) = 1;
+- TREE_THIS_VOLATILE (t) = 1;
+- TREE_NOTHROW (t) = 1;
+- DECL_ARTIFICIAL (t) = 1;
+- DECL_IGNORED_P (t) = 1;
+- DECL_VISIBILITY_SPECIFIED (t) = 1;
+- DECL_VISIBILITY (t) = VISIBILITY_HIDDEN;
+-
+- stack_chk_fail_decl = t;
+- }
+-
+- return build_call_expr (t, 0);
+-#endif
+ }
+
+ bool
diff -r 9a0b79759924 -r 9887876e6dad lang/gcc46/patches/patch-aa
--- a/lang/gcc46/patches/patch-aa Sat Jan 25 12:57:30 2014 +0000
+++ b/lang/gcc46/patches/patch-aa Sat Jan 25 13:38:47 2014 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.3 2012/04/17 07:48:13 sbd Exp $
+$NetBSD: patch-aa,v 1.4 2014/01/25 13:38:48 ryoon Exp $
* Add t-crtstuff to tmake_file on NetBSD.
* Add netbsd-stdint.h to tm_file on NetBSD.
@@ -6,9 +6,9 @@
* Add Dragonfly support.
---- gcc/config.gcc.orig 2011-07-22 18:44:50.000000000 +0200
-+++ gcc/config.gcc 2012-03-13 13:40:05.000000000 +0100
-@@ -561,6 +561,33 @@
+--- gcc/config.gcc.orig 2013-03-06 17:40:07.000000000 +0000
++++ gcc/config.gcc
+@@ -561,6 +561,33 @@ case ${target} in
# need_64bit_hwint=yes # system compiler has this for all arch!
use_gcc_stdint=wrap
;;
@@ -42,7 +42,7 @@
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
extra_options="$extra_options gnu-user.opt"
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
-@@ -655,6 +682,7 @@
+@@ -655,6 +682,7 @@ case ${target} in
default_use_cxa_atexit=yes
;;
esac
@@ -50,7 +50,50 @@
;;
*-*-openbsd*)
tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
-@@ -1219,19 +1247,26 @@
+@@ -668,6 +696,14 @@ case ${target} in
+ *-*-openbsd2.*|*-*-openbsd3.[012])
+ tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
+ esac
++ case ${target} in
++ *-*-openbsd[0-3].*|*-*-openbsd4.[012])
++ # keep default of no cxa_atexit support for these older releases
++ ;;
++ *)
++ default_use_cxa_atexit=yes
++ ;;
++ esac
+ ;;
+ *-*-rtems*)
+ case ${enable_threads} in
+@@ -741,7 +777,7 @@ alpha*-*-netbsd*)
Home |
Main Index |
Thread Index |
Old Index