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