From b0a5badb69321ac3db0901c5681f0894e6931fd5 Mon Sep 17 00:00:00 2001 From: Peter Schauer Date: Sun, 11 Oct 1998 19:54:57 +0000 Subject: [PATCH] * dwarf2read.c (dwarf2_build_psymtabs_hard): Do not adjust the address range of a compilation unit without children. * mdebugread.c (parse_partial_symbols): Fix handling of stabs continuations, use xmalloc and xrealloc. --- gdb/ChangeLog | 8 ++++++++ gdb/dwarf2read.c | 18 ++++++++++-------- gdb/mdebugread.c | 7 ++++--- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 558e131..b6e3b6d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +Sun Oct 11 12:08:07 1998 Peter Schauer + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Do not adjust the + address range of a compilation unit without children. + + * mdebugread.c (parse_partial_symbols): Fix handling of stabs + continuations, use xmalloc and xrealloc. + Fri Oct 9 18:14:43 1998 Mark Alexander * rs6000-tdep.c: Don't include tm.h twice. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 2339b6b..dffc621a 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -1002,15 +1002,17 @@ dwarf2_build_psymtabs_hard (objfile, section_offsets, mainline) If so, read the rest of the partial symbols from this comp unit. If not, there's no more debug_info for this comp unit. */ if (comp_unit_die.has_children) - info_ptr = scan_partial_symbols (info_ptr, objfile, &lowpc, &highpc); - - /* If the compilation unit didn't have an explicit address range, - then use the information extracted from its child dies. */ - if (!comp_unit_has_pc_info) { - comp_unit_die.lowpc = lowpc; - comp_unit_die.highpc = highpc; - } + info_ptr = scan_partial_symbols (info_ptr, objfile, &lowpc, &highpc); + + /* If the compilation unit didn't have an explicit address range, + then use the information extracted from its child dies. */ + if (!comp_unit_has_pc_info) + { + comp_unit_die.lowpc = lowpc; + comp_unit_die.highpc = highpc; + } + } pst->textlow = comp_unit_die.lowpc + baseaddr; pst->texthigh = comp_unit_die.highpc + baseaddr; diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index c3fae0a..1064490 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -1,5 +1,5 @@ /* Read a symbol table in ECOFF format (Third-Eye). - Copyright 1986, 87, 89, 90, 91, 92, 93, 94, 95, 96, 1997 + Copyright 1986, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. Original version contributed by Alessandro Forin (af@cs.cmu.edu) at CMU. Major work by Per Bothner, John Gilmore and Ian Lance Taylor @@ -2749,11 +2749,12 @@ parse_partial_symbols (objfile, section_offsets) /* Concatinate stabstring2 with stabstring1 */ if (stabstring && stabstring != debug_info->ss + fh->issBase + sh.iss) - stabstring = realloc (stabstring, len + len2 + 1); + stabstring = xrealloc (stabstring, len + len2 + 1); else - stabstring = malloc (len + len2 + 1); + stabstring = xmalloc (len + len2 + 1); strcpy (stabstring, stabstring1); strcpy (stabstring + len, stabstring2); + len += len2; } #define SET_NAMESTRING() \ -- 2.7.4