This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb/861: dwarf2cfi not freeing CIE/FDE chunks memory


>Number:         861
>Category:       gdb
>Synopsis:       dwarf2cfi not freeing CIE/FDE chunks memory
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 02 15:28:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     malachi000@hotmail.com
>Release:        5.2-5.3
>Organization:
>Environment:
Solaris 2.5/2.8
>Description:
When dwarf2cfi reads in the raw data into (dynamically allocated) cie_chunks and fde_chunks, in no place do these chunks get freed.  The result is that if you load several different files with DWARF call frame debugging right after another (via the "file" command), GDB's debugging information becomes corrupted.
>How-To-Repeat:
file cfi_file1.out
file cfi_file2.out
file cfi_file3.out
....
run, info, etc. complain of bad data
>Fix:
I created a function called chunks_free() that clears and xfrees the cie_chunks and fde_chunks.  Then I call chunks_free() as the first thing done in parse_frame_info, which should only be called once per symbol file read, if I am correct.
>Release-Note:
>Audit-Trail:
>Unformatted:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]