* symfile.c (symfile_bfd_open): Don't copy name. Call
[external/binutils.git] / gdb / gdb_bfd.h
1 /* Definitions for BFD wrappers used by GDB.
2
3    Copyright (C) 2011
4    Free Software Foundation, Inc.
5
6    This file is part of GDB.
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21 #ifndef GDB_BFD_H
22 #define GDB_BFD_H
23
24 /* Make a copy ABFD's filename using bfd_alloc, and reassign it to the
25    BFD.  This ensures that the BFD's filename has the same lifetime as
26    the BFD itself.  */
27
28 void gdb_bfd_stash_filename (struct bfd *abfd);
29
30 /* Acquire a new reference to ABFD.  Returns ABFD for convenience.
31    It is fine for ABFD to be NULL; in this case the function does
32    nothing and returns NULL.  */
33
34 struct bfd *gdb_bfd_ref (struct bfd *abfd);
35
36 /* Release a reference to ABFD.  If this is the last reference, ABFD
37    will be freed.  If ABFD is NULL, this function does nothing.  */
38
39 void gdb_bfd_unref (struct bfd *abfd);
40
41 #endif /* GDB_BFD_H */