X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fbuildsym.c;h=d7e99c054e1c3afded4b5ded4d072eec0ddc7b4d;hb=14a5e76714708e70c7a7a962a60b5a2bf68602db;hp=4fd969dfd2c239a6b53fab361988f7d63bf35fd9;hpb=b6ba6518e9254bc25f88088228e93ac966ebccd1;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 4fd969dfd2..d7e99c054e 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -1,6 +1,6 @@ /* Support routines for building symbol tables in GDB's internal format. Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -36,8 +36,9 @@ #include "complaints.h" #include "gdb_string.h" #include "expression.h" /* For "enum exp_opcode" used by... */ -#include "language.h" /* For "longest_local_hex_string_custom" */ +#include "language.h" /* For "local_hex_string" */ #include "bcache.h" +#include "filenames.h" /* For DOSish file names */ /* Ask buildsym.h to define the vars it normally declares `extern'. */ #define EXTERN /**/ @@ -274,9 +275,8 @@ finish_block (struct symbol *symbol, struct pending **listhead, parameter symbols. */ int nparams = 0, iparams; struct symbol *sym; - for (i = 0; i < BLOCK_NSYMS (block); i++) + ALL_BLOCK_SYMBOLS (block, i, sym) { - sym = BLOCK_SYM (block, i); switch (SYMBOL_CLASS (sym)) { case LOC_ARG: @@ -322,6 +322,7 @@ finish_block (struct symbol *symbol, struct pending **listhead, case LOC_BASEREG_ARG: case LOC_LOCAL_ARG: TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym); + TYPE_FIELD_ARTIFICIAL (ftype, iparams) = 0; iparams++; break; case LOC_UNDEF: @@ -508,7 +509,7 @@ make_blockvector (struct objfile *objfile) = BLOCK_START (BLOCKVECTOR_BLOCK (blockvector, i)); complain (&blockvector_complaint, - longest_local_hex_string ((LONGEST) start)); + local_hex_string ((LONGEST) start)); } } } @@ -532,7 +533,7 @@ start_subfile (char *name, char *dirname) for (subfile = subfiles; subfile; subfile = subfile->next) { - if (STREQ (subfile->name, name)) + if (FILENAME_CMP (subfile->name, name) == 0) { current_subfile = subfile; return; @@ -726,7 +727,7 @@ record_line (register struct subfile *subfile, int line, CORE_ADDR pc) e = subfile->line_vector->item + subfile->line_vector->nitems++; e->line = line; - e->pc = pc; + e->pc = ADDR_BITS_REMOVE(pc); } /* Needed in order to sort line tables from IBM xcoff files. Sigh! */