* dbxread.c (process_one_symbol): Do relocate 'S' symbols by
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 4 Nov 1993 23:03:03 +0000 (23:03 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 4 Nov 1993 23:03:03 +0000 (23:03 +0000)
the text offset (revert 12 Oct 93 change).

gdb/ChangeLog
gdb/dbxread.c

index cd46e2a3462689a0bc1ffc877e94631eee5d3a6f..ade0f6b4addc687cddab45abbfbe71b91b0dfe9f 100644 (file)
@@ -1,5 +1,8 @@
 Thu Nov  4 08:27:24 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+       * dbxread.c (process_one_symbol): Do relocate 'S' symbols by
+       the text offset (revert 12 Oct 93 change).
+
        * configure.in: Make hppa*-*-hiux* use hppahpux,
        not non-existent hppahiux.
 
index 2642b62fc043ac8efc4151188cd2330b5ba0c9e6..e5ac069a0ea388d0f73e9279df22b5eb6c6d24fa 100644 (file)
@@ -1787,9 +1787,17 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
        p = strchr (name, ':');
        if (p != 0 && p[1] == 'S')
          {
-           /* The linker relocated it.  There used to be a kludge here
-              to add the text offset, but that will break if we ever
-              start using the text offset (currently it is always zero).  */
+           /* The linker relocated it.  We don't want to add an
+              elfstab_offset_sections-type offset, but we *do* want
+              to add whatever solib.c passed to symbol_file_add as
+              addr (this is known to affect SunOS4, and I suspect ELF
+              too).  Since elfstab_offset_sections currently does not
+              muck with the text offset (there is no Ttext.text
+              symbol), we can get addr from the text offset.  If
+              elfstab_offset_sections ever starts dealing with the
+              text offset, and we still need to do this, we need to
+              invent a SECT_OFF_ADDR_KLUDGE or something.  */
+           valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
            goto define_a_symbol;
          }
        /* Since it's not the kludge case, re-dispatch to the right handler. */