* gdbint.texinfo (Symbol Handling): Add a section
authorDaniel Jacobowitz <drow@false.org>
Mon, 6 Feb 2006 22:14:31 +0000 (22:14 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 6 Feb 2006 22:14:31 +0000 (22:14 +0000)
on memory management.

gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo

index 0d51e9d9eb2cccf95fe44ec33710330424c17968..41fbde94ba137382d83260a4835818b69104f950 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-06  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * gdbint.texinfo (Symbol Handling): Add a section
+       on memory management.
+
 2006-02-06  Vladimir Prus  <ghost@cs.msu.su>
 
        * gdb.texinfo (Breakpoint table commands): Document the fullname
index b86b083e23dea06d74d657b881047281ee2b08e4..737d2254bf88df7cf4e615acc8c9662ac090fafa 100644 (file)
@@ -9,7 +9,7 @@
 @ifinfo
 This file documents the internals of the GNU debugger @value{GDBN}.
 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1996, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005
+   2002, 2003, 2004, 2005, 2006
    Free Software Foundation, Inc.
 Contributed by Cygnus Solutions.  Written by John Gilmore.
 Second Edition by Stan Shebs.
@@ -49,7 +49,7 @@ Free Documentation License''.
 
 @vskip 0pt plus 1filll
 Copyright @copyright{} 1990,1991,1992,1993,1994,1996,1998,1999,2000,2001,
-   2002, 2003, 2004, 2005  Free Software Foundation, Inc.
+   2002, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
@@ -1985,6 +1985,22 @@ will only ever be implemented by one object file format may be called
 directly.  This interface should be described in a file
 @file{bfd/lib@var{xyz}.h}, which is included by @value{GDBN}.
 
+@section Memory Management for Symbol Files
+
+Most memory associated with a loaded symbol file is stored on
+its @code{objfile_obstack}.  This includes symbols, types,
+namespace data, and other information produced by the symbol readers.
+
+Because this data lives on the objfile's obstack, it is automatically
+released when the objfile is unloaded or reloaded.  Therefore one
+objfile must not reference symbol or type data from another objfile;
+they could be unloaded at different times.
+
+User convenience variables, et cetera, have associated types.  Normally
+these types live in the associated objfile.  However, when the objfile
+is unloaded, those types are deep copied to global memory, so that
+the values of the user variables and history items are not lost.
+
 
 @node Language Support