xref: /netbsd/external/gpl3/gdb/dist/gas/config/tc-dlx.h (revision 1424dfb3)
1*1424dfb3Schristos /* tc-dlx.h -- Assemble for the DLX
2*1424dfb3Schristos    Copyright (C) 2002-2020 Free Software Foundation, Inc.
3*1424dfb3Schristos 
4*1424dfb3Schristos    This file is part of GAS, the GNU Assembler.
5*1424dfb3Schristos 
6*1424dfb3Schristos    GAS is free software; you can redistribute it and/or modify
7*1424dfb3Schristos    it under the terms of the GNU General Public License as published by
8*1424dfb3Schristos    the Free Software Foundation; either version 3, or (at your option)
9*1424dfb3Schristos    any later version.
10*1424dfb3Schristos 
11*1424dfb3Schristos    GAS is distributed in the hope that it will be useful,
12*1424dfb3Schristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
13*1424dfb3Schristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*1424dfb3Schristos    GNU General Public License for more details.
15*1424dfb3Schristos 
16*1424dfb3Schristos    You should have received a copy of the GNU General Public License
17*1424dfb3Schristos    along with GAS; see the file COPYING.  If not, write to the Free
18*1424dfb3Schristos    Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
19*1424dfb3Schristos    02110-1301, USA.  */
20*1424dfb3Schristos 
21*1424dfb3Schristos /* Initially created by Kuang Hwa Lin, 3/20/2002.  */
22*1424dfb3Schristos 
23*1424dfb3Schristos #define TC_DLX
24*1424dfb3Schristos 
25*1424dfb3Schristos /* The target BFD architecture.  */
26*1424dfb3Schristos #define TARGET_ARCH              bfd_arch_dlx
27*1424dfb3Schristos #define TARGET_FORMAT            "elf32-dlx"
28*1424dfb3Schristos #define TARGET_BYTES_BIG_ENDIAN	 1
29*1424dfb3Schristos 
30*1424dfb3Schristos #define WORKING_DOT_WORD
31*1424dfb3Schristos 
32*1424dfb3Schristos #define LEX_DOLLAR 1
33*1424dfb3Schristos 
34*1424dfb3Schristos #include "bit_fix.h"
35*1424dfb3Schristos 
36*1424dfb3Schristos #define TC_FIX_TYPE bit_fixS *
37*1424dfb3Schristos #define tc_fix_data fx_bit_fixP
38*1424dfb3Schristos #define TC_INIT_FIX_DATA(FIX) do (FIX)->fx_bit_fixP = NULL; while (0)
39*1424dfb3Schristos 
40*1424dfb3Schristos extern void dlx_pop_insert         (void);
41*1424dfb3Schristos extern int dlx_unrecognized_line   (int);
42*1424dfb3Schristos extern bfd_boolean md_dlx_fix_adjustable  (struct fix *);
43*1424dfb3Schristos 
44*1424dfb3Schristos #define md_pop_insert()		        dlx_pop_insert ()
45*1424dfb3Schristos 
46*1424dfb3Schristos #define md_convert_frag(b,s,f)		as_fatal ("convert_frag called\n")
47*1424dfb3Schristos #define md_estimate_size_before_relax(f,s) \
48*1424dfb3Schristos 			(as_fatal ("estimate_size_before_relax called"),1)
49*1424dfb3Schristos 
50*1424dfb3Schristos #define tc_unrecognized_line(c) dlx_unrecognized_line (c)
51*1424dfb3Schristos 
52*1424dfb3Schristos /* No shared lib support, so we don't need to ensure externally
53*1424dfb3Schristos    visible symbols can be overridden.  */
54*1424dfb3Schristos #define EXTERN_FORCE_RELOC 0
55*1424dfb3Schristos 
56*1424dfb3Schristos #define tc_fix_adjustable(FIX) md_dlx_fix_adjustable (FIX)
57*1424dfb3Schristos 
58*1424dfb3Schristos /* Values passed to md_apply_fix don't include the symbol value.  */
59*1424dfb3Schristos #define MD_APPLY_SYM_VALUE(FIX) 0
60*1424dfb3Schristos 
61*1424dfb3Schristos /* Zero Based Segment?? sound very dangerous to me!     */
62*1424dfb3Schristos #define ZERO_BASED_SEGMENTS
63*1424dfb3Schristos 
64*1424dfb3Schristos /* Permit temporary numeric labels.  */
65*1424dfb3Schristos #define LOCAL_LABELS_FB 1
66*1424dfb3Schristos 
67*1424dfb3Schristos #undef  LOCAL_LABELS_DOLLAR
68*1424dfb3Schristos #define LOCAL_LABELS_DOLLAR 0
69*1424dfb3Schristos 
70*1424dfb3Schristos /* .-foo gets turned into PC relative relocs.  */
71*1424dfb3Schristos #define DIFF_EXPR_OK
72