This is the mail archive of the
gdb-prs@sources.redhat.com
mailing list for the GDB project.
gdb/861: dwarf2cfi not freeing CIE/FDE chunks memory
- From: malachi000 at hotmail dot com
- To: gdb-gnats at sources dot redhat dot com
- Date: 2 Dec 2002 23:25:15 -0000
- Subject: gdb/861: dwarf2cfi not freeing CIE/FDE chunks memory
- Reply-to: malachi000 at hotmail dot com
>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: