diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-06-24 17:55:03 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-06-24 17:55:03 +0000 |
commit | 0491e2405490d79082529d9b6c8fe3102000550d (patch) | |
tree | c8e3ac29e79662eb7f8da24f8f17a3ec4d5cc9bd | |
parent | 31915d4a94d7e3e91a683e67d2248084a7a5b867 (diff) | |
download | gcc-0491e2405490d79082529d9b6c8fe3102000550d.tar.gz |
* alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20703 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.md | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b96011120de..2e7b800f11d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de> + + * alpha.md (call_vms, call_value_vms): Strip leading * from symbol. + Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu> * expr.c (get_memory_rtx): New function. diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 65eacf7a6cd..dd8ce53cb8d 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -3553,10 +3553,13 @@ if (GET_CODE (operands[0]) == SYMBOL_REF) { extern char *savealloc (); - char *symbol = XSTR (operands[0], 0); - char *linksym = savealloc (strlen (symbol) + 6); + char *linksym, *symbol = XSTR (operands[0], 0); rtx linkage; + if (*symbol == '*') + symbol++; + linksym = savealloc (strlen (symbol) + 6); + alpha_need_linkage (symbol, 0); linksym[0] = '$'; @@ -3658,10 +3661,13 @@ if (GET_CODE (operands[1]) == SYMBOL_REF) { extern char *savealloc (); - char *symbol = XSTR (operands[1], 0); - char *linksym = savealloc (strlen (symbol) + 6); + char *linksym, *symbol = XSTR (operands[1], 0); rtx linkage; + if (*symbol == '*') + symbol++; + linksym = savealloc (strlen (symbol) + 6); + alpha_need_linkage (symbol, 0); linksym[0] = '$'; strcpy (linksym+1, symbol); |