PR binutils/13593
[deliverable/binutils-gdb.git] / gas / ecoff.h
CommitLineData
252b5132 1/* ecoff.h -- header file for ECOFF debugging support
4cae74aa
AM
2 Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004, 2005,
3 2007, 2009 Free Software Foundation, Inc.
252b5132
RH
4 Contributed by Cygnus Support.
5 Put together by Ian Lance Taylor <ian@cygnus.com>.
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
ec2655a6 11 the Free Software Foundation; either version 3, or (at your option)
252b5132
RH
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
4b4da160
NC
21 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
22 02110-1301, USA. */
252b5132
RH
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. */
33extern int ecoff_debugging_seen;
34
35/* This function should be called at the start of assembly, by
36 obj_read_begin_hook. */
834ddcc4 37extern void ecoff_read_begin_hook (void);
252b5132
RH
38
39/* This function should be called when the assembler switches to a new
40 file. */
f17c130b 41extern void ecoff_new_file (const char *, int);
252b5132
RH
42
43/* This function should be called when a new symbol is created, by
44 obj_symbol_new_hook. */
834ddcc4 45extern void ecoff_symbol_new_hook (symbolS *);
252b5132 46
4cae74aa
AM
47extern void ecoff_symbol_clone_hook (symbolS *, symbolS *);
48
252b5132 49/* This function should be called by the obj_frob_symbol hook. */
834ddcc4 50extern void ecoff_frob_symbol (symbolS *);
252b5132
RH
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. */
57extern unsigned long ecoff_build_debug
834ddcc4 58 (HDRR *hdr, char **bufp, const struct ecoff_debug_swap *);
252b5132
RH
59
60/* Functions to handle the ECOFF debugging directives. */
834ddcc4
KH
61extern void ecoff_directive_begin (int);
62extern void ecoff_directive_bend (int);
63extern void ecoff_directive_end (int);
64extern void ecoff_directive_ent (int);
65extern void ecoff_directive_fmask (int);
66extern void ecoff_directive_frame (int);
67extern void ecoff_directive_loc (int);
68extern void ecoff_directive_mask (int);
252b5132
RH
69
70/* Other ECOFF directives. */
834ddcc4
KH
71extern void ecoff_directive_extern (int);
72extern void ecoff_directive_weakext (int);
252b5132
RH
73
74/* Functions to handle the COFF debugging directives. */
834ddcc4
KH
75extern void ecoff_directive_def (int);
76extern void ecoff_directive_dim (int);
77extern void ecoff_directive_endef (int);
78extern void ecoff_directive_file (int);
79extern void ecoff_directive_scl (int);
80extern void ecoff_directive_size (int);
81extern void ecoff_directive_tag (int);
82extern void ecoff_directive_type (int);
83extern void ecoff_directive_val (int);
252b5132
RH
84
85/* Handle stabs. */
834ddcc4
KH
86extern void ecoff_stab (segT sec, int what, const char *string,
87 int type, int other, int desc);
252b5132
RH
88
89/* Set the GP prologue size. */
834ddcc4 90extern void ecoff_set_gp_prolog_size (int sz);
252b5132
RH
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
834ddcc4 95extern void obj_ecoff_set_ext (symbolS *, EXTR *);
252b5132
RH
96#endif
97
98/* This routine is used to patch up a line number directive when
99 instructions are moved around. */
834ddcc4 100extern void ecoff_fix_loc (fragS *, unsigned long);
252b5132
RH
101
102/* This function is called from read.c to peek at cur_file_ptr. */
834ddcc4 103extern int ecoff_no_current_file (void);
252b5132
RH
104
105/* This function returns the symbol associated with the current proc. */
834ddcc4 106extern symbolS *ecoff_get_cur_proc_sym (void);
252b5132
RH
107
108#endif /* ECOFF_DEBUGGING */
109
110/* This routine is called from read.c to generate line number for .s file. */
834ddcc4 111extern void ecoff_generate_asm_lineno (void);
252b5132
RH
112
113#endif /* ! GAS_ECOFF_H */
This page took 0.522824 seconds and 4 git commands to generate.