[gcc-6] 112/401: Apply proposed patch for PR target/68273 (Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg) on mips and mipsel.
Ximin Luo
infinity0 at debian.org
Wed Apr 5 15:48:09 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch pu/reproducible_builds
in repository gcc-6.
commit 0d2e7bbeb30c03c2bac0d6727644f7e366f209da
Author: aurel32 <aurel32 at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date: Sun Apr 24 12:34:12 2016 +0000
Apply proposed patch for PR target/68273 (Wrong code on mips/mipsel due to
(invalid?) peeking at alignments in function_arg) on mips and mipsel.
git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-6@8778 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
debian/changelog | 4 ++-
debian/patches/pr68273-proposed.diff | 52 ++++++++++++++++++++++++++++++++++++
debian/rules.patch | 7 +++++
3 files changed, 62 insertions(+), 1 deletion(-)
diff --git a/debian/changelog b/debian/changelog
index 71f852f..a06aeeb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
gcc-6 (6.0.1-3) UNRELEASED; urgency=medium
- *
+ [ Aurelien Jarno ]
+ * Apply proposed patch for PR target/68273 (Wrong code on mips/mipsel due to
+ (invalid?) peeking at alignments in function_arg) on mips and mipsel.
-- Matthias Klose <doko at debian.org> Sat, 23 Apr 2016 22:38:01 +0200
diff --git a/debian/patches/pr68273-proposed.diff b/debian/patches/pr68273-proposed.diff
new file mode 100644
index 0000000..3b68a0a
--- /dev/null
+++ b/debian/patches/pr68273-proposed.diff
@@ -0,0 +1,52 @@
+Richard Biener 2016-02-15 10:05:13 UTC
+
+eipa_sra introduces the remaining SSA name with non-default alignment via
+
+#0 make_ssa_name_fn (fn=0x7ffff68bb5e8,
+ var=<parm_decl 0x7ffff69bc700 ISRA.81>, stmt=<gimple_nop 0x7ffff68bcf50>)
+ at /space/rguenther/src/svn/trunk3/gcc/tree-ssanames.c:311
+#1 0x0000000000e203d1 in get_or_create_ssa_default_def (fn=0x7ffff68bb5e8,
+ var=<parm_decl 0x7ffff69bc700 ISRA.81>)
+ at /space/rguenther/src/svn/trunk3/gcc/tree-dfa.c:360
+#2 0x0000000000e6638e in get_reaching_def (
+ var=<parm_decl 0x7ffff69bc700 ISRA.81>)
+ at /space/rguenther/src/svn/trunk3/gcc/tree-into-ssa.c:1168
+#3 0x0000000000e67855 in maybe_replace_use (use_p=0x7ffff6a17810)
+ at /space/rguenther/src/svn/trunk3/gcc/tree-into-ssa.c:1753
+#4 0x0000000000e67eb9 in rewrite_update_stmt (
+ stmt=<gimple_assign 0x7ffff6966f50>, gsi=...)
+ at /space/rguenther/src/svn/trunk3/gcc/tree-into-ssa.c:1950
+#5 0x0000000000e685f4 in rewrite_update_dom_walker::before_dom_children (
+ this=0x7fffffffd580, bb=<basic_block 0x7ffff6491f08 (2)>)
+ at /space/rguenther/src/svn/trunk3/gcc/tree-into-ssa.c:2130
+#6 0x00000000013e0993 in dom_walker::walk (this=0x7fffffffd580,
+ bb=<basic_block 0x7ffff6491f08 (2)>)
+ at /space/rguenther/src/svn/trunk3/gcc/domwalk.c:265
+
+thus SSA rewrite. ISRA.81 is a PARM_DECL built in ipa_modify_formal_parameters
+from an access present in the IL created by early SRA.
+
+---
+ src/gcc/tree-sra.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/gcc/tree-sra.c
++++ b/src/gcc/tree-sra.c
+@@ -933,7 +933,7 @@
+
+ access = create_access_1 (base, offset, size);
+ access->expr = expr;
+- access->type = TREE_TYPE (expr);
++ access->type = TYPE_MAIN_VARIANT (TREE_TYPE (expr));
+ access->write = write;
+ access->grp_unscalarizable_region = unscalarizable_region;
+ access->stmt = stmt;
+@@ -1108,7 +1108,7 @@
+
+ access = create_access_1 (var, 0, size);
+ access->expr = var;
+- access->type = TREE_TYPE (var);
++ access->type = TYPE_MAIN_VARIANT (TREE_TYPE (var));
+ access->grp_total_scalarization = 1;
+ }
+
diff --git a/debian/rules.patch b/debian/rules.patch
index c148eee..6dd4c57 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -86,6 +86,13 @@ ifneq (,$(filter $(DEB_TARGET_ARCH),powerpc))
debian_patches += pr65913-workaround
endif
+# this is needed on mips 32-bit to fix GCC generating wrong function calls.
+# people do not agree yet where that should be fixed, so only apply the
+# proposed patch on mips and mipsel.
+ifneq (,$(filter $(DEB_TARGET_ARCH),mips mipsel))
+ debian_patches += pr68273-proposed
+endif
+
ifeq ($(libstdcxx_abi),new)
debian_patches += libstdc++-functexcept
endif
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-6.git
More information about the Reproducible-commits
mailing list