X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fxcoffread.c;h=e5c2e08bbdf518452cecc675e7832a3131491e74;hb=064f515651b1e730c60652eaf07f94c22841d475;hp=4ecd0a266813310e39fac65fafc1977ed16addf4;hpb=0a6ddd08223c066a91c9e70e863cb2a59ebc1dff;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index 4ecd0a2668..e5c2e08bbd 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -1,6 +1,6 @@ /* Read AIX xcoff symbol tables and convert to internal format, for GDB. - Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, - 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, + 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc. Derived from coffread.c, dbxread.c, and a lot of hacking. Contributed by IBM Corporation. @@ -19,8 +19,8 @@ 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. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ #include "defs.h" #include "bfd.h" @@ -154,21 +154,21 @@ struct coff_symfile_info static void bf_notfound_complaint (void) { - complaint (&symfile_complaints, "line numbers off, `.bf' symbol not found"); + complaint (&symfile_complaints, _("line numbers off, `.bf' symbol not found")); } static void ef_complaint (int arg1) { complaint (&symfile_complaints, - "Mismatched .ef symbol ignored starting at symnum %d", arg1); + _("Mismatched .ef symbol ignored starting at symnum %d"), arg1); } static void eb_complaint (int arg1) { complaint (&symfile_complaints, - "Mismatched .eb symbol ignored starting at symnum %d", arg1); + _("Mismatched .eb symbol ignored starting at symnum %d"), arg1); } static void xcoff_initial_scan (struct objfile *, int); @@ -490,7 +490,7 @@ record_include_begin (struct coff_symbol *cs) /* This can happen with old versions of GCC. GCC 2.3.3-930426 does not exhibit this on a test case which a user said produced the message for him. */ - complaint (&symfile_complaints, "Nested C_BINCL symbols"); + complaint (&symfile_complaints, _("Nested C_BINCL symbols")); } ++inclDepth; @@ -507,7 +507,7 @@ record_include_end (struct coff_symbol *cs) if (inclDepth == 0) { - complaint (&symfile_complaints, "Mismatched C_BINCL/C_EINCL pair"); + complaint (&symfile_complaints, _("Mismatched C_BINCL/C_EINCL pair")); } allocate_include_entry (); @@ -770,7 +770,7 @@ enter_line_range (struct subfile *subfile, unsigned beginoffset, unsigned endoff if (endoffset >= limit_offset) { complaint (&symfile_complaints, - "Bad line table offset in C_EINCL directive"); + _("Bad line table offset in C_EINCL directive")); return; } limit_offset = endoffset; @@ -868,12 +868,13 @@ xcoff_next_symbol_text (struct objfile *objfile) struct internal_syment symbol; char *retval; /* FIXME: is this the same as the passed arg? */ - objfile = this_symtab_psymtab->objfile; + if (this_symtab_psymtab) + objfile = this_symtab_psymtab->objfile; bfd_coff_swap_sym_in (objfile->obfd, raw_symbol, &symbol); if (symbol.n_zeroes) { - complaint (&symfile_complaints, "Unexpected symbol continuation"); + complaint (&symfile_complaints, _("Unexpected symbol continuation")); /* Return something which points to '\0' and hope the symbol reading code does something reasonable. */ @@ -890,7 +891,7 @@ xcoff_next_symbol_text (struct objfile *objfile) } else { - complaint (&symfile_complaints, "Unexpected symbol continuation"); + complaint (&symfile_complaints, _("Unexpected symbol continuation")); /* Return something which points to '\0' and hope the symbol reading code does something reasonable. */ @@ -924,7 +925,7 @@ read_xcoff_symtab (struct partial_symtab *pst) int depth = 0; int fcn_start_addr = 0; - struct coff_symbol fcn_stab_saved; + struct coff_symbol fcn_stab_saved = { 0 }; /* fcn_cs_saved is global because process_xcoff_symbol needs it. */ union internal_auxent fcn_aux_saved; @@ -1332,7 +1333,7 @@ read_xcoff_symtab (struct partial_symtab *pst) case C_UNTAG: case C_ENTAG: { - complaint (&symfile_complaints, "Unrecognized storage class %d.", + complaint (&symfile_complaints, _("Unrecognized storage class %d."), cs->c_sclass); } break; @@ -1519,7 +1520,7 @@ process_xcoff_symbol (struct coff_symbol *cs, struct objfile *objfile) break; default: - complaint (&symfile_complaints, "Unexpected storage class: %d", + complaint (&symfile_complaints, _("Unexpected storage class: %d"), cs->c_sclass); /* FALLTHROUGH */ @@ -1601,7 +1602,7 @@ read_symbol (struct internal_syment *symbol, int symno) ((struct coff_symfile_info *) this_symtab_psymtab->objfile->deprecated_sym_private)->symtbl; if (symno < 0 || symno >= nsyms) { - complaint (&symfile_complaints, "Invalid symbol offset"); + complaint (&symfile_complaints, _("Invalid symbol offset")); symbol->n_value = 0; symbol->n_scnum = -1; return; @@ -1880,7 +1881,7 @@ init_stringtab (bfd *abfd, file_ptr offset, struct objfile *objfile) ((struct coff_symfile_info *) objfile->deprecated_sym_private)->strtbl = NULL; if (bfd_seek (abfd, offset, SEEK_SET) < 0) - error ("cannot seek to string table in %s: %s", + error (_("cannot seek to string table in %s: %s"), bfd_get_filename (abfd), bfd_errmsg (bfd_get_error ())); val = bfd_bread ((char *) lengthbuf, sizeof lengthbuf, abfd); @@ -1907,10 +1908,10 @@ init_stringtab (bfd *abfd, file_ptr offset, struct objfile *objfile) val = bfd_bread (strtbl + sizeof lengthbuf, length - sizeof lengthbuf, abfd); if (val != length - sizeof lengthbuf) - error ("cannot read string table from %s: %s", + error (_("cannot read string table from %s: %s"), bfd_get_filename (abfd), bfd_errmsg (bfd_get_error ())); if (strtbl[length - 1] != '\0') - error ("bad symbol file: string table does not end with null character"); + error (_("bad symbol file: string table does not end with null character")); return; } @@ -2115,7 +2116,7 @@ static void function_outside_compilation_unit_complaint (const char *arg1) { complaint (&symfile_complaints, - "function `%s' appears to be defined outside of all compilation units", + _("function `%s' appears to be defined outside of all compilation units"), arg1); } @@ -2170,6 +2171,7 @@ scan_xcoff_symtab (struct objfile *objfile) last_source_file = NULL; abfd = objfile->obfd; + next_symbol_text_func = xcoff_next_symbol_text; sraw_symbol = ((struct coff_symfile_info *) objfile->deprecated_sym_private)->symtbl; nsyms = ((struct coff_symfile_info *) objfile->deprecated_sym_private)->symtbl_num_syms; @@ -2292,7 +2294,7 @@ scan_xcoff_symtab (struct objfile *objfile) case XMC_TC0: if (toc_offset) - warning ("More than one XMC_TC0 symbol found."); + warning (_("More than one XMC_TC0 symbol found.")); toc_offset = symbol.n_value; /* Make TOC offset relative to start address of section. */ @@ -2445,7 +2447,7 @@ scan_xcoff_symtab (struct objfile *objfile) default: { complaint (&symfile_complaints, - "Storage class %d not recognized during scan", sclass); + _("Storage class %d not recognized during scan"), sclass); } /* FALLTHROUGH */ @@ -2800,7 +2802,7 @@ scan_xcoff_symtab (struct objfile *objfile) a backslash. */ complaint (&symfile_complaints, - "unknown symbol descriptor `%c'", p[1]); + _("unknown symbol descriptor `%c'"), p[1]); /* Ignore it; perhaps it is an extension that we don't know about. */ @@ -2893,7 +2895,7 @@ xcoff_initial_scan (struct objfile *objfile, int mainline) if (!bfd_get_section_contents (abfd, secp, debugsec, (file_ptr) 0, length)) { - error ("Error reading .debug section of `%s': %s", + error (_("Error reading .debug section of `%s': %s"), name, bfd_errmsg (bfd_get_error ())); } } @@ -2907,7 +2909,7 @@ xcoff_initial_scan (struct objfile *objfile, int mainline) access them randomly in read_symbol*. */ val = bfd_seek (abfd, symtab_offset, SEEK_SET); if (val < 0) - error ("Error reading symbols from %s: %s", + error (_("Error reading symbols from %s: %s"), name, bfd_errmsg (bfd_get_error ())); size = coff_data (abfd)->local_symesz * num_symbols; ((struct coff_symfile_info *) objfile->deprecated_sym_private)->symtbl = @@ -2918,7 +2920,7 @@ xcoff_initial_scan (struct objfile *objfile, int mainline) val = bfd_bread (((struct coff_symfile_info *) objfile->deprecated_sym_private)->symtbl, size, abfd); if (val != size) - perror_with_name ("reading symbol table"); + perror_with_name (_("reading symbol table")); /* If we are reinitializing, or if we have never loaded syms yet, init */ if (mainline @@ -3013,6 +3015,8 @@ static struct sym_fns xcoff_sym_fns = xcoff_initial_scan, /* sym_read: read a symbol file into symtab */ xcoff_symfile_finish, /* sym_finish: finished with file, cleanup */ xcoff_symfile_offsets, /* sym_offsets: xlate offsets ext->int form */ + default_symfile_segments, /* sym_segments: Get segment information from + a file. */ NULL /* next: pointer to next struct sym_fns */ }; @@ -3025,6 +3029,7 @@ _initialize_xcoffread (void) "", NULL); TYPE_TARGET_TYPE (func_symbol_type) = builtin_type_int; var_symbol_type = - init_type (TYPE_CODE_INT, TARGET_INT_BIT / HOST_CHAR_BIT, 0, + init_type (TYPE_CODE_INT, + gdbarch_int_bit (current_gdbarch) / HOST_CHAR_BIT, 0, "", NULL); }