re PR target/84990 (Boostrap broken with --enable-checking=release and Ada)

PR target/84990
	* dwarf2asm.c (dw2_output_indirect_constant_1): Temporarily turn off
	flag_section_anchors.
	* varasm.c (use_blocks_for_decl_p): Remove hack for
	dw2_force_const_mem.

From-SVN: r258681
This commit is contained in:
Jakub Jelinek 2018-03-20 14:00:48 +01:00 committed by Jakub Jelinek
parent d9bf40a181
commit d64257a4ed
3 changed files with 12 additions and 7 deletions

View File

@ -1,5 +1,11 @@
2018-03-20 Jakub Jelinek <jakub@redhat.com>
PR target/84990
* dwarf2asm.c (dw2_output_indirect_constant_1): Temporarily turn off
flag_section_anchors.
* varasm.c (use_blocks_for_decl_p): Remove hack for
dw2_force_const_mem.
PR target/84845
* config/aarch64/aarch64.md (*aarch64_reg_<mode>3_neg_mask2): Rename
to ...

View File

@ -973,7 +973,13 @@ dw2_output_indirect_constant_1 (const char *sym, tree id)
unsigned int save_flag_sanitize = flag_sanitize;
flag_sanitize &= ~(SANITIZE_ADDRESS | SANITIZE_USER_ADDRESS
| SANITIZE_KERNEL_ADDRESS);
/* And also temporarily disable -fsection-anchors. These indirect constants
are never referenced from code, so it doesn't make any sense to aggregate
them in blocks. */
int save_flag_section_anchors = flag_section_anchors;
flag_section_anchors = 0;
assemble_variable (decl, 1, 1, 1);
flag_section_anchors = save_flag_section_anchors;
flag_sanitize = save_flag_sanitize;
assemble_integer (sym_ref, POINTER_SIZE_UNITS, POINTER_SIZE, 1);

View File

@ -1253,13 +1253,6 @@ use_blocks_for_decl_p (tree decl)
if (!VAR_P (decl) && TREE_CODE (decl) != CONST_DECL)
return false;
/* Detect decls created by dw2_force_const_mem. Such decls are
special because DECL_INITIAL doesn't specify the decl's true value.
dw2_output_indirect_constants will instead call assemble_variable
with dont_output_data set to 1 and then print the contents itself. */
if (DECL_INITIAL (decl) == decl)
return false;
/* If this decl is an alias, then we don't want to emit a
definition. */
if (VAR_P (decl)