Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5222 serge 1
/* ecoff.h -- header file for ECOFF debugging support
2
   Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004, 2005,
3
   2007, 2009 Free Software Foundation, Inc.
4
   Contributed by Cygnus Support.
5
   Put together by Ian Lance Taylor .
6
 
7
   This file is part of GAS, the GNU Assembler.
8
 
9
   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
11
   the Free Software Foundation; either version 3, or (at your option)
12
   any later version.
13
 
14
   GAS is distributed in the hope that it will be useful,
15
   but WITHOUT ANY WARRANTY; without even the implied warranty of
16
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
   GNU General Public License for more details.
18
 
19
   You should have received a copy of the GNU General Public License
20
   along with GAS; see the file COPYING.  If not, write to the Free
21
   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
22
   02110-1301, USA.  */
23
 
24
#ifndef GAS_ECOFF_H
25
#define GAS_ECOFF_H
26
 
27
#ifdef ECOFF_DEBUGGING
28
 
29
#include "coff/sym.h"
30
#include "coff/ecoff.h"
31
 
32
/* Whether we have seen any ECOFF debugging information.  */
33
extern int ecoff_debugging_seen;
34
 
35
/* This function should be called at the start of assembly, by
36
   obj_read_begin_hook.  */
37
extern void ecoff_read_begin_hook (void);
38
 
39
/* This function should be called when the assembler switches to a new
40
   file.  */
41
extern void ecoff_new_file (const char *, int);
42
 
43
/* This function should be called when a new symbol is created, by
44
   obj_symbol_new_hook.  */
45
extern void ecoff_symbol_new_hook (symbolS *);
46
 
47
extern void ecoff_symbol_clone_hook (symbolS *, symbolS *);
48
 
49
/* This function should be called by the obj_frob_symbol hook.  */
50
extern void ecoff_frob_symbol (symbolS *);
51
 
52
/* Build the ECOFF debugging information.  This should be called by
53
   obj_frob_file.  This fills in the counts in *HDR; the offsets are
54
   filled in relative to the start of the *BUFP.  It sets *BUFP to a
55
   block of memory holding the debugging information.  It returns the
56
   length of *BUFP.  */
57
extern unsigned long ecoff_build_debug
58
  (HDRR *hdr, char **bufp, const struct ecoff_debug_swap *);
59
 
60
/* Functions to handle the ECOFF debugging directives.  */
61
extern void ecoff_directive_begin (int);
62
extern void ecoff_directive_bend (int);
63
extern void ecoff_directive_end (int);
64
extern void ecoff_directive_ent (int);
65
extern void ecoff_directive_fmask (int);
66
extern void ecoff_directive_frame (int);
67
extern void ecoff_directive_loc (int);
68
extern void ecoff_directive_mask (int);
69
 
70
/* Other ECOFF directives.  */
71
extern void ecoff_directive_extern (int);
72
extern void ecoff_directive_weakext (int);
73
 
74
/* Functions to handle the COFF debugging directives.  */
75
extern void ecoff_directive_def (int);
76
extern void ecoff_directive_dim (int);
77
extern void ecoff_directive_endef (int);
78
extern void ecoff_directive_file (int);
79
extern void ecoff_directive_scl (int);
80
extern void ecoff_directive_size (int);
81
extern void ecoff_directive_tag (int);
82
extern void ecoff_directive_type (int);
83
extern void ecoff_directive_val (int);
84
 
85
/* Handle stabs.  */
86
extern void ecoff_stab (segT sec, int what, const char *string,
87
			int type, int other, int desc);
88
 
89
/* Set the GP prologue size.  */
90
extern void ecoff_set_gp_prolog_size (int sz);
91
 
92
/* This routine is called from the ECOFF code to set the external
93
   information for a symbol.  */
94
#ifndef obj_ecoff_set_ext
95
extern void obj_ecoff_set_ext (symbolS *, EXTR *);
96
#endif
97
 
98
/* This routine is used to patch up a line number directive when
99
   instructions are moved around.  */
100
extern void ecoff_fix_loc (fragS *, unsigned long);
101
 
102
/* This function is called from read.c to peek at cur_file_ptr.  */
103
extern int ecoff_no_current_file (void);
104
 
105
/* This function returns the symbol associated with the current proc.  */
106
extern symbolS *ecoff_get_cur_proc_sym (void);
107
 
108
#endif /* ECOFF_DEBUGGING */
109
 
110
/* This routine is called from read.c to generate line number for .s file.  */
111
extern void ecoff_generate_asm_lineno (void);
112
 
113
#endif /* ! GAS_ECOFF_H */