aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorSean Keys <skeys@ipdatasys.com>2012-08-02 20:25:35 +0000
committerSean Keys <skeys@ipdatasys.com>2012-08-02 20:25:35 +0000
commitbdfd67fa6b00146f7592439ca9eb243ec27cecb3 (patch)
treeba5934d30bc659921129c7968d78f2b3476915ae /gas
parent21a3750560208b03ec7e7cbf545ecbcf3ba641e1 (diff)
downloadgdb-bdfd67fa6b00146f7592439ca9eb243ec27cecb3.zip
gdb-bdfd67fa6b00146f7592439ca9eb243ec27cecb3.tar.gz
gdb-bdfd67fa6b00146f7592439ca9eb243ec27cecb3.tar.bz2
* tc-m68hc11.c (s_m68hc11_parse_pseudo_instruction):
New function to parse pseudo ops that are unreleated to existing pseudo ops.
Diffstat (limited to 'gas')
-rw-r--r--gas/config/tc-m68hc11.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c
index 391a5f5..d2aee86 100644
--- a/gas/config/tc-m68hc11.c
+++ b/gas/config/tc-m68hc11.c
@@ -225,6 +225,9 @@ static void s_m68hc11_relax (int);
/* Pseudo op to control the ELF flags. */
static void s_m68hc11_mode (int);
+/* Process directives specified via pseudo ops. */
+static void s_m68hc11_parse_pseudo_instruction (int);
+
/* Mark the symbols with STO_M68HC12_FAR to indicate the functions
are using 'rtc' for returning. It is necessary to use 'call'
to invoke them. This is also used by the debugger to correctly
@@ -314,6 +317,9 @@ const pseudo_typeS md_pseudo_table[] =
/* .interrupt instruction. */
{"interrupt", s_m68hc11_mark_symbol, STO_M68HC12_INTERRUPT},
+ /* .nobankwarning instruction. */
+ {"nobankwarning", s_m68hc11_parse_pseudo_instruction, E_M68HC11_NO_BANK_WARNING},
+
{0, 0, 0}
};
@@ -4491,3 +4497,17 @@ m68hc11_elf_final_processing (void)
elf_elfheader (stdoutput)->e_flags &= ~EF_M68HC11_ABI;
elf_elfheader (stdoutput)->e_flags |= elf_flags;
}
+
+/* Process directives specified via pseudo ops */
+static void
+s_m68hc11_parse_pseudo_instruction (int pseudo_insn)
+{
+ switch (pseudo_insn)
+ {
+ case E_M68HC11_NO_BANK_WARNING:
+ elf_flags |= E_M68HC11_NO_BANK_WARNING;
+ break;
+ default:
+ as_bad (_("Invalid directive"));
+ }
+}