Commit Graph

80 Commits

Author SHA1 Message Date
Jim Blandy
07cd4b9723 Deal with the inferior unloading shared objects.
* solib.c (current_sos): New function, replacing find_solib.
(find_solib): Deleted.
(free_so): New function.
(clear_solib): Call free_so, instead of writing it out.
(solib_add): Rewritten: compare the inferior's current list of
shared objects with GDB's list, and do the required loads and
unloads.
(info_sharedlibrary_command, solib_address): Don't use find_solib
to walk the list of shared libraries: call solib_add, and then
walk the list at so_list_head normally.
* objfiles.c (free_objfile): Don't call CLEAR_SOLIB, and don't
detach the core target.  These tasks are taken care of elsewhere.
* target.c (remove_target_sections): New function.
* target.h (remove_target_sections): New declaration.

* solib.c (symbol_add_stub): Check whether we've already created
an objfile for this shared object first, before doing all that
work to compute section addresses, etc.

* objfiles.c (unlink_objfile): Report an internal error if objfile
doesn't occur in the object_files list.

* solib.c (special_symbol_handling): Delete argument; it's not
used.

* solib.c (SOLIB_EXTRACT_ADDRESS):  New macro to extract addresses
from solib structures. Use it throughout solib.c, get rid of all
CORE_ADDR casts.
(struct so_list):  Change type of lmaddr to CORE_ADDR.
(first_link_map_member):  Change return value type to CORE_ADDR,
update callers.
(solib_add_common_symbols):  Change parameter type to CORE_ADDR,
update callers.
(open_symbol_file_object, find_solib):  Change type of lm variable
to CORE_ADDR.
2000-03-15 16:55:07 +00:00
Andrew Cagney
2fc18c15d2 From Peter Schauer - fix mmalloc bitrot. 2000-02-29 12:58:51 +00:00
Jason Molenda
c2d11a7da0 import gdb-1999-12-06 snapshot 1999-12-07 03:56:43 +00:00
Jason Molenda
2df3850c7b import gdb-1999-10-11 snapshot 1999-10-12 04:37:53 +00:00
Jason Molenda
c2c6d25f0d import gdb-1999-09-21 1999-09-22 03:28:34 +00:00
Stan Shebs
d4f3574e77 import gdb-1999-09-08 snapshot 1999-09-09 00:02:17 +00:00
Jason Molenda
7be570e7ce import gdb-1999-08-16 snapshot 1999-08-16 19:57:19 +00:00
Jason Molenda
96baa820df import gdb-1999-08-09 snapshot 1999-08-09 21:36:23 +00:00
Jason Molenda
c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Stan Shebs
7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs
c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs
071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
David Taylor
65b07ddca8 all remaining *.c *.h files from hp merge. 1998-12-31 21:58:30 +00:00
Ron Unrau
a2266bed50 * objfiles.c (add_to_objfile_sections): All targets to define
TARGET_KEEP_SECTION to permit them to retain bfd sections that
          GDB would otherwise have discarded.
1998-06-08 22:10:37 +00:00
Fred Fish
0728afad48 * configure.in (--with-mmalloc): Add new configure arg to use the
mmalloc package.  Default is to not use it.
	(START_INFERIOR_TRAPS_EXPECTED): Define to the integer 2, not
	the string "2".
	* acconfig.h (USE_MMALLOC, FORCE_MMCHECK): Add #undef.
	* configure: Regenerated.
	* config.in: Regenerated.
	* Makefile.in (MMALLOC_DIR, MMALLOC_SRC): Remove.
	(MMALLOC): Set using configure.
	(MMALLOC_CFLAGS): Set using configure.
	* config/i386/tm-linux.h (sys_quotactl): Define to 1 rather
	than just defining it.
	* mpw-make.sed: Undefine USE_MMALLOC rather than defining NO_MMALLOC.
	* utils.c (NO_MMALLOC): Use USE_MMALLOC instead.
	* objfiles.c: ditto.
	* defs.h: ditto.
	* config/sparc/sun4os4.mh (MMALLOC_CFLAGS): Remove.
	* config/m68k/sun3os4.mh (MMALLOC_CFLAGS): Remove.
	* config/i386/cygwin32.mh (MMALLOC_CFLAGS): Remove.
	* config/alpha/alpha-osf3.mh (MMALLOC_CFLAGS): Remove.
	* config/alpha/alpha-osf2.mh (MMALLOC_CFLAGS): Remove.
	* gdbserver/Makefile.in (MMALLOC_*): Remove.
	* config/rs6000/rs6000.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/rs6000/aix4.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/powerpc/aix4.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/powerpc/aix.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/ns32k/ns32km3.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/mips/mipsm3.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/mips/decstation.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/m88k/cxux.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/i386/xm-windows.h (NO_MMALLOC, NO_MMCHECK): Remove.
	* config/i386/i386mk.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/i386/i386m3.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/i386/i386gnu.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/alpha/alpha-osf1.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
	* config/alpha/alpha-linux.mh (MMALLOC, MMALLOC_CFLAGS): Remove.
1998-01-14 04:28:29 +00:00
Fred Fish
ee804cff4f * objfiles.c (objfile_relocate): Add call to breakpoint_re_set
after relocations are complete.
	* remote-vx.c (vx_add_symbols): Remove call to breakpoint_re_set,
	this is now done in objfile_relocate.
PR 11308
1997-08-19 15:46:20 +00:00
Fred Fish
40b647e9e2 * config/i386/nm-linux.h: Enable prototypes that were #ifdef out.
* config/tm-sysv4.h (in_plt_section): Add prototype.

	* maint.c (maintenance_translate_address): Avoid assignment
	inside if, per GNU coding standards.
	* symfile.c (simple_read_overlay_table): Avoid assignments inside if, per
	GNU coding standards.

	* monitor.c (parse_register_dump): Is really a void function.
	Add prototype.
	(monitor_read_memory): Remove unused variable "name".
	(monitor_read_memory): Remove unused variable "regbuf".
	(monitor_open): Remove unused variable "i".
	(get_hex_word): Apparently unused, #if away for now.
	(from_hex): Ditto.

	* i386v4-nat.c (supply_fpregset): Remove unused variable "regi".
	(fill_fpregset): Remove unused variables "regi", "to", "from" and
	"registers".

	* remote-e7000.c (ctype.h): Include.
	(e7000_insert_breakpoint): #if away unused arg used by unused expr.
	* frame.h (generic_get_saved_register): Add prototype.
	(enum lval_type): Add partial forward decl.
	* dsrec.c (make_srec): Remove unused variable "type_code".
	* remote-sim.c (gdbsim_wait): Handle sim_running and sim_polling
	cases by just ignoring them.
	(command.h): Include.

	* java-exp.y (parse_number): Remove unused variable "unsigned_p".
	* java-lang.c (gdbcore.h): Include for prototypes.
	(type_from_class): Remove unused variable "ftype".
	(type_from_class): Remove unused variable "name_length".
	(evaluate_subexp_java): Add default case to handle remaining
	enumerations.
	* java-valprint.c (c-lang.h): Include for prototypes.

	* symfile.c (simple_read_overlay_region_table): #if away
	unused function.
	(simple_free_overlay_region_table): Ditto.
	(overlay_is_mapped): Add default case to switch.
	(simple_read_overlay_region_table): Ditto.
	(simple_read_overlay_region_table): Add prototype.

	* symtab.c (fixup_symbol_section): Remove unused msym variable.
	(fixup_psymbol_section): Ditto.
	(find_pc_sect_symtab): Make distance a CORE_ADDR.

	* utils.c: Add comment about t_addr being either unsigned long or
	unsigned long long.
	(paddr): Change formats to match actual types args are cast to.
	(preg): Ditto.
	(paddr_nz): Ditto.
	(preg_nz): Ditto.
1997-06-13 17:30:24 +00:00
Per Bothner
7a9eb4c45a * defs.h (enum language): Add language_java.
* java-exp.y, java-lang.c, java-lang.h, java-valprint.c:  New files.
	* Makefile.in:  Upadte for new files.
	* objfiles.c (allocate_objfile):  Allow NULL bfd argument.
	* symfile.c (deduce_language_from_filename):  Recognize .java.
1997-04-18 02:22:18 +00:00
Michael Snyder
b9580b812c Thu Apr 3 15:10:30 1997 Michael Snyder <msnyder@cleaver.cygnus.com>
Except for the two m32r modules, this checkin is for
	overlay support.

        * blockframe.c: blockvector_for_pc_sect(), block_for_pc_sect(),
        find_pc_sect_function(), find_pc_sect_partial_function(): new
        functions for debugging overlays; pc without section is ambiguous.
        * breakpoint.[ch]: add section pointer to breakpoint struct;
        add section argument to check_duplicates(); check section as well
        as pc in [breakpoint_here_p(), breakpoint_inserted_here_p(),
        breakpoint_thread_match(), bpstat_stop_status()];
        add section argument to describe_other_breakpoints();
        use INIT_SAL() macro to zero-out new sal structures;
        make resolve_sal_pc() fix up the sal's section as well as its pc;
        match on section + pc in clear_command() and delete_breakpoint();
        account for overlay sections in insert_breakpoints(),
        remove_breakpoint() and breakpoint_re_set_one();
        all this to support overlays where a PC is not unique.
        * exec.c: change xfer_memory() to handle overlay sections.
        * findvar.c: change read_var_value() to handle overlay sections.
        * frame.h: declaration for block_for_pc_sect() [blockframe.c].
        * infcmd.c: jump_command() warns against jumping into an overlay
        that's not in memory.  Also use INIT_SAL() to initialize sals.
        * infrun.c: wait_for_inferior() sets a flag to invalidate cached
        overlay state information; Also use INIT_SAL() to init sals.
        * m32r-rom.c: modify load routines to use LMA instead of VMA.
        * m32r-stub.c: mask exit value down to 8 bits; screen out any
        memory read/writes in the range 600000 to a00000, and ff680000
        to ff800000 (hangs because nothing is mapped there); fix strcpy().
        * maint.c: maintenance command "translate-address" supports overlays.
        * minsyms.c: lookup_minimal_symbol_by_pc_sect() supports overlays.
        * objfiles.[ch]: add ovly_mapped field to the obj_section struct;
        this constitutes gdb's internal overlay mapping table.  Add macro
        ALL_OBJSECTIONS() to loop thru the obj_structs and look at overlays.
        Add function find_pc_sect_section().
        * printcmd.c: modify print_address_symbolic() with overlay smarts;
        modify address_info() with overlay smarts; add function sym_info()
        to support the INFO SYMBOL command (translate address to symbol(s));
        modify disassemble_command() to work on unmapped overlays.
        * source.c: use INIT_SAL() to initialize sals.
        * symfile.[ch]: change generic_load() to use section's LMA address
        instead of VMA address, for overlay sections.
        Add numerous functions for finding a PC's section / overlay,
        translating between VMA and LMA address ranges, determining if an
        overlay section is mapped, etc.  Add several user commands for
        overlay debugging.  Add support for a "generic" form of automatically
        reading overlay mapping info from the inferior (based on the default
        (simple) overlay manager which Cygnus provides as an example).
        * symtab.[ch]: add functions find_pc_sect_symtab(),
        find_pc_sect_psymtab(), find_pc_sect_psymbol(), find_pc_sect_line()
        for lookup; modify lookup_symbol and decode_line_1() to use them;
        modify find_function_start_sal() to account for overlay sections;
        add macro INIT_SAL() for initializing struct symtab_and_line.
        * target.c: fix a comment in the declaration of target_ops.
1997-04-03 23:19:46 +00:00
Fred Fish
f2bf454e0f * config/mips/tm-mips.h (struct frame_info): Forward decl.
(struct type): Ditto.
	(struct value): Ditto.

	* config/mips/tm-mips.h (sigtramp_address): Move extern decl
 	from mips-tdep.c to here.
	(sigtramp_end): Ditto.
	(fixup_sigtramp): Ditto.

	* config/mips/tm-mips.h (init_extra_frame_info): Add prototype.
	(mips_frame_chain): Ditto.
	(mips_step_skips_delay): Ditto.
	(mips_frame_saved_pc): Ditto.
	(mips_find_saved_regs): Ditto.
	(mips_frame_num_args): Ditto.
	(mips_pop_frame): Ditto.
	(mips_extract_return_value): Ditto.
	(mips_store_return_value): Ditto.
	(mips_push_dummy_frame): Ditto.
	(mips_push_arguments): Ditto.
	(mips_do_registers_info): Ditto.
	(ecoff_relocate_efi): Ditto.
	(ecoff_relocate_efi): Ditto.
	* irix4-nat.c (fetch_core_registers): Add prototype.
	* mips-tdep.c (read_next_frame_reg): Add prototype
	(heuristic_proc_start): Ditto.
	(heuristic_proc_desc): Ditto.
	(mips_print_register): Ditto.
	* config/mips/nm-irix5.h (procfs_set_watchpoint): Add prototype.
	(procfs_stopped_by_watchpoint): Ditto.
	* config/mips/nm-irix4.h (procfs_set_watchpoint): Add prototype.
	(procfs_stopped_by_watchpoint): Ditto.
	* config/alpha/tm-alpha.h (ecoff_relocate_efi): Add prototype.
	(struct symbol): Add forward decl for prototype.

	* breakpoint.c (internal_breakpoint_number): Only needed if
	GET_LONGJMP_TARGET or SOLIB_ADD is defined.

	* objfiles.c (ecoff_relocate_efi): Remove prototype.
1996-07-28 21:41:09 +00:00
Fred Fish
b607efe714 See gdb ChangeLog entry with header:
Thu Jul 25 19:41:31 1996  Fred Fish  <fnf@cygnus.com>

for a rather huge set of changes.  I was going to put them here, but it
made cvs dump core.  :-(
1996-07-26 03:01:51 +00:00
Fred Fish
0a4d0a494e Fix thinko in previous patch 1996-07-13 04:50:40 +00:00
Fred Fish
c0e6ae2e2e * objfiles.c (map_to_file): Error return from mmalloc_findbase is
a NULL pointer, not a -1.
Fix oops from a previous checkin.
1996-07-13 01:12:11 +00:00
Fred Fish
5410991408 * Makefile.in (MMALLOC_CFLAGS): Eliminate intermediate MMALLOC_DISABLE
and MMALLOC_CHECK macros, and add comment indicating how host dependent
	makefile fragment should modify MMALLOC_CFLAGS to not use mmalloc, or
	to use it but to not do heap corruption checking.
	* gdbserver/Makefile.in: Ditto.
	* utils.c (init_malloc): Replace warning() use with direct call of
	fprintf_unfiltered, since current_target has not yet been set and thus
 	we cannot use warning().  If we try to use mmcheck and it fails,
	suggest that this configuration needs NO_MMCHECK or MMCHECK_FORCE
 	defined.  Other small mmalloc related cleanups.
	* config/sparc/sun4os4.mh (MMALLOC_CFLAGS): Define MMCHECK_FORCE to 1.
	* config/alpha/alpha-osf2.mh (MMALLOC_CFLAGS): Set to -DNO_MMCHECK.

	* config/sparc/xm-sun4os4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
	* config/i386/xm-i386v4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
	* config/i386/xm-linux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
	* config/m68k/xm-hp300hpux.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
	* config/m68k/xm-m68kv4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT);
	* config/m68k/xm-sun3os4.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
	* config/pa/xm-hppah.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
	* config/sparc/xm-sun4sol2.h (MMAP_BASE_ADDRESS, MMAP_INCREMENT):
	Remove obsolete defines.

	* config/alpha/alpha-linux.mh (MMALLOC_DISABLE):
	* config/alpha/alpha-osf1.mh (MMALLOC_DISABLE):
	* config/rs6000/rs6000.mh (MMALLOC_DISABLE):
	* config/rs6000/aix4.mh (MMALLOC_DISABLE):
	* config/powerpc/aix4.mh (MMALLOC_DISABLE):
	* config/powerpc/aix.mh (MMALLOC_DISABLE):
	* config/ns32k/ns32km3.mh (MMALLOC_DISABLE):
	* config/mips/mipsm3.mh (MMALLOC_DISABLE):
	* config/mips/decstation.mh (MMALLOC_DISABLE):
	* config/m88k/cxux.mh (MMALLOC_DISABLE):
	* config/i386/i386mk.mh (MMALLOC_DISABLE):
	* config/i386/i386m3.mh (MMALLOC_DISABLE):
	* config/i386/i386gnu.mh (MMALLOC_DISABLE):
	Use MMALLOC_CFLAGS instead.
1996-07-11 07:41:51 +00:00
Fred Fish
5579919f7d * Makefile.in (scm-exp.o, scm-lang.o, scm-valprint.o): Add targets and
dependencies.
	* scm-lang.c (gdb_string.h): Include.
	* objfiles.c (add_to_objfile_sections): Cast second arg of obstack_grow
	call to correct type (char *).
	* cp-valprint.c (cp_print_static_field): Ditto.
	* somsolib.c (som_solib_create_inferior_hook): Add a declaration
	for external find_unwind_entry function (from hppa-tdep.c).
	* remote-pa.c (remote_write_bytes, remote_read_bytes): Change
	type of second arg to "char *" to be type compatible with
	dcache.
	(remote_wait): Cast second arg to strtol to correct type.
	* hppa-tdep.c (compare_unwind_entries): Change argument types to
	"const void *" to be type compatible with qsort, and then
	assign to local args prior to use.
1996-04-09 06:09:33 +00:00
Fred Fish
2ad5709f00 * bcache.c, bcache.h: New files to implement a byte cache.
* Makefile.in (SFILES): Add bcache.c.
	(symtab_h): Add bcache.h.
	(HFILES_NO_SRCDIR): add bcache.h
	(COMMON_OBJS): Add bcache.o
	(bcache.o): New target.
	* dbxread.c (start_psymtab): Make global_syms & static_syms
 	type "partial_symbol **".
	* hpread.c (hpread_start_symtab):  Ditto.
	* os9kread.c (os9k_start_psymtab):  Ditto.
	* stabsread.h (start_psymtab):  Ditto.
	* {symfile.c, symfile.h} (start_psymtab_common):  Ditto.
	* maint.c (maintenance_print_statistics): Call
 	print_symbol_bcache_statistics.
	* objfiles.c (allocate_objfile): Initialize psymbol bcache malloc
	and free pointers.
	* solib.c (allocate_rt_common_objfile): Ditto.
	* symfile.c (reread_symbols):  Ditto.
	(free_objfile): Free psymbol bcache when objfile is freed.
	(objfile_relocate): Use new indirect psymbol pointers.
	* objfiles.h (struct objfile): Add psymbol cache.
	* symfile.c (compare_psymbols): Now passed pointers to pointers to
	psymbols.
	(reread_symbols): Free psymbol bcache when freeing other objfile
	resources.
	(add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new
	psymbol using the psymbol bcache.
	(init_psymbol_list): Psymbol lists now contain pointers rather than
	the actual psymbols.
	* symfile.h (psymbol_allocation_list): Psymbol lists now dynamically
	grown arrays of pointers.
	(ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol
	bcache.
	* symmisc.c (print_partial_symbols): Now takes pointer to pointer
	to partial symbol.
	(print_symbol_bcache_statistics): New function to print per objfile
 	bcache statistics.
	(print_partial_symbol, print_partial_symbols,
 	maintenance_check_symtabs, extend_psymbol_list):
 	Account for change to pointer to pointer to partial symbol.
	* symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2,
	make_symbol_completion_list):
 	Account for change to pointer to pointer to partial symbol.
	* symtab.h (bcache.h): Include.
	* xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms
 	type "partial_symbol **".
1996-02-16 22:14:47 +00:00
Fred Fish
f309ad9590 * coffread.c, dbxread.c, dstread.c, objfiles.c, os9kread.c,
symfile.c, symtab.c:  Use "obstack.h" rather than <obstack.h>.
1995-12-09 05:12:46 +00:00
Fred Fish
9c38648171 * objfiles.c (map_to_address): Have gdb print a warning when it
is compiled with HAVE_MMAP but without both MMAP_BASE_ADDRESS and
 	MMAP_INCREMENT defined (thus making it appear mmap doesn't work).
1995-11-21 18:19:23 +00:00
Fred Fish
e7b6403a67 * objfiles.c (allocate_objfile): Change warning message about mapped
symbol tables so that it is obvious that they are not supported on
	this particular machine rather than implying they are not supported
	at all in this version of gdb.
1995-11-20 19:22:40 +00:00
Fred Fish
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
J.T. Conklin
2b57629364 * configure.in: Check for working mmap, ansi headers, string.h,
strings.h, and memory.h.
* configure: Regenerated.

* gdb_stat.h: New file, "portable" <sys/stat.h>.
* gdb_string.h: New file, "portable" <string.h>.

* altos-xdep.c, arm-tdep.c, arm-xdep.c, convex-tdep.c,
convex-xdep.c, coredep.c, cxux-nat.c, dbxread.c, exec.c,
gould-xdep.c, hppa-tdep.c, i386aix-nat.c, i386b-nat.c,
i386mach-nat.c, i386v-nat.c, infptrace.c, m88k-nat.c, main.c,
mdebugread.c, objfiles.c, os9kread.c, procfs.c, pyr-xdep.c,
rs6000-nat.c, source.c, standalone.c, stuff.c, sun386-nat.c,
symfile.c, symm-nat.c, symm-tdep.c, symtab.c, top.c, ultra3-nat.c,
ultra3-xdep.c, umax-xdep.c, xcoffread.c: Include "gdb_stat.h"
instead of <sys/stat.h>.

* alpha-tdep.c, breakpoint.c, buildsym.c, c-typeprint.c,
ch-typeprint.c, coffread.c, command.c, core-sol2.c, core-svr4.c,
core.c, corelow.c, cp-valprint.c, dbxread.c, dcache.c, demangle.c,
dpx2-nat.c, dstread.c, dwarfread.c, elfread.c, environ.c, eval.c,
exec.c, f-lang.c, f-typeprint.c, f-valprint.c, findvar.c,
fork-child.c, gdbtypes.c, hpread.c, i386-tdep.c, infcmd.c,
inflow.c, infptrace.c, infrun.c, irix5-nat.c, language.c,
m2-typeprint.c, main.c, mdebugread.c, minsyms.c, mipsread.c,
monitor.c, nlmread.c, objfiles.c, os9kread.c, osfsolib.c, parse.c,
printcmd.c, procfs.c, regex.c, remote-adapt.c, remote-arc.c,
remote-array.c, remote-bug.c, remote-e7000.c, remote-eb.c,
remote-es.c, remote-hms.c, remote-mm.c, remote-os9k.c,
remote-pa.c, remote-sim.c, remote-st.c, remote-udi.c,
remote-utils.c, remote-vx.c, remote-vx29k.c, remote-vx68.c,
remote-vx960.c, remote-vxmips.c, remote-vxsparc.c, remote.c,
solib.c, somread.c, source.c, stabsread.c, stack.c, symfile.c,
symmisc.c, symtab.c, target.c, top.c, typeprint.c, utils.c,
valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Include
"gdb_string.h" instead of <string.h>.
* gdbtk.c: Likewise.

* config/xm-sysv4.h, i386/xm-ptx.h, m68k/xm-sun3os4.h,
sparc/xm-sun4os4.h (HAVE_MMAP): Removed.

* config/xm-lynx.h, config/i386/xm-ptx.h,
config/m68k/nm-apollo68b.h, config/m68k/xm-hp300hpux.h,
config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/mips/xm-news-mips.h, config/mips/xm-riscos.h,
config/pa/hppah.h, config/rs6000/xm-rs6000.h,
config/sparc/xm-sun4os4.h, config/sparc/xm-sun4sol2.h,
config/vax/xm-vaxbsd.h, config/vax/xm-vaxult.h,
config/vax/xm-vaxult2.h (MEM_FNS_DECLARED): Removed.
* config/mips/xm-irix3.h, config/mips/xm-mips.h,
config/pa/xm-hppah.h (memcpy, memset): Removed declarations.
1995-08-01 20:14:27 +00:00
J.T. Conklin
1a49497348 * configure.in: Check for unistd.h.
* configure: Regenerated.

* command.c, cp-valprint.c, fork-child.c, i386-tdep.c,
i386b-nat.c, inflow.c, main.c, maint.c, objfiles.c, solib.c,
source.c, stack.c, symfile.c, top.c, utils.c: Include strings.h
and/or unistd.h to bring prototypes into scope.
1995-07-31 22:46:03 +00:00
Jim Kingdon
e2adc41a31 * xcoffread.c (xcoff_sym_fns): Revise comment about merging this
with coffread.c.

	* breakpoint.c (fixup_breakpoints): Removed.
	* rs6000-nat.c (vmap_symtab): Don't call fixup_breakpoints.
	(vmap_ldinfo, xcoff_relocate_core): Call breakpoint_re_set.

	* coffread.c (coff_symfile_offsets): Allocate SECT_OFF_MAX
	sections, not just SECT_OFF_MAX-1.

	* rs6000-nat.c (vmap_symtab), xcoffread.c: Re-do section offsets
	to be indexed by SECT_OFF_* instead of xcoff section numbers.
	* objfiles.c, remote.c: Remove comments regarding SECT_OFF_*.
	* symtab.h: Revise comment about block_line_section.
	* rs6000-nat.c (vmap_symtab): Don't relocate objfile->sections.
1995-04-16 00:53:31 +00:00
Jim Kingdon
dee803840d * top.c, utils.c, main.c: Replace error_pre_print with two
variables: error_pre_print (for RETURN_ERROR) and quit_pre_print
	(for RETURN_QUIT).  Fixes a bug whereby typing ^C (e.g. in "maint
	print sym") could output extraneous stuff.
	* objfiles.c: Don't declare error_pre_print; defs.h does it.
1995-04-04 20:07:21 +00:00
Peter Schauer
02b40a193e * dbxread.c (process_one_symbol): Handle N_FUN symbols
for Sun acc 3.0 under SunOS4.

	Changes to improve handling of runtime common symbols
	under SunOS4.
	* minsyms.c (get_symbol_leading_char):  New routine to determine
	the leading symbol character for an objfile.
	(prim_record_minimal_symbol_and_info, install_minimal_symbols):
	Use it.
	* objfiles.h (rt_common_objfile):  New global, points to objfile
	containing the runtime common minimal symbols.
	* objfiles.c (free_objfile):  Mark rt_common_objfile as
	unallocated before freeing it.
	* solib.c (allocate_rt_common_objfile):  New routine to allocate
	an objfile for the runtime common minimal symbols.
	(solib_add_common_symbols):  Allocate an objfile for the runtime
	common symbols if necessary and put common symbols into it.
	Clean up code and comments.
	(solib_add, special_symbol_handling):  Cleanup comments regarding
	runtime common symbols.
	* stabsread.c (scan_file_globals_1):  New routine, contains
	old scan_file_globals code. Checks if there are any unresolved
	global symbols before starting the expensive minimal symbol table
	search.
	(scan_file_globals):  Now calls scan_file_globals_1 for the passed
	objfile and eventually for the runtime common objfile. Complains
	about any unresolved global symbols and removes them from the
	global symbol chain to avoid dangling pointers into the symbol
	table if the symbol table is reread.
1995-01-07 15:30:58 +00:00
Jim Kingdon
3a47045432 * objfiles.c (objfile_relocate): When relocating ->sections, use
objfile not symfile_objfile.

	* symtab.h, minsyms.c (minsyms_sort): New function.
	* objfiles.c (objfile_relocate): Call it.

	* remote-vx.c (vx_add_symbols): Call breakpoint_re_set.

	* objfiles.c, objfiles.h (objfile_to_front): New function.
	* remote-vx.c (vx_add_symbols): Call it.

	* coffread.c (coff_symtab_read): Handle common symbols the same
	way that partial-stab.h does.
1994-10-20 05:15:46 +00:00
Jim Kingdon
9de0904cce * symfile.c (reread_symbols): Include bfd_errmsg string in error
message if bfd_close fails.
	* exec.c (exec_close), solib.c (clear_solib), corelow.c
	(core_close), objfiles.c (free_objfile), irix5-nat.c
	(clear_solib), osfsolib.c (clear_solib), remote-utils.c
	(gr_load_image): Check for errors from bfd_close.
	* solib.c (look_for_base), remote-utils.c (gr_load_image),
	remote-udi.c (download), corelow.c (core_open), symfile.c
	(symfile_bfd_open), symfile.c (generic_load): Add comment
	regarding error from bfd_close.
	* remote-udi.c (download), remote-utils.c (gr_load_image): Add
	comment about bogus handling of errors from bfd_openr.
	* exec.c (exec_close): Add comment regarding memory leak and
	dangling reference to vp->name.
1994-10-15 18:28:35 +00:00
Stan Shebs
7f4c859520 * objfiles.c (allocate_objfile): Add the newly-created objfile to
the end of the list of objfiles, instead of at the beginning.

	* xcoffread.c (allocate_include_entry): New function, abstracted
	from code in record_include_begin.
	(record_include_begin, record_include_end): Call it.

	* blockframe.c (reinit_frame_cache): Test inferior_pid instead of
	target_has_stack to decide whether to create a real stack frame
	for the cache.

	* coffread.c (process_coff_symbol) [CXUX_TARGET]: Ignore vendor
	section.
	* config/m88k/tm-cxux.h (CXUX_TARGET): Define.

	* h8300-tdep.c: Include "dis-asm.h" instead of <dis-asm.h>.
1994-09-03 00:32:08 +00:00
Stu Grossman
a4b4f52058 * nlmread.c (nlm_symtab_read): Clean up a bit.
* (nlm_symfile_read):  Record bounds of main() so that backtrace
	command will know where to stop.
	* objfiles.c (objfile_relocate):  Relocate entry point/func info
	for backtrace as well.
	* objfiles.h:  Define values for invalid PCs for entry point info.
	* symfile.c (init_entry_point_info):  Initialize invalid values
	with aforementioned macros.
	* config/alpha/tm-alphanw.h:  Turn on FRAME_CHAIN_VALID_ALTERNATE
	to cause backtrace to stop when it gets back to main().
	* config/i386/tm-i386nw.h:  Ditto.
1994-06-09 06:30:38 +00:00
Peter Schauer
38b9047360 For SVR4 targets, enable gdb to set breakpoints in shared
library functions before the executable is run.
	* elfread.c (elf_symtab_read):  Handle symbols for shared library
	functions.
	* sparc-tdep.c (in_solib_trampoline):  Renamed to in_plt_section
	and moved to objfiles.c.
	* objfiles.c (in_plt_section):  Moved to here from sparc-tdep.
	* config/tm-sysv4.h (IN_SOLIB_TRAMPOLINE):  Use new in_plt_section.
	* config/sparc/tm-sun4sol2.h (IN_SOLIB_TRAMPOLINE):  Removed,
	the new generic definition from tm-sysv4.h works for Solaris.
1994-04-01 08:50:03 +00:00
Stu Grossman
72bba93b85 Mon Mar 21 11:02:51 1994 Stu Grossman (grossman at cygnus.com)
* alpha-tdep.c:  Gobs of changes (many imported from mips-tdep) to
	improve remote debugging efficiency.  Also fixed problems with
	doing function calls for programs with no entry points.
	* infcmd.c (run_stack_dummy):  Use CALL_DUMMY_ADDRESS instead of
	entry_point_address.
	* inferior.h (PC_IN_CALL_DUMMY):  ditto.
	* mdebugread.c (parse_symbol, parse_procedure, parse_external,
	parse_lines):  Pass section_offsets info to these routines so that
	we can relocate symbol table entries upon readin.
	* (psymtab_to_symtab_1):  Set symtab->primary to tell
	objfile_relocate to do relocations for our symbols.
	* (ecoff_relocate_efi):  New routine to relocate adr field of PDRs
	(which hang off of the symbol table).
	* Use prim_record_minimal_symbols_and_info instead of
	prim_record_minimal_symbols to supply section info to make minimal
	symbol relocations work.
	* minsyms.c (prim_record_minimal_symbols_and_info):  If section is
	-1, try to deduce it from ms_type.
	* objfiles.c (objfile_relocate):  Use ALL_OBJFILE_SYMTABS where
	appropriate.  Handle relocation of MIPS_EFI symbols special. Also,
	add code to relocate objfile->sections data structure.
	* remote.c (get_offsets):  Use new protocol message to acquire
	section offsets from the target.
	* (remote_wait):  Get rid of relocation stuff.  That's all handled
	by objfile_relocate now.
	* config/alpha/alpha-nw.mt (TM_FILE):  Use tm-alphanw.h.
	* config/alpha/tm-alpha.h:  Define CALL_DUMMY_ADDRESS, and
	VM_MIN_ADDRESS.
	* config/alpha/tm-alphanw.h:  DECR_PC_AFTER_BREAK=0, VM_MIN_ADDRESS=0.
1994-03-21 19:57:38 +00:00
Jim Kingdon
94d4b71373 * Makefile.in (TAGS): Use variables directly, rather than using
find, to locate TM_FILE, XM_FILE, and NAT_FILE.  This is faster
	and means that these filenames no longer need be unique across all
	the config/* directories.
	* configure.in: Put the config/*/ into TM_FILE, etc.

	* m68k-stub.c (computeSignal): Return SIGFPE, not SIGURG, for chk
	and trapv exceptions.

	* target.h (struct section_table), objfiles.h (struct obj_section):
	Change name of field sec_ptr to the_bfd_section.  More mnemonic
	and avoids the (sort of, for the ptx compiler) name clash with
	the name of the typedef.
	* exec.c, xcoffexec.c, sparc-tdep.c, rs6000-nat.c, osfsolib.c,
	solib.c, irix5-nat.c, objfiles.c, remote.c: Change users.

	* utils.c: Include readline.h.
	* Makefile.in (utils.o): Add dependency.

	* remote.c (getpkt): Add support for run-length encoding.
1994-03-19 18:49:50 +00:00
Jim Kingdon
25200748a2 * os9kread.c (os9k_process_one_symbol): Rename
VARIABLES_INSIDE_BLOCK to OS9K_VARIABLES_INSIDE_BLOCK.
	* symfile.c (symbol_file_command): Check for (CORE_ADDR)-1, not
	(CORE_ADDR)0, from target_link, since that is what it uses.
	Process name at end, not during parsing (like we did before Kung's
	change), so that -readnow and -mapped can appear anywhere.
	Make text_relocation a local variable.
	* config/i386/i386os9k.mt: Fix comment.
	* Makefile.in (ALLDEPFILES): Add remote-os9k.c.
	* os9kread.c: Put "comments" after #endif inside /* */.
	* stabsread.h: Add os9k_stabs variable.
	* stabsread.c (start_stabs), os9kread.c (os9k_process_one_symbol):
	Set it.
	* stabsread.c (define_symbol): If os9k_stabs, put a 'V' symbol
	descriptor in global_symbols not local_symbols.
	(read_type): If os9k_stabs, accept 'c', 'i', and 'b' type
	descriptors.
	(read_type): If os9k_stabs, accept function parameters after 'f'
	type descriptor.
	(read_array_type): If os9k_stabs, don't expect index type and
	expect lower and upper to be separated by ',' not ';'.
	(read_enum_type): If os9k_stabs, read a number before the first
	enumeration constant.
	(os9k_init_type_vector): New function.
	(dbx_lookup_type): Call it when starting new type vector.
	* config/i386/tm-i386os9k.h: Define BELIEVE_PCC_PROMOTION.
	* (os9k_process_one_symbol): Call define_symbol not os9k_define_symbol.
	* os9kstab.c: Removed.
	* Makefile.in: Update accordingly.
	* objfiles.c (objfile_relocate_data): Removed.
	* remote-os9k.c (rombug_wait): Call objfile_relocate
	not objfile_relocate_data.
	* objfiles.h, objfiles.c: Remove find_pc_objfile.
	* remote-os9k.c (rombug_wait): Call find_pc_section not
	find_pc_objfile.
	* main.c (quit_command): Check inferior_pid; revert Kung change.
	* remote-os9k.c (rombug_create_inferior): Set inferior_pid.
1994-03-02 03:01:34 +00:00
Kung Hsu
1340861c99 Modified Files:
ChangeLog objfiles.c objfiles.h symfile.c target.c main.c
	Makefile.in configure.in
Added Files:
	os9kread.c os9kstab.c remote-os9k.c

        * os9kread.c: New file to read os9000 style symbo table.
        * os9kstab.c: new file to read os9000 style stabs.
        * remote-os9k.c: remote protocol talking to os9000 rombug monitor.
        * objfiles.c (find_pc_objfile): new function to search objfile
        from pc.
        * objfiles.c (objfile_relocate_data): new function to relocate
        data symbols in symbol table.
        * objfiles.h: Add two aux fields in struct objfile to handle
        multiple symbol table files situation like in os9000.
        * symfile.c: Change so 'symbol-file' command can handle multiple
        files. Also call target_link() to get relocation infos.
        * target.c (target_link): new function to get relocation info when
        a symbol file is requested to load.
        * main.c (quit_command): take out 'inferior_pid != 0' condition,
        because in cross mode there's no inferior pid, bit they need to
        be detached.
        Makefile.in: add os9kread.c os9kstab.c and .o's.
        configure.in: add i386os9k target.
        config/i386/i386os9k.mt: new add.
        config/i386/tm-i386os9k.h: new add.
1994-03-01 23:13:56 +00:00
David MacKenzie
c4a081e172 * corelow.c, exec.c, irix5-nat.c, mipsread.c, objfiles.c,
osfsolib.c, rs6000-nat.c, solib.c, symfile.c, utils.c,
	xcoffexec.c: Use bfd_get_error and bfd_set_error and new error names.
1994-02-17 18:19:25 +00:00
Jim Kingdon
e14316e7fe * objfiles.c (build_objfile_section_table): Don't abort() if
objfile->sections is already set.

	* objfiles.c (add_to_objfile_sections): Check SEC_ALLOC not SEC_LOAD
	to match recent change to exec.c.
1994-01-04 21:37:25 +00:00
Thomas Lord
199b2450f6 Change the stream argument to _filtered to GDB_FILE *.
Change all references to stdout/stderr to gdb_stdout/gdb_stderr.

Replace all calls to stdio output functions with calls to
corresponding _unfiltered functions (`fprintf_unfiltered')

Replaced calls to fopen for output to gdb_fopen.

Added sufficient goo to utils.c and defs.h to make the above work.

The net effect is that stdio output functions are only directly used
in utils.c.  Elsewhere, the _unfiltered and _filtered functions and
GDB_FILE type are used.

In the near future, GDB_FILE will stop being equivalant to FILE.

The semantics of some commands has changed in a very subtle way:
called in the right context, they may cause new occurences of
prompt_for_continue() behavior.  The testsuite doesn't notice anything
like this, though.

Please respect this change by not reintroducing stdio output
dependencies in the main body of gdb code.  All output from commands
should go to a GDB_FILE.

Target-specific code can still use stdio directly to communicate with
targets.
1993-11-01 22:25:23 +00:00
Jim Kingdon
4d57c5995e * symfile.c (reread_symbols): When re-reading symbols, do all the
right operations ourself, rather than calling symbol_file_command.
	If we re-read something, call clear_symtab_users not just
	breakpoint_re_set.
	* objfiles.h, objfiles.c (build_objfile_section_table): No longer
	static.
	* symfile.c (clear_symtab_users): Call clear_pc_function_cache.
	* coffread.c, dbxread.c, elfread.c, mipsread.c, nlmread.c, paread.c
	(*_symfile_offsets): Set objfile->num_sections.
	* remote.c (remote_wait), symfile.c (syms_from_objfile):
	Don't muck with objfile->num_sections now that all the symbol
	readers set it.
	* elfread.c: Clean up obsolete comment about handling only DWARF.
	* paread.c: Remove comment about how we should use an "ordinary"
	file format with an hppa suffix.  There is nothing ordinary about SOM.
1993-10-30 20:21:19 +00:00
Jim Kingdon
100f92e2de * Makefile.in (c-exp.tab.o): Remove notice about shift/reduce conflicts
which no longer occur.

	gcc -Wall lint:
	* findvar.c (symbol_read_needs_frame), corelow.c (ignore),
	inflow.c (gdb_has_a_terminal): Make sure to return a value.
	* regex.h: Declare re_set_syntax.
	* printcmd.c: Include valprint.h.
	* infcmd.c, exec.c, maint.c, core.c: Include language.h.
	* maint.c: Include expression.h.
	* infrun.c, fork-child.c, corelow.c, inflow.c: Include thread.h.
	* inftarg.c: Include command.h.
	* coredep.c: Include value.h.
	* c-exp.y, m2-exp.y, ch-exp.y: Include bfd.h, symfile.h and objfiles.h.
	* ch-typeprint.c: Include typeprint.h.
	* ch-valprint.c: Include c-lang.h.
	* nlmread.c: Include buildsym.h.
	* environ.c: Include gdbcore.h.  Only include defs.h once.
	(set_in_environ): Cast const char * to char * when passing to
	set_gnutarget.
	Remove unused variables:
	* printcmd.c (printf_command): args_to_vprintf.
	* coffread.c (coff_symfile_init): strsection.
	Move variables to within the #ifdefs where they are used:
	* symtab.c (gdb_mangle_name): opname.
	* inftarg.c (child_attach): pid and exec_file.
	* inftarg.c (child_detach): siggnal.
	* objfiles.c (allocate_objfile): mapto, md, and fd.
	* objfiles.c (free_objfile): mmfd.
	* infrun.c (wait_for_inferior): Include BPSTAT_WHAT_LAST in switch.
	* infrun.c (wait_for_inferior): Remove unused same_pid label.
	* inferior.h: Declare set_sigint_trap and clear_sigint_trap.
	* parser-defs.h: Declare write_exp_elt_block.
	* stabsread.h: Declare elfstab_offset_sections and
	coffstab_build_psymtabs.
1993-10-21 20:41:50 +00:00
Jim Kingdon
77fe3f84ff * mipsread.c, objfiles.c, utils.c: Use PTR not void *. RISC/OS
4.02 lacks void *.
	* elfread.c: Use void * not PTR inside PARAMS.
1993-10-03 01:50:53 +00:00