aboutsummaryrefslogtreecommitdiff
path: root/gdb/dbxread.c
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>1999-07-07 20:19:36 +0000
committerJason Molenda <jmolenda@apple.com>1999-07-07 20:19:36 +0000
commitc5aa993b1f4add48fbdc6cc3117059f616e49875 (patch)
treec809d06515a34428cc8df5f758fbc1b6117d4c30 /gdb/dbxread.c
parent3a4b77d8bee950afce6f9702aa65dc0e60817a82 (diff)
downloadgdb-c5aa993b1f4add48fbdc6cc3117059f616e49875.zip
gdb-c5aa993b1f4add48fbdc6cc3117059f616e49875.tar.gz
gdb-c5aa993b1f4add48fbdc6cc3117059f616e49875.tar.bz2
import gdb-1999-07-07 post reformat
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r--gdb/dbxread.c700
1 files changed, 356 insertions, 344 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index e61bef9..285d154 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -2,21 +2,22 @@
Copyright 1986, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 1998
Free Software Foundation, Inc.
-This file is part of GDB.
+ This file is part of GDB.
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
/* This module provides three functions: dbx_symfile_init,
which initializes to read a symbol file; dbx_new_init, which
@@ -48,7 +49,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "command.h"
#include "target.h"
#include "gdbcore.h" /* for bfd stuff */
-#include "libaout.h" /* FIXME Secret internal BFD stuff for a.out */
+#include "libaout.h" /* FIXME Secret internal BFD stuff for a.out */
#include "symfile.h"
#include "objfiles.h"
#include "buildsym.h"
@@ -60,8 +61,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "aout/aout64.h"
#include "aout/stab_gnu.h" /* We always use GNU stabs, not native, now */
-
+
/* This macro returns the size field of a minimal symbol, which is normally
stored in the "info" field. The macro can be overridden for specific
targets (e.g. MIPS16) that use the info field for other purposes. */
@@ -73,32 +74,33 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* We put a pointer to this structure in the read_symtab_private field
of the psymtab. */
-struct symloc {
+struct symloc
+ {
- /* Offset within the file symbol table of first local symbol for this
- file. */
+ /* Offset within the file symbol table of first local symbol for this
+ file. */
- int ldsymoff;
+ int ldsymoff;
- /* Length (in bytes) of the section of the symbol table devoted to
- this file's symbols (actually, the section bracketed may contain
- more than just this file's symbols). If ldsymlen is 0, the only
- reason for this thing's existence is the dependency list. Nothing
- else will happen when it is read in. */
+ /* Length (in bytes) of the section of the symbol table devoted to
+ this file's symbols (actually, the section bracketed may contain
+ more than just this file's symbols). If ldsymlen is 0, the only
+ reason for this thing's existence is the dependency list. Nothing
+ else will happen when it is read in. */
- int ldsymlen;
+ int ldsymlen;
- /* The size of each symbol in the symbol file (in external form). */
+ /* The size of each symbol in the symbol file (in external form). */
- int symbol_size;
+ int symbol_size;
- /* Further information needed to locate the symbols if they are in
- an ELF file. */
+ /* Further information needed to locate the symbols if they are in
+ an ELF file. */
- int symbol_offset;
- int string_offset;
- int file_string_offset;
-};
+ int symbol_offset;
+ int string_offset;
+ int file_string_offset;
+ };
#define LDSYMOFF(p) (((struct symloc *)((p)->read_symtab_private))->ldsymoff)
#define LDSYMLEN(p) (((struct symloc *)((p)->read_symtab_private))->ldsymlen)
@@ -107,8 +109,8 @@ struct symloc {
#define SYMBOL_OFFSET(p) (SYMLOC(p)->symbol_offset)
#define STRING_OFFSET(p) (SYMLOC(p)->string_offset)
#define FILE_STRING_OFFSET(p) (SYMLOC(p)->file_string_offset)
-
+
/* Remember what we deduced to be the source language of this psymtab. */
static enum language psymtab_language = language_unknown;
@@ -170,32 +172,32 @@ static int has_line_numbers;
/* Complaints about the symbols we have encountered. */
-struct complaint lbrac_complaint =
- {"bad block start address patched", 0, 0};
+struct complaint lbrac_complaint =
+{"bad block start address patched", 0, 0};
struct complaint string_table_offset_complaint =
- {"bad string table offset in symbol %d", 0, 0};
+{"bad string table offset in symbol %d", 0, 0};
struct complaint unknown_symtype_complaint =
- {"unknown symbol type %s", 0, 0};
+{"unknown symbol type %s", 0, 0};
struct complaint unknown_symchar_complaint =
- {"unknown symbol descriptor `%c'", 0, 0};
+{"unknown symbol descriptor `%c'", 0, 0};
struct complaint lbrac_rbrac_complaint =
- {"block start larger than block end", 0, 0};
+{"block start larger than block end", 0, 0};
struct complaint lbrac_unmatched_complaint =
- {"unmatched N_LBRAC before symtab pos %d", 0, 0};
+{"unmatched N_LBRAC before symtab pos %d", 0, 0};
struct complaint lbrac_mismatch_complaint =
- {"N_LBRAC/N_RBRAC symbol mismatch at symtab pos %d", 0, 0};
+{"N_LBRAC/N_RBRAC symbol mismatch at symtab pos %d", 0, 0};
struct complaint repeated_header_complaint =
- {"\"repeated\" header file %s not previously seen, at symtab pos %d", 0, 0};
+{"\"repeated\" header file %s not previously seen, at symtab pos %d", 0, 0};
struct complaint unclaimed_bincl_complaint =
- {"N_BINCL %s not in entries for any file, at symtab pos %d", 0, 0};
+{"N_BINCL %s not in entries for any file, at symtab pos %d", 0, 0};
/* find_text_range --- find start and end of loadable code sections
@@ -207,12 +209,12 @@ struct complaint unclaimed_bincl_complaint =
table, in some cases. */
static void
-find_text_range (bfd *sym_bfd, struct objfile *objfile)
+find_text_range (bfd * sym_bfd, struct objfile *objfile)
{
asection *sec;
int found_any = 0;
CORE_ADDR start, end;
-
+
for (sec = sym_bfd->sections; sec; sec = sec->next)
if (bfd_get_section_flags (sym_bfd, sec) & SEC_CODE)
{
@@ -221,8 +223,10 @@ find_text_range (bfd *sym_bfd, struct objfile *objfile)
if (found_any)
{
- if (sec_start < start) start = sec_start;
- if (sec_end > end) end = sec_end;
+ if (sec_start < start)
+ start = sec_start;
+ if (sec_end > end)
+ end = sec_end;
}
else
{
@@ -233,15 +237,15 @@ find_text_range (bfd *sym_bfd, struct objfile *objfile)
found_any = 1;
}
- if (! found_any)
+ if (!found_any)
error ("Can't find any code sections in symbol file");
DBX_TEXT_ADDR (objfile) = start;
DBX_TEXT_SIZE (objfile) = end - start;
}
+
-
/* During initial symbol readin, we need to have a structure to keep
track of which psymtabs have which bincls in them. This structure
is used during readin to setup the list of dependencies within each
@@ -263,7 +267,7 @@ static int bincls_allocated;
extern void _initialize_dbxread PARAMS ((void));
-static void
+static void
process_now PARAMS ((struct objfile *));
static void
@@ -283,7 +287,7 @@ dbx_psymtab_to_symtab_1 PARAMS ((struct partial_symtab *));
static void
read_dbx_dynamic_symtab PARAMS ((struct section_offsets *,
- struct objfile *objfile));
+ struct objfile * objfile));
static void
read_dbx_symtab PARAMS ((struct section_offsets *, struct objfile *,
@@ -293,7 +297,7 @@ static void
free_bincl_list PARAMS ((struct objfile *));
static struct partial_symtab *
-find_corresponding_bincl_psymtab PARAMS ((char *, int));
+ find_corresponding_bincl_psymtab PARAMS ((char *, int));
static void
add_bincl_to_list PARAMS ((struct partial_symtab *, char *, int));
@@ -302,7 +306,7 @@ static void
init_bincl_list PARAMS ((int, struct objfile *));
static char *
-dbx_next_symbol_text PARAMS ((struct objfile *));
+ dbx_next_symbol_text PARAMS ((struct objfile *));
static void
fill_symbuf PARAMS ((bfd *));
@@ -338,7 +342,7 @@ free_header_files ()
{
if (this_object_header_files)
{
- free ((PTR)this_object_header_files);
+ free ((PTR) this_object_header_files);
this_object_header_files = NULL;
}
n_allocated_this_object_header_files = 0;
@@ -365,7 +369,7 @@ add_this_object_header_file (i)
n_allocated_this_object_header_files *= 2;
this_object_header_files
= (int *) xrealloc ((char *) this_object_header_files,
- n_allocated_this_object_header_files * sizeof (int));
+ n_allocated_this_object_header_files * sizeof (int));
}
this_object_header_files[n_this_object_header_files++] = i;
@@ -438,7 +442,7 @@ add_new_header_file (name, instance)
i = N_HEADER_FILES (current_objfile)++;
hfile = HEADER_FILES (current_objfile) + i;
- hfile->name = savestring (name, strlen(name));
+ hfile->name = savestring (name, strlen (name));
hfile->instance = instance;
hfile->length = 10;
hfile->vector
@@ -461,7 +465,7 @@ explicit_lookup_type (real_filenum, index)
f->vector = (struct type **)
xrealloc (f->vector, f->length * sizeof (struct type *));
memset (&f->vector[f->length / 2],
- '\0', f->length * sizeof (struct type *) / 2);
+ '\0', f->length * sizeof (struct type *) / 2);
}
return &f->vector[index];
}
@@ -508,8 +512,8 @@ record_minimal_symbol (name, address, type, objfile)
break;
case N_SETV:
/* I don't think this type actually exists; since a N_SETV is the result
- of going over many .o files, it doesn't make sense to have one
- file local. */
+ of going over many .o files, it doesn't make sense to have one
+ file local. */
ms_type = mst_file_data;
section = SECT_OFF_DATA;
bfd_section = DBX_DATA_SECTION (objfile);
@@ -527,9 +531,9 @@ record_minimal_symbol (name, address, type, objfile)
ms_type = mst_file_data;
/* Check for __DYNAMIC, which is used by Sun shared libraries.
- Record it as global even if it's local, not global, so
- lookup_minimal_symbol can find it. We don't check symbol_leading_char
- because for SunOS4 it always is '_'. */
+ Record it as global even if it's local, not global, so
+ lookup_minimal_symbol can find it. We don't check symbol_leading_char
+ because for SunOS4 it always is '_'. */
if (name[8] == 'C' && STREQ ("__DYNAMIC", name))
ms_type = mst_data;
@@ -554,7 +558,7 @@ record_minimal_symbol (name, address, type, objfile)
section = -1;
bfd_section = NULL;
break;
- }
+ }
if ((ms_type == mst_file_text || ms_type == mst_text)
&& address < lowest_text_address)
@@ -578,7 +582,7 @@ static void
dbx_symfile_read (objfile, section_offsets, mainline)
struct objfile *objfile;
struct section_offsets *section_offsets;
- int mainline; /* FIXME comments above */
+ int mainline; /* FIXME comments above */
{
bfd *sym_bfd;
int val;
@@ -670,7 +674,7 @@ dbx_new_init (ignore)
be called unless this is an a.out (or very similar) file.
FIXME, there should be a cleaner peephole into the BFD environment here. */
-#define DBX_STRINGTAB_SIZE_SIZE sizeof(long) /* FIXME */
+#define DBX_STRINGTAB_SIZE_SIZE sizeof(long) /* FIXME */
static void
dbx_symfile_init (objfile)
@@ -684,7 +688,7 @@ dbx_symfile_init (objfile)
/* Allocate struct to keep track of the symfile */
objfile->sym_stab_info = (struct dbx_symfile_info *)
- xmmalloc (objfile -> md, sizeof (struct dbx_symfile_info));
+ xmmalloc (objfile->md, sizeof (struct dbx_symfile_info));
memset ((PTR) objfile->sym_stab_info, 0, sizeof (struct dbx_symfile_info));
DBX_TEXT_SECTION (objfile) = bfd_get_section_by_name (sym_bfd, ".text");
@@ -698,7 +702,7 @@ dbx_symfile_init (objfile)
/* FIXME POKING INSIDE BFD DATA STRUCTURES */
DBX_SYMFILE_INFO (objfile)->stab_section_info = NULL;
-
+
text_sect = bfd_get_section_by_name (sym_bfd, ".text");
if (!text_sect)
error ("Can't find .text section in symbol file");
@@ -726,8 +730,8 @@ dbx_symfile_init (objfile)
if (STRING_TABLE_OFFSET == 0)
{
/* It appears that with the existing bfd code, STRING_TABLE_OFFSET
- will never be zero, even when there is no string table. This
- would appear to be a bug in bfd. */
+ will never be zero, even when there is no string table. This
+ would appear to be a bug in bfd. */
DBX_STRINGTAB_SIZE (objfile) = 0;
DBX_STRINGTAB (objfile) = NULL;
}
@@ -736,7 +740,7 @@ dbx_symfile_init (objfile)
val = bfd_seek (sym_bfd, STRING_TABLE_OFFSET, SEEK_SET);
if (val < 0)
perror_with_name (name);
-
+
memset ((PTR) size_temp, 0, sizeof (size_temp));
val = bfd_read ((PTR) size_temp, sizeof (size_temp), 1, sym_bfd);
if (val < 0)
@@ -761,19 +765,19 @@ dbx_symfile_init (objfile)
bfd can't tell us there is no string table, the sanity checks may
or may not catch this. */
DBX_STRINGTAB_SIZE (objfile) = bfd_h_get_32 (sym_bfd, size_temp);
-
+
if (DBX_STRINGTAB_SIZE (objfile) < sizeof (size_temp)
|| DBX_STRINGTAB_SIZE (objfile) > bfd_get_size (sym_bfd))
error ("ridiculous string table size (%d bytes).",
DBX_STRINGTAB_SIZE (objfile));
-
+
DBX_STRINGTAB (objfile) =
- (char *) obstack_alloc (&objfile -> psymbol_obstack,
+ (char *) obstack_alloc (&objfile->psymbol_obstack,
DBX_STRINGTAB_SIZE (objfile));
OBJSTAT (objfile, sz_strtab += DBX_STRINGTAB_SIZE (objfile));
-
+
/* Now read in the string table in one big gulp. */
-
+
val = bfd_seek (sym_bfd, STRING_TABLE_OFFSET, SEEK_SET);
if (val < 0)
perror_with_name (name);
@@ -803,17 +807,17 @@ dbx_symfile_finish (objfile)
while (--i >= 0)
{
- free (hfiles [i].name);
- free (hfiles [i].vector);
+ free (hfiles[i].name);
+ free (hfiles[i].vector);
}
free ((PTR) hfiles);
}
- mfree (objfile -> md, objfile->sym_stab_info);
+ mfree (objfile->md, objfile->sym_stab_info);
}
free_header_files ();
}
-
+
/* Buffer for reading the symbol table entries. */
static struct external_nlist symbuf[4096];
static int symbuf_idx;
@@ -822,11 +826,11 @@ static int symbuf_end;
/* cont_elem is used for continuing information in cfront.
It saves information about which types need to be fixed up and
completed after all the stabs are read. */
-struct cont_elem
+struct cont_elem
{
/* sym and stabsstring for continuing information in cfront */
- struct symbol * sym;
- char * stabs;
+ struct symbol *sym;
+ char *stabs;
/* state dependancies (statics that must be preserved) */
int sym_idx;
int sym_end;
@@ -834,11 +838,11 @@ struct cont_elem
int (*func) PARAMS ((struct objfile *, struct symbol *, char *));
/* other state dependancies include:
(assumption is that these will not change since process_now FIXME!!)
- stringtab_global
- n_stabs
- objfile
- symfile_bfd */
-};
+ stringtab_global
+ n_stabs
+ objfile
+ symfile_bfd */
+ };
static struct cont_elem *cont_list = 0;
static int cont_limit = 0;
@@ -846,24 +850,24 @@ static int cont_count = 0;
/* Arrange for function F to be called with arguments SYM and P later
in the stabs reading process. */
-void
+void
process_later (sym, p, f)
- struct symbol *sym;
- char *p;
- int (*f) PARAMS ((struct objfile *, struct symbol *, char *));
+ struct symbol *sym;
+ char *p;
+ int (*f) PARAMS ((struct objfile *, struct symbol *, char *));
{
/* Allocate more space for the deferred list. */
if (cont_count >= cont_limit - 1)
{
- cont_limit += 32; /* chunk size */
+ cont_limit += 32; /* chunk size */
cont_list
- = (struct cont_elem *) xrealloc (cont_list,
- (cont_limit
- * sizeof (struct cont_elem)));
+ = (struct cont_elem *) xrealloc (cont_list,
+ (cont_limit
+ * sizeof (struct cont_elem)));
if (!cont_list)
- error ("Virtual memory exhausted\n");
+ error ("Virtual memory exhausted\n");
}
/* Save state variables so we can process these stabs later. */
@@ -878,9 +882,9 @@ process_later (sym, p, f)
/* Call deferred funtions in CONT_LIST. */
-static void
-process_now (objfile)
- struct objfile *objfile;
+static void
+process_now (objfile)
+ struct objfile *objfile;
{
int i;
int save_symbuf_idx;
@@ -902,8 +906,8 @@ process_now (objfile)
{
/* Restore the state for this deferred stab. */
symbuf_idx = cont_list[i].sym_idx;
- symbuf_end = cont_list[i].sym_end;
- symnum = cont_list[i].symnum;
+ symbuf_end = cont_list[i].sym_end;
+ symnum = cont_list[i].symnum;
sym = cont_list[i].sym;
stabs = cont_list[i].stabs;
func = cont_list[i].func;
@@ -974,7 +978,7 @@ fill_symbuf (sym_bfd)
count = sizeof (symbuf);
}
- nbytes = bfd_read ((PTR)symbuf, count, 1, sym_bfd);
+ nbytes = bfd_read ((PTR) symbuf, count, 1, sym_bfd);
if (nbytes < 0)
perror_with_name (bfd_get_filename (sym_bfd));
else if (nbytes == 0)
@@ -1022,7 +1026,7 @@ dbx_next_symbol_text (objfile)
fill_symbuf (symfile_bfd);
symnum++;
- INTERNALIZE_SYMBOL(nlist, &symbuf[symbuf_idx], symfile_bfd);
+ INTERNALIZE_SYMBOL (nlist, &symbuf[symbuf_idx], symfile_bfd);
OBJSTAT (objfile, n_stabs++);
symbuf_idx++;
@@ -1040,7 +1044,7 @@ init_bincl_list (number, objfile)
{
bincls_allocated = number;
next_bincl = bincl_list = (struct header_file_location *)
- xmmalloc (objfile -> md, bincls_allocated * sizeof(struct header_file_location));
+ xmmalloc (objfile->md, bincls_allocated * sizeof (struct header_file_location));
}
/* Add a bincl to the list. */
@@ -1056,8 +1060,8 @@ add_bincl_to_list (pst, name, instance)
int offset = next_bincl - bincl_list;
bincls_allocated *= 2;
bincl_list = (struct header_file_location *)
- xmrealloc (pst->objfile->md, (char *)bincl_list,
- bincls_allocated * sizeof (struct header_file_location));
+ xmrealloc (pst->objfile->md, (char *) bincl_list,
+ bincls_allocated * sizeof (struct header_file_location));
next_bincl = bincl_list + offset;
}
next_bincl->pst = pst;
@@ -1091,7 +1095,7 @@ static void
free_bincl_list (objfile)
struct objfile *objfile;
{
- mfree (objfile -> md, (PTR)bincl_list);
+ mfree (objfile->md, (PTR) bincl_list);
bincls_allocated = 0;
}
@@ -1193,7 +1197,7 @@ read_dbx_dynamic_symtab (section_offsets, objfile)
do_cleanups (back_to);
return;
}
-
+
dynrels = (arelent **) xmalloc (dynrel_size);
make_cleanup (free, dynrels);
@@ -1210,7 +1214,7 @@ read_dbx_dynamic_symtab (section_offsets, objfile)
{
arelent *rel = *relptr;
CORE_ADDR address =
- rel->address + ANOFFSET (section_offsets, SECT_OFF_DATA);
+ rel->address + ANOFFSET (section_offsets, SECT_OFF_DATA);
switch (bfd_get_arch (abfd))
{
@@ -1283,7 +1287,7 @@ read_dbx_symtab (section_offsets, objfile, text_addr, text_size)
next_file_string_table_offset = 0;
stringtab_global = DBX_STRINGTAB (objfile);
-
+
pst = (struct partial_symtab *) 0;
includes_allocated = 30;
@@ -1303,7 +1307,7 @@ read_dbx_symtab (section_offsets, objfile, text_addr, text_size)
last_source_file = NULL;
- lowest_text_address = (CORE_ADDR)-1;
+ lowest_text_address = (CORE_ADDR) - 1;
symfile_bfd = objfile->obfd; /* For next_text_symbol */
abfd = objfile->obfd;
@@ -1315,7 +1319,7 @@ read_dbx_symtab (section_offsets, objfile, text_addr, text_size)
for (symnum = 0; symnum < DBX_SYMCOUNT (objfile); symnum++)
{
/* Get the symbol for this run and pull out some info */
- QUIT; /* allow this to be interruptable */
+ QUIT; /* allow this to be interruptable */
if (symbuf_idx == symbuf_end)
fill_symbuf (abfd);
bufp = &symbuf[symbuf_idx++];
@@ -1337,13 +1341,13 @@ read_dbx_symtab (section_offsets, objfile, text_addr, text_size)
like duplicating code, I will do my penance here, and
describe the code which is duplicated:
- *) The assignment to namestring.
- *) The call to strchr.
- *) The addition of a partial symbol the the two partial
- symbol lists. This last is a large section of code, so
- I've imbedded it in the following macro.
- */
-
+ *) The assignment to namestring.
+ *) The call to strchr.
+ *) The addition of a partial symbol the the two partial
+ symbol lists. This last is a large section of code, so
+ I've imbedded it in the following macro.
+ */
+
/* Set namestring based on nlist. If the string table index is invalid,
give a fake name, and print a single error message per symbol file read,
rather than abort the symbol reading or flood the user with messages. */
@@ -1371,24 +1375,24 @@ read_dbx_symtab (section_offsets, objfile, text_addr, text_size)
}
/* If there's stuff to be cleaned up, clean it up. */
- if (DBX_SYMCOUNT (objfile) > 0 /* We have some syms */
+ if (DBX_SYMCOUNT (objfile) > 0 /* We have some syms */
/*FIXME, does this have a bug at start address 0? */
&& last_o_file_start
- && objfile -> ei.entry_point < nlist.n_value
- && objfile -> ei.entry_point >= last_o_file_start)
+ && objfile->ei.entry_point < nlist.n_value
+ && objfile->ei.entry_point >= last_o_file_start)
{
- objfile -> ei.entry_file_lowpc = last_o_file_start;
- objfile -> ei.entry_file_highpc = nlist.n_value;
+ objfile->ei.entry_file_lowpc = last_o_file_start;
+ objfile->ei.entry_file_highpc = nlist.n_value;
}
if (pst)
{
/* Don't set pst->texthigh lower than it already is. */
CORE_ADDR text_end =
- (lowest_text_address == (CORE_ADDR)-1
- ? (text_addr + section_offsets->offsets[SECT_OFF_TEXT])
- : lowest_text_address)
- + text_size;
+ (lowest_text_address == (CORE_ADDR) - 1
+ ? (text_addr + section_offsets->offsets[SECT_OFF_TEXT])
+ : lowest_text_address)
+ + text_size;
end_psymtab (pst, psymtab_include_list, includes_used,
symnum * symbol_size,
@@ -1419,17 +1423,17 @@ start_psymtab (objfile, section_offsets,
struct partial_symbol **static_syms;
{
struct partial_symtab *result =
- start_psymtab_common(objfile, section_offsets,
- filename, textlow, global_syms, static_syms);
+ start_psymtab_common (objfile, section_offsets,
+ filename, textlow, global_syms, static_syms);
result->read_symtab_private = (char *)
- obstack_alloc (&objfile -> psymbol_obstack, sizeof (struct symloc));
- LDSYMOFF(result) = ldsymoff;
+ obstack_alloc (&objfile->psymbol_obstack, sizeof (struct symloc));
+ LDSYMOFF (result) = ldsymoff;
result->read_symtab = dbx_psymtab_to_symtab;
- SYMBOL_SIZE(result) = symbol_size;
- SYMBOL_OFFSET(result) = symbol_table_offset;
- STRING_OFFSET(result) = string_table_offset;
- FILE_STRING_OFFSET(result) = file_string_table_offset;
+ SYMBOL_SIZE (result) = symbol_size;
+ SYMBOL_OFFSET (result) = symbol_table_offset;
+ STRING_OFFSET (result) = string_table_offset;
+ FILE_STRING_OFFSET (result) = file_string_table_offset;
/* If we're handling an ELF file, drag some section-relocation info
for this source file out of the ELF symbol table, to compensate for
@@ -1450,7 +1454,7 @@ start_psymtab (objfile, section_offsets,
struct partial_symtab *
end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
- capping_text, dependency_list, number_dependencies, textlow_not_set)
+ capping_text, dependency_list, number_dependencies, textlow_not_set)
struct partial_symtab *pst;
char **include_list;
int num_includes;
@@ -1461,10 +1465,10 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
int textlow_not_set;
{
int i;
- struct objfile *objfile = pst -> objfile;
+ struct objfile *objfile = pst->objfile;
if (capping_symbol_offset != -1)
- LDSYMLEN(pst) = capping_symbol_offset - LDSYMOFF(pst);
+ LDSYMLEN (pst) = capping_symbol_offset - LDSYMOFF (pst);
pst->texthigh = capping_text;
#ifdef SOFUN_ADDRESS_MAYBE_MISSING
@@ -1496,7 +1500,7 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
p = alloca (n + 2);
strncpy (p, last_function_name, n);
p[n] = 0;
-
+
minsym = lookup_minimal_symbol (p, pst->filename, objfile);
if (minsym == NULL)
{
@@ -1522,21 +1526,21 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
struct partial_symtab *p1;
/* If we know our own starting text address, then walk through all other
- psymtabs for this objfile, and if any didn't know their ending text
- address, set it to our starting address. Take care to not set our
- own ending address to our starting address, nor to set addresses on
- `dependency' files that have both textlow and texthigh zero. */
+ psymtabs for this objfile, and if any didn't know their ending text
+ address, set it to our starting address. Take care to not set our
+ own ending address to our starting address, nor to set addresses on
+ `dependency' files that have both textlow and texthigh zero. */
ALL_OBJFILE_PSYMTABS (objfile, p1)
- {
- if (p1->texthigh == 0 && p1->textlow != 0 && p1 != pst)
- {
- p1->texthigh = pst->textlow;
- /* if this file has only data, then make textlow match texthigh */
- if (p1->textlow == 0)
- p1->textlow = p1->texthigh;
- }
- }
+ {
+ if (p1->texthigh == 0 && p1->textlow != 0 && p1 != pst)
+ {
+ p1->texthigh = pst->textlow;
+ /* if this file has only data, then make textlow match texthigh */
+ if (p1->textlow == 0)
+ p1->textlow = p1->texthigh;
+ }
+ }
}
/* End of kludge for patching Solaris textlow and texthigh. */
@@ -1552,9 +1556,9 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
{
pst->dependencies = (struct partial_symtab **)
obstack_alloc (&objfile->psymbol_obstack,
- number_dependencies * sizeof (struct partial_symtab *));
+ number_dependencies * sizeof (struct partial_symtab *));
memcpy (pst->dependencies, dependency_list,
- number_dependencies * sizeof (struct partial_symtab *));
+ number_dependencies * sizeof (struct partial_symtab *));
}
else
pst->dependencies = 0;
@@ -1562,19 +1566,19 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
for (i = 0; i < num_includes; i++)
{
struct partial_symtab *subpst =
- allocate_psymtab (include_list[i], objfile);
+ allocate_psymtab (include_list[i], objfile);
subpst->section_offsets = pst->section_offsets;
subpst->read_symtab_private =
- (char *) obstack_alloc (&objfile->psymbol_obstack,
- sizeof (struct symloc));
- LDSYMOFF(subpst) =
- LDSYMLEN(subpst) =
- subpst->textlow =
- subpst->texthigh = 0;
+ (char *) obstack_alloc (&objfile->psymbol_obstack,
+ sizeof (struct symloc));
+ LDSYMOFF (subpst) =
+ LDSYMLEN (subpst) =
+ subpst->textlow =
+ subpst->texthigh = 0;
/* We could save slight bits of space by only making one of these,
- shared by the entire set of include files. FIXME-someday. */
+ shared by the entire set of include files. FIXME-someday. */
subpst->dependencies = (struct partial_symtab **)
obstack_alloc (&objfile->psymbol_obstack,
sizeof (struct partial_symtab *));
@@ -1583,8 +1587,8 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
subpst->globals_offset =
subpst->n_global_syms =
- subpst->statics_offset =
- subpst->n_static_syms = 0;
+ subpst->statics_offset =
+ subpst->n_static_syms = 0;
subpst->readin = 0;
subpst->symtab = 0;
@@ -1605,17 +1609,17 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
&& has_line_numbers == 0)
{
/* Throw away this psymtab, it's empty. We can't deallocate it, since
- it is on the obstack, but we can forget to chain it on the list. */
+ it is on the obstack, but we can forget to chain it on the list. */
/* Empty psymtabs happen as a result of header files which don't have
- any symbols in them. There can be a lot of them. But this check
- is wrong, in that a psymtab with N_SLINE entries but nothing else
- is not empty, but we don't realize that. Fixing that without slowing
- things down might be tricky. */
+ any symbols in them. There can be a lot of them. But this check
+ is wrong, in that a psymtab with N_SLINE entries but nothing else
+ is not empty, but we don't realize that. Fixing that without slowing
+ things down might be tricky. */
discard_psymtab (pst);
/* Indicate that psymtab was thrown away. */
- pst = (struct partial_symtab *)NULL;
+ pst = (struct partial_symtab *) NULL;
}
return pst;
}
@@ -1626,14 +1630,14 @@ dbx_psymtab_to_symtab_1 (pst)
{
struct cleanup *old_chain;
int i;
-
+
if (!pst)
return;
if (pst->readin)
{
fprintf_unfiltered (gdb_stderr, "Psymtab for %s already read in. Shouldn't happen.\n",
- pst->filename);
+ pst->filename);
return;
}
@@ -1649,13 +1653,13 @@ dbx_psymtab_to_symtab_1 (pst)
fputs_filtered ("and ", gdb_stdout);
wrap_here ("");
printf_filtered ("%s...", pst->dependencies[i]->filename);
- wrap_here (""); /* Flush output */
+ wrap_here (""); /* Flush output */
gdb_flush (gdb_stdout);
}
dbx_psymtab_to_symtab_1 (pst->dependencies[i]);
}
- if (LDSYMLEN(pst)) /* Otherwise it's a dummy */
+ if (LDSYMLEN (pst)) /* Otherwise it's a dummy */
{
/* Init stuff necessary for reading in symbols */
stabsread_init ();
@@ -1690,14 +1694,14 @@ dbx_psymtab_to_symtab (pst)
if (pst->readin)
{
fprintf_unfiltered (gdb_stderr, "Psymtab for %s already read in. Shouldn't happen.\n",
- pst->filename);
+ pst->filename);
return;
}
- if (LDSYMLEN(pst) || pst->number_of_dependencies)
+ if (LDSYMLEN (pst) || pst->number_of_dependencies)
{
/* Print the message now, before reading the string table,
- to avoid disconcerting pauses. */
+ to avoid disconcerting pauses. */
if (info_verbose)
{
printf_filtered ("Reading in symbols for %s...", pst->filename);
@@ -1721,7 +1725,7 @@ dbx_psymtab_to_symtab (pst)
}
/* Read in a defined section of a specific object file's symbols. */
-
+
static void
read_ofile_symtab (pst)
struct partial_symtab *pst;
@@ -1740,8 +1744,8 @@ read_ofile_symtab (pst)
struct section_offsets *section_offsets;
objfile = pst->objfile;
- sym_offset = LDSYMOFF(pst);
- sym_size = LDSYMLEN(pst);
+ sym_offset = LDSYMOFF (pst);
+ sym_size = LDSYMLEN (pst);
text_offset = pst->textlow;
text_size = pst->texthigh - pst->textlow;
section_offsets = pst->section_offsets;
@@ -1762,7 +1766,7 @@ read_ofile_symtab (pst)
Detecting this in read_dbx_symtab
would slow down initial readin, so we look for it here instead. */
- if (!processing_acc_compilation && sym_offset >= (int)symbol_size)
+ if (!processing_acc_compilation && sym_offset >= (int) symbol_size)
{
bfd_seek (symfile_bfd, sym_offset - symbol_size, SEEK_CUR);
fill_symbuf (abfd);
@@ -1788,7 +1792,7 @@ read_ofile_symtab (pst)
}
/* Try to select a C++ demangling based on the compilation unit
- producer. */
+ producer. */
if (processing_gcc_compilation)
{
@@ -1801,8 +1805,8 @@ read_ofile_symtab (pst)
else
{
/* The N_SO starting this symtab is the first symbol, so we
- better not check the symbol before it. I'm not this can
- happen, but it doesn't hurt to check for it. */
+ better not check the symbol before it. I'm not this can
+ happen, but it doesn't hurt to check for it. */
bfd_seek (symfile_bfd, sym_offset, SEEK_CUR);
processing_gcc_compilation = 0;
}
@@ -1811,7 +1815,7 @@ read_ofile_symtab (pst)
fill_symbuf (abfd);
bufp = &symbuf[symbuf_idx];
if (bfd_h_get_8 (abfd, bufp->e_type) != N_SO)
- error("First symbol in segment of executable not a source symbol");
+ error ("First symbol in segment of executable not a source symbol");
max_symnum = sym_size / symbol_size;
@@ -1821,7 +1825,7 @@ read_ofile_symtab (pst)
{
QUIT; /* Allow this to be interruptable */
if (symbuf_idx == symbuf_end)
- fill_symbuf(abfd);
+ fill_symbuf (abfd);
bufp = &symbuf[symbuf_idx++];
INTERNALIZE_SYMBOL (nlist, bufp, abfd);
OBJSTAT (objfile, n_stabs++);
@@ -1830,10 +1834,11 @@ read_ofile_symtab (pst)
SET_NAMESTRING ();
- if (type & N_STAB) {
+ if (type & N_STAB)
+ {
process_one_symbol (type, nlist.n_desc, nlist.n_value,
namestring, section_offsets, objfile);
- }
+ }
/* We skip checking for a new .o or -l file; that should never
happen in this routine. */
else if (type == N_TEXT)
@@ -1854,9 +1859,10 @@ read_ofile_symtab (pst)
set_demangling_style (GNU_DEMANGLING_STYLE_STRING);
}
}
- else if (type & N_EXT || type == (unsigned char)N_TEXT
- || type == (unsigned char)N_NBTEXT
- ) {
+ else if (type & N_EXT || type == (unsigned char) N_TEXT
+ || type == (unsigned char) N_NBTEXT
+ )
+ {
/* Global symbol: see if we came across a dbx defintion for
a corresponding symbol. If so, store the value. Remove
syms from the chain when their values are stored, but
@@ -1867,7 +1873,7 @@ read_ofile_symtab (pst)
be satisfied in each file as it appears. So we skip this
section. */
;
- }
+ }
}
current_objfile = NULL;
@@ -1888,12 +1894,12 @@ read_ofile_symtab (pst)
/* Process items which we had to "process_later" due to dependancies
on other stabs. */
- process_now (objfile);
+ process_now (objfile);
end_stabs ();
}
-
+
/* This handles a single symbol from the symbol-file, building symbols
into a GDB symtab. It takes these arguments and an implicit argument.
@@ -1902,11 +1908,11 @@ read_ofile_symtab (pst)
VALU is the value field of the ".stab" entry.
NAME is the symbol name, in our address space.
SECTION_OFFSETS is a set of amounts by which the sections of this object
- file were relocated when it was loaded into memory.
- All symbols that refer
- to memory locations need to be offset by these amounts.
+ file were relocated when it was loaded into memory.
+ All symbols that refer
+ to memory locations need to be offset by these amounts.
OBJFILE is the object file from which we are reading symbols.
- It is used in end_symtab. */
+ It is used in end_symtab. */
void
process_one_symbol (type, desc, valu, name, section_offsets, objfile)
@@ -1951,12 +1957,12 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
/* Something is wrong if we see real data before
seeing a source file name. */
- if (last_source_file == NULL && type != (unsigned char)N_SO)
+ if (last_source_file == NULL && type != (unsigned char) N_SO)
{
/* Ignore any symbols which appear before an N_SO symbol.
- Currently no one puts symbols there, but we should deal
- gracefully with the case. A complain()t might be in order,
- but this should not be an error (). */
+ Currently no one puts symbols there, but we should deal
+ gracefully with the case. A complain()t might be in order,
+ but this should not be an error (). */
return;
}
@@ -1994,7 +2000,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
case N_LBRAC:
/* This "symbol" just indicates the start of an inner lexical
- context within a function. */
+ context within a function. */
/* Ignore extra outermost context from SunPRO cc and acc. */
if (n_opt_found && desc == 1)
@@ -2009,18 +2015,19 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
valu += last_source_start_addr;
#ifdef SUN_FIXED_LBRAC_BUG
- if (!SUN_FIXED_LBRAC_BUG && valu < last_pc_address) {
- /* Patch current LBRAC pc value to match last handy pc value */
- complain (&lbrac_complaint);
- valu = last_pc_address;
- }
+ if (!SUN_FIXED_LBRAC_BUG && valu < last_pc_address)
+ {
+ /* Patch current LBRAC pc value to match last handy pc value */
+ complain (&lbrac_complaint);
+ valu = last_pc_address;
+ }
#endif
new = push_context (desc, valu);
break;
case N_RBRAC:
/* This "symbol" just indicates the end of an inner lexical
- context that was started with N_LBRAC. */
+ context that was started with N_LBRAC. */
/* Ignore extra outermost context from SunPRO cc and acc. */
if (n_opt_found && desc == 1)
@@ -2034,26 +2041,26 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
N_SO, the linker did not relocate them (sigh). */
valu += last_source_start_addr;
- new = pop_context();
+ new = pop_context ();
if (desc != new->depth)
complain (&lbrac_mismatch_complaint, symnum);
/* Some compilers put the variable decls inside of an
LBRAC/RBRAC block. This macro should be nonzero if this
- is true. DESC is N_DESC from the N_RBRAC symbol.
- GCC_P is true if we've detected the GCC_COMPILED_SYMBOL
- or the GCC2_COMPILED_SYMBOL. */
+ is true. DESC is N_DESC from the N_RBRAC symbol.
+ GCC_P is true if we've detected the GCC_COMPILED_SYMBOL
+ or the GCC2_COMPILED_SYMBOL. */
#if !defined (VARIABLES_INSIDE_BLOCK)
#define VARIABLES_INSIDE_BLOCK(desc, gcc_p) 0
#endif
/* Can only use new->locals as local symbols here if we're in
gcc or on a machine that puts them before the lbrack. */
- if (!VARIABLES_INSIDE_BLOCK(desc, processing_gcc_compilation))
+ if (!VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
local_symbols = new->locals;
if (context_stack_depth
- > !VARIABLES_INSIDE_BLOCK(desc, processing_gcc_compilation))
+ > !VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
{
/* This is not the outermost LBRAC...RBRAC pair in the function,
its local symbols preceded it, and are the ones just recovered
@@ -2064,7 +2071,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
if (local_symbols != NULL)
{
/* Muzzle a compiler bug that makes end < start. (which
- compilers? Is this ever harmful?). */
+ compilers? Is this ever harmful?). */
if (new->start_addr > valu)
{
complain (&lbrac_rbrac_complaint);
@@ -2084,7 +2091,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
within_function = 0;
}
- if (VARIABLES_INSIDE_BLOCK(desc, processing_gcc_compilation))
+ if (VARIABLES_INSIDE_BLOCK (desc, processing_gcc_compilation))
/* Now pop locals of block just finished. */
local_symbols = new->locals;
break;
@@ -2098,9 +2105,9 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
case N_SO:
/* This type of symbol indicates the start of data
- for one source file.
- Finish the symbol table of the previous source file
- (if any) and start accumulating a new symbol table. */
+ for one source file.
+ Finish the symbol table of the previous source file
+ (if any) and start accumulating a new symbol table. */
/* Relocate for dynamic loading */
valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
@@ -2123,7 +2130,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
/* Check if previous symbol was also an N_SO (with some
sanity checks). If so, that one was actually the directory
name, and the current one is the real file name.
- Patch things up. */
+ Patch things up. */
if (previous_stab_code == (unsigned char) N_SO)
{
patch_subfile_names (current_subfile, name);
@@ -2134,12 +2141,12 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
}
/* Null name means this just marks the end of text for this .o file.
- Don't start a new symtab in this case. */
+ Don't start a new symtab in this case. */
if (*name == '\000')
break;
if (block_address_function_relative)
- function_start_offset = 0;
+ function_start_offset = 0;
start_stabs ();
start_symtab (name, NULL, valu);
@@ -2148,9 +2155,9 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
case N_SOL:
/* This type of symbol indicates the start of data for
- a sub-source-file, one whose contents were copied or
- included in the compilation of the main source file
- (whose name was given in the N_SO symbol.) */
+ a sub-source-file, one whose contents were copied or
+ included in the compilation of the main source file
+ (whose name was given in the N_SO symbol.) */
/* Relocate for dynamic loading */
valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
start_subfile (name, current_subfile->dirname);
@@ -2172,8 +2179,8 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
case N_SLINE:
/* This type of "symbol" really just records
- one line-number -- core-address correspondence.
- Enter it in the line list for this symbol table. */
+ one line-number -- core-address correspondence.
+ Enter it in the line list for this symbol table. */
/* Relocate for dynamic loading and for ELF acc fn-relative syms. */
valu += function_start_offset;
@@ -2192,21 +2199,21 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
common_block_end (objfile);
break;
- /* The following symbol types need to have the appropriate offset added
- to their value; then we process symbol definitions in the name. */
+ /* The following symbol types need to have the appropriate offset added
+ to their value; then we process symbol definitions in the name. */
case N_STSYM: /* Static symbol in data seg */
case N_LCSYM: /* Static symbol in BSS seg */
case N_ROSYM: /* Static symbol in Read-only data seg */
- /* HORRID HACK DEPT. However, it's Sun's furgin' fault.
- Solaris2's stabs-in-elf makes *most* symbols relative
- but leaves a few absolute (at least for Solaris 2.1 and version
- 2.0.1 of the SunPRO compiler). N_STSYM and friends sit on the fence.
- .stab "foo:S...",N_STSYM is absolute (ld relocates it)
- .stab "foo:V...",N_STSYM is relative (section base subtracted).
- This leaves us no choice but to search for the 'S' or 'V'...
- (or pass the whole section_offsets stuff down ONE MORE function
- call level, which we really don't want to do). */
+ /* HORRID HACK DEPT. However, it's Sun's furgin' fault.
+ Solaris2's stabs-in-elf makes *most* symbols relative
+ but leaves a few absolute (at least for Solaris 2.1 and version
+ 2.0.1 of the SunPRO compiler). N_STSYM and friends sit on the fence.
+ .stab "foo:S...",N_STSYM is absolute (ld relocates it)
+ .stab "foo:V...",N_STSYM is relative (section base subtracted).
+ This leaves us no choice but to search for the 'S' or 'V'...
+ (or pass the whole section_offsets stuff down ONE MORE function
+ call level, which we really don't want to do). */
{
char *p;
@@ -2235,12 +2242,17 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
}
}
/* Since it's not the kludge case, re-dispatch to the right handler. */
- switch (type) {
- case N_STSYM: goto case_N_STSYM;
- case N_LCSYM: goto case_N_LCSYM;
- case N_ROSYM: goto case_N_ROSYM;
- default: abort();
- }
+ switch (type)
+ {
+ case N_STSYM:
+ goto case_N_STSYM;
+ case N_LCSYM:
+ goto case_N_LCSYM;
+ case N_ROSYM:
+ goto case_N_ROSYM;
+ default:
+ abort ();
+ }
}
case_N_STSYM: /* Static symbol in data seg */
@@ -2250,7 +2262,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
case_N_LCSYM: /* Static symbol in BSS seg */
case N_BSLINE: /* Source line number, bss seg */
- /* N_BROWS: overlaps with N_BSLINE */
+ /* N_BROWS: overlaps with N_BSLINE */
valu += ANOFFSET (section_offsets, SECT_OFF_BSS);
goto define_a_symbol;
@@ -2263,14 +2275,14 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
goto define_a_symbol;
- /* The following symbol types we don't know how to process. Handle
- them in a "default" way, but complain to people who care. */
+ /* The following symbol types we don't know how to process. Handle
+ them in a "default" way, but complain to people who care. */
default:
case N_CATCH: /* Exception handler catcher */
case N_EHDECL: /* Exception handler name */
case N_PC: /* Global symbol in Pascal */
- case N_M2C: /* Modula-2 compilation unit */
- /* N_MOD2: overlaps with N_EHDECL */
+ case N_M2C: /* Modula-2 compilation unit */
+ /* N_MOD2: overlaps with N_EHDECL */
case N_SCOPE: /* Modula-2 scope information */
case N_ECOML: /* End common (local name) */
case N_NBTEXT: /* Gould Non-Base-Register symbols??? */
@@ -2281,8 +2293,8 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
complain (&unknown_symtype_complaint, local_hex_string (type));
/* FALLTHROUGH */
- /* The following symbol types don't need the address field relocated,
- since it is either unused, or is absolute. */
+ /* The following symbol types don't need the address field relocated,
+ since it is either unused, or is absolute. */
define_a_symbol:
case N_GSYM: /* Global variable */
case N_NSYMS: /* Number of symbols (ultrix) */
@@ -2310,7 +2322,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
#ifdef SOFUN_ADDRESS_MAYBE_MISSING
/* Deal with the SunPRO 3.0 compiler which omits the address
- from N_FUN symbols. */
+ from N_FUN symbols. */
if (type == N_FUN
&& valu == ANOFFSET (section_offsets, SECT_OFF_TEXT))
{
@@ -2331,8 +2343,8 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
if (msym == NULL)
{
/* Sun Fortran appends an underscore to the minimal
- symbol name, try again with an appended underscore
- if the minimal symbol was not found. */
+ symbol name, try again with an appended underscore
+ if the minimal symbol was not found. */
p[n] = '_';
p[n + 1] = 0;
msym = lookup_minimal_symbol (p, last_source_file,
@@ -2345,28 +2357,28 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
#ifdef SUN_FIXED_LBRAC_BUG
/* The Sun acc compiler, under SunOS4, puts out
- functions with N_GSYM or N_STSYM. The problem is
- that the address of the symbol is no good (for N_GSYM
- it doesn't even attept an address; for N_STSYM it
- puts out an address but then it gets relocated
- relative to the data segment, not the text segment).
- Currently we can't fix this up later as we do for
- some types of symbol in scan_file_globals.
- Fortunately we do have a way of finding the address -
- we know that the value in last_pc_address is either
- the one we want (if we're dealing with the first
- function in an object file), or somewhere in the
- previous function. This means that we can use the
- minimal symbol table to get the address. */
+ functions with N_GSYM or N_STSYM. The problem is
+ that the address of the symbol is no good (for N_GSYM
+ it doesn't even attept an address; for N_STSYM it
+ puts out an address but then it gets relocated
+ relative to the data segment, not the text segment).
+ Currently we can't fix this up later as we do for
+ some types of symbol in scan_file_globals.
+ Fortunately we do have a way of finding the address -
+ we know that the value in last_pc_address is either
+ the one we want (if we're dealing with the first
+ function in an object file), or somewhere in the
+ previous function. This means that we can use the
+ minimal symbol table to get the address. */
/* Starting with release 3.0, the Sun acc compiler,
- under SunOS4, puts out functions with N_FUN and a value
- of zero. This gets relocated to the start of the text
- segment of the module, which is no good either.
- Under SunOS4 we can deal with this as N_SLINE and N_SO
- entries contain valid absolute addresses.
- Release 3.0 acc also puts out N_OPT entries, which makes
- it possible to discern acc from cc or gcc. */
+ under SunOS4, puts out functions with N_FUN and a value
+ of zero. This gets relocated to the start of the text
+ segment of the module, which is no good either.
+ Under SunOS4 we can deal with this as N_SLINE and N_SO
+ entries contain valid absolute addresses.
+ Release 3.0 acc also puts out N_OPT entries, which makes
+ it possible to discern acc from cc or gcc. */
if (type == N_GSYM || type == N_STSYM
|| (type == N_FUN
@@ -2377,14 +2389,14 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
m = lookup_minimal_symbol_by_pc (last_pc_address);
if (m && STREQN (SYMBOL_NAME (m), name, l)
- && SYMBOL_NAME (m) [l] == '\0')
+ && SYMBOL_NAME (m)[l] == '\0')
/* last_pc_address was in this function */
valu = SYMBOL_VALUE (m);
- else if (m && SYMBOL_NAME (m+1)
- && STREQN (SYMBOL_NAME (m+1), name, l)
- && SYMBOL_NAME (m+1) [l] == '\0')
+ else if (m && SYMBOL_NAME (m + 1)
+ && STREQN (SYMBOL_NAME (m + 1), name, l)
+ && SYMBOL_NAME (m + 1)[l] == '\0')
/* last_pc_address was in last function */
- valu = SYMBOL_VALUE (m+1);
+ valu = SYMBOL_VALUE (m + 1);
else
/* Not found - use last_pc_address (for finish_block) */
valu = last_pc_address;
@@ -2400,7 +2412,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
Solaris 2.0, these addresses are just absolute, or
relative to the N_SO, depending on
BLOCK_ADDRESS_ABSOLUTE. */
- function_start_offset = valu;
+ function_start_offset = valu;
within_function = 1;
if (context_stack_depth > 0)
@@ -2425,16 +2437,16 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
}
break;
- /* We use N_OPT to carry the gcc2_compiled flag. Sun uses it
- for a bunch of other flags, too. Someday we may parse their
- flags; for now we ignore theirs and hope they'll ignore ours. */
- case N_OPT: /* Solaris 2: Compiler options */
+ /* We use N_OPT to carry the gcc2_compiled flag. Sun uses it
+ for a bunch of other flags, too. Someday we may parse their
+ flags; for now we ignore theirs and hope they'll ignore ours. */
+ case N_OPT: /* Solaris 2: Compiler options */
if (name)
{
if (STREQ (name, GCC2_COMPILED_FLAG_SYMBOL))
{
processing_gcc_compilation = 2;
-#if 1 /* Works, but is experimental. -fnf */
+#if 1 /* Works, but is experimental. -fnf */
if (AUTO_DEMANGLING)
{
set_demangling_style (GNU_DEMANGLING_STYLE_STRING);
@@ -2446,11 +2458,11 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
}
break;
- /* The following symbol types can be ignored. */
- case N_OBJ: /* Solaris 2: Object file dir and name */
- /* N_UNDF: Solaris 2: file separator mark */
- /* N_UNDF: -- we will never encounter it, since we only process one
- file's symbols at once. */
+ /* The following symbol types can be ignored. */
+ case N_OBJ: /* Solaris 2: Object file dir and name */
+ /* N_UNDF: Solaris 2: file separator mark */
+ /* N_UNDF: -- we will never encounter it, since we only process one
+ file's symbols at once. */
case N_ENDM: /* Solaris 2: End of module */
case N_MAIN: /* Name of main routine. */
case N_ALIAS: /* SunPro F77: alias name, ignore for now. */
@@ -2461,7 +2473,7 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
related symbol.
Generally this is used so that an alias can refer to its main
- symbol. */
+ symbol. */
if (name[0] == '#')
{
/* Initialize symbol reference names and determine if this is
@@ -2472,10 +2484,10 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
int refnum;
/* If this stab defines a new reference ID that is not on the
- reference list, then put it on the reference list.
+ reference list, then put it on the reference list.
- We go ahead and advance NAME past the reference, even though
- it is not strictly necessary at this time. */
+ We go ahead and advance NAME past the reference, even though
+ it is not strictly necessary at this time. */
refnum = symbol_reference_defined (&s);
if (refnum >= 0)
if (!ref_search (refnum))
@@ -2513,17 +2525,17 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
adjusted for coff details. */
void
-coffstab_build_psymtabs (objfile, section_offsets, mainline,
- textaddr, textsize, stabsects,
- stabstroffset, stabstrsize)
- struct objfile *objfile;
- struct section_offsets *section_offsets;
- int mainline;
- CORE_ADDR textaddr;
- unsigned int textsize;
- struct stab_section_list *stabsects;
- file_ptr stabstroffset;
- unsigned int stabstrsize;
+coffstab_build_psymtabs (objfile, section_offsets, mainline,
+ textaddr, textsize, stabsects,
+ stabstroffset, stabstrsize)
+ struct objfile *objfile;
+ struct section_offsets *section_offsets;
+ int mainline;
+ CORE_ADDR textaddr;
+ unsigned int textsize;
+ struct stab_section_list *stabsects;
+ file_ptr stabstroffset;
+ unsigned int stabstrsize;
{
int val;
bfd *sym_bfd = objfile->obfd;
@@ -2539,14 +2551,14 @@ coffstab_build_psymtabs (objfile, section_offsets, mainline,
DBX_TEXT_SIZE (objfile) = textsize;
#define COFF_STABS_SYMBOL_SIZE 12 /* XXX FIXME XXX */
- DBX_SYMBOL_SIZE (objfile) = COFF_STABS_SYMBOL_SIZE;
+ DBX_SYMBOL_SIZE (objfile) = COFF_STABS_SYMBOL_SIZE;
DBX_STRINGTAB_SIZE (objfile) = stabstrsize;
-
+
if (stabstrsize > bfd_get_size (sym_bfd))
error ("ridiculous string table size: %d bytes", stabstrsize);
DBX_STRINGTAB (objfile) = (char *)
- obstack_alloc (&objfile->psymbol_obstack, stabstrsize+1);
- OBJSTAT (objfile, sz_strtab += stabstrsize+1);
+ obstack_alloc (&objfile->psymbol_obstack, stabstrsize + 1);
+ OBJSTAT (objfile, sz_strtab += stabstrsize + 1);
/* Now read in the string table in one big gulp. */
@@ -2615,16 +2627,16 @@ coffstab_build_psymtabs (objfile, section_offsets, mainline,
adjusted for elf details. */
void
-elfstab_build_psymtabs (objfile, section_offsets, mainline,
- staboffset, stabsize,
- stabstroffset, stabstrsize)
- struct objfile *objfile;
- struct section_offsets *section_offsets;
- int mainline;
- file_ptr staboffset;
- unsigned int stabsize;
- file_ptr stabstroffset;
- unsigned int stabstrsize;
+elfstab_build_psymtabs (objfile, section_offsets, mainline,
+ staboffset, stabsize,
+ stabstroffset, stabstrsize)
+ struct objfile *objfile;
+ struct section_offsets *section_offsets;
+ int mainline;
+ file_ptr staboffset;
+ unsigned int stabsize;
+ file_ptr stabstroffset;
+ unsigned int stabstrsize;
{
int val;
bfd *sym_bfd = objfile->obfd;
@@ -2641,16 +2653,16 @@ elfstab_build_psymtabs (objfile, section_offsets, mainline,
find_text_range (sym_bfd, objfile);
#define ELF_STABS_SYMBOL_SIZE 12 /* XXX FIXME XXX */
- DBX_SYMBOL_SIZE (objfile) = ELF_STABS_SYMBOL_SIZE;
- DBX_SYMCOUNT (objfile) = stabsize / DBX_SYMBOL_SIZE (objfile);
+ DBX_SYMBOL_SIZE (objfile) = ELF_STABS_SYMBOL_SIZE;
+ DBX_SYMCOUNT (objfile) = stabsize / DBX_SYMBOL_SIZE (objfile);
DBX_STRINGTAB_SIZE (objfile) = stabstrsize;
- DBX_SYMTAB_OFFSET (objfile) = staboffset;
-
+ DBX_SYMTAB_OFFSET (objfile) = staboffset;
+
if (stabstrsize > bfd_get_size (sym_bfd))
error ("ridiculous string table size: %d bytes", stabstrsize);
DBX_STRINGTAB (objfile) = (char *)
- obstack_alloc (&objfile->psymbol_obstack, stabstrsize+1);
- OBJSTAT (objfile, sz_strtab += stabstrsize+1);
+ obstack_alloc (&objfile->psymbol_obstack, stabstrsize + 1);
+ OBJSTAT (objfile, sz_strtab += stabstrsize + 1);
/* Now read in the string table in one big gulp. */
@@ -2684,9 +2696,9 @@ elfstab_build_psymtabs (objfile, section_offsets, mainline,
OBJFILE is the object file we are reading symbols from.
ADDR is the address relative to which the symbols are (e.g. the base address
- of the text segment).
+ of the text segment).
MAINLINE is true if we are reading the main symbol table (as opposed to a
- shared lib or dynamically loaded file).
+ shared lib or dynamically loaded file).
STAB_NAME is the name of the section that contains the stabs.
STABSTR_NAME is the name of the section that contains the stab strings.
@@ -2729,12 +2741,12 @@ stabsect_build_psymtabs (objfile, section_offsets, mainline, stab_name,
DBX_TEXT_ADDR (objfile) = bfd_section_vma (sym_bfd, text_sect);
DBX_TEXT_SIZE (objfile) = bfd_section_size (sym_bfd, text_sect);
- DBX_SYMBOL_SIZE (objfile) = sizeof (struct external_nlist);
- DBX_SYMCOUNT (objfile) = bfd_section_size (sym_bfd, stabsect)
+ DBX_SYMBOL_SIZE (objfile) = sizeof (struct external_nlist);
+ DBX_SYMCOUNT (objfile) = bfd_section_size (sym_bfd, stabsect)
/ DBX_SYMBOL_SIZE (objfile);
DBX_STRINGTAB_SIZE (objfile) = bfd_section_size (sym_bfd, stabstrsect);
- DBX_SYMTAB_OFFSET (objfile) = stabsect->filepos; /* XXX - FIXME: POKING INSIDE BFD DATA STRUCTURES */
-
+ DBX_SYMTAB_OFFSET (objfile) = stabsect->filepos; /* XXX - FIXME: POKING INSIDE BFD DATA STRUCTURES */
+
if (DBX_STRINGTAB_SIZE (objfile) > bfd_get_size (sym_bfd))
error ("ridiculous string table size: %d bytes", DBX_STRINGTAB_SIZE (objfile));
DBX_STRINGTAB (objfile) = (char *)
@@ -2743,11 +2755,11 @@ stabsect_build_psymtabs (objfile, section_offsets, mainline, stab_name,
/* Now read in the string table in one big gulp. */
- val = bfd_get_section_contents (sym_bfd, /* bfd */
- stabstrsect, /* bfd section */
- DBX_STRINGTAB (objfile), /* input buffer */
- 0, /* offset into section */
- DBX_STRINGTAB_SIZE (objfile)); /* amount to read */
+ val = bfd_get_section_contents (sym_bfd, /* bfd */
+ stabstrsect, /* bfd section */
+ DBX_STRINGTAB (objfile), /* input buffer */
+ 0, /* offset into section */
+ DBX_STRINGTAB_SIZE (objfile)); /* amount to read */
if (!val)
perror_with_name (name);
@@ -2767,17 +2779,17 @@ stabsect_build_psymtabs (objfile, section_offsets, mainline, stab_name,
static struct sym_fns aout_sym_fns =
{
bfd_target_aout_flavour,
- dbx_new_init, /* sym_new_init: init anything gbl to entire symtab */
- dbx_symfile_init, /* sym_init: read initial info, setup for sym_read() */
- dbx_symfile_read, /* sym_read: read a symbol file into symtab */
- dbx_symfile_finish, /* sym_finish: finished with file, cleanup */
+ dbx_new_init, /* sym_new_init: init anything gbl to entire symtab */
+ dbx_symfile_init, /* sym_init: read initial info, setup for sym_read() */
+ dbx_symfile_read, /* sym_read: read a symbol file into symtab */
+ dbx_symfile_finish, /* sym_finish: finished with file, cleanup */
default_symfile_offsets,
/* sym_offsets: parse user's offsets to internal form */
- NULL /* next: pointer to next struct sym_fns */
+ NULL /* next: pointer to next struct sym_fns */
};
void
_initialize_dbxread ()
{
- add_symtab_fns(&aout_sym_fns);
+ add_symtab_fns (&aout_sym_fns);
}