* partial-stab.h (N_TEXT): Put back GDB_TARGET_IS_HPPA kludge,
authorJeff Law <law@redhat.com>
Sun, 6 Nov 1994 20:16:34 +0000 (20:16 +0000)
committerJeff Law <law@redhat.com>
Sun, 6 Nov 1994 20:16:34 +0000 (20:16 +0000)
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.

gdb/ChangeLog
gdb/TODO
gdb/partial-stab.h

index 090092b..6604be0 100644 (file)
@@ -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").
index e3156fa..90a5818 100644 (file)
--- 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:
index ac79f01..4530bab 100644 (file)
@@ -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.  */