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

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