summaryrefslogtreecommitdiff
path: root/gas/config/tc-m68hc11.c
diff options
context:
space:
mode:
authorseank <seank>2012-08-02 20:25:35 +0000
committerseank <seank>2012-08-02 20:25:35 +0000
commitfece3cb208e8d1a7df5781867b3d2cc75a16aeb9 (patch)
tree79b0d27d4a60042145099f4ed39658f87c6c60d1 /gas/config/tc-m68hc11.c
parenta28495905441d7a268ac73363478a4953439e025 (diff)
downloadbinutils-redhat-fece3cb208e8d1a7df5781867b3d2cc75a16aeb9.tar.gz
* 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/config/tc-m68hc11.c')
-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 391a5f52b5..d2aee868c0 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"));
+ }
+}