+2014-05-28 Jan Hubicka <hubicka@ucw.cz>
+
+ * varasm.c (get_variable_section): Walk aliases.
+ (place_block_symbol): Walk aliases.
+
2014-05-28 Tom de Vries <tom@codesourcery.com>
Revert:
{
addr_space_t as = ADDR_SPACE_GENERIC;
int reloc;
+ symtab_node *snode = symtab_get_node (decl);
+ if (snode)
+ decl = symtab_alias_ultimate_target (snode)->decl;
if (TREE_TYPE (decl) != error_mark_node)
as = TYPE_ADDR_SPACE (TREE_TYPE (decl));
}
else
{
+ struct symtab_node *snode;
decl = SYMBOL_REF_DECL (symbol);
+
+ snode = symtab_get_node (decl);
+ if (snode->alias)
+ {
+ rtx target = DECL_RTL (symtab_alias_ultimate_target (snode)->decl);
+ SYMBOL_REF_BLOCK_OFFSET (symbol) = SYMBOL_REF_BLOCK_OFFSET (target);
+ return;
+ }
alignment = get_variable_align (decl);
size = tree_to_uhwi (DECL_SIZE_UNIT (decl));
if ((flag_sanitize & SANITIZE_ADDRESS)