From: Daniel Jacobowitz Date: Sun, 14 Sep 2003 18:35:57 +0000 (+0000) Subject: 2003-08-25 Daniel Jacobowitz X-Git-Tag: gdb_6_0-2003-10-04-release~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f937b7d486eb457b9624b6cfc7ac45dbc4613373;p=thirdparty%2Fbinutils-gdb.git 2003-08-25 Daniel Jacobowitz PR java/1322 * dwarf2-frame.c (dwarf2_frame_find_fde): Check whether any FDEs are available before calling SECT_OFF_TEXT. * PROBLEMS: Remove description of java/1322. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e9b5758a0d3..ee463ec924c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,6 +1,13 @@ 2003-09-11 Daniel Jacobowitz Merge from mainline: + 2003-08-25 Daniel Jacobowitz + + PR java/1322 + * dwarf2-frame.c (dwarf2_frame_find_fde): Check whether any FDEs are + available before calling SECT_OFF_TEXT. + * PROBLEMS: Remove description of java/1322. + 2003-07-13 Mark Kettenis * objfiles.h (struct objfile): Add memebers `data' and `num_data'. diff --git a/gdb/PROBLEMS b/gdb/PROBLEMS index 77deedc057e..74806333035 100644 --- a/gdb/PROBLEMS +++ b/gdb/PROBLEMS @@ -19,17 +19,3 @@ gcc 3.x generates these multiple object code functions in order to implement virtual base classes. gcc 2.x generated just one object code function with a hidden parameter, but gcc 3.x conforms to a multi-vendor ABI for C++ which requires multiple object code functions. - -gdb/1322: "internal-error: sect_index_text not initialized" after printing a java type - -When gdb debugs a Java program which uses shared libraries, it can -generate this internal error. - -If you get this error when debugging Java, you can try working around -the problem by relinking your program with no shared libraries at all -(even the standard C library). With the GNU linker, use the "-static" -argument to do this. - -You can also try this patch for gdb: - - http://sources.redhat.com/ml/gdb-prs/2003-q3/msg00190.html diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index dfde061731f..0cfa039fa36 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -1130,9 +1130,13 @@ dwarf2_frame_find_fde (CORE_ADDR *pc) struct dwarf2_fde *fde; CORE_ADDR offset; - offset = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); - fde = objfile_data (objfile, dwarf2_frame_data); + if (fde == NULL) + continue; + + gdb_assert (objfile->section_offsets); + offset = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); + while (fde) { if (*pc >= fde->initial_location + offset