summaryrefslogtreecommitdiff
path: root/gcc/config/alpha/alpha.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/alpha/alpha.md')
-rw-r--r--gcc/config/alpha/alpha.md14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 0694a6f4a4e..bd4f43d0909 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -3257,12 +3257,13 @@
{
extern char *savealloc ();
char *symbol = XSTR (operands[0], 0);
- char *linksym = savealloc (strlen (symbol) + 5);
+ char *linksym = savealloc (strlen (symbol) + 6);
rtx linkage;
alpha_need_linkage (symbol, 0);
- strcpy (linksym, symbol);
+ linksym[0] = '$';
+ strcpy (linksym+1, symbol);
strcat (linksym, \"..lk\");
linkage = gen_rtx (SYMBOL_REF, Pmode, linksym);
@@ -3361,11 +3362,12 @@
{
extern char *savealloc ();
char *symbol = XSTR (operands[1], 0);
- char *linksym = savealloc (strlen (symbol) + 5);
+ char *linksym = savealloc (strlen (symbol) + 6);
rtx linkage;
alpha_need_linkage (symbol, 0);
- strcpy (linksym, symbol);
+ linksym[0] = '$';
+ strcpy (linksym+1, symbol);
strcat (linksym, \"..lk\");
linkage = gen_rtx (SYMBOL_REF, Pmode, linksym);
@@ -3391,7 +3393,7 @@
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS"
"@
jsr $26,($27),0\;ldgp $29,0($26)
- bsr $26,%0..ng
+ bsr $26,$%0..ng
jsr $26,%0\;ldgp $29,0($26)"
[(set_attr "type" "jsr")])
@@ -3428,7 +3430,7 @@
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS"
"@
jsr $26,($27),0\;ldgp $29,0($26)
- bsr $26,%1..ng
+ bsr $26,$%1..ng
jsr $26,%1\;ldgp $29,0($26)"
[(set_attr "type" "jsr")])