alpha.c (alpha_use_linkage): Follow transparent alias.
2011-12-16 Tristan Gingold <gingold@adacore.com> * config/alpha/alpha.c (alpha_use_linkage): Follow transparent alias. (alpha_write_one_linkage): Use assemble_name to emit linkage name. From-SVN: r182407
This commit is contained in:
parent
c675ab909a
commit
39420b1a23
2 changed files with 20 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-12-16 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* config/alpha/alpha.c (alpha_use_linkage): Follow transparent alias.
|
||||
(alpha_write_one_linkage): Use assemble_name to emit linkage name.
|
||||
|
||||
2011-12-16 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* config/vms/t-vms (vms.o, vms-c.o): Force output filename.
|
||||
|
|
|
@ -9541,10 +9541,20 @@ alpha_use_linkage (rtx func, bool lflag, bool rflag)
|
|||
{
|
||||
size_t buf_len;
|
||||
char *linksym;
|
||||
tree id;
|
||||
|
||||
if (name[0] == '*')
|
||||
name++;
|
||||
|
||||
/* Follow transparent alias, as this is used for CRTL translations. */
|
||||
id = maybe_get_identifier (name);
|
||||
if (id)
|
||||
{
|
||||
while (IDENTIFIER_TRANSPARENT_ALIAS (id))
|
||||
id = TREE_CHAIN (id);
|
||||
name = IDENTIFIER_POINTER (id);
|
||||
}
|
||||
|
||||
buf_len = strlen (name) + 8 + 9;
|
||||
linksym = (char *) alloca (buf_len);
|
||||
snprintf (linksym, buf_len, "$%d..%s..lk", cfun->funcdef_no, name);
|
||||
|
@ -9577,7 +9587,7 @@ alpha_write_one_linkage (splay_tree_node node, void *data)
|
|||
if (link->rkind == KIND_CODEADDR)
|
||||
{
|
||||
/* External and used, request code address. */
|
||||
fprintf (stream, "\t.code_address %s\n", name);
|
||||
fprintf (stream, "\t.code_address ");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -9586,14 +9596,16 @@ alpha_write_one_linkage (splay_tree_node node, void *data)
|
|||
{
|
||||
/* Locally defined, build linkage pair. */
|
||||
fprintf (stream, "\t.quad %s..en\n", name);
|
||||
fprintf (stream, "\t.quad %s\n", name);
|
||||
fprintf (stream, "\t.quad ");
|
||||
}
|
||||
else
|
||||
{
|
||||
/* External, request linkage pair. */
|
||||
fprintf (stream, "\t.linkage %s\n", name);
|
||||
fprintf (stream, "\t.linkage ");
|
||||
}
|
||||
}
|
||||
assemble_name (stream, name);
|
||||
fputs ("\n", stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue