diff options
author | Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | 2015-11-10 08:35:21 +0000 |
---|---|---|
committer | Ramana Radhakrishnan <ramana@gcc.gnu.org> | 2015-11-10 08:35:21 +0000 |
commit | 3eece53d3adc7264c222c806d249c22e81d32fac (patch) | |
tree | a4780550a39c5290f436088c312c2881753f9045 | |
parent | 03310c37cc1c1de0ee78a1518bd564b366a3328f (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 8 |
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 |