diff options
author | Florian Franzmann | 2014-07-16 23:14:26 +0200 |
---|---|---|
committer | Remko van der Vossen | 2019-05-17 23:32:58 +0200 |
commit | 1970696d74f7fd0952c9052cb0049f567d208073 (patch) | |
tree | 99bc244a37c021c701bb7e373e5297cfef418c53 | |
parent | f132b6666d48f0bf97281b76e2b67419abd670ef (diff) |
gnu/gcc: version 4.9.1
-rwxr-xr-x | gnu/gcc/BUILD | 8 | ||||
-rwxr-xr-x | gnu/gcc/DETAILS | 4 | ||||
-rw-r--r-- | gnu/gcc/HISTORY | 6 | ||||
-rwxr-xr-x | gnu/gcc/PRE_BUILD | 4 | ||||
-rw-r--r-- | gnu/gcc/gcc-4.9-tree-ssa-threadedge.patch | 38 | ||||
-rw-r--r-- | gnu/gcc/gcc-4.9.0-upstream_fixes-1.patch | 64 |
6 files changed, 13 insertions, 111 deletions
diff --git a/gnu/gcc/BUILD b/gnu/gcc/BUILD index f403465b6a..9c851b2b15 100755 --- a/gnu/gcc/BUILD +++ b/gnu/gcc/BUILD @@ -64,14 +64,14 @@ if list_find "$GCC_COMPILER" "ada" ; then ADA_PATH=${SOURCE13/.tar.bz2/} && PATH=$SOURCE_DIRECTORY/$ADA_PATH/usr/bin:$PATH && - export CC="$SOURCE_DIRECTORY/$ADA_PATH/usr/bin/gcc" && + export CC="$SOURCE_DIRECTORY/$ADA_PATH/bin/gcc" && - export INCLUDE_DIR="$SOURCE_DIRECTORY/$ADA_PATH/usr/lib/gcc/$HOST/${VERSION13}/include" && - export LIB_DIR="$SOURCE_DIRECTORY/$ADA_PATH/usr/lib/gcc/$HOST/${VERSION13}/" && + export INCLUDE_DIR="$SOURCE_DIRECTORY/$ADA_PATH/lib/gcc/$HOST/${VERSION13}/include" && + export LIB_DIR="$SOURCE_DIRECTORY/$ADA_PATH/lib/gcc/$HOST/${VERSION13}/" && export LDFLAGS="-L${LIB_DIR}" && export LIBRARY_PATH="$LIB_DIR" && export LD_LIBRARY_PATH="$LIB_DIR" && - export COMPILER_PATH="$SOURCE_DIRECTORY/$ADA_PATH/usr/bin" && + export COMPILER_PATH="$SOURCE_DIRECTORY/$ADA_PATH/bin" && export ADA_OBJECTS_PATH="$LIB_DIR/adalib" && export ADA_INCLUDE_PATH="$LIB_DIR/adainclude" && diff --git a/gnu/gcc/DETAILS b/gnu/gcc/DETAILS index 62e3ac5e92..1097226841 100755 --- a/gnu/gcc/DETAILS +++ b/gnu/gcc/DETAILS @@ -1,5 +1,5 @@ SPELL=gcc - VERSION=4.9.0 + VERSION=4.9.1 PATCHLEVEL=0 BASE_SOURCE_URL="ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$VERSION" SOURCE=gcc-$VERSION.tar.bz2 @@ -51,7 +51,7 @@ then SOURCE13=ada-$VERSION13-i686-pc-linux-gnu.tar.bz2 elif [[ "${SMGL_COMPAT_ARCHS[1]}" == "x86_64" ]] then - VERSION13=4.9.0 + VERSION13=4.9.1 SOURCE13=ada-$VERSION13-x86_64-pc-linux-gnu.tar.bz2 else VERSION13=4.7.1 diff --git a/gnu/gcc/HISTORY b/gnu/gcc/HISTORY index 7fa4d54e81..8493ef321b 100644 --- a/gnu/gcc/HISTORY +++ b/gnu/gcc/HISTORY @@ -5,6 +5,12 @@ * PRE_BUILD: patch for freetype2 headers * classpath-ft2include.patch: added said patch +2014-07-16 Florian Franzmann <siflfran@hawo.stw.uni-erlangen.de> + * DETAILS: version 4.9.1 + * PRE_BUILD, gcc-4.9-tree-ssa-threadedge.patch, + gcc-4.9.0-upstream_fixes-1.patch: remove obsolete patches + * BUILD: fix paths to bootstrap compiler + 2014-06-30 Pol Vinogradov <vin.public@gmail.com> * PRE_BUILD, 0002-4.8.0-ffast-math.patch: removed the patch, causes undefined reference to fxsave diff --git a/gnu/gcc/PRE_BUILD b/gnu/gcc/PRE_BUILD index 590cfa45bb..63263f407f 100755 --- a/gnu/gcc/PRE_BUILD +++ b/gnu/gcc/PRE_BUILD @@ -48,7 +48,5 @@ if list_find "$GCC_COMPILER" "go"; then fi && patch -p1 < "$SPELL_DIRECTORY/0001-remove-libffi.patch" && -patch -p0 < "$SPELL_DIRECTORY/gcc-4.8-filename-output.patch" && -patch -p1 < "$SPELL_DIRECTORY/gcc-4.9-tree-ssa-threadedge.patch" && -patch -p1 < "$SPELL_DIRECTORY/gcc-4.9.0-upstream_fixes-1.patch" +patch -p0 < "$SPELL_DIRECTORY/gcc-4.8-filename-output.patch" diff --git a/gnu/gcc/gcc-4.9-tree-ssa-threadedge.patch b/gnu/gcc/gcc-4.9-tree-ssa-threadedge.patch deleted file mode 100644 index 8827427e4d..0000000000 --- a/gnu/gcc/gcc-4.9-tree-ssa-threadedge.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- trunk/gcc/tree-ssa-threadedge.c 2014/04/23 17:53:56 209715 -+++ trunk/gcc/tree-ssa-threadedge.c 2014/04/23 18:04:46 209716 -@@ -387,7 +387,34 @@ - && (gimple_code (stmt) != GIMPLE_CALL - || gimple_call_lhs (stmt) == NULL_TREE - || TREE_CODE (gimple_call_lhs (stmt)) != SSA_NAME)) -- continue; -+ { -+ /* STMT might still have DEFS and we need to invalidate any known -+ equivalences for them. -+ -+ Consider if STMT is a GIMPLE_ASM with one or more outputs that -+ feeds a conditional inside a loop. We might derive an equivalence -+ due to the conditional. */ -+ tree op; -+ ssa_op_iter iter; -+ -+ if (backedge_seen) -+ FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_DEF) -+ { -+ /* This call only invalidates equivalences created by -+ PHI nodes. This is by design to keep the cost of -+ of invalidation reasonable. */ -+ invalidate_equivalences (op, stack, src_map, dst_map); -+ -+ /* However, conditionals can imply values for real -+ operands as well. And those won't be recorded in the -+ maps. In fact, those equivalences may be recorded totally -+ outside the threading code. We can just create a new -+ temporary NULL equivalence here. */ -+ record_temporary_equivalence (op, NULL_TREE, stack); -+ } -+ -+ continue; -+ } - - /* The result of __builtin_object_size depends on all the arguments - of a phi node. Temporarily using only one edge produces invalid diff --git a/gnu/gcc/gcc-4.9.0-upstream_fixes-1.patch b/gnu/gcc/gcc-4.9.0-upstream_fixes-1.patch deleted file mode 100644 index c3d80e8042..0000000000 --- a/gnu/gcc/gcc-4.9.0-upstream_fixes-1.patch +++ /dev/null @@ -1,64 +0,0 @@ -Submitted By: Armin K. <krejzi at email dot com> -Date: 2014-05-10 -Initial Package Version: 4.9.0 -Upstream Status: Fixed Upstream -Origin: Upstream VCS -Description: Prevents compiler from generating broken code that would cause - some programs to segfault or behave incorrectly when compiled - with gcc-4.9.0 - ---- a/gcc/ipa-devirt.c 2014-04-08 07:35:11.000000000 +0200 -+++ b/gcc/ipa-devirt.c 2014-05-10 16:46:14.502859179 +0200 -@@ -987,6 +987,17 @@ - context->outer_type = expected_type; - context->offset = 0; - context->maybe_derived_type = true; -+ context->maybe_in_construction = true; -+ /* POD can be changed to an instance of a polymorphic type by -+ placement new. Here we play safe and assume that any -+ non-polymorphic type is POD. */ -+ if ((TREE_CODE (type) != RECORD_TYPE -+ || !TYPE_BINFO (type) -+ || !polymorphic_type_binfo_p (TYPE_BINFO (type))) -+ && (TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST -+ || (offset + tree_to_uhwi (TYPE_SIZE (expected_type)) <= -+ tree_to_uhwi (TYPE_SIZE (type))))) -+ return true; - return false; - } - ---- a/gcc/testsuite/g++.dg/ipa/devirt-11.C 2013-09-08 18:42:21.000000000 +0200 -+++ b/gcc/testsuite/g++.dg/ipa/devirt-11.C 2014-05-10 16:46:14.503859198 +0200 -@@ -45,5 +45,5 @@ - /* While inlining function called once we should devirtualize a new call to fn2 - and two to fn3. While doing so the new symbol for fn2 needs to be - introduced. */ --/* { dg-final { scan-ipa-dump-times "Discovered a virtual call to a known target" 3 "inline" } } */ -+/* { dg-final { scan-ipa-dump-times "Discovered a virtual call to a known target" 1 "inline" } } */ - /* { dg-final { cleanup-ipa-dump "inline" } } */ ---- a/gcc/testsuite/g++.dg/ipa/devirt-31.C 1970-01-01 01:00:00.000000000 +0100 -+++ b/gcc/testsuite/g++.dg/ipa/devirt-31.C 2014-05-10 16:46:14.503859198 +0200 -@@ -0,0 +1,23 @@ -+/* { dg-options "-O2 -std=c++11 -fdump-ipa-inline" } */ -+#include <new> -+ -+class EmbeddedObject { -+public: -+ virtual int val() { return 2; } -+}; -+ -+class Container { -+ alignas(EmbeddedObject) char buffer[sizeof(EmbeddedObject)]; -+public: -+ EmbeddedObject *obj() { return (EmbeddedObject*)buffer; } -+ Container() { new (buffer) EmbeddedObject(); } -+}; -+ -+Container o; -+ -+int main() -+{ -+ __builtin_printf("%d\n", o.obj()->val()); -+} -+/* { dg-final { scan-ipa-dump-not "__builtin_unreachable" "inline" } } */ -+/* { dg-final { cleanup-ipa-dump "inline" } } */ |