source: trunk/third/binutils/gas/tc.h @ 15803

Revision 15803, 3.6 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15802, which included commits to RCS files with non-trunk default branches.
Line 
1/* tc.h - target cpu dependent
2
3   Copyright (C) 1987, 1990, 1991, 1992 Free Software Foundation, Inc.
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, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20
21/* In theory (mine, at least!) the machine dependent part of the assembler
22   should only have to include one file.  This one.  -- JF */
23
24extern const pseudo_typeS md_pseudo_table[];
25
26/* JF moved this here from as.h under the theory that nobody except MACHINE.c
27   and write.c care about it anyway. */
28
29struct relax_type
30{
31  /* Forward reach. Signed number. > 0. */
32  long rlx_forward;
33  /* Backward reach. Signed number. < 0. */
34  long rlx_backward;
35
36  /* Bytes length of this address. */
37  unsigned char rlx_length;
38
39  /* Next longer relax-state.  0 means there is no 'next' relax-state. */
40  relax_substateT rlx_more;
41};
42
43typedef struct relax_type relax_typeS;
44
45extern const int md_reloc_size; /* Size of a relocation record */
46
47char *md_atof PARAMS ((int what_statement_type, char *literalP, int *sizeP));
48#ifndef md_estimate_size_before_relax
49int md_estimate_size_before_relax PARAMS ((fragS * fragP, segT segment));
50#endif
51int md_parse_option PARAMS ((int c, char *arg));
52void md_show_usage PARAMS ((FILE *));
53long md_pcrel_from PARAMS ((fixS * fixP));
54short tc_coff_fix2rtype PARAMS ((fixS * fixP));
55void md_assemble PARAMS ((char *str));
56void md_begin PARAMS ((void));
57#ifndef md_create_long_jump
58void md_create_long_jump PARAMS ((char *ptr, addressT from_addr,
59                                  addressT to_addr, fragS * frag,
60                                  symbolS * to_symbol));
61#endif
62#ifndef md_create_short_jump
63void md_create_short_jump PARAMS ((char *ptr, addressT from_addr,
64                                   addressT to_addr, fragS * frag,
65                                   symbolS * to_symbol));
66#endif
67void md_number_to_chars PARAMS ((char *buf, valueT val, int n));
68
69#ifndef md_operand
70void md_operand PARAMS ((expressionS * expressionP));
71#endif
72
73#ifdef MD_APPLY_FIX3
74int md_apply_fix3 PARAMS ((fixS * fixP, valueT *val, segT seg));
75#endif
76#ifdef BFD_ASSEMBLER
77int md_apply_fix PARAMS ((fixS * fixP, valueT *val));
78#ifndef md_convert_frag
79void md_convert_frag PARAMS ((bfd * headers, segT sec, fragS * fragP));
80#endif
81#ifndef tc_headers_hook
82void tc_headers_hook PARAMS ((segT *, fixS *));
83#endif
84#ifndef RELOC_EXPANSION_POSSIBLE
85extern arelent *tc_gen_reloc PARAMS ((asection *, fixS *));
86#else
87extern arelent **tc_gen_reloc PARAMS ((asection *, fixS *));
88#endif
89#else /* not BFD_ASSEMBLER */
90void md_apply_fix PARAMS ((fixS * fixP, long val));
91#ifndef md_convert_frag
92void md_convert_frag PARAMS ((object_headers * headers, segT, fragS * fragP));
93#endif
94
95#ifndef tc_crawl_symbol_chain
96void tc_crawl_symbol_chain PARAMS ((object_headers * headers));
97#endif /* tc_crawl_symbol_chain */
98
99#ifndef tc_headers_hook
100void tc_headers_hook PARAMS ((object_headers * headers));
101#endif /* tc_headers_hook */
102#endif /* BFD_ASSEMBLER */
103
104#ifndef md_section_align
105valueT md_section_align PARAMS ((segT seg, valueT size));
106#endif
107
108#ifndef md_undefined_symbol
109symbolS *md_undefined_symbol PARAMS ((char *name));
110#endif
111
112/* end of tc.h */
Note: See TracBrowser for help on using the repository browser.