re PR other/37265 (mt_allocator.cc:646: ICE: in gt_ggc_m_S, at ggc-page.c:1281)
PR other/37265 * dwarf2asm.c (dw2_force_const_mem): Use unstripped symbol name for splay tree lookup. (dw2_output_indirect_constant_1): Use unstripped name in symbol reference. From-SVN: r140183
This commit is contained in:
parent
05665c0620
commit
a26495282e
2 changed files with 14 additions and 4 deletions
|
@ -1,3 +1,11 @@
|
|||
2008-09-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR other/37265
|
||||
* dwarf2asm.c (dw2_force_const_mem): Use unstripped symbol name for
|
||||
splay tree lookup.
|
||||
(dw2_output_indirect_constant_1): Use unstripped name in symbol
|
||||
reference.
|
||||
|
||||
2008-09-09 Sandra Loosemore <sandra@codesourcery.com>
|
||||
|
||||
* doc/invoke.texi (ARM Options): Correct errors in discussion
|
||||
|
|
|
@ -807,7 +807,7 @@ rtx
|
|||
dw2_force_const_mem (rtx x, bool is_public)
|
||||
{
|
||||
splay_tree_node node;
|
||||
const char *str;
|
||||
const char *key;
|
||||
tree decl;
|
||||
|
||||
if (! indirect_pool)
|
||||
|
@ -817,13 +817,14 @@ dw2_force_const_mem (rtx x, bool is_public)
|
|||
|
||||
gcc_assert (GET_CODE (x) == SYMBOL_REF);
|
||||
|
||||
str = targetm.strip_name_encoding (XSTR (x, 0));
|
||||
node = splay_tree_lookup (indirect_pool, (splay_tree_key) str);
|
||||
key = XSTR (x, 0);
|
||||
node = splay_tree_lookup (indirect_pool, (splay_tree_key) key);
|
||||
if (node)
|
||||
decl = (tree) node->value;
|
||||
else
|
||||
{
|
||||
tree id;
|
||||
const char *str = targetm.strip_name_encoding (key);
|
||||
|
||||
if (is_public && USE_LINKONCE_INDIRECT)
|
||||
{
|
||||
|
@ -856,7 +857,7 @@ dw2_force_const_mem (rtx x, bool is_public)
|
|||
if (id)
|
||||
TREE_SYMBOL_REFERENCED (id) = 1;
|
||||
|
||||
splay_tree_insert (indirect_pool, (splay_tree_key) str,
|
||||
splay_tree_insert (indirect_pool, (splay_tree_key) key,
|
||||
(splay_tree_value) decl);
|
||||
}
|
||||
|
||||
|
@ -877,6 +878,7 @@ dw2_output_indirect_constant_1 (splay_tree_node node,
|
|||
sym = (const char *) node->key;
|
||||
decl = (tree) node->value;
|
||||
sym_ref = gen_rtx_SYMBOL_REF (Pmode, sym);
|
||||
sym = targetm.strip_name_encoding (sym);
|
||||
if (TREE_PUBLIC (decl) && USE_LINKONCE_INDIRECT)
|
||||
fprintf (asm_out_file, "\t.hidden %sDW.ref.%s\n", user_label_prefix, sym);
|
||||
assemble_variable (decl, 1, 1, 1);
|
||||
|
|
Loading…
Add table
Reference in a new issue