diff options
Diffstat (limited to 'gcc/config/alpha/alpha.md')
-rw-r--r-- | gcc/config/alpha/alpha.md | 14 |
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")]) |