133965Sjdp/* tc.h - target cpu dependent
233965Sjdp
3218822Sdim   Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 2000, 2001, 2003,
4218822Sdim   2004, 2005
578828Sobrien   Free Software Foundation, Inc.
633965Sjdp
733965Sjdp   This file is part of GAS, the GNU Assembler.
833965Sjdp
933965Sjdp   GAS is free software; you can redistribute it and/or modify
1033965Sjdp   it under the terms of the GNU General Public License as published by
1133965Sjdp   the Free Software Foundation; either version 2, or (at your option)
1233965Sjdp   any later version.
1333965Sjdp
1433965Sjdp   GAS is distributed in the hope that it will be useful,
1533965Sjdp   but WITHOUT ANY WARRANTY; without even the implied warranty of
1633965Sjdp   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1733965Sjdp   GNU General Public License for more details.
1833965Sjdp
1933965Sjdp   You should have received a copy of the GNU General Public License
2033965Sjdp   along with GAS; see the file COPYING.  If not, write to
21218822Sdim   the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
2233965Sjdp
2333965Sjdp/* In theory (mine, at least!) the machine dependent part of the assembler
2433965Sjdp   should only have to include one file.  This one.  -- JF */
2533965Sjdp
2633965Sjdpextern const pseudo_typeS md_pseudo_table[];
2733965Sjdp
28218822Sdimchar * md_atof (int, char *, int *);
29218822Sdimint    md_parse_option (int, char *);
30218822Sdimvoid   md_show_usage (FILE *);
31218822Sdimvoid   md_assemble (char *);
32218822Sdimvoid   md_begin (void);
33218822Sdimvoid   md_number_to_chars (char *, valueT, int);
34218822Sdimvoid   md_apply_fix (fixS *, valueT *, segT);
3533965Sjdp
36218822Sdim#ifndef WORKING_DOT_WORD
37218822Sdimextern int md_short_jump_size;
38218822Sdimextern int md_long_jump_size;
3933965Sjdp#endif
40218822Sdim
41218822Sdim#ifdef USE_UNIQUE
42218822Sdim/* The name of an external symbol which is
43218822Sdim   used to make weak PE symbol names unique.  */
44218822Sdimextern const char * an_external_name;
45130561Sobrien#endif
46218822Sdim
4733965Sjdp#ifndef md_create_long_jump
48218822Sdimvoid    md_create_long_jump (char *, addressT, addressT, fragS *, symbolS *);
4933965Sjdp#endif
5033965Sjdp#ifndef md_create_short_jump
51218822Sdimvoid    md_create_short_jump (char *, addressT, addressT, fragS *, symbolS *);
5233965Sjdp#endif
53218822Sdim#ifndef md_pcrel_from
54218822Sdimlong    md_pcrel_from (fixS *);
55218822Sdim#endif
5633965Sjdp#ifndef md_operand
57218822Sdimvoid    md_operand (expressionS *);
5833965Sjdp#endif
59218822Sdim#ifndef md_estimate_size_before_relax
60218822Sdimint     md_estimate_size_before_relax (fragS * fragP, segT);
61218822Sdim#endif
62218822Sdim#ifndef md_section_align
63218822SdimvalueT  md_section_align (segT, valueT);
64218822Sdim#endif
65218822Sdim#ifndef  md_undefined_symbol
66218822SdimsymbolS *md_undefined_symbol (char *);
67218822Sdim#endif
6833965Sjdp
6933965Sjdp#ifndef md_convert_frag
70218822Sdimvoid    md_convert_frag (bfd *, segT, fragS *);
7133965Sjdp#endif
7233965Sjdp#ifndef RELOC_EXPANSION_POSSIBLE
73130561Sobrienextern arelent *tc_gen_reloc (asection *, fixS *);
7433965Sjdp#else
75130561Sobrienextern arelent **tc_gen_reloc (asection *, fixS *);
7633965Sjdp#endif
77