From: Sean Keys Date: Thu, 2 Aug 2012 20:25:35 +0000 (+0000) Subject: * tc-m68hc11.c (s_m68hc11_parse_pseudo_instruction): X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bdfd67fa6b00146f7592439ca9eb243ec27cecb3;p=binutils-gdb.git * tc-m68hc11.c (s_m68hc11_parse_pseudo_instruction): New function to parse pseudo ops that are unreleated to existing pseudo ops. --- diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c index 391a5f52b52..d2aee868c02 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")); + } +}