aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>2015-11-10 08:35:21 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2015-11-10 08:35:21 +0000
commit3eece53d3adc7264c222c806d249c22e81d32fac (patch)
treea4780550a39c5290f436088c312c2881753f9045
parent03310c37cc1c1de0ee78a1518bd564b366a3328f (diff)
downloadgcc-3eece53d3adc7264c222c806d249c22e81d32fac.zip
gcc-3eece53d3adc7264c222c806d249c22e81d32fac.tar.gz
gcc-3eece53d3adc7264c222c806d249c22e81d32fac.tar.bz2
Workaround PR68256 on AArch64
> This is causing a bootstrap comparison failure in gcc/go/gogo.o. I've had a look at this and the trigger is the aarch64_use_constant_blocks_p change which appears to be causing a bootstrap comparison failure because of differences to offsets when built with debug and without debug. I don't think the problem is specifically in the backend but this needs some careful investigation. For now, in the interest of go bootstraps continuing on trunk - I'm proposing a patch that partially rolls back the change in aarch64_use_constant_blocks_p and am still looking into the issue but it will take me some more time to get to the bottom of the issue. Bootstrapped on aarch64-none-linux-gnu including (c,c++ and go) - testing finished ok. 2015-11-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR bootstrap/68256 * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p): Return false. From-SVN: r230085
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64.c8
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 32c3155..577267a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-11-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ PR bootstrap/68256
+ * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p):
+ Return false.
+
2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
PR target/57845
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index a4d824b..7d6dfc3 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -5244,9 +5244,11 @@ aarch64_can_use_per_function_literal_pools_p (void)
static bool
aarch64_use_blocks_for_constant_p (machine_mode, const_rtx)
{
- /* We can't use blocks for constants when we're using a per-function
- constant pool. */
- return !aarch64_can_use_per_function_literal_pools_p ();
+ /* Fixme:: In an ideal world this would work similar
+ to the logic in aarch64_select_rtx_section but this
+ breaks bootstrap in gcc go. For now we workaround
+ this by returning false here. */
+ return false;
}
/* Select appropriate section for constants depending