diff options
Diffstat (limited to 'gdb/mipsread.c')
-rw-r--r-- | gdb/mipsread.c | 96 |
1 files changed, 52 insertions, 44 deletions
diff --git a/gdb/mipsread.c b/gdb/mipsread.c index 343a7b1..94e70a9 100644 --- a/gdb/mipsread.c +++ b/gdb/mipsread.c @@ -4,21 +4,22 @@ Contributed by Alessandro Forin (af@cs.cmu.edu) at CMU. Major work by Per Bothner, John Gilmore and Ian Lance Taylor at Cygnus Support. -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. */ /* Read symbols from an ECOFF file. Most of the work is done in mdebugread.c. */ @@ -58,7 +59,7 @@ mipscoff_symfile_finish PARAMS ((struct objfile *)); static void read_alphacoff_dynamic_symtab PARAMS ((struct section_offsets *, - struct objfile *objfile)); + struct objfile * objfile)); /* Initialize anything that needs initializing when a completely new symbol file is specified (not just adding some symbols from another @@ -92,7 +93,7 @@ mipscoff_symfile_read (objfile, section_offsets, mainline) int mainline; { bfd *abfd = objfile->obfd; - struct cleanup * back_to; + struct cleanup *back_to; init_minimal_symbol_collection (); back_to = make_cleanup ((make_cleanup_func) discard_minimal_symbols, 0); @@ -158,35 +159,42 @@ mipscoff_symfile_finish (objfile) /* Format of an alpha external ELF symbol. */ -typedef struct { - unsigned char st_name[4]; /* Symbol name, index in string tbl */ - unsigned char st_pad[4]; /* Pad to long word boundary */ - unsigned char st_value[8]; /* Value of the symbol */ - unsigned char st_size[4]; /* Associated symbol size */ - unsigned char st_info[1]; /* Type and binding attributes */ - unsigned char st_other[1]; /* No defined meaning, 0 */ - unsigned char st_shndx[2]; /* Associated section index */ -} Elfalpha_External_Sym; +typedef struct +{ + unsigned char st_name[4]; /* Symbol name, index in string tbl */ + unsigned char st_pad[4]; /* Pad to long word boundary */ + unsigned char st_value[8]; /* Value of the symbol */ + unsigned char st_size[4]; /* Associated symbol size */ + unsigned char st_info[1]; /* Type and binding attributes */ + unsigned char st_other[1]; /* No defined meaning, 0 */ + unsigned char st_shndx[2]; /* Associated section index */ +} +Elfalpha_External_Sym; /* Format of an alpha external ELF dynamic info structure. */ -typedef struct { - unsigned char d_tag[4]; /* Tag */ - unsigned char d_pad[4]; /* Pad to long word boundary */ - union { - unsigned char d_ptr[8]; /* Pointer value */ - unsigned char d_val[4]; /* Integer value */ - } d_un; -} Elfalpha_External_Dyn; +typedef struct + { + unsigned char d_tag[4]; /* Tag */ + unsigned char d_pad[4]; /* Pad to long word boundary */ + union + { + unsigned char d_ptr[8]; /* Pointer value */ + unsigned char d_val[4]; /* Integer value */ + } + d_un; + } +Elfalpha_External_Dyn; /* Struct to obtain the section pointers for alpha dynamic symbol info. */ -struct alphacoff_dynsecinfo { - asection *sym_sect; /* Section pointer for .dynsym section */ - asection *str_sect; /* Section pointer for .dynstr section */ - asection *dyninfo_sect; /* Section pointer for .dynamic section */ - asection *got_sect; /* Section pointer for .got section */ -}; +struct alphacoff_dynsecinfo + { + asection *sym_sect; /* Section pointer for .dynsym section */ + asection *str_sect; /* Section pointer for .dynstr section */ + asection *dyninfo_sect; /* Section pointer for .dynamic section */ + asection *got_sect; /* Section pointer for .got section */ + }; static void alphacoff_locate_sections PARAMS ((bfd *, asection *, void *)); @@ -259,7 +267,7 @@ read_alphacoff_dynamic_symtab (section_offsets, objfile) /* Locate the dynamic symbols sections and read them in. */ memset ((char *) &si, 0, sizeof (si)); - bfd_map_over_sections (abfd, alphacoff_locate_sections, (PTR) &si); + bfd_map_over_sections (abfd, alphacoff_locate_sections, (PTR) & si); if (si.sym_sect == NULL || si.str_sect == NULL || si.dyninfo_sect == NULL @@ -276,16 +284,16 @@ read_alphacoff_dynamic_symtab (section_offsets, objfile) got_secptr = alloca (got_secsize); if (!bfd_get_section_contents (abfd, si.sym_sect, sym_secptr, - (file_ptr)0, sym_secsize)) + (file_ptr) 0, sym_secsize)) return; if (!bfd_get_section_contents (abfd, si.str_sect, str_secptr, - (file_ptr)0, str_secsize)) + (file_ptr) 0, str_secsize)) return; if (!bfd_get_section_contents (abfd, si.dyninfo_sect, dyninfo_secptr, - (file_ptr)0, dyninfo_secsize)) + (file_ptr) 0, dyninfo_secsize)) return; if (!bfd_get_section_contents (abfd, si.got_sect, got_secptr, - (file_ptr)0, got_secsize)) + (file_ptr) 0, got_secsize)) return; /* Find the number of local GOT entries and the index for the @@ -294,7 +302,7 @@ read_alphacoff_dynamic_symtab (section_offsets, objfile) dyninfo_p < dyninfo_end; dyninfo_p += sizeof (Elfalpha_External_Dyn)) { - Elfalpha_External_Dyn *x_dynp = (Elfalpha_External_Dyn *)dyninfo_p; + Elfalpha_External_Dyn *x_dynp = (Elfalpha_External_Dyn *) dyninfo_p; long dyn_tag; dyn_tag = bfd_h_get_32 (abfd, (bfd_byte *) x_dynp->d_tag); @@ -371,7 +379,7 @@ read_alphacoff_dynamic_symtab (section_offsets, objfile) if (sym_value == 0) { int got_entry_offset = - (i - dt_mips_gotsym + dt_mips_local_gotno) * got_entry_size; + (i - dt_mips_gotsym + dt_mips_local_gotno) * got_entry_size; if (got_entry_offset < 0 || got_entry_offset >= got_secsize) continue; |