aboutsummaryrefslogtreecommitdiff
path: root/gdb/elfread.c
AgeCommit message (Collapse)AuthorFilesLines
1992-10-15Lint around file_ptr's (bfd's off_t's) and bfd_seek.John Gilmore1-8/+5
* dbxread.c (read_dbx_symtab): Use L_SET as bfd_seek arg. (elfstab_build_psymtabs): staboffset and stabstroffset args are file_ptr's. * dwarfread.c (struct dwfinfo): Convert dbfoff, lnfoff to file_ptr. (scan_compilation_units): Punt unused filename arg. dbfoff, lnoffset, and curlnoffset are file_ptr's now. (dwarf_build_psymtabs): Drop desc and filename args; use objfile. dbfoff and lnoffset are file_ptr's now. (read_ofile_symtab): foffset is now file_ptr. Use L_SET in bfd_seek. * elfread.c (struct elfinfo): dboffset and lnoffset are file_ptr's. (elf_symfile_read): Skip desc and filename args to dwarf_build_psymtabs. Pass file_ptr's to elfstab_build_psymtabs. * gdb-stabs.h: Use file_ptr rather than off_t. * mipsread.c (fixup_symtab): f_ptr is a file_ptr. Re-enable compile-time debug check that someone turned off as "unused". (read_the_mips_symtab): st_filptr is a file_ptr. Fix bfd_seek call. * symfile.h: Update dwarf_build_psymtabs and elfstab_build_psymtabs prototypes. * xcoffread.c (init_stringtab, init_lineno, xcoff_symfile_read): Use file_ptr offsets. bfd_seeks use L_SET.
1992-07-28 * Makefile.in (VERSION): Bump to 4.6.2.Fred Fish1-0/+1
* Makefile.in (SFILES_MAINDIR): Add stabsread.c * Makefile.in (OBS): Add stabsread.o * Makefile.in (stabsread.o): Add build rule. * stabsread.c, stabsread.h: New files. * buildsym.c: Split out stabs specific support to stabsread.c. * buildsym.h: Split out stabs specific support to stabsread.h. * dbxread.c (stabsread.h): Include * dbxread.c (dbx_new_init): Call stabsread_new_init. * dbxread.c (dbx_psymtab_to_symtab_1): Call stabsread_init. * dbxread.c (read_ofile_symtab): Call end_stabs. * dbxread.c (process_one_symbol): Call end_stabs and start_stabs. * dbxread.c (elfstab_build_psymtabs): Call stabsread_new_init. * dwarfread.c (psymtab_to_symtab_1): Call buildsym_init, add really_free_pendings to cleanups. * elfread.c (elf_new_init): Call stabsread_new_init. * gdbtypes.c: Small changes to maintenance commands. * mipsread.c (stabsread.h): Include. * mipsread.c (psymtab_to_symtab_1): Call end_stabs. * xcoffread.c (stabsread.h): Include. * xcoffread.c (global_stabs): Remove redundant def. * xcoffread.c (read_xcoff_symtab): Call start_stabs and end_stabs.
1992-07-04Relocate symbols using an array of section_offsets, rather than aJohn Gilmore1-19/+243
single `addr' or `offset'. This makes Solaris-2 support work, and permits better VxWorks (and maybe xcoff) support later. See ChangeLog.
1992-07-04 * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c,Fred Fish1-1/+1
core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c, eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c, i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c, infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c, putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c, sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Remove "(void)" casts from function calls where the return value is ignored, in accordance with GNU coding standards.
1992-07-03* dbxread.c (process_one_symbol): Ignore N_MAIN, N_ENDM for Solaris.John Gilmore1-1/+6
* partial-stab.h: Ignore N_ENDM. * elfread.c (elf_symtab_read): Ignore symbols that don't have a CODE or DATA section attachment. This eliminates a lot of random values from shared libraries, which screw up the ordinary symbols in the address ranges they happen to overlap. * buildsym.c (define_symbol): Eliminate special tests for function types; move into "function" cases in switch statement. (define_symbol: 'f', 'F', 'P'): Process all parameter types in case they define new type numbers. But ignore them (FIXME). ('k', 'B'): Ignore const and volatile if we see them (FIXME). (read_sun_builtin_type): Add commentary.
1992-06-29 * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c,Fred Fish1-0/+11
symtab.h, tm-i386v4.h, valprint.c, values.c: Lint. * breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c, findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c, putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c: Replace bcopy() use with memcpy(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c, ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h, target.c, values.c: Replace bzero() use with memset(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * i386-tdep.c, main.c, valprint.c: Replace bcmp() use with memcmp(), which is more standard and can take advantage of gcc's builtin functions for increased performance.
1992-06-21COFF changes for dealing better with EPI 29K C compiler output.John Gilmore1-1/+3
* coffread.c (record_minimal_symbol): Pass the minsym type to it. Callers changed. (coff_end_symtab): Sort blocks if needed. Complain if misordered. (read_coff_symtab): Move patch_opaque_types call from coff_symfile_read. Restrict it to symtabs from this objfile. (process_coff_symbol: C_TPDEF): Don't put ordinary foward references on opaque type chain; just let coff_lookup_type handle 'em. (decode_type): Complain about tagndx values on non-struct/union/enum types, which the EPI compiler tends to produce. * symtab.c (list_symbols): Make minimal symbol variable-finding work. * tm-68k.h (FIX_CALL_DUMMY): Avoid alignment and byte order dependency. * elfread.c (elf_symfile_read): Update bfd_elf_find_section usage to match new prototype. Include libbfd.h to get prototype.
1992-06-13* elfread.c (record_minimal_symbol_and_info): Kludged to putJohn Gilmore1-13/+66
extra info in the minimal symbol. (elf_symtab_read): The extra info is the size of an ELF object, which was kludged to us in the `udata' field of the BFD symbol. Gag me with a crowbar... (elf_symfile_read): Keep track of both the absolute load address, and the offset between load addr and symbols. Handle STABS as well as DWARF sections, passing the absolute load address to elfstab_build_psymtabs. * objfiles.c (free_objfile): Eliminate storage leaks. Contributed by <Peter.Schauer@regent.e-technik.tu-muenchen.dbp.de>. * symfile.c (symfile_bfd_open): Comment where name is freed. * symmisc.c (extend_psymbol_list): Comment where list is freed.
1992-04-01Changes in procfs.c to fix bug with inferior's siginfo struct gettingFred Fish1-0/+9
needlessly stomped. Changes in elfread.c and solib.c to fix DWARF processing, broken by other recent changes.
1992-03-31* elfread.c (elf_symtab_read): Use xmalloc, not bfd_xmalloc.John Gilmore1-1/+1
* exec.c (build_section_table): Don't abort if no sections. * sparc-tdep.c (single_step): Lint. * utils.c (mrealloc): Handle realloc (0, size) case here.
1992-03-29LintJohn Gilmore1-11/+11
1992-03-27Misc cleanups from code review.John Gilmore1-6/+4
1992-03-21Many changes, most related to creating entry point information on a per-objfileFred Fish1-0/+1
basis. See comments in objfiles.h and details in ChangeLog. Also remove redundant definitions of FRAME_CHAIN_VALID from most of the tm-* files and use a default definition in frame.h.
1992-03-19 * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c,Fred Fish1-15/+35
elfread.c (coff_symfile_finish): Add function, prototype, and add to the xxxx_sym_fns struct for each file type. Also reformat the xxxx_sym_fns vector to a standard format and add comments. * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read): Pass pointer to struct objfile rather than pointer to sym_fns. Change references inside each function accordingly. Allocate any symbol file specific info in the per-objfile memory region. * dbxread.c (free_and_init_header_files): Break function into free_header_files(), called from dbx_symfile_finish(), and init_header_files(), called from dbx_new_init(). * dbxread.c (dbx_new_init): Move deallocation things to new dbx_symfile_finish function. * elfread.c (elf_new_init): Call buildsym_new_init(). * objfiles.c (free_objfile): Call the appropriate symfile_finish() routine for the objfile before deallocating other stuff. * sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg. * symfile.h: Move struct sym_fns to before struct objfile def. Add sym_finish function pointer and change prototypes of other function pointers to reflect passing struct objfile pointer rather than struct sym_fns pointer. * symfile.c: Remove now obsolete symtab_fns pointer. * symfile.c (symfile_init): Renamed to find_sym_fns, and now only locates the correct sym_fns struct for the given objfile. * symfile.c (syms_from_objfile, symbol_file_add): Restructured for better support of mapped symbol tables. * symfile.c (symbol_file_command): Remove obsolete code using symfile_fns. * symfile.h: Remove duplicate declarations for symfile_objfile, entry_point, and object_files. * target.c (target_info): Compare symfile_objfile to NULL. * xcoffread.c (aixcoff_new_init): Move deallocation stuff to aixcoff_symfile_finish().
1992-03-03Tue Mar 3 15:11:52 1992 Michael Tiemann (tiemann@cygnus.com)Michael Tiemann1-2/+0
* All GDB files that #include defs.h: Removed stdio.h. (defs.h): #include stdio.h. This has been tested by building GDBs for all targets hosted on Sun4. None of the build problems were related to stdio.h inclusion. (n.b. many configurations don't build for other reasons.)
1992-02-22* xm-sun3os4.h, xm-sun4os4.h: Enable HAVE_MMAP.John Gilmore1-1/+1
* minsyms.c (install_minimal_symbols): Add bunches to any existing minsyms in the objfile. Avoid extra mallocation by working directly in the obstack. Remove ignored `mainline' parm. * coffread.c, dbxread.c, elfread.c, mipsread.c, solib.c, symtab.h, xcoffread.c: Change all callers. * FIXME: We should be able to eliminate MAINLINE from all the symbol readers now, with a small bit of work. * valops.c, value.h: Lint. * remote-vx.c: Add missing break; statement. Bugfix by Michael Sclafani, <sclafani@src.dec.com>.
1992-02-22* Check in Fred Fish's changes in these modules. FredJohn Gilmore1-60/+76
will make ChangeLog entries for all of them.
1992-02-14Fix code in elf_symtab_read which attempts to read the standard ELFFred Fish1-8/+11
symbol table and add symbol information to the misc function vector. This allows minimum functionality with non -g compiled code, and is vital for use with shared libraries (non of which are currently compiled with -g). Note to anyone doing any SVR4/gdb work. This bug was introduced into gdb just prior to the gdb 4.4 release, thus any versions currently in the field will have broken shared library support since no symbol information at all will be available for the shared library. This fix, along with one about to go into bfd's elf.c should fix that problem.
1992-01-24Changed refs to section->size to bfd_get_section_size_before_relocSteve Chamberlain1-3/+3
1991-12-16Numerous small changes and a complete reorganization of solib.c, to supportFred Fish1-7/+76
SVR4 shared libraries in a manner very close to the original SunOS support. See the ChangeLog for details.
1991-12-01 Changes due to include file renaming:Steve Chamberlain1-3/+3
* xcoffread.c: internalcoff.h ->coff/internal.c, coff-rs6000.h ->coff/rs6000.h * mipsread.c: coff-mips.h ->coff/mips.h * elfread.c: elf-common.h ->elf/common.h elf-external.h ->elf/external.h, elf-internal.h ->elf/internal.h * dwarfread.c dwarf.h ->elf/dwarf.h * dbxread.c: aout64.h ->aout/aout64.h stab.gnu.h ->aout/stab_gnu.h * coffread.c: internalcoff.h ->coff/internal.h * buildsym.c: stab.gnu.h ->aout/stab_gnu.h * depend Updated to take the above into account.
1991-11-21* defs.h: Incorporate param.h. All users changed.John Gilmore1-1/+0
* param-no-tm.h: Change users to define TM_FILE_OVERRIDE instead. * param.h, param-no-tm.h: Removed. * Update copyrights in all changed files. * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c, solib.c, symtab.h, tm-umax.h, valprint.c: Lint. * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h, xm-merlin.h: Avoid host include files in target descriptions. * getpagesize.h: Removed, libiberty copes now.
1991-11-15Changes to build misc function vector entries from canonical bfd symbolFred Fish1-1/+92
table entries.
1991-11-12Minor rewording of message containing name of program that generated aFred Fish1-17/+0
core file (core.c), permanently remove the register_addr() stub (elfread.c), move a misplaced #endif (procfs.c), and add fetch_core_registers func for core file support (procfs.c).
1991-11-09Re-enable compilation of register_addr() stub whenever it is not suppliedFred Fish1-3/+7
by coredep.c, since it is referenced by fetch_core_registers(). This is still a temporary kludge.
1991-11-09Add tracking of object files (that contain symbols) to gdb.John Gilmore1-3/+8
This includes a "struct objfile" that owns symtabs and psymtabs that were read in from that binary file. See ChangeLog.
1991-11-04 * infrun.c: Fixed typo in comment.Per Bothner1-0/+2
* utils.c: All the v*fprintf emulation is now in libiberty, so we can get rid of some junk. * xm-sun3os4.h, xm-sun4os4.h, xconfig/decstation, xconfig/i386sco, xconfig/sun3os4, xconfig/sun4os4: Don`t need HAVE_STRSTR any more. * m68k-pinsn.c (print_insn_arg): Support BB/BW/BL type operands, as used by branch instructions. * gmalloc.c: Fix prototype of memcpy. * elfread.c: Comment out register_addr, since it conflicts with the one in coredep.c. * buildsym.h: Remove extern declarations of two functions that are really static in buildsym.c. * tm-mips.h: Add symbolic names for more registers. * mips-xdep.c (store_inferior_registers): Use new register names. * xm-mips.h: Simplify REGISTER_U_ADDR, since it is now only used for core files, not ptrace. Therefore, the KERNEL_U_ADDR hack is no longer needed. The mapping to ptrace number is now in in mips-xdep.c. * mips-xdep.c: Define REGISTER_PTRACE_ADDR (using the mapping from the old REGISTER_U_ADDR), and use it in {fetch,store}_inferior_registers. * mipsread.c: Rename #include ecoff.h to new name coff-mips.h. * mips-tdep.c (mips_push_dummy_frame, mips_pop_frame): Save/restore FP regs correctly (?). * dbxread.c: Remove duplicate define_symbol and type_synonym_name (these had been previously moved to buildsym.c). Hence, define_symbol becomes extern instead of static. * buildsym.c (read_struct_type): Comment out bogus handling of C++ operator methods. Minor hacking of reading of class contexts. Make define_symbol non-static, so dbxread.c can call it.
1991-10-24New files for DWARF debugging format support, ELF object file support, SVR4Fred Fish1-0/+208
/proc (process file system) support, Amiga UNIX target and host defines, SVR4 target and host defines, and m68k hosts defines.