[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
vladimir.mezentsev at oracle dot com
gcc-bugzilla@gcc.gnu.org
Wed Sep 20 21:16:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256
Vladimir Mezentsev <vladimir.mezentsev at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vladimir.mezentsev at oracle dot c
| |om
--- Comment #6 from Vladimir Mezentsev <vladimir.mezentsev at oracle dot com> ---
I restored fixes in gcc/config/aarch64/aarch64.c:
% git diff
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 1c14008..b377bc7 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -6193,11 +6193,9 @@ aarch64_can_use_per_function_literal_pools_p (void)
static bool
aarch64_use_blocks_for_constant_p (machine_mode, const_rtx)
{
- /* 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;
+ /* 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 ();
}
/* Select appropriate section for constants depending
I cannot reproduce the problem.
I use the gcc116.fsffrance.org machine:
% uname -a
Linux gcc116 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:45:34 UTC 2016
aarch64 aarch64 aarch64 GNU/Linux
I run
% ../gcc/configure --enable-languages=c,c++,go --enable-bootstrap
--enable-multilib
% make -j8 bootstrap
There is no bootstrap comparison failure.
More information about the Gcc-bugs
mailing list