From c91d38aa7043aaf262d88fed5eeaaeee990db8c0 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Mon, 6 Feb 2006 22:14:31 +0000 Subject: [PATCH] * gdbint.texinfo (Symbol Handling): Add a section on memory management. --- gdb/doc/ChangeLog | 5 +++++ gdb/doc/gdbint.texinfo | 20 ++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 0d51e9d9eb2..41fbde94ba1 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2006-02-06 Daniel Jacobowitz + + * gdbint.texinfo (Symbol Handling): Add a section + on memory management. + 2006-02-06 Vladimir Prus * gdb.texinfo (Breakpoint table commands): Document the fullname diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index b86b083e23d..737d2254bf8 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -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 -- 2.30.2