~ubuntu-branches/debian/jessie/gdb/jessie

« back to all changes in this revision

Viewing changes to include/plugin-api.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Jacobowitz
  • Date: 2010-03-20 01:21:29 UTC
  • mfrom: (1.3.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20100320012129-t7h25y8zgr8c2369
Tags: 7.1-1
* New upstream release, including:
  - PIE support (Closes: #346409).
  - C++ improvements, including static_cast<> et al, namespace imports,
    and bug fixes in printing virtual base classes.
  - Multi-program debugging.  One GDB can now debug multiple programs
    at the same time.
  - Python scripting improvements, including gdb.parse_and_eval.
  - Updated MIPS Linux signal frame layout (Closes: #570875).
  - No internal error stepping over _dl_debug_state (Closes: #569551).
* Update to Standards-Version: 3.8.4 (no changes required).
* Include more relevant (and smaller) docs in the gdbserver package
  (Closes: #571132).
* Do not duplicate documentation in gdb64, gdb-source, and libgdb-dev.
* Fix crash when switching into TUI mode (Closes: #568489).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* plugin-api.h -- External linker plugin API.  */
2
2
 
3
 
/* Copyright 2008 Free Software Foundation, Inc.
 
3
/* Copyright 2009 Free Software Foundation, Inc.
4
4
   Written by Cary Coutant <ccoutant@google.com>.
5
5
 
6
6
   This file is part of binutils.
26
26
#ifndef PLUGIN_API_H
27
27
#define PLUGIN_API_H
28
28
 
 
29
#ifdef HAVE_STDINT_H
29
30
#include <stdint.h>
 
31
#elif defined(HAVE_INTTYPES_H)
 
32
#include <inttypes.h>
 
33
#endif
30
34
#include <sys/types.h>
 
35
#if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) && \
 
36
    !defined(UINT64_MAX) && !defined(uint64_t)
 
37
#error can not find uint64_t type
 
38
#endif
31
39
 
32
40
#ifdef __cplusplus
33
41
extern "C"
111
119
enum ld_plugin_symbol_resolution
112
120
{
113
121
  LDPR_UNKNOWN = 0,
 
122
 
 
123
  /* Symbol is still undefined at this point.  */
114
124
  LDPR_UNDEF,
 
125
 
 
126
  /* This is the prevailing definition of the symbol, with references from
 
127
     regular object code.  */
115
128
  LDPR_PREVAILING_DEF,
 
129
 
 
130
  /* This is the prevailing definition of the symbol, with no
 
131
     references from regular objects.  It is only referenced from IR
 
132
     code.  */
116
133
  LDPR_PREVAILING_DEF_IRONLY,
 
134
 
 
135
  /* This definition was pre-empted by a definition in a regular
 
136
     object file.  */
117
137
  LDPR_PREEMPTED_REG,
 
138
 
 
139
  /* This definition was pre-empted by a definition in another IR file.  */
118
140
  LDPR_PREEMPTED_IR,
 
141
 
 
142
  /* This symbol was resolved by a definition in another IR file.  */
119
143
  LDPR_RESOLVED_IR,
 
144
 
 
145
  /* This symbol was resolved by a definition in a regular object
 
146
     linked into the main executable.  */
120
147
  LDPR_RESOLVED_EXEC,
 
148
 
 
149
  /* This symbol was resolved by a definition in a shared object.  */
121
150
  LDPR_RESOLVED_DYN
122
151
};
123
152
 
193
222
enum ld_plugin_status
194
223
(*ld_plugin_add_input_file) (char *pathname);
195
224
 
 
225
/* The linker's interface for adding a library that should be searched.  */
 
226
 
 
227
typedef
 
228
enum ld_plugin_status
 
229
(*ld_plugin_add_input_library) (char *libname);
 
230
 
196
231
/* The linker's interface for issuing a warning or error message.  */
197
232
 
198
233
typedef
224
259
  LDPT_ADD_INPUT_FILE,
225
260
  LDPT_MESSAGE,
226
261
  LDPT_GET_INPUT_FILE,
227
 
  LDPT_RELEASE_INPUT_FILE
 
262
  LDPT_RELEASE_INPUT_FILE,
 
263
  LDPT_ADD_INPUT_LIBRARY
228
264
};
229
265
 
230
266
/* The plugin transfer vector.  */
245
281
    ld_plugin_message tv_message;
246
282
    ld_plugin_get_input_file tv_get_input_file;
247
283
    ld_plugin_release_input_file tv_release_input_file;
 
284
    ld_plugin_add_input_library tv_add_input_library;
248
285
  } tv_u;
249
286
};
250
287