aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-20 16:33:29 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-20 16:33:29 -0800
commitf350566bf47f2584ccb8a7671ad6ffd4aa82a6b5 (patch)
treed62417bb4829147586e44684009e1704073769c6 /gcc
parent002d2e0b80007f11f8502f7e61d502c64c93e6c5 (diff)
downloadgcc-f350566bf47f2584ccb8a7671ad6ffd4aa82a6b5.zip
gcc-f350566bf47f2584ccb8a7671ad6ffd4aa82a6b5.tar.gz
gcc-f350566bf47f2584ccb8a7671ad6ffd4aa82a6b5.tar.bz2
* config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
From-SVN: r48226
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/alpha/alpha.md7
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 487302c..5caed01 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2001-12-20 Richard Henderson <rth@redhat.com>
+ * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
+
+2001-12-20 Richard Henderson <rth@redhat.com>
+
* config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
* config/alpha/alpha.md (call_osf, call_value_osf): Don't force
operand into $27.
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index a3ac64b..605c56c 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -6470,7 +6470,12 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi"
(define_insn "prologue_mcount"
[(unspec_volatile [(const_int 0)] UNSPECV_MCOUNT)]
""
- "lda $28,_mcount\;jsr $28,($28),_mcount"
+{
+ if (TARGET_EXPLICIT_RELOCS)
+ return "ldq $28,_mcount($29)\t\t!literal!%#\;jsr $28,($28),_mcount\t\t!lituse_jsr!%#";
+ else
+ return "lda $28,_mcount\;jsr $28,($28),_mcount";
+}
[(set_attr "type" "multi")
(set_attr "length" "8")])