* nindy-share/nindy.c (coffstrip): Use that pathname, instead of searching for
a "bfd_strip" program. Also, fixed up arguments passed to that program.
* tm-nindy960.h (ADDITIONAL_OPTIONS): Use "-ser" rather than "-r", which is now
used for something else. Rewrite description of associated parameters to match
how gdb does it now.
(ADDITIONAL_OPTION_HELP): Fix message accordingly.
* m68k-pinsn.c (print_insn_arg): Handle new "`" operand type.
in the ser-*.c files. Needed for some systems, such as GO32, which don't
have stuff like <termios.h>. Makefile.in now uses $(REMOTE), which defaults
to remote.o, instead of remote.o.
Specifically, the calling of inferiors methods is improved.
* value.h: New macros METHOD_PTR_IS_VIRTUAL,
METHOD_PTR_FROM_VOFFSET, METHOD_PTR_TO_VOFFSET to partially
hide the implementation details of pointer-to-method objects.
How to tell if the pointer points to a virtual method is
still very dependent on the particular compiler, but this
should make it easier to find the places to change.
* eval.c (evaluate_subexp [case OP_FUNCALL]), valprint.c
(val_print [case TYPE_CODE_PTR]): Use the new METHOD_PTR_*
macros, instead of a hard-wired-in code that incorrectly
assumed a no-longerused representation of pointer-to-method
values. And otherwise fix the relevant bit-rotted code.
* valprint.c (type_print_base [case TYPE_CODE_STRUCT]):
If there are both fields and methods, put a space between.
* stabsread.c (read_struct_type): Fix bug in handling of
GNU C++ anonymous type (indicated by CPLUS_MARKER followed
by '_'). (It used to prematurely exit the loop reading in
the fields, so it would think it should start reading
methods while still in the fields. This could crash gdb
given a gcc that can emit nested type information.)
* valops.c (search_struct_method): Pass 'this' value by
reference instead of by value. This provides a more
consistent interface through a recursive search where the
"bottom" functions may need to adjust offsets (due to multiple
inheritance).
* valops.c, value.h, values.c: Pass extra parameters to
value_fn_field and value_virtual_fn_field so we can
correctly adjust offset for multiple inheritance.
* eval.c (evaluate_subexp [case OP_FUNCALL]): Simplify
virtual function calls by using value_virtual_fn_field().
* values.c: New function baseclass_offset, derived from
baseclass_addr (which perhaps can be made obsolete?).
It returns an offset rather than an address. This is a
cleaner interface since it doesn't mess around allocating
new values.
* valops.c (search_struct_method): Use baseclass_offset
rather than baseclass_addr.
* remote-udi.c (udi_resume): Clean up.
* (udi_wait): Rewrite, leave out bugs.
* Add debugging code to print out all register fetches and stores.
* Straighten out target_ops.
* tm-29k.h (DUMMY_FRAME_RSIZE): Pad out to doubleword.
* remote-udi.c (udi_create_inferior): run with no arguments should
not pass the program name as an argument, since the UDI code
already handles that.
(udi_load): get the symbols from prog_name, not arg_string (the
load command should really use arg_string as the program name, not
prog_name, but at least the run command works now).
* am29k-tdep.c (_initialize_29k): Make it possible for the
user to set and query the address where function calls into the
inferior write a small scratch routine. `set call_scratch_address'
* inferior.h (PC_IN_CALL_DUMMY): Fix fencepost error.
* remote.c (remote_prepare_to_store): Only fetch regs if they are
not already cached validly.
* infptrace.c: remove #ifdef USG from around include ptrace.h.
machines without this header should not be compiling this file.
* nm-rs6000.h, rs6000-nat.c: new files for native support.
* rs6000-tdep.c: do not include sys/ptrace.h or sys/reg.h.
* rs6000-xdep.c: removed. all code now in rs6000-nat.c.
* xm-rs6000.h: do not include ptrace.h.
(ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to nm-rs6000.h.
* config/rs6000.mh (XDEPFILES): removed rs6000-xdep.o.
infptrace.o and inftarg.o move to NATDEPFIES.
(NAT_FILE, NATDEPFILES): new macro for native support.
* config/sun3os3.mh, config/sun3os4.mh (NAT_FILE, NATDEPFILES):
new macros for native support.
(XDEPFILES): moved infptrace.o and inftarg.o to NATDEPFILES,
removed sun3-xdep.o.
* xm-sun3.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to
nm-sun3.h.
* sun3-xdep.c: removed. All code is now in sun3-nat.c.
* sun3-nat.c, nm-sun3.h: new files for native support.
* dwarfread.c (dwarf_build_psymtabs): Rename dbsize parameter to
dbfsize and use it to initialize new local file scope dbsize.
* dwarfread.c (read_ofile_symtab): Initialize dbsize and use it.
* dwarfread.c (basicdieinfo): Use dbsize to check for oversize
DIEs as well as the current check for undersize DIEs. This helps
to gracefully detect and reject corrupted DIE information.
* command.h (struct cmd_list_element): Remove unused `aux'
field. Add new `hook', `hookee', and `cmd_pointer' fields.
* command.c (add_cmd): Initialize new fields, elim old.
(add_alias_cmd): Clone new fields.
(delete_cmd): Un-hook hookee if we're deleting hook.
(help_cmd): Tell user the command is hooked, if it is.
(lookup_cmd_1): Abbreviations return the original command
instead of themselves, so that hooks on the original cmd will be
run.
* defs.h (enum command_class): Add class_pseudo and comments.
* gdbcmd.h (execute_user_command): Add prototype.
* infrun.c (normal_stop): If the stop command is hooked,
run the hook whenever we stop.
(hook_stop_stub): Stub for catch_errors.
(_initialize_infrun): Set up pseudo "stop" command.
* main.c (execute_user_command): Code extracted from execute_command.
(execute_command): If hooked, run the hook before the command.
(define_command): If defining a new hook, check the command it
is hooking, and warn if none. Install the hook.
* source.c (_initialize_source): "l" is an abbrev for "list".
* doc/gdb.texinfo: Document command hooks.
* Makefile.in (VERSION): Roll to 4.6.7.
* config/sun4os4.mh: Remove dup inftarg.o from NATDEPFILES.
* infrun.c (breakpoints_inserted): Make it static again.
* tm-symmetry.h (FLOAT_INFO): #if 0 it for cross-ptrace abuse.
* nat-sparc.c -> sparc-nat.c
* nat-sun4os4.h -> nm-sun4os4.h
* nat-trash.h -> nm-trash.h
* configure.in: link to nm.h rather than nat.h.
* infptrace.c: include nm.h rather than nat.h.
* Makefile.in (TSOBS): removed corelow.o.
* infptrace.c: included nat.h.
* nat-trash.h: temporary header file. This should be removed once
all hosts have the native/host/target split.
* configure.in: add a symlink from nat-trash.h to nat.h if no
other nat file exists for this configuration.
* sparc-tdep.c: no longer include sys/ptrace.h.
* sparc-xdep.c: removed. contents have been moved to nat-sparc.c.
* xm-sparc.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to
nat-sun4os4.h.
* nat-sparc.c, nat-sun4os4.h: new files for sun4 native support.
* config/sun4os4.mh (XDEPFILES): moved infptrace.o and inftarg.o
to NATDEPFILES. removed sparc-xdep.o.
(NATDEPFILES, NAT_FILE): new macros for native support.
* Makefile.in (TSOBS): removed corelow.o.
* infptrace.c: included nat.h.
* nat-trash.h: temporary header file. This should be removed once
all hosts have the native/host/target split.
* configure.in: add a symlink from nat-trash.h to nat.h if no
other nat file exists for this configuration.
* sparc-tdep.c: no longer include sys/ptrace.h.
* sparc-xdep.c: removed. contents have been moved to nat-sparc.c.
* xm-sparc.h (ATTACH_DETACH, FETCH_INFERIOR_REGISTERS): moved to
nat-sun4os4.h.
* nat-sparc.c, nat-sun4os4.h: new files for sun4 native support.
* config/sun4os4.mh (XDEPFILES): moved infptrace.o and inftarg.o
to NATDEPFILES. removed sparc-xdep.o.
(NATDEPFILES, NAT_FILE): new macros for native support.
particular type of core file support.
* target.h (find_core_target): new prototype.
* target.c (find_core_target): new function. Walks the target
list looking for the core target.
* core.c (core_file_command): replace calls to core_detach and
core_open with find_core_target and direct calls.
* tm-hppa.h (CLEAN_UP_REGISTER_VALUE): Use it.
* hppa-coredep.c: Remove, now that we use the hook.
* config/hppab.mh, config/hppah.mh: Use standard coredep.o.
* hppab-xdep.c, hppah-xdep.c: Remove custom code, use hook.
* dbxread.c, partial-stab.h: Replace all #ifdef hp9000s800's with
GDB_TARGET_IS_HPPA's. This is a SERIOUS KLUDGE. The code needs to all
be ripped out and reimplemented right (see elfread.c).
* tm-hppa.h (GDB_TARGET_IS_HPPA): Define.
* inferior.h (proc_wait, inferior_proc_init, proc_set_exec_trap):
No longer global functions.
(fork_inferior): New global function from fork-child.c.
* inftarg.c (child_wait): Remove USE_PROC_FS conditional.
(ptrace_me, ptrace_him): New stub functions for fork_inferior().
(child_create_inferior): Moved to fork-child.c as fork_inferior.
(child_create_inferior): New tiny function that calls fork_inferior.
* fork-child.c: New file, containing fork_inferior, which is
built from slight mods to inftarg.c's child_create_inferior.
* procfs.c (procfs_ops): Add target vector.
(attach): Rename as static do_attach.
(procfs_create_inferior): New tiny function that calls fork_inferior.
(child_xfer_memory): Rename to static procfs_xfer_memory.
(store_inferior_registers): Rename to static procfs_store_registers.
(inferior_proc_init): Rename to static procfs_init_inferior.
(procfs_attach, procfs_detach, procfs_prepare_to_store,
procfs_files_info, procfs_open, procfs_mourn_inferior,
procfs_can_run): Slightly mangled copies of the corresponding
child_XXX routines from inftarg.c.
(proc_wait): Renamed to static procfs_wait.
(child_resume): Rename to static procfs_resume.
(fetch_inferior_registers): Rename to static procfs_fetch_registers.
(initialize_proc_fs): Rename to initialize_procfs. Set up
procfs_ops, too.
* xm-irix4.h, xm-sysv4.h (CREATE_INFERIOR_HOOK): No longer needed.
* regex.c: Always rename bcopy to memcpy, etc.
FIXME: Eventually do the renames rather than use #define's.
* sparc-tdep.c (deferred_stores): Moved from sparc-xdep.c.
Fix bcopy->memcpy.
* sparc-xdep.c: Move deferred_stores to target dependent.
config/*.mh files.
* config/*.mh: Add inftarg.o and fork-child.o to all *.mh that
reference infptrace.o. Add fork-child.o to all *.mh that
reference procfs.o.
* target.h: Comments on target_attach args and results.
* infcmd.c (attach_command): Check for existing execution, call
target_attach, set up terminal status and wait_for_inferior, wait
for the attach status, and do normal_stop.
* inftarg.c (child_attach): Remove target independent stuff.
* remote-adapt.c (adapt_attach): Ditto.
* remote-mm.c (mm_attach): Ditto.
* remote-udi.c (udi_attach): Ditto.
* remote-vx.c (vx_attach): Ditto.
Cleanup.
* remote-hms.c (hms_attach): Remove completely, it was useless.
* remote-mm.c, remote-hms.c, remote-udi.c, remote-adapt.c: Remove
commented-out start_remote calls.
* remote-hms.c, remote-adapt.c, remote-mm.c, remote-udi.c: Remove
DENTER and DEXIT macros and their calls. Use a real debugger --
like gdb -- to see what functions are being called when.
fix to differentiate between gcc1 & gcc2 compiled files so that we
can debug calls that pass structs as args correctly.
* symmisc.c (dump_symtab): If block was compiled with gcc, say
so, and what version.
ANSI compiler warnings.
* energize.h: Move all external struct decls to inside of
__STDC__, add prototype for energize_shell_wait().
* energize.c (getpty): Clean up, make us really get a controlling
terminal.
* (energize_initialize): Disable SIGIO prior to setting up for
I/O interrupts. Move setsid(), et. al. to getpty().
* (energize_shell_wait): New routine to wait for things started
via the shell command, uses wait() instead of /dev/proc.
* Also, add prototype for execute_command_1().
child_mourn_inferior): collect unix child process stratum
functions which live below the target vector into this file to
facilitate host/target/native split. Also, make them static.
* inflow.c (child_mourn_inferior): removed.
* infrun.c (child_create_inferior, child_attach): removed.
(resume): becomes global so that functions below the
target vector can find it.
* inferior.h (resume): add prototype.
(child_mourn_inferior, child_create_inferior, child_attach):
remove prototypes.
process will be the default target.
* target.c (find_default_run_target, find_default_attach,
find_default_create_inferior, return_zero): new functions.
(cleanup_target): Make return_zero the default for to_can_run.
* exec.c (exec_ops), core.c (core_ops): Replace child_attach and
child_create_inferior references with find_default_XXX instead.
* target.h (struct target_ops): new field, to_can_run.
(find_default_attach, find_default_create_inferior): new prototypes.
(target_can_run): new macro.
* Also added a zero (default) to_can_run element to all static
struct target_ops initializations throughout GDB, except:
* inftarg.c (child_ops): Use new child_can_run() to enable child runs.
* infrun.c (child_create_inferior): Clean up error handling when
no exec file is specified.
(child_attach): Don't require exec file.
through the target vector.
* inferior.h (kill_inferior_fast): remove declaration.
* main.c (disconnect): call quit_cover using catch_errors rather
than calling kill_inferior_fast directly. New way goes through
the target vector, handles attached processes, and writes
command history if appropriate.
(quit_cover): new function, wrapper for quit_command.
* convex-xdep.c, go32-xdep.c, hppabsd-xdep.c, hppahpux-xdep.c,
infptrace.c, procfs.c: Removed all instances of kill_inferior_fast,
inlining them into the local kill_inferior when needed.
Mon Sep 21 14:54:35 1992 Ian Lance Taylor (ian@cygnus.com)
* m68k-pinsn (print_insn_arg, fetch_arg): added support for
operands to memory management instructions, from WRS.
Replace with simple default to C before processing any init
files. There MUST be a language set, even in the absence of
init files or executables, or expression parsing fails.
symfile.c. Fixup places where command files are processed to
be consistent in setting a default language if none has been
previously set.
* symfile.c (set_initial_language): Add code moved from
main() that sets an initial default language when a new
symbol file is read.
* symfile.c (symbol_file_command): Call set_initial_language.
* symtab.c (find_main_psymtab): Add FIXME comment.
* blockframe.c (get_prev_frame_info): If INIT_FRAME_PC_FIRST is
set, run it before INIT_EXTRA_FRAME_INFO.
* stack.c (frame_info): If PRINT_EXTRA_FRAME_INFO defined, call it.
* mips-tdep.c (init_extra_frame_info): Only clobber the `frame'
(FP) value in the frame_info struct if it is zero (as from top of
execution stack).
(setup_arbitrary_frame): Implement FRAME_SPECIFICATION_DYADIC.
* mips-xdep.c (fetch_inferior_registers): ZERO_REGNUM always
comes back as zero. So does FP_REGNUM, as a trigger for
init_extra_frame_info.
* tm-mips.h (INIT_FRAME_PC_FIRST): Kludge, FIXME, defined to get
the program counter set before INIT_EXTRA_FRAME_INFO is run.
(INIT_FRAME_PC): Defined to null.
(PRINT_EXTRA_FRAME_INFO): print frame pointer location via symtab.
(FRAME_SPECIFICATION_DYADIC): Ask for two args in frame command.
Briefly explain MIPS stacks in GDB.
Rich and I believe the "real problem" was that both single_step
and target_resume were issuing PT_CONTINUE calls. This would
cause the second PT_CONTINUE to sometimes fail because the process
was already running.
* infptrace.c (child_resume): Remove AIX_BUGGY_PTRACE_CALL kludge.
* infptrace.c (child_resume): Don't deal with NO_SINGLE_STEP
here; it is dealt with at a gdb-target-independent level.
* rs6000-tdep.c (single_step): Don't call ptrace, we are a
high toned routine. Fix return type to void.
before printing anything, and again afterward. Fix comments.
(vfprintf_filtered): Eliminate static buffer; use auto buffer,
or alloca() if needed.
* rs6000-xdep.c: Use correct conditional (IBM6000_TARGET) to
detect native versus cross-host.
termination condition.
(full_filename): Don't prepend dirname if filename begins with /.
(breakpoint_notify, kernel_dispatch): Deal with DynamicLoad
messages properly!!
(getpty (NCR)): Lotsa bug fixes...
(kernel_dispatch (case StopRType)): Use kill() instead of
killpg() so we can deal with losing systems...
(wait_for_events): Work around NCR select() lossage. It doesn't
zero out readfds when select() returns zero.
(energize_initialize): Use I_SETSIG to get SIGIO interrupts. Use
getcwd() instead of getwd() (NCR getwd() seg faults).
(energize_wait): Use sigaction() for NCR. Their version of signal()
is unreliable by default.
places where we must notify kernel of where the given pc is.
(cplus_demangle): Put single-quotes around demangled names.
(energize_call_command): Call send_location() after doing up,
down, and frame commands.
pass at doc for two new remote targets---29K using UDI, and Tandem
ST2000 using STDBUG.
* doc/all.m4, doc/none.m4: new m4 switch, _ST2000__
* doc/all.m4: turn on H8/300 stuff for generic manual
(REGISTER_U_ADDR): Fix up for Ultrix 4.2.
* tm-tahoe.h, xm-tahoe.h (KERNEL_U_ADDR): Move macro to xm-tahoe.h.
* stack.c (_initialize_stack): "dow" should be a valid abbreviation
for "down". Suggested by Richard Stallman.
store_inferior_registers): Replace unexplained numbers
with manifest constants from a DECstation header file.
* xm-mips.h (KERNEL_U_ADDR): Get from <machine/param.h>.
(REGISTER_U_ADDR): Fix up for Ultrix 4.2.
* tm-tahoe.h, xm-tahoe.h (KERNEL_U_ADDR): Move macro to xm-tahoe.h.
* stack.c (_initialize_stack): "dow" should be a valid abbreviation
for "down". Suggested by Richard Stallman.
* infptrace.c: HP/Apollos have ptrace.h in the wrong place.
* remote-st2000.c: Massive changes to use new serial package.
Also added 'connect' command to transparantly connect to serial
port.
* ser-termios.c: Big cleanup, use nicer coding conventions.
* ser-bsd.c: New module, serial stuff for BSD systems.
* serial.h: Define struct ttystate properly using HAVE_TERMIO.
* xm-apollo68b.h: #define PTRACE_IN_WRONG_PLACE...
* infptrace.c: HP/Apollos have ptrace.h in the wrong place.
* remote-st2000.c: Massive changes to use new serial package.
Also added 'connect' command to transparantly connect to serial
port.
* ser-termios.c: Big cleanup, use nicer coding conventions.
* ser-bsd.c: New module, serial stuff for BSD systems.
* serial.h: Define struct ttystate properly using HAVE_TERMIO.
* xm-apollo68b.h: #define PTRACE_IN_WRONG_PLACE...
* doc/gdb.texinfo: fix shameful error of agreement reported by
jimb@occs.cs.oberlin.edu (Jim Blandy)
* doc/gdb.texinfo: remove old partial discussion of remote serial
protocol (via serial debug stubs)
* doc/gdbinv-m.m4.in, doc/gdbinv-s.m4.in: new section discussing
use of serial debug stubs
should include a ser-XXX.o module.
* configure.in: Map unrecognized sun 68k's, sun sparcs, into
known suns in configure.in, rather than mapping them to unique
config files that happen to duplicate other config files.
* config/sun3.{mh,mt}: Remove (use identical sun3os4.*).
* config/sun4.{mh,mt}: Remove (use identical sun4os4.*).
* serial.h (EXFUN): Remove all uses, convert to PARAMS.
* config/sun4os4.mh: Include ser-termios.o. FIXME, all .mh files
should include a ser-XXX.o module.
* dbxread.c (elfstab_build_psymtabs): Remove DEFUN crap.
* defs.h, i960-pinsn.c, remote-hms.c: Replace CONST with simple const.
* configure.in: Map unrecognized sun 68k's, sun sparcs, into
known suns in configure.in, rather than mapping them to unique
config files that happen to duplicate other config files.
* config/sun3.{mh,mt}: Remove (use identical sun3os4.*).
* config/sun4.{mh,mt}: Remove (use identical sun4os4.*).
sub-variants of SunOS, e.g. sunos4* to match sunos4.1.1.
(sparc-*-sunos3): Remove host & target. Sunos3 never shipped
in production on Sun-4.
({a29k,i[34]86,i960}-*-elf): Add targets, equivalent to coff.
(m68k-*-{aout,coff,elf}): Add targets, w/new config and tm files.
(sparc-*-{aout,coff,elf}): Add targets, w/new config and tm files.
* tm-68k-un.h, tm-68k-noun.h, tm-spc-un.h, tm-spc-noun.h: New
target definitions for embedded with and without underlines on
identifiers. FIXME -- this ought to be known by BFD instead.
* tm-sparc.h, tm-sun2.h, tm-sun3.h: Delete NAMES_HAVE_UNDERSCORE:
not a parameter of the CPU, but of the development environment.
* tm-es1800.h, tm-sunos.h, tm-vx68.h: Add NAMES_HAVE_UNDERSCORE.
language for current compilation unit being processed.
* dwarfread.c (set_cu_language): New local function to decode
and record language for current compilation unit being processed.
* dwarfread.c (synthesize_typedef): Add local function to
synthesize a typedef for C++ classes, structs, unions, and
enumerations.
* dwarfread.c (read_structure_scope): Synthesize typedefs
for C++ classes, structs and unions.
* dwarfread.c (read_enumeration): Synthesize typedefs for
C++ enumerations.
* dwarfread.c (read_file_scope): Call set_cu_language to
record language for current compilation unit. After symtab
is built, save this recorded language.
* dwarfread.c (process_dies, add_partial_symbol, struct_type,
scan_partial_symbols, new_symbol): Recognize TAG_class_type.
* dwarfread.c (add_partial_symbol): Synthesize partial symbol
typedefs for C++ classes, structs, unions, and enumerations.
* dwarfread.c (scan_compilation_units): Call set_cu_language
to record language for current compilation unit.
* dwarfread.c (scan_partial_symbols): Call add_enum_psymbol here
for TAG_enumeration_types, rather than in add_partial_symbol.
* dwarfread.c (add_partial_symbol): Combine TAG_enumeration_type
case with class, struct, and union type cases, now that they are
the same. Remove tests for non-NULL name attributes, now done
by callers.
* gdbtypes.h (TYPE_CODE_CLASS): Add type for C++ classes, but
treat as alias for TYPE_CODE_STRUCT for now.
(supply_gregset, fill_gregset, supply_fpregset, fill_fpregset):
Use "regi" for local indexing through register numbers, reserving
"regno" for the name of a specific register passed as an input
parameter. Fix bug propagated through all versions that sometimes
used regno as an index when it should have been regi, thus using
-1 as an index in some cases.
respectively, so same demangler can be used by other programs.
* Makefile.in: Remove demangler stuff.
* Makefile.in (depend): Pass -I../readline (needed for main.c).
* demangle.c (_initialize_demangler): Tell demangler which
CPLUS_MARKER to assume.
follow the consistent pattern of struct work_stuff pointer first,
followed by pointer into string being demangled, followed by
pointer to the string where the result is being stored, followed
by other args. Also generally replace most variables of name
"type" with "mangled" for consistency. They all pointed to the
same string but half were one name and half the other.
* cplus-dem.c (LONGERNAMES): Remove #ifndef's.
* cplus-dem.c (demangle_qualified): Rewrite to clean up and allow
use whenever a qualified name is being demangled.
* cplus-dem.c (do_type): Qualified names are treated similarly
to fundamental types, not as modifiers of fundamental types.
WARNING: (1) this has not yet been proofread as a printout---just eliminated
problems that TeX complained about.
(2) extraneous line breaks introduced in some examples, sometimes
in ridiculously long strings; this may falsify examples. Places
where I did this are marked by FIXME comments.
1) use makeinfo node defaulting
2) correct bad xref
3) use @display, @exdent, etc. as first approximation to Julia's
clever typewriter markup; **THIS WILL NEED STUDY AND REVISION**
4) introduce many nodes rather than ---- in "detailed reference" appendix
numbers, signal number ranges, and to recognize "all" to mean all
signals except those used by the debugger.
* infrun.c (SET_SIGS, UNSET_SIGS): Macros used in handle_command
to set or reset actions for specific signals.
types.
* stabsread.c (read_array_type, read_range_type, define_symbol):
Call alloc_type to alloc new types.
* stabsread.c (define_symbol): Move dbl_valu symbol field data
from type_obstack to symbol_obstack.
* stabsread.c (define_symbol): Move typedef_sym from type_obstack
to symbol_obstack.
* gdbtypes.h (TYPE_ALLOC): New macro to allocate space for data
associated with a type, using the same mechanism as was used to
allocate space for the type structure itself.
* coffread.c (patch_type, coff_read_struct_type,
coff_read_enum_type): Use TYPE_ALLOC.
* dwarfread.c (struct_type): Use TYPE_ALLOC.
* gdbtypes.c (create_array_type, check_stub_method,
allocate_cplus_struct_type): Use TYPE_ALLOC.
* mipsread.c (parse_symbol, parse_type): Use TYPE_ALLOC.
* stabsread.c (read_struct_type, read_array_type, read_enum_type,
read_range_type): Use TYPE_ALLOC.
symtab if one is not currently selected.
* utils.c (query): Call wrap_here before building the output
query string, to turn off wrapping and flush any buffered output.
Otherwise our query may end up in the wrap buffer and never be
seen by the user.
* eval.c (evaluate_subexp): Report error when attempting to
evaluate subscript for types without a target type, rather
than dumping core by using the NULL pointer.
* symfile.c (symbol_file_command): Forget current_source_symtab
and current_source_line when discarding symbol table.
work. (remote_wait): Change 'T' message parser to deal with new
improved format which allows stub to send an arbitrary bunch of
registers.
* sparc-stub.c: General cleanups. (trap_low, handle_exception):
make all this re-entrant by storing all state on the stack. Clean
up memory error trapping. (computeSignal, set_debug_traps):
make it all table driven. Make a start at a baud rate setting command.
* remote-vx.c: redefine malloc to avoid buggy declaration on
RS/6000 <rpc/types.h>.
xm-rs6000.h: include <sys/select.h> to define fd_set for
<rpc/svc.h> on RS/6000.
* gdbinv-s.m4.in: refrain from using @cartouche for just a few
examples (not consistent w others).
gdb.texinfo: issue disclaimer paragraph on cmdline options only
for generic vn of doc
Tue Aug 18 14:48:24 1992 Ian Lance Taylor (ian@cygnus.com)
* Makefile.in: added FLAGS_TO_PASS variable, and passed it to
recursive invocations of make. Always create installation
directories.
* gdb.texinfo, none.m4, h8.m4, gdbinv-s.m4.in: improve H8/300
conditionals; introduce a few generic switches that may be
useful for other cross-dev or dos-hosted configs.
* gdb.texinfo: fix typo in "info reg" description
application, and it will speak GDB remote protocol!
* remote.c (remote_wait): Change 'T' (expedited reply) message to
deal with arbitrary registers. Needed for sparc-stub,
use throughout, in place of compile time constant CPLUS_MARKER.
* cplus-dem.c (ARM_VTABLE_STRING, ARM_VTABLE_STRLEN): Add.
* cplus-dem.c (cfront_special): New function, as suggested
by pfieland@stratus.com.
* cplus-dem.c (forget_types): New function.
* cplus-dem.c (cplus_demangle): Call gnu_special, moved from
demangle_prefix().
* cplus-dem.c (mop_up): Call forget_types().
* cplus-dem.c (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING):
Use throughout, instead of checking current_demangling_style.
* cplus-dem.c (demangle_signature): When finding an explicit
start of function args, forget all remembered types for
lucid/cfront style demangling.
* cplus-dem.c (demangle_prefix): In a sequence of two or more
underbar characters, use last pair as the delimiter. Hoist
gnu_special() call up to cplus_demangle(). Call cfront_special()
when appropriate.
* cplus-dem.c (cplus_special): Fix virtual table name demangling
for inherited classes.
* cplus-dem.c (demangle_args): Document quirks of numbered
references to previously seen types.
* dbxread.c (read_ofile_symtab, process_one_symbol):
Use AUTO_DEMANGLING rather than explicitly checking
current_demangling_style.
* demangle.h: Add some comments.
* demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING,
CFRONT_DEMANGLING): New macros.
* dwarfread.c (LCC_PRODUCER): Remove trailing space, which is
not found in the actual producer string produced by lcc.
* dwarfread.c (handle_producer): Use AUTO_DEMANGLING rather
than explicitly checking current_demangling_style.
disable_longjmp_breakpoint, set_longjmp_resume_breakpoint):
Check for duplicate breakpoints at the same address. Bug report
and preliminary fix from Dave Morrison, <drmorris@us.oracle.com>.
NULL under non-error conditions.
* dwarfread.c (read_file_scope): Guard against dereferencing NULL
returned from end_symtab for empty compilation units.
* am29k-tdep.c: Lint from DECstation compiler.
* mem-break.c: Restore test of BREAKPOINT size that Fred removed.
As the man page says, "Sometimes you just can't get lint to shut
up". That doesn't mean you should blow away the code it won't
shut up about.
* mips-xdep.c: Revise stubbing-out of code until Rich cleans
it up over the next few weeks. Make mips x 29k build.
* tm-29k.h (CALL_DUMMY): Make it work on cross-endian hosts.
(FIX_CALL_DUMMY): Comment in the patching of the breakpoint,
but leave it as a comment because the breakpoint instruction
is not easily accessible at this moment (it's static, and if
we define one here, it goes into every file compiled).
* dwarfread.c (scan_partial_symbols): Skip over DIE's within
function scopes when building partial symbol tables.
* objfiles.c (open_existing_mapped_file): Make it clear in
warning message that out of date mapped files are ignored.
* symtab.c (lookup_symtab_1, lookup_symbol): Print compilation
unit source file name in error message.
* dwarfread.c (struct_type): In absence of AT_byte_size for
bitfield, use size of object of member's type for the size of
the anonymous object containing the bit field.
* dwarfread.c (completedieinfo): Set has_at_byte_size when
an AT_byte_size attribute is seen.
* mipsread.c (psymtab_to_symtab_1): Fix misspelled cast to
union aux_ext (was aux_ent).
* i386-pinsn.c (print_insn): Cast 2'nd arg to read_memory from
unsigned char* to char*, for Lucid compiler.
* i386-tdep.c (codestream_fill): Fix cast of 2'nd arg to read_memory
to be correct type (from unsigned char* to char*).
* valprint.c (type_print_derivation_info): Minor tweak to placement
of commas in derived class printing.
* xcoffread.c (builtin_type): Fix misspelling in fatal message.
* serial.c (find_source_lines): if LSEEK_NOT_LINEAR is defined
then work out the lseek positions of newlines by running through
the file and `tell'ing. This makes source file listing work on
OS's where the relationship between physical position in file and
canonical position is indeterminate, eg VMS and DOS.
* valprint.c (type_print_derivation_info): Print derivation info
in same form as class declarations in source.
* valprint.c (type_print_varspec_suffix): Split arg printing
code out to type_print_args function.
at_import, at_frame_base.
* dwarfread.c (completedieinfo): Remove cases for obsolete
AT_visibility, AT_import, and AT_frame_base attributes.
* breakpoint.h (BREAKPOINT_MAX): Increase from 10 to 16 for
i860, which can keep up to 4 shadow breakpoints.
* tm-stratus.h (USG): Define.
* tm-stratus.h (TARGET_BYTE_ORDER): Define to BIG_ENDIAN.
* xm-stratus.h (HOST_BYTE_ORDER): Define to BIG_ENDIAN.
* xm-stratus.h (xm-sysv4.h): Include, name changed from xm-svr4.h.
* xm-stratus.h (NO_JOB_CONTROL): Remove define.
* config/stratus.mt (TDEPFILES): Include files available from
stratus that are not yet in release pending receipt of paperwork
at FSF.
* buildsym.c (finish_block): Minor code format change.
* gdbtypes.h (struct field): Add to comments.
* gdbtypes.h (virtual_field_bits): Add to comments.
* objfiles.c (allocate_objfile): Change obstack interface to
match FSF merging efforts.
* inflow.c (terminal_init_inferior, terminal_inferior,
terminal_ours_1, initialize_inflow): Record and use state
of lmode_inferior_valid and lmode_ours_valid.
with alloca, to avoid using random values from stack later on.
* defs.h (fprintf_filtered): Add prototype.
* gdbtypes.c (check_stub_method): Fix misleading comments.
* gdbtypes.c (print_arg_types, dump_fn_fieldlists): New maint
support functions.
* gdbtypes.c (print_cplus_stuff, recursive_dump_type): Many
small changes to maint support functions.
* gdbtypes.h (cplus_struct_type): Reorganize member ordering
for some fields and expand comments.
* objfiles.c (allocate_objfile): Use new obstack_alloc_arg
macro and track change to obstack_full_begin macro.
* utils.c (fprintfi_filtered): New function.
* valprint.c (type_print_base): Fixup field printing to not
print extraneous lines and not print bogus "no data fields"
messages for C++ classes with no data members. Also use new
fprintfi_filtered function.
error if it fails to find a member type, rather than return NULL
and trigger a coredump.
* symtab.c (lookup_symbol, lookup_demangled_block_symbol,
lookup_demangled_partial_symbol,): Ask demangle_and_match to
match on complete demanglings, including argument lists for member
functions, rather than just accepting the first demangling that
matches the class and function name.
to start_symtab as the directory name.
* dwarfread.c (completedieinfo): Strip off any leading hostname
portion of the AT_comp_dir attribute string. Gdb doesn't know
what to do with them (FIXME).
automatically select demangling style.
* demangle.c (DEFAULT_DEMANGLING_STYLE): Rename from simply
DEMANGLING_STYLE, to make more descriptive. Revert back to
"auto" as default. Comment use.
* Makefile.in (DEMANGLING_STYLE, DEMANGLE_OPTS): Remove.
* Makefile.in (${DEMANGLER}.o) Remove target and special
compilation rule.