diff options
author | Sanjoy Das <sanjoyd@sourceware.org> | 2011-11-20 08:59:56 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoyd@sourceware.org> | 2011-11-20 08:59:56 +0000 |
commit | a2d08b9eeb595583d02c5a59e5126d4654389408 (patch) | |
tree | fb4c102ca1771d7c74811f29d1b1cb6c87639fc8 /gdb/gdb-dlfcn.h | |
parent | b8e0a31cb506f56b97d9d7a1c6f2ec7013ec73c9 (diff) | |
download | gdb-a2d08b9eeb595583d02c5a59e5126d4654389408.zip gdb-a2d08b9eeb595583d02c5a59e5126d4654389408.tar.gz gdb-a2d08b9eeb595583d02c5a59e5126d4654389408.tar.bz2 |
gdb/
* Makefile.in: Add gdb-dlfcn.c and gdb-dlfcn.h to build system.
* config.in: Add new #define HAVE_LIBDL.
* configure.ac: Add check for -ldl.
* configure: Re-generated by autoconf.
* gdb-dlfcn.c: New file.
* gdb-dlfcn.h: New file.
Diffstat (limited to 'gdb/gdb-dlfcn.h')
-rw-r--r-- | gdb/gdb-dlfcn.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gdb/gdb-dlfcn.h b/gdb/gdb-dlfcn.h new file mode 100644 index 0000000..0a9d1eb --- /dev/null +++ b/gdb/gdb-dlfcn.h @@ -0,0 +1,51 @@ +/* Platform independent shared object routines for GDB. + + Copyright (C) 2011 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifndef GDB_DLFCN_H +#define GDB_DLFCN_H + +#include "defs.h" + +/* Load the dynamic library file named FILENAME, and return a handle + for that dynamic library. Return NULL if the loading fails for any + reason. */ + +void *gdb_dlopen (const char *filename); + +/* Return the address of the symbol named SYMBOL inside the shared + library whose handle is HANDLE. Return NULL when the symbol could + not be found. */ + +void *gdb_dlsym (void *handle, const char *symbol); + +/* Install a cleanup routine which closes the handle HANDLE. */ + +struct cleanup *make_cleanup_dlclose (void *handle); + +/* Cleanup the shared object pointed to by HANDLE. Return 0 on success + and nonzero on failure. */ + +int gdb_dlclose (void *handle); + +/* Return non-zero if the dynamic library functions are available on + this platform. */ + +int is_dl_available(void); + +#endif /* GDB_DLFCN_H */ |