/* coffgrok.c
- Copyright 1994, 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1997, 1998, 2000, 2001, 2002
+ Free Software Foundation, Inc.
This file is part of GNU Binutils.
*/
-#include <bfd.h>
+#include "bfd.h"
+#include "libiberty.h"
#include "bucomm.h"
#include "coff/internal.h"
static struct coff_ptr_struct *rawsyms;
static int rawcount;
static bfd *abfd;
-extern char *xcalloc ();
+
#define PTR_SIZE 4
#define SHORT_SIZE 2
#define INT_SIZE 4
#define INDEXOF(p) ((struct coff_ptr_struct *)(p)-(rawsyms))
+static struct coff_scope *empty_scope PARAMS ((void));
+static struct coff_symbol *empty_symbol PARAMS ((void));
+static void push_scope PARAMS ((int));
+static void pop_scope PARAMS ((void));
+static void do_sections_p1 PARAMS ((struct coff_ofile *));
+static void do_sections_p2 PARAMS ((struct coff_ofile *));
+static struct coff_where *do_where PARAMS ((int));
+static struct coff_line *do_lines PARAMS ((int, char *));
+static struct coff_type *do_type PARAMS ((int));
+static struct coff_visible *do_visible PARAMS ((int));
+static int do_define PARAMS ((int, struct coff_scope *));
+static struct coff_ofile *doit PARAMS ((void));
+
static struct coff_scope *
empty_scope ()
{
if (relsize < 0)
bfd_fatal (bfd_get_filename (abfd));
if (relsize == 0)
- continue;
+ continue;
relpp = (arelent **) xmalloc (relsize);
relcount = bfd_canonicalize_reloc (abfd, section, relpp, syms);
if (relcount < 0)
/* These lines are for this function - so count them and stick them on */
int c = 0;
/* Find the linenumber of the top of the function, since coff linenumbers
- are relative to the start of the function. */
+ are relative to the start of the function. */
int start_line = rawsyms[i + 3].u.auxent.x_sym.x_misc.x_lnsz.x_lnno;
l++;
int i;
int infile = 0;
struct coff_ofile *head =
- (struct coff_ofile *) xmalloc (sizeof (struct coff_ofile));
+ (struct coff_ofile *) xmalloc (sizeof (struct coff_ofile));
ofile = head;
head->source_head = 0;
head->source_tail = 0;