(Already checked in write.c and config/tc-alpha.c, but no log msg went
[binutils-gdb.git] / gas / config / tc-alpha.h
1 /* This file is tc-alpha.h
2 Copyright (C) 1994 Free Software Foundation, Inc.
3 Written by Ken Raeburn <raeburn@cygnus.com>.
4
5 This file is part of GAS, the GNU Assembler.
6
7 GAS is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11
12 GAS is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GAS; see the file COPYING. If not, write to
19 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
20
21 #define TC_ALPHA
22
23 #define TARGET_ARCH bfd_arch_alpha
24
25 #define TARGET_FORMAT (OUTPUT_FLAVOR == bfd_target_ecoff_flavour \
26 ? "ecoff-littlealpha" \
27 : OUTPUT_FLAVOR == bfd_target_elf_flavour \
28 ? "elf64-alpha" \
29 : "unknown-format")
30
31 #define NEED_LITERAL_POOL
32 #define TC_HANDLES_FX_DONE
33 #define REPEAT_CONS_EXPRESSIONS
34
35 extern int alpha_force_relocation PARAMS ((struct fix *));
36 extern int alpha_fix_adjustable PARAMS ((struct fix *));
37
38 extern unsigned long alpha_gprmask, alpha_fprmask;
39 extern valueT alpha_gp_value;
40
41 #define TC_FORCE_RELOCATION(FIXP) alpha_force_relocation (FIXP)
42 #define tc_fix_adjustable(FIXP) alpha_fix_adjustable (FIXP)
43 #define RELOC_REQUIRES_SYMBOL
44
45 #define md_convert_frag(b,s,f) as_fatal ("alpha convert_frag\n")
46 #define md_create_long_jump(p,f,t,fr,s) as_fatal("alpha_create_long_jump")
47 #define md_create_short_jump(p,f,t,fr,s) as_fatal("alpha_create_short_jump")
48 #define md_estimate_size_before_relax(f,s) \
49 (as_fatal("estimate_size_before_relax called"),1)
50 #define md_operand(x) 0
51
52 extern unsigned long md_section_align PARAMS ((segT, unsigned long));
53
54 #define md_undefined_symbol(name) (0)
55
56 #define LOCAL_LABEL(name) ((name)[0] == 'L')
57
58 #define md_number_to_chars number_to_chars_littleendian
59
60 extern int alpha_do_align ();
61 #define md_do_align(n,fill,l) if (alpha_do_align(n,fill)) goto l
62
63 extern void alpha_frob_file ();
64 #define tc_frob_file alpha_frob_file