/* tc-dlx.h -- Assemble for the DLX
- Copyright 2002, 2003, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002-2020 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
+ the Free Software Foundation; either version 3, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
#define TC_DLX
-#ifndef BFD_ASSEMBLER
- #error DLX support requires BFD_ASSEMBLER
-#endif
-
-#ifndef __BFD_H_SEEN__
-#include "bfd.h"
-#endif
-
/* The target BFD architecture. */
#define TARGET_ARCH bfd_arch_dlx
#define TARGET_FORMAT "elf32-dlx"
#define LEX_DOLLAR 1
+#include "bit_fix.h"
+
+#define TC_FIX_TYPE bit_fixS *
+#define tc_fix_data fx_bit_fixP
+#define TC_INIT_FIX_DATA(FIX) do (FIX)->fx_bit_fixP = NULL; while (0)
+
extern void dlx_pop_insert (void);
-extern int set_dlx_skip_hi16_flag (int);
extern int dlx_unrecognized_line (int);
extern bfd_boolean md_dlx_fix_adjustable (struct fix *);
#define tc_unrecognized_line(c) dlx_unrecognized_line (c)
-#define tc_headers_hook(a) ; /* Not used. */
-#define tc_headers_hook(a) ; /* Not used. */
-#define tc_crawl_symbol_chain(a) ; /* Not used. */
-#define tc_coff_symbol_emit_hook(a) ; /* Not used. */
-
-#define AOUT_MACHTYPE 101
-#define TC_COFF_FIX2RTYPE(fix_ptr) tc_coff_fix2rtype (fix_ptr)
-#define BFD_ARCH bfd_arch_dlx
-#define COFF_MAGIC DLXMAGIC
-/* Should the reloc be output ?
- on the 29k, this is true only if there is a symbol attached.
- on the h8, this is always true, since no fixup is done
- on dlx, I have no idea!! but lets keep it here just for fun. */
-#define TC_COUNT_RELOC(x) (x->fx_addsy)
-#define TC_CONS_RELOC BFD_RELOC_32_PCREL
-
/* No shared lib support, so we don't need to ensure externally
visible symbols can be overridden. */
#define EXTERN_FORCE_RELOC 0
#define tc_fix_adjustable(FIX) md_dlx_fix_adjustable (FIX)
-/* Values passed to md_apply_fix3 don't include the symbol value. */
+/* Values passed to md_apply_fix don't include the symbol value. */
#define MD_APPLY_SYM_VALUE(FIX) 0
-#define NEED_FX_R_TYPE
-
/* Zero Based Segment?? sound very dangerous to me! */
#define ZERO_BASED_SEGMENTS