diff options
Diffstat (limited to 'gas/config/tc-m88k.h')
-rw-r--r-- | gas/config/tc-m88k.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/gas/config/tc-m88k.h b/gas/config/tc-m88k.h index 677cdb7..eaec784 100644 --- a/gas/config/tc-m88k.h +++ b/gas/config/tc-m88k.h @@ -20,6 +20,14 @@ You should have received a copy of the GNU General Public License along with GAS; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define TC_M88K + +#ifdef M88KCOFF +#define COFF_MAGIC MC88OMAGIC +#define BFD_ARCH bfd_arch_m88k +#define COFF_FLAGS F_AR32W +#endif + #define NEED_FX_R_TYPE /* different type of relocation available in the m88k */ @@ -47,11 +55,33 @@ struct reloc_info_m88k #define relocation_info reloc_info_m88k -#define LOCAL_LABEL(name) (name[0] =='@' \ - && ( name [1] == 'L' || name [1] == '.' )) +/* The m88k uses '@' to start local labels. */ +#define LEX_AT (LEX_BEGIN_NAME | LEX_NAME) +#define LOCAL_LABEL(name) \ + ((name[0] =='@' && (name [1] == 'L' || name [1] == '.')) \ + || (name[0] == 'L' && name[1] == '0' && name[2] == '\001')) #ifndef BFD_ASSEMBLER #define md_convert_frag(h,f) {as_fatal ("m88k convert_frag\n");} #else #define md_convert_frag(b,s,f) {as_fatal ("m88k convert_frag\n");} #endif + +/* We don't need to do anything special for undefined symbols. */ +#define md_undefined_symbol(s) 0 + +/* We have no special operand handling. */ +#define md_operand(e) + +#ifdef M88KCOFF + +/* Whether a reloc should be output. */ +#define TC_COUNT_RELOC(fixp) ((fixp)->fx_addsy != NULL) + +/* Get the BFD reloc type to use for a gas fixS structure. */ +#define TC_COFF_FIX2RTYPE(fixp) tc_coff_fix2rtype (fixp) + +/* No special hook needed for symbols. */ +#define tc_coff_symbol_emit_hook(s) + +#endif /* M88KCOFF */ |