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