Michael Snyder [Thu, 3 Apr 1997 23:24:30 +0000 (23:24 +0000)]
Thu Apr 3 15:21:26 1997 Michael Snyder <msnyder@cleaver.cygnus.com>
* gdb.base/help.exp: update help msg for INFO ADDR; add help test
for INFO SYMBOL; add help tests for OVERLAY commands.
* gdb.base/default.exp: add tests for INFO SYMBOL command;
add tests for OVERLAY commands
* gdb.base/overlays.c overlays.exp foo.c bar.c baz.c grbx.c ovlymgr.h
d10v.ld m32r.ld d10vovly.c m32rovly.c: add test case for overlays.
* gdb.base/sigall.c: add usestubs code frag
* gdb.base/watchpoint.c: turn on complex watchpoint test for M32R.
Michael Snyder [Thu, 3 Apr 1997 23:19:46 +0000 (23:19 +0000)]
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.
Mark Alexander [Thu, 3 Apr 1997 19:43:39 +0000 (19:43 +0000)]
* mips-tdep.c (mips_in_call_stub, mips_in_return_stub,
mips_skip_stub, mips_ignore_helper): New functions for dealing
with MIPS16 call/return thunks.
(mips_init_frame_pc_first): New function to implement
INIT_FRAME_PC_FIRST macro; includes code from old macro plus
new code to skip over MIPS16 thunks.
(mips_frame_chain): Skip over MIPS16 thunks.
* config/mips/tm-mips.h (mips_in_call_stub, mips_in_return_stub,
mips_skip_stub, mips_ignore_helper): Declare.
(IN_SOLIB_CALL_TRAMPOLINE, IN_SOLIB_RETURN_TRAMPOLINE,
SKIP_TRAMPOLINE_CODE, IGNORE_HELPER_CALL): New macros that invoke
the above functions.
(INIT_FRAME_PC_FIRST): Change to invoke mips_init_frame_pc.
(mips_init_frame_pc): Declare.
* infrun.c (wait_for_inferior): Use new IGNORE_HELPER_CALL macro
to decide if certain library function calls should be ignored.
David Edelsohn [Wed, 2 Apr 1997 23:27:06 +0000 (23:27 +0000)]
* remote-sim.c (gdbsim_open): Check return code from sim_open.
Update call to sim_open (new arg SIM_OPEN_DEBUG).
Forgot the last sentence in the previous checking.
Revert last patch, and:
* elflink.h (elf_link_add_object_symbols): Let a common symbol
override an uninitialized symbol from a shared library with a
smaller size.
* Makefile.in: Remove unnecessary itbl-parse.h, ibtl-parse.c, and
itbl-lex.c dependencies. Remove rules for itbl-lex.o,
itbl-parse.o, and itbl-ops.o; just use the normal .c.o rule.
Ian Lance Taylor [Fri, 28 Mar 1997 23:17:08 +0000 (23:17 +0000)]
Fri Mar 28 17:57:53 1997 Alan Modra <alan@spri.levels.unisa.edu.au>
* Makefile.in ($(OBJDUMP_PROG)): Don't link against BFDLIB twice.
* configure.in: Add AC_ARG_ENABLE for commonbfdlib. If it is set,
set OPCODES to empty.
* configure: Rebuild.
Ian Lance Taylor [Fri, 28 Mar 1997 20:33:54 +0000 (20:33 +0000)]
Fri Mar 28 15:29:23 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
Contributed by David S. Miller <davem@caip.rutgers.edu>:
* configure.tgt (sparc*-*-linuxaout*): New target.
(sparc*-*-linux*): New target.
* emulparams/sparclinux.sh: New file.
* Makefile.in (ALL_EMULATIONS): Add esparclinux.o.
(esparclinux.c): New target.
Ian Lance Taylor [Fri, 28 Mar 1997 20:24:08 +0000 (20:24 +0000)]
From David S. Miller <davem@caip.rutgers.edu> and H.J. Lu
<hjl@gnu.ai.mit.edu>:
* sparclinux.c: New file.
* config.bfd (sparc-*-linuxaout*, sparc-*-linux*): New targets.
* configure.in (sparclinux_vec): Add to list of vectors.
* configure: Rebuild.
* targets.c (sparclinux_vec): Declare.
(bfd_target_vector): Add sparclinux_vec.
* Makefile.in: Rebuild dependencies.
(BFD32_BACKENDS): Add sparclinux.o.
(BFD32_BACKENDS_CFILES): Add sparclinux.c.
Ian Lance Taylor [Fri, 28 Mar 1997 19:34:34 +0000 (19:34 +0000)]
From Ralf Baechle <ralf@gnu.ai.mit.edu>:
* configure.tgt: Set targ_extra_emuls for mips*el-*-linux* and
mips*-*-linux*. Use elf32bmip and elf32lmip, not elf32ebmip and
elf32elmip.
Ian Lance Taylor [Fri, 28 Mar 1997 19:18:11 +0000 (19:18 +0000)]
* config/tc-mips.c (struct mips_set_options): Define.
(mips_opts): New static variable.
(mips_isa): Remove. Now a field in mips_opts. Change all
references.
(mips16, mips16_autoextend, mips_warn_about_macros): Likewise.
(mips_noreorder, mips_nomove, mips_noat, mips_nobopt): Likewise.
(struct mips_option_stack): Define.
(mips_opts_stack): New static variable.
(s_mipsset): Add support for .set push and .set pop.
* doc/c-mips.texi: Document .set push and .set pop.
Ian Lance Taylor [Fri, 28 Mar 1997 18:10:09 +0000 (18:10 +0000)]
* config/obj-elf.c (obj_elf_section_change_hook): New function.
* config/obj-elf.h (obj_elf_section_change_hook): Declare it.
* config/tc-mips.c (s_change_sec): Call it if OBJ_ELF.
Ian Lance Taylor [Fri, 28 Mar 1997 17:39:23 +0000 (17:39 +0000)]
* config.bfd: Add bfd_elf64_{big,little}mips_vec to targ_selvecs
for mips*el*-*-linux* and mips*-*-linux*. From H.J. Lu
<hjl@lucon.org> and Ralf Baechle <ralf@gnu.ai.mit.edu>.
Ian Lance Taylor [Fri, 28 Mar 1997 17:11:55 +0000 (17:11 +0000)]
* configure.in: Add stdlib.h to AC_CHECK_HEADERS list.
* configure, config.in: Rebuild.
* sysdep.h: Include <stdlib.h> if it exists.
* sparc-dis.c: Include <stdio.h> and "sysdep.h". Don't include
<string.h>.
* Makefile.in: Rebuild dependencies.