aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>1998-06-02 16:54:20 +0000
committerDoug Evans <dje@google.com>1998-06-02 16:54:20 +0000
commit30596dfc4f012e793328cdd983d7bf7e3d5f8a00 (patch)
tree8b8fa6cbc37b357dfaac2c2fefd382429812c307 /gas
parent83e207013b0ff74a936079ac66fba09ce485d102 (diff)
downloadgdb-30596dfc4f012e793328cdd983d7bf7e3d5f8a00.zip
gdb-30596dfc4f012e793328cdd983d7bf7e3d5f8a00.tar.gz
gdb-30596dfc4f012e793328cdd983d7bf7e3d5f8a00.tar.bz2
* read.c (do_s_func): New function.
(s_func): Call it. * config/tc-dvp.c (md_pseudo_table): Add .func/.endfunc. (s_dvp_func): New function.
Diffstat (limited to 'gas')
-rw-r--r--gas/config/tc-dvp.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gas/config/tc-dvp.c b/gas/config/tc-dvp.c
index 99683b7..204f1c8 100644
--- a/gas/config/tc-dvp.c
+++ b/gas/config/tc-dvp.c
@@ -276,6 +276,7 @@ static void s_endmpg PARAMS ((int));
static void s_endunpack PARAMS ((int));
static void s_endgif PARAMS ((int));
static void s_state PARAMS ((int));
+static void s_dvp_func PARAMS ((int));
/* The target specific pseudo-ops which we support. */
const pseudo_typeS md_pseudo_table[] =
@@ -290,6 +291,10 @@ const pseudo_typeS md_pseudo_table[] =
{ "endunpack", s_endunpack, 0 },
{ "endgif", s_endgif, 0 },
{ "vu", s_state, ASM_VU },
+ /* We need to intercept .func/.endfunc so that we can prepend _$.
+ ??? Not sure this is right though as _$foo is the lma version. */
+ { "func", s_dvp_func, 0 },
+ { "endfunc", s_dvp_func, 1 },
{ NULL, NULL, 0 }
};
@@ -3192,3 +3197,12 @@ s_state (state)
demand_empty_rest_of_line ();
}
+
+/* Same as read.c:s_func except prepend VU_LABEL_PREFIX by default. */
+
+static void
+s_dvp_func (end_p)
+ int end_p;
+{
+ do_s_func (end_p, VU_LABEL_PREFIX);
+}