Subversion Repositories Kolibri OS

Rev

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