use remote-utils facilities for baud_rate
[deliverable/binutils-gdb.git] / gdb / coffread.c
index 7c714c2a072592b4dbe79928dfda618fd283a59e..05e9a08d7d2644326203c33a545a7302a22c45ae 100644 (file)
@@ -32,6 +32,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #include <string.h>
 
+#include <time.h> /* For time_t in libbfd.h.  */
 #include "libbfd.h"            /* FIXME secret internal data from BFD */
 #include "coff/internal.h"     /* Internal format of COFF symbols in BFD */
 #include "libcoff.h"           /* FIXME secret internal data from BFD */
@@ -316,7 +317,7 @@ coff_alloc_type (index)
   return type;
 }
 \f
-/* Manage the vector of line numbers.  */
+/* Manage the vector of line numbers.  FIXME:  Use record_line instead.  */
 
 static void
 coff_record_line (line, pc)
@@ -347,8 +348,9 @@ static void
 coff_start_symtab ()
 {
   start_symtab (
-               /* We fill in the filename later.  But start_symtab
-                  expects something we can later free() (in end_symtab).
+               /* We fill in the filename later.  start_symtab
+                  puts this pointer into last_source file and in
+                  coff_end_symtab we assume we can free() it.
                   FIXME: leaks memory.  */
                savestring ("", 0),
                /* We never know the directory name for COFF.  */
@@ -405,6 +407,11 @@ coff_end_symtab (objfile)
 
   last_source_start_addr = cur_src_start_addr;
 
+  /* For no good reason, this file stores the number of entries in a
+     separate variable instead of in line_vector->nitems.  Fix it.  */
+  if (line_vector)
+    line_vector->nitems = line_vector_index;
+
   /* For COFF, we only have one subfile, so we can just look at
      subfiles and not worry about there being other elements in the
      chain.  We fill in various fields now because we didn't know them
@@ -1950,7 +1957,7 @@ coff_read_enum_type (index, length, lastsym)
 
 /* Fake up support for relocating symbol addresses.  FIXME.  */
 
-struct section_offsets coff_symfile_faker = {0};
+struct section_offsets coff_symfile_faker = {{0}};
 
 struct section_offsets *
 coff_symfile_offsets (objfile, addr)
This page took 0.02367 seconds and 4 git commands to generate.