* xcofflink.c: More improvements, mostly to fix handling of
[deliverable/binutils-gdb.git] / gas / config / tc-m68k.h
CommitLineData
3ad9ec6a
ILT
1/* This file is tc-m68k.h
2
3 Copyright (C) 1987-1992 Free Software Foundation, Inc.
e3fce8d2 4
3ad9ec6a 5 This file is part of GAS, the GNU Assembler.
e3fce8d2 6
3ad9ec6a
ILT
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.
e3fce8d2 11
3ad9ec6a
ILT
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.
e3fce8d2 16
3ad9ec6a
ILT
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
fecd2382
RP
21#define TC_M68K 1
22
e3fce8d2
KR
23#ifdef OBJ_AOUT
24#define TARGET_FORMAT "a.out-sunos-big"
25#endif
3ad9ec6a 26
326aa685
KR
27#ifdef TE_APOLLO
28#define COFF_MAGIC APOLLOM68KMAGIC
29#define COFF_AOUTHDR_MAGIC APOLLO_COFF_VERSION_NUMBER
30#undef OBJ_COFF_OMIT_OPTIONAL_HEADER
31#endif
32
dff60b7d
ILT
33#ifdef TE_LYNX
34#define TARGET_FORMAT "coff-m68k-lynx"
35#endif
36
326aa685 37#ifndef COFF_MAGIC
3ad9ec6a 38#define COFF_MAGIC MC68MAGIC
326aa685 39#endif
3ad9ec6a
ILT
40#define BFD_ARCH bfd_arch_m68k
41#define COFF_FLAGS F_AR32W
e3fce8d2 42#define TC_COUNT_RELOC(x) ((x)->fx_addsy||(x)->fx_subsy)
3ad9ec6a
ILT
43
44#define TC_COFF_FIX2RTYPE(fixP) tc_coff_fix2rtype(fixP)
45#define TC_COFF_SIZEMACHDEP(frag) tc_coff_sizemachdep(frag)
fecd2382
RP
46#ifdef TE_SUN3
47/* This variable contains the value to write out at the beginning of
48 the a.out file. The 2<<16 means that this is a 68020 file instead
49 of an old-style 68000 file */
50
51#define DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE (2<<16|OMAGIC); /* Magic byte for file header */
52#endif /* TE_SUN3 */
e3fce8d2
KR
53
54#ifndef AOUT_MACHTYPE
dff60b7d
ILT
55#define AOUT_MACHTYPE m68k_aout_machtype
56extern int m68k_aout_machtype;
e3fce8d2
KR
57#endif
58
59#define tc_crawl_symbol_chain(a) {;} /* not used */
60#define tc_headers_hook(a) {;} /* not used */
61#define tc_aout_pre_write_hook(x) {;} /* not used */
62
63#define LISTING_WORD_SIZE 2 /* A word is 2 bytes */
64#define LISTING_LHS_WIDTH 2 /* One word on the first line */
65#define LISTING_LHS_WIDTH_SECOND 2 /* One word on the second line */
66#define LISTING_LHS_CONT_LINES 4/* And 4 lines max */
a39116f1
RP
67#define LISTING_HEADER "68K GAS "
68
69/* Copied from write.c */
70#define M68K_AIM_KLUDGE(aim, this_state,this_type) \
71 if (aim==0 && this_state== 4) { /* hard encoded from tc-m68k.c */ \
72 aim=this_type->rlx_forward+1; /* Force relaxation into word mode */ \
73 }
fecd2382 74
326aa685 75#ifndef REGISTER_PREFIX
e3fce8d2 76#define REGISTER_PREFIX '%'
326aa685
KR
77#endif
78
79#if !defined (REGISTER_PREFIX_OPTIONAL)
80#ifdef M68KCOFF
81#define LOCAL_LABEL(name) (name[0] == '.' \
82 && (name[1] == 'L' || name[1] == '.'))
83#define FAKE_LABEL_NAME ".L0\001"
84#define REGISTER_PREFIX_OPTIONAL 0
e3fce8d2 85#else
326aa685
KR
86#define REGISTER_PREFIX_OPTIONAL 1
87#endif
88#endif /* not def REGISTER_PREFIX and not def OPTIONAL_REGISTER_PREFIX */
89
90#ifdef TE_DELTA
91/* On the Delta, `%' can occur within a label name. I'm assuming it
92 can't be used as the initial character. If that's not true, more
93 work will be needed to fix this up. */
94#define LEX_PCT 1
e3fce8d2
KR
95#endif
96
97#ifdef BFD_ASSEMBLER
98#define tc_frob_symbol(sym,punt) \
99 if (S_GET_SEGMENT (sym) == reg_section) punt = 1
100#endif
101
102#define DIFF_EXPR_OK
fecd2382 103
326aa685
KR
104extern void m68k_init_after_args PARAMS ((void));
105#define tc_init_after_args m68k_init_after_args
106
107extern int m68k_parse_long_option PARAMS ((char *));
108#define md_parse_long_option m68k_parse_long_option
109
fecd2382 110/* end of tc-m68k.h */
This page took 0.166343 seconds and 4 git commands to generate.