Commit b83266a0 authored by Stan Shebs's avatar Stan Shebs
Browse files

import gdb-19990504 snapshot

parent e1346c8d
1999-05-04 DJ Delorie <dj@cygnus.com>
DJGPP changes from Robert Hoehne <robert.hoehne@gmx.net>
* ser-go32.c: correct includes
* source.c (openp): use ROOTED_P instead of SLASH_P
* go32-nat.c: enhance exception and NPX handling
(go32_kill_inferior): fix small bug killing inferior
* configure.in: don't look for termcap with djgpp
* configure: rebuild
1999-05-04 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* main.c (main): Comment out unused and undocumented command line
option '-'.
1999-04-30 Jim Blandy <jimb@zwingli.cygnus.com>
Cleanup from Philippe De Muyter:
* configure.in (BFD_NEED_DECLARATION): Check also for strstr.
* acconfig.h (NEED_DECLARATION_MALLOC, NEED_DECLARATION_REALLOC,
NEED_DECLARATION_FREE, NEED_DECLARATION_STRERROR): Define slots
removed; they are now generated automatically.
* gdb_string.h (strstr): Provide function prototype if
NEED_DECLARATION_STRSTR.
* configure, config.in: Regenerated.
Fri Apr 30 11:16:09 1999 Michael Snyder <msnyder@cleaver.cygnus.com>
* target.h (to_find_new_threads): new target ops vector.
(target_find_new_threads): define.
* target.c (update_current_target): inherit new target ops vector.
* remote.c: Setup to_find_new_threads vector.
* sol-thread.c: ditto.
* thread.c (target_find_new_threads): rename: local_find_new_threads.
(info_threads_command): call target_find_new_threads by new method,
as a target ops vector, rather than previous macro definition method.
* infcmd.c (go_command): define only if in xdb mode.
* procfs.c: fix typo in comment.
Fri Apr 30 01:02:05 1999 Jeffrey A Law (law@cygnus.com)
* hppah-nat.c: Fix various coding convention violations introduced
by HP.
(child_acknowledge_created_inferior): Do nothing if PT_SET_EVENT_MASK
is not defined.
1999-04-28 Stan Shebs <shebs@andros.cygnus.com>
* TODO: Add some items inspired by review of the manual.
Tue Apr 27 17:38:19 1999 Andrew Cagney <cagney@b1.cygnus.com>
* config/z8k/tm-z8k.h, config/v850/tm-v850.h,
config/tic80/tm-tic80.h, config/sparc/tm-sparc.h,
config/sh/tm-sh.h, config/pyr/tm-pyr.h, config/pa/tm-hppa.h,
config/mn10300/tm-mn10300.h, config/mn10200/tm-mn10200.h,
config/mips/tm-mips.h, config/m88k/tm-m88k.h,
config/m68k/tm-m68k.h, config/m32r/tm-m32r.h,
config/i960/tm-i960.h, config/i386/tm-i386.h,
config/h8500/tm-h8500.h, config/h8300/tm-h8300.h,
config/fr30/tm-fr30.h, config/d30v/tm-d30v.h,
config/d10v/tm-d10v.h, config/alpha/tm-alpha.h,
config/arm/tm-arm.h, config/a29k/tm-a29k.h, config/arc/tm-arc.h:
Change SKIP_PROLOGUE and SKIP_PROLOGUE_FRAMELESS_P macros so that
they return the new address.
* sparc-tdep.c (sparc_skip_prologue), hppa-tdep.c
(hppa_skip_prologue), m88k-tdep.c
(m88k_skip_prologue), i960-tdep.c
(i960_skip_prologue), arc-tdep.c
(arc_skip_prologue), a29k-tdep.c (a29k_skip_prologue): Rename
skip_prologue function.
* config/m68k/tm-isi.h: Convert macro SKIP_PROLOGUE into a new
function.
* m68k-tdep.c (isi_skip_prologue): That new function.
* vax-tdep.c (vax_skip_prologue), config/vax/tm-vax.h: Ditto.
* tahoe-tdep.c (tahoe_skip_prologue), config/tahoe/tm-tahoe.h: Ditto.
* rs6000-tdep.c (rs6000_skip_prologue), config/rs6000/tm-rs6000.h:
Ditto.
* ns32k-tdep.c (umax_skip_prologue), config/ns32k/tm-umax.h: Ditto.
* config/ns32k/tm-merlin.h, ns32k-tdep.c (merlin_skip_prologue):
Ditto.
* config/m68k/tm-altos.h, m68k-tdep.c (altos_skip_prologue): Ditto.
* config/convex/tm-convex.h, convex-tdep.c (convex_skip_prologue):
Ditto.
* symtab.c (in_prologue, find_function_start_sal, decode_line_1),
infrun.c (wait_for_inferior), blockframe.c
(frameless_look_for_prologue): Update.
* config/fr30/tm-fr30.h (FRAMELESS_FUNCTION_INVOCATION): Update.
1999-04-27 Stan Shebs <shebs@andros.cygnus.com>
* TODO: Remove item about DEBUG_EXPRESSIONS, no longer meaningful.
* infrun.c (enum wfi_state): New enum.
(wait_for_inferior): Merge all but one of the target_wait calls
into a single call, add a wfi_state variable to encode which of
the calls is being made.
1999-04-26 Jim Blandy <jimb@zwingli.cygnus.com>
Fix from Dave Holcomb.
* hpux-thread.c (init_hpux_thread_ops): Use the right function
name when initializing hpux_thread_ops.to_thread_alive.
* coffread.c (coff_symfile_read): If we have a `.stab' section,
but no `.stabstr' section, then print an error message; don't
crash.
1999-04-26 Jim Blandy <jimb@zwingli.cygnus.com>
1999-04-25 Mark Kettenis <kettenis@gnu.org>
* gnu-nat.c (gnu_attach): Call target_terminal_init before calling
inf_set_traced, since that function calls code that might try to
restore the terminal settings.
Mon Apr 26 08:55:46 1999 Andrew Cagney <cagney@b1.cygnus.com>
* gdbarch.h, gdbarch.c: More format cleanups.
Fri Apr 23 15:00:25 1999 Andrew Cagney <cagney@b1.cygnus.com>
* gdbarch.c (arch_ok): New function. Fix logic test for a valid
architecture.
(set_arch): Use.
1999-04-22 Jason Molenda (jsm@bugshack.cygnus.com)
* README: Note that readline is not installed as a part of
......
......@@ -217,7 +217,7 @@ CDEPS = $(XM_CDEPS) $(TM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE) \
ADD_FILES = $(REGEX) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
ADD_DEPS = $(REGEX1) $(XM_ADD_FILES) $(TM_ADD_FILES) $(NAT_ADD_FILES)
VERSION = 19990422
VERSION = 19990504
DIST=gdb
LINT=/usr/5bin/lint
......
......@@ -9,6 +9,20 @@ General To Do List
This list is probably not up to date, and opinions vary about the
importance or even desirability of some of the items.
Document trace machinery.
Document overlay machinery.
Extend .gdbinit mechanism to specify name on command line, allow for
lists of files to load, include function of --tclcommand.
@c This does not work (yet if ever). FIXME.
@c @item --parse=@var{lang} @dots{}
@c Configure the @value{GDBN} expression parser to parse the listed languages.
@c @samp{all} configures @value{GDBN} for all supported languages. To get a
@c list of all supported languages, omit the argument. Without this
@c option, @value{GDBN} is configured to parse all supported languages.
Add an "info bfd" command that displays supported object formats,
similarly to objdump -i.
......@@ -382,9 +396,6 @@ Why do we allow a target to omit standard register names (NO_STD_REGS
in tm-z8k.h)? I thought the standard register names were supposed to
be just that, standard.
Make DEBUG_EXPRESSIONS a maintenance command, dependent on
MAINTENANCE_COMMANDS.
Allow core file without exec file on RS/6000.
Make sure "shell" with no arguments works right on DOS.
......@@ -466,6 +477,9 @@ Add a command for searching memory, a la adb. It specifies size,
mask, value, start address. ADB searches until it finds it or hits
an error (or is interrupted).
Remove the range and type checking code and documentation, if not
going to implement.
# Local Variables:
# mode: text
# End:
......@@ -337,7 +337,7 @@ examine_prologue (pc, rsize, msize, mfp_used)
to reach some "real" code. */
CORE_ADDR
skip_prologue (pc)
a29k_skip_prologue (pc)
CORE_ADDR pc;
{
return examine_prologue (pc, NULL, NULL, NULL);
......
/* Whether malloc must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_MALLOC
/* Whether realloc must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_REALLOC
/* Whether free must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_FREE
/* Whether strerror must be declared even if <string.h> is included. */
#undef NEED_DECLARATION_STRERROR
@TOP@
/* Define if pstatus_t type is available */
#undef HAVE_PSTATUS_T
......
......@@ -108,8 +108,11 @@ static unsigned int heuristic_fence_post = 0;
*/
#define PROC_LOW_ADDR(proc) ((proc)->pdr.adr) /* least address */
/* These next two fields are kind of being hijacked. I wonder if
iline is too small for the values it needs to hold, if GDB is
running on a 32-bit host. */
#define PROC_HIGH_ADDR(proc) ((proc)->pdr.iline) /* upper address bound */
#define PROC_DUMMY_FRAME(proc) ((proc)->pdr.iopt) /* frame for CALL_DUMMY */
#define PROC_DUMMY_FRAME(proc) ((proc)->pdr.cbLineOffset) /*CALL_DUMMY frame */
#define PROC_FRAME_OFFSET(proc) ((proc)->pdr.frameoffset)
#define PROC_FRAME_REG(proc) ((proc)->pdr.framereg)
#define PROC_REG_MASK(proc) ((proc)->pdr.regmask)
......
......@@ -264,7 +264,7 @@ arc_get_frame_setup (pc)
This allows a quicker answer. */
CORE_ADDR
skip_prologue (pc, frameless_p)
arc_skip_prologue (pc, frameless_p)
CORE_ADDR pc;
int frameless_p;
{
......
......@@ -307,9 +307,9 @@ frameless_look_for_prologue (frame)
#ifdef SKIP_PROLOGUE_FRAMELESS_P
/* This is faster, since only care whether there *is* a prologue,
not how long it is. */
SKIP_PROLOGUE_FRAMELESS_P (after_prologue);
after_prologue = SKIP_PROLOGUE_FRAMELESS_P (after_prologue);
#else
SKIP_PROLOGUE (after_prologue);
after_prologue = SKIP_PROLOGUE (after_prologue);
#endif
return after_prologue == func_start;
}
......
......@@ -686,6 +686,17 @@ coff_symfile_read (objfile, section_offsets, mainline)
if (info->stabsects)
{
if (! info->stabstrsect)
{
error_begin ();
fprintf_filtered
(gdb_stderr,
("The debugging information in `%s' is corrupted.\n"
"The file has a `.stabs' section, but no `.stabstr' section.\n"),
name);
return_to_top_level (RETURN_ERROR);
}
/* FIXME: dubious. Why can't we use something normal like
bfd_get_section_contents? */
bfd_seek (abfd, abfd->where, 0);
......
/* config.in. Generated automatically from configure.in by autoheader. */
/* Whether malloc must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_MALLOC
/* Whether realloc must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_REALLOC
/* Whether free must be declared even if <stdlib.h> is included. */
#undef NEED_DECLARATION_FREE
/* Whether strerror must be declared even if <string.h> is included. */
#undef NEED_DECLARATION_STRERROR
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
......@@ -321,6 +309,9 @@
/* Define if strdup is not declared in system header files. */
#undef NEED_DECLARATION_STRDUP
/* Define if strstr is not declared in system header files. */
#undef NEED_DECLARATION_STRSTR
/* Define if <sys/procfs.h> has pstatus_t. */
#undef HAVE_PSTATUS_T
......
......@@ -43,9 +43,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Advance PC across any function entry prologue instructions
to reach some "real" code. */
#define SKIP_PROLOGUE(pc) \
{ pc = skip_prologue (pc); }
CORE_ADDR skip_prologue ();
#define SKIP_PROLOGUE(pc) (a29k_skip_prologue (pc))
CORE_ADDR a29k_skip_prologue ();
/* Immediately after a function call, return the saved pc.
Can't go through the frames for this because on some machines
......
......@@ -59,7 +59,7 @@ struct symbol;
/* Advance PC across any function entry prologue instructions
to reach some "real" code. */
#define SKIP_PROLOGUE(pc) pc = alpha_skip_prologue(pc, 0)
#define SKIP_PROLOGUE(pc) (alpha_skip_prologue(pc, 0))
extern CORE_ADDR alpha_skip_prologue PARAMS ((CORE_ADDR addr, int lenient));
/* Immediately after a function call, return the saved pc.
......
......@@ -37,11 +37,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
knows that the function has a frame. Its result is equal
to its input PC if the function is frameless, unequal otherwise. */
#define SKIP_PROLOGUE(pc) \
{ pc = skip_prologue (pc, 0); }
#define SKIP_PROLOGUE_FRAMELESS_P(pc) \
{ pc = skip_prologue (pc, 1); }
extern CORE_ADDR skip_prologue PARAMS ((CORE_ADDR, int));
#define SKIP_PROLOGUE(pc) (arc_skip_prologue (pc, 0))
#define SKIP_PROLOGUE_FRAMELESS_P(pc) (arc_skip_prologue (pc, 1))
extern CORE_ADDR arc_skip_prologue PARAMS ((CORE_ADDR, int));
/* Sequence of bytes for breakpoint instruction.
??? The current value is "sr -1,[-1]" and is for the simulator only.
......
......@@ -56,7 +56,7 @@ CORE_ADDR arm_addr_bits_remove PARAMS ((CORE_ADDR));
extern CORE_ADDR arm_skip_prologue PARAMS ((CORE_ADDR pc));
#define SKIP_PROLOGUE(pc) { pc = arm_skip_prologue (pc); }
#define SKIP_PROLOGUE(pc) (arm_skip_prologue (pc))
/* Immediately after a function call, return the saved pc.
Can't always go through the frames for this because on some machines
......
......@@ -52,26 +52,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
[ld.- -(ap),-] pcc/gcc register arg loads
*/
#define SKIP_PROLOGUE(pc) \
{ int op, ix; \
op = read_memory_integer (pc, 2); \
if ((op & 0xffc7) == 0x5ac0) pc += 2; \
else if (op == 0x1580) pc += 4; \
else if (op == 0x15c0) pc += 6; \
if ((read_memory_integer (pc, 2) & 0xfff8) == 0x7c40 \
&& (read_memory_integer (pc + 2, 2) & 0xfff8) == 0x1240 \
&& (read_memory_integer (pc + 8, 2) & 0xfff8) == 0x7c48) \
pc += 10; \
if (read_memory_integer (pc, 2) == 0x1240) pc += 6; \
for (;;) { \
op = read_memory_integer (pc, 2); \
ix = (op >> 3) & 7; \
if (ix != 6) break; \
if ((op & 0xfcc0) == 0x3000) pc += 4; \
else if ((op & 0xfcc0) == 0x3040) pc += 6; \
else if ((op & 0xfcc0) == 0x2800) pc += 4; \
else if ((op & 0xfcc0) == 0x2840) pc += 6; \
else break;}}
extern CORE_ADDR convex_skip_prologue PARAMS ((CORE_ADDR pc));
#define SKIP_PROLOGUE(pc) (convex_skip_prologue (pc))
/* Immediately after a function call, return the saved pc.
(ignore frame and return *$sp so we can handle both calls and callq) */
......
......@@ -48,8 +48,7 @@ struct value;
to reach some "real" code. */
extern CORE_ADDR d10v_skip_prologue ();
#define SKIP_PROLOGUE(ip) \
{(ip) = d10v_skip_prologue(ip);}
#define SKIP_PROLOGUE(ip) (d10v_skip_prologue (ip))
/* Stack grows downward. */
......
......@@ -46,9 +46,8 @@ struct value;
/* Advance PC across any function entry prologue instructions
to reach some "real" code. */
extern CORE_ADDR d30v_skip_prologue ();
#define SKIP_PROLOGUE(ip) \
{(ip) = d30v_skip_prologue(ip);}
extern CORE_ADDR d30v_skip_prologue PARAMS ((CORE_ADDR));
#define SKIP_PROLOGUE(ip) (d30v_skip_prologue (ip))
/* Stack grows downward. */
......
......@@ -159,7 +159,7 @@ extern CORE_ADDR fr30_frame_saved_pc PARAMS ((struct frame_info *));
#define SAVED_PC_AFTER_CALL(fi) read_register (RP_REGNUM)
extern CORE_ADDR fr30_skip_prologue PARAMS ((CORE_ADDR pc));
#define SKIP_PROLOGUE(pc) pc = fr30_skip_prologue (pc)
#define SKIP_PROLOGUE(pc) (fr30_skip_prologue (pc))
/* Write into appropriate registers a function return value of type
TYPE, given in virtual format. VALBUF is in the target byte order;
......@@ -199,7 +199,7 @@ extern void fr30_store_return_value PARAMS ((struct type *type, char *valbuf));
func_start = (get_pc_function_start ((FI)->pc) + \
FUNCTION_START_OFFSET); \
after_prologue = func_start; \
SKIP_PROLOGUE (after_prologue); \
after_prologue = SKIP_PROLOGUE (after_prologue); \
(FRAMELESS) = (after_prologue == func_start); \
}
......
......@@ -69,7 +69,7 @@ extern void h8300_init_extra_frame_info ();
/* Advance PC across any function entry prologue instructions
to reach some "real" code. */
#define SKIP_PROLOGUE(ip) {(ip) = h8300_skip_prologue(ip);}
#define SKIP_PROLOGUE(ip) (h8300_skip_prologue(ip))
extern CORE_ADDR h8300_skip_prologue ();
/* Immediately after a function call, return the saved pc.
......
......@@ -43,7 +43,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Advance PC across any function entry prologue instructions
to reach some "real" code. */
#define SKIP_PROLOGUE(ip) { (ip) = h8500_skip_prologue(ip); }
#define SKIP_PROLOGUE(ip) (h8500_skip_prologue (ip))
extern CORE_ADDR h8500_skip_prologue PARAMS ((CORE_ADDR));
/* Immediately after a function call, return the saved pc.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment