Rev 5222 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5222 | Rev 6324 | ||
---|---|---|---|
1 | /* tc.h - target cpu dependent |
1 | /* tc.h - target cpu dependent |
2 | - | ||
3 | Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 2000, 2001, 2003, |
- | |
4 | 2004, 2005, 2006, 2007, 2008, 2009 |
2 | |
5 | Free Software Foundation, Inc. |
3 | Copyright (C) 1987-2015 Free Software Foundation, Inc. |
6 | 4 | ||
7 | This file is part of GAS, the GNU Assembler. |
5 | This file is part of GAS, the GNU Assembler. |
8 | 6 | ||
9 | GAS is free software; you can redistribute it and/or modify |
7 | 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 |
8 | it under the terms of the GNU General Public License as published by |
11 | the Free Software Foundation; either version 3, or (at your option) |
9 | the Free Software Foundation; either version 3, or (at your option) |
12 | any later version. |
10 | any later version. |
13 | 11 | ||
14 | GAS is distributed in the hope that it will be useful, |
12 | GAS is distributed in the hope that it will be useful, |
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17 | GNU General Public License for more details. |
15 | GNU General Public License for more details. |
18 | 16 | ||
19 | You should have received a copy of the GNU General Public License |
17 | You should have received a copy of the GNU General Public License |
20 | along with GAS; see the file COPYING. If not, write to |
18 | along with GAS; see the file COPYING. If not, write to |
21 | the Free Software Foundation, 51 Franklin Street - Fifth Floor, |
19 | the Free Software Foundation, 51 Franklin Street - Fifth Floor, |
22 | Boston, MA 02110-1301, USA. */ |
20 | Boston, MA 02110-1301, USA. */ |
23 | 21 | ||
24 | /* In theory (mine, at least!) the machine dependent part of the assembler |
22 | /* In theory (mine, at least!) the machine dependent part of the assembler |
25 | should only have to include one file. This one. -- JF */ |
23 | should only have to include one file. This one. -- JF */ |
26 | 24 | ||
27 | extern const pseudo_typeS md_pseudo_table[]; |
25 | extern const pseudo_typeS md_pseudo_table[]; |
28 | 26 | ||
29 | char * md_atof (int, char *, int *); |
27 | char * md_atof (int, char *, int *); |
30 | int md_parse_option (int, char *); |
28 | int md_parse_option (int, char *); |
31 | void md_show_usage (FILE *); |
29 | void md_show_usage (FILE *); |
32 | void md_assemble (char *); |
30 | void md_assemble (char *); |
33 | void md_begin (void); |
31 | void md_begin (void); |
34 | #ifndef md_number_to_chars |
32 | #ifndef md_number_to_chars |
35 | void md_number_to_chars (char *, valueT, int); |
33 | void md_number_to_chars (char *, valueT, int); |
36 | #endif |
34 | #endif |
37 | void md_apply_fix (fixS *, valueT *, segT); |
35 | void md_apply_fix (fixS *, valueT *, segT); |
38 | 36 | ||
39 | #ifndef WORKING_DOT_WORD |
37 | #ifndef WORKING_DOT_WORD |
40 | extern int md_short_jump_size; |
38 | extern int md_short_jump_size; |
41 | extern int md_long_jump_size; |
39 | extern int md_long_jump_size; |
42 | #endif |
40 | #endif |
43 | 41 | ||
44 | #ifdef TE_PE |
42 | #ifdef TE_PE |
45 | /* The name of an external symbol which is |
43 | /* The name of an external symbol which is |
46 | used to make weak PE symbol names unique. */ |
44 | used to make weak PE symbol names unique. */ |
47 | extern const char * an_external_name; |
45 | extern const char * an_external_name; |
48 | #endif |
46 | #endif |
49 | 47 | ||
50 | #ifndef md_create_long_jump |
48 | #ifndef md_create_long_jump |
51 | void md_create_long_jump (char *, addressT, addressT, fragS *, symbolS *); |
49 | void md_create_long_jump (char *, addressT, addressT, fragS *, symbolS *); |
52 | #endif |
50 | #endif |
53 | #ifndef md_create_short_jump |
51 | #ifndef md_create_short_jump |
54 | void md_create_short_jump (char *, addressT, addressT, fragS *, symbolS *); |
52 | void md_create_short_jump (char *, addressT, addressT, fragS *, symbolS *); |
55 | #endif |
53 | #endif |
56 | #ifndef md_pcrel_from |
54 | #ifndef md_pcrel_from |
57 | long md_pcrel_from (fixS *); |
55 | long md_pcrel_from (fixS *); |
58 | #endif |
56 | #endif |
59 | #ifndef md_operand |
57 | #ifndef md_operand |
60 | void md_operand (expressionS *); |
58 | void md_operand (expressionS *); |
61 | #endif |
59 | #endif |
62 | #ifndef md_estimate_size_before_relax |
60 | #ifndef md_estimate_size_before_relax |
63 | int md_estimate_size_before_relax (fragS * fragP, segT); |
61 | int md_estimate_size_before_relax (fragS * fragP, segT); |
64 | #endif |
62 | #endif |
65 | #ifndef md_section_align |
63 | #ifndef md_section_align |
66 | valueT md_section_align (segT, valueT); |
64 | valueT md_section_align (segT, valueT); |
67 | #endif |
65 | #endif |
68 | #ifndef md_undefined_symbol |
66 | #ifndef md_undefined_symbol |
69 | symbolS *md_undefined_symbol (char *); |
67 | symbolS *md_undefined_symbol (char *); |
70 | #endif |
68 | #endif |
71 | 69 | ||
72 | #ifndef md_convert_frag |
70 | #ifndef md_convert_frag |
73 | void md_convert_frag (bfd *, segT, fragS *); |
71 | void md_convert_frag (bfd *, segT, fragS *); |
74 | #endif |
72 | #endif |
75 | #ifndef RELOC_EXPANSION_POSSIBLE |
73 | #ifndef RELOC_EXPANSION_POSSIBLE |
76 | extern arelent *tc_gen_reloc (asection *, fixS *); |
74 | extern arelent *tc_gen_reloc (asection *, fixS *); |
77 | #else |
75 | #else |
78 | extern arelent **tc_gen_reloc (asection *, fixS *); |
76 | extern arelent **tc_gen_reloc (asection *, fixS *); |
79 | #endif |
77 | #endif |