diff options
author | Fred Fish <fnf@specifix.com> | 1992-05-06 21:16:11 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1992-05-06 21:16:11 +0000 |
commit | 55b3ef9a579d2a5475728f8e53f71923af896f23 (patch) | |
tree | 57025fdc4acd8e8cf0dba63f2ef43217a65ff8da /gdb/objfiles.c | |
parent | 32846f9c3e3714fcc88615c9f670850a5978354a (diff) | |
download | gdb-55b3ef9a579d2a5475728f8e53f71923af896f23.zip gdb-55b3ef9a579d2a5475728f8e53f71923af896f23.tar.gz gdb-55b3ef9a579d2a5475728f8e53f71923af896f23.tar.bz2 |
* cplus-dem.c (do_args): Handle void args the same as others.
* objfiles.c (free_objfile): Only try to unmap files when
reusable objfiles are supported.
* valprint.c (type_print_varspec_suffix): Add parameter that
specifies if C++ demangling included function arguments. Use
it to suppress printing extra pair of ()'s.
* valprint.c (type_print_1): Fix problem with printing demangled
C++ function types where demangled type includes the function
args.
Diffstat (limited to 'gdb/objfiles.c')
-rw-r--r-- | gdb/objfiles.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gdb/objfiles.c b/gdb/objfiles.c index 4443c5d..642026c 100644 --- a/gdb/objfiles.c +++ b/gdb/objfiles.c @@ -277,15 +277,24 @@ free_objfile (objfile) case. Note that the mmalloc_detach or the mfree is the last thing we can do with this objfile. */ +#if !defined(NO_MMALLOC) && defined(HAVE_MMAP) + if (objfile -> flags & OBJF_MAPPED) { /* Remember the fd so we can close it. We can't close it before doing the detach, and after the detach the objfile is gone. */ mmfd = objfile -> mmfd; mmalloc_detach (objfile -> md); + objfile = NULL; (void) close (mmfd); } - else + +#endif /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */ + + /* If we still have an objfile, then either we don't support reusable + objfiles or this one was not reusable. So free it normally. */ + + if (objfile != NULL) { if (objfile -> name != NULL) { @@ -296,6 +305,7 @@ free_objfile (objfile) obstack_free (&objfile -> symbol_obstack, 0); obstack_free (&objfile -> type_obstack, 0); mfree (objfile -> md, objfile); + objfile = NULL; } } |