diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 090092b98d..6604be013a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ Sun Nov 6 12:54:54 1994 Jeff Law (law@snake.cs.utah.edu) + * partial-stab.h (N_TEXT): Put back GDB_TARGET_IS_HPPA kludge, + it is still needed for GCC-2.6 compiled code. + * TODO (GDB_TARGET_IS_HPPA): Note this kludge can be nuked + sometime after GCC-2.7 has been released. + * hppa-tdep.c (frame_saved_pc): Mask off low two bits when retrieving the PC from a signal handler caller. Fix thinko in Stan's last change ("frame", should have been "frame->next"). diff --git a/gdb/TODO b/gdb/TODO index e3156fa3d1..90a58187b7 100644 --- a/gdb/TODO +++ b/gdb/TODO @@ -462,6 +462,10 @@ Add a command for searching memory, a la adb. It specifies size, mask, value, start address. ADB searches until it finds it or hits an error (or is interrupted). +The GDB_TARGET_IS_HPPA kludges in partial-stab.h should be zapped sometime +after GCC-2.7 has been released (whenever we decide corner case debugging +problems with GCC-2.6 compiled code are not important). + # Local Variables: # mode: text # End: diff --git a/gdb/partial-stab.h b/gdb/partial-stab.h index ac79f014f1..4530bab44d 100644 --- a/gdb/partial-stab.h +++ b/gdb/partial-stab.h @@ -79,14 +79,27 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ if ((namestring[0] == '-' && namestring[1] == 'l') || (namestring [(nsl = strlen (namestring)) - 1] == 'o' && namestring [nsl - 2] == '.') +#ifdef GDB_TARGET_IS_HPPA + /* This braindamage is necessary for versions of GCC 2.6 and + earlier; it will not be necessary for GCC 2.7. + + In a nutshell, we need a way to determine when we've hit + the end of a file with debug symbols. Most ports do this + with a N_SO record with a NULL symbol name (as will GCC 2.7 + on the PA). GCC 2.6 (and earlier) on the PA instead creates + an N_TEXT symbol with the name "end_file." */ + || (namestring[0] == 'e' && STREQ (namestring, "end_file.")) +#endif ) { +#ifndef GDB_TARGET_IS_HPPA if (objfile -> ei.entry_point < CUR_SYMBOL_VALUE && objfile -> ei.entry_point >= last_o_file_start) { objfile -> ei.entry_file_lowpc = last_o_file_start; objfile -> ei.entry_file_highpc = CUR_SYMBOL_VALUE; } +#endif if (past_first_source_file && pst /* The gould NP1 uses low values for .o and -l symbols which are not the address. */