* xcoffread.c (xcoff_symfile_offsets): Use 0 not addr for offsets.
authorJim Kingdon <jkingdon@engr.sgi.com>
Sat, 3 Apr 1993 01:19:16 +0000 (01:19 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Sat, 3 Apr 1993 01:19:16 +0000 (01:19 +0000)
gdb/ChangeLog
gdb/xcoffread.c

index 70337e0..679b234 100644 (file)
@@ -1,7 +1,9 @@
 Fri Apr  2 08:23:14 1993  Jim Kingdon  (kingdon@cygnus.com)
 
+       * xcoffread.c (xcoff_symfile_offsets): Use 0 not addr for offsets.
+
        * rs6000-tdep.c (frameless_function_invocation): Don't even think
-       about framlessness except on the innermost frame.
+       about framelessness except on the innermost frame.
 
        * xcoffexec.c: Call fatal() not abort().
 
index 6299cb8..cbe5f2c 100644 (file)
@@ -2335,8 +2335,16 @@ xcoff_symfile_offsets (objfile, addr)
        sizeof (struct section_offsets)
        + sizeof (section_offsets->offsets) * (objfile->num_sections));
 
+  /* syms_from_objfile kindly subtracts from addr the bfd_section_vma
+     of the .text section.  This strikes me as wrong--whether the
+     offset to be applied to symbol reading is relative to the start
+     address of the section depends on the symbol format.  In any
+     event, this whole "addr" concept is pretty broken (it doesn't
+     handle any section but .text sensibly), so just ignore the addr
+     parameter and use 0.  That matches the fact that xcoff_symfile_read
+     ignores the section_offsets).  */
   for (i = 0; i < objfile->num_sections; i++)
-    ANOFFSET (section_offsets, i) = addr;
+    ANOFFSET (section_offsets, i) = 0;
   
   return section_offsets;
 }