* doc/Makefile.in (TEXI2DVI): Set to just name of program.
[deliverable/binutils-gdb.git] / gas / config / tc-arm.h
CommitLineData
305a3af6
SC
1/* This file is tc-arm.h
2 Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
3 Modified by David Taylor (dtaylor@armltd.co.uk)
4
5 Copyright (C) 1994, 1995 Free Software Foundation, Inc.
6
7 This file is part of GAS, the GNU Assembler.
8
9 GAS is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
14 GAS is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with GAS; see the file COPYING. If not, write to
21 the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
22
23#define TC_ARM 1
24
25#define COFF_MAGIC ARMMAGIC
26#define TARGET_ARCH bfd_arch_arm
27
28#define AOUT_MACHTYPE 0
29
30#define DIFF_EXPR_OK
31
32#define LITTLE_ENDIAN 1234
33#define BIG_ENDIAN 4321
34
305a3af6 35#ifndef TARGET_BYTES_BIG_ENDIAN
af16e411 36#define TARGET_BYTES_BIG_ENDIAN 0
305a3af6
SC
37#endif
38
39#ifdef OBJ_AOUT
40#ifdef TE_RISCIX
41#define TARGET_FORMAT "a.out-riscix"
42#else
af16e411 43#if TARGET_BYTES_BIG_ENDIAN
305a3af6
SC
44#define TARGET_FORMAT "a.out-arm-big"
45#else
46#define TARGET_FORMAT "a.out-arm-little"
47#endif
48#endif
49#endif
50
51#ifdef OBJ_AIF
52#define TARGET_FORMAT "aif"
53#endif
54
55#ifdef OBJ_COFF
af16e411 56#define ARM_BI_ENDIAN
305a3af6 57#ifdef TE_PE
af16e411 58#define TC_FORCE_RELOCATION(x) ((x)->fx_r_type==BFD_RELOC_RVA)
305a3af6 59#define TARGET_FORMAT (target_big_endian ? "pe-arm-big" : "pe-arm-little")
af16e411
FF
60#else
61#define TARGET_FORMAT (target_big_endian ? "coff-arm-big" : "coff-arm-little")
305a3af6 62/* Tell tc-arm.c to support runtime endian selection. */
305a3af6
SC
63#endif
64#endif
65
66#define md_convert_frag(b,s,f) {as_fatal ("arm convert_frag\n");}
67
68#define md_after_pass_hook() arm_after_pass_hook ()
69#define md_start_line_hook() arm_start_line_hook ()
70#define tc_frob_label(S) arm_frob_label (S)
71
72#define obj_fix_adjustable(fixP) 0
73
af16e411
FF
74#define TC_FIX_TYPE PTR
75#define TC_INIT_FIX_DATA(FIXP) ((FIXP)->tc_fix_data = NULL)
76
77#define TC_START_LABEL(C,STR) \
78 (c == ':' || (c == '/' && arm_data_in_code ()))
79int arm_data_in_code PARAMS ((void));
80
81#define tc_canonicalize_symbol_name(str) \
82 arm_canonicalize_symbol_name (str);
83char *arm_canonicalize_symbol_name PARAMS ((char *));
84
305a3af6
SC
85#if 0 /* It isn't as simple as this */
86#define tc_frob_symbol(sym,punt) \
87{ if (S_IS_LOCAL (sym)) \
88 { \
89 punt = 1; \
90 sym->sy_used_in_reloc = 0; \
91 }}
92#endif
93
94#if 0
95#define tc_crawl_symbol_chain(a) {;} /* not used */
96#define tc_headers_hook(a) {;} /* not used */
97#endif
98
99#define tc_aout_pre_write_hook(x) {;} /* not used */
100
101#define LISTING_HEADER "ARM GAS "
102
103#define OPTIONAL_REGISTER_PREFIX '%'
104
105#define md_operand(x)
106
af16e411
FF
107#define TC_HANDLES_FX_DONE
108
109#define MD_APPLY_FIX3
110
305a3af6
SC
111#define LOCAL_LABELS_FB 1
112
113/* Use defaults for OBJ_AOUT. */
114#ifndef OBJ_AOUT
115#define LOCAL_LABEL(name) ((name)[0] == '.' && (name)[1] == 'L')
116#define FAKE_LABEL_NAME ".L0\001"
117#endif
118
119/* end of tc-arm.h */
This page took 0.074111 seconds and 4 git commands to generate.