* breakpoint.c (enable_breakpoint): Don't enable watchpoint if it
went out of scope.
* exec.c (exec_close): Fix storage leak.
* exec.c (exec_file_command): Make sure that bfd doesn't realign the
output sections when patching an executable.
* mips-nat.c (store_inferior_registers): Use REGISTER_PTRACE_ADDR
when writing all registers.
* mips-tdep.c (mips_push_dummy_frame): Save floating point registers
at the right offset in the dummy frame.
* mipsread.c (psymtab_to_symtab_1): Do not complain for stProc,
stStaticProc and stEnd symbols as they are generated by gcc-2.x.
* mipsread.c (mipscoff_new_init): Initialize stabsread and buildsym.
(the usual) non-specialized versions of the manual.
gdb.texinfo: list of nonstandard init file names, with brief descriptions
(permits closing PRMS gdb/2296).
(a) to make H8 configuration come out right (first attempt since
conversion to texinfo conditionals);
(b) to exploit yesterday's makeinfo bugfix, using conditionals in menus
rather than multiple alternative menus.
2. Update H8 text to refer to H8/500 as well as H8/300.
3. Define config file gdb-config.texi as a link in Makefile, based on a
DOC_CONFIG variable.
of reading/writing registers that are shorter than REGISTER_TYPE.
* (value_from_register): Install H8500 specific code to return
proper value when register is being used as a pointer.
* h8500-tdep.c: Remove extra defines of NUM_REGS.
(h8500_skip_prologue): Use correct lengths for LINK instructions.
(FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to
chain frames properly by combining frame pointer with T reg.
(init_extra_frame_info): Delete. It's now a macro.
(frame_args_address): Don't add PTR_SIZE. Stack args are already
offset by the correct amount off of the frame pointer.
(register_byte): Delete. It's now a macro.
(register_raw_size, register_virtual_size): Delete. Replaced by
common routine h8500_register_size, cuz there's no difference
between the raw & virtual sizes on this machine.
(register_convert_to_raw, register_convert_to_virtual): Delete,
cuz there's no difference between the raw & virtual forms.
Replaced by memcpy in tm file.
(register_virtual_type): Rename to h8500_register_virtual_type.
Get rid of pointer pseudo-regs, use _REGNUM with all reg names.
(_initialize_h8500_tdep): Get rid of crock to ensure that GDB &
emulator have same reg offsets. This is all handled in the
simulator code now.
(h8500_trapped_internalvar): New routine to detect references to
convenience vars acting as pointer pseudo-regs.
(h8500_value_trapped_internalvar): Conjure up value of pointer
pseudo-regs.
(h8500_set_trapped_internalvar): Convert set value in real
register references.
infcmd.c (read_pc, write_pc): Add h8500 specific code to handle
code segment register.
infrun.c (proceed): Simplify. Call write_pc instead of doing it
by hand.
(wait_for_inferior): Add h8500 specific code to add stack segment
when reading SP register.
remote-sim.c (fetch_register): Spacing.
tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to
detect cruft. Redo all register manipulation stuff. Get rid of
pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment
to frame pointer. (IS_TRAPPED_INTERNALVAL,
VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these
to create internal vars for pointer pseudo-regs.
of reading/writing registers that are shorter than REGISTER_TYPE.
* (value_from_register): Install H8500 specific code to return
proper value when register is being used as a pointer.
* h8500-tdep.c: Remove extra defines of NUM_REGS.
(h8500_skip_prologue): Use correct lengths for LINK instructions.
(FRAME_CHAIN): Change name to h8500_frame_chain. Rewrite code to
chain frames properly by combining frame pointer with T reg.
(init_extra_frame_info): Delete. It's now a macro.
(frame_args_address): Don't add PTR_SIZE. Stack args are already
offset by the correct amount off of the frame pointer.
(register_byte): Delete. It's now a macro.
(register_raw_size, register_virtual_size): Delete. Replaced by
common routine h8500_register_size, cuz there's no difference
between the raw & virtual sizes on this machine.
(register_convert_to_raw, register_convert_to_virtual): Delete,
cuz there's no difference between the raw & virtual forms.
Replaced by memcpy in tm file.
(register_virtual_type): Rename to h8500_register_virtual_type.
Get rid of pointer pseudo-regs, use _REGNUM with all reg names.
(_initialize_h8500_tdep): Get rid of crock to ensure that GDB &
emulator have same reg offsets. This is all handled in the
simulator code now.
(h8500_trapped_internalvar): New routine to detect references to
convenience vars acting as pointer pseudo-regs.
(h8500_value_trapped_internalvar): Conjure up value of pointer
pseudo-regs.
(h8500_set_trapped_internalvar): Convert set value in real
register references.
infcmd.c (read_pc, write_pc): Add h8500 specific code to handle
code segment register.
infrun.c (proceed): Simplify. Call write_pc instead of doing it
by hand.
(wait_for_inferior): Add h8500 specific code to add stack segment
when reading SP register.
remote-sim.c (fetch_register): Spacing.
tm-h8500.h: #define GDB_TARGET_IS_H8500 to make it easier to
detect cruft. Redo all register manipulation stuff. Get rid of
pointer pseudo-regs. (INIT_EXTRA_FRAME_INFO): Adds stack segment
to frame pointer. (IS_TRAPPED_INTERNALVAL,
VALUE_OF_TRAPPED_INTERNALVAR, SET_TRAPPED_INTERNALVAR): Use these
to create internal vars for pointer pseudo-regs.
(gdb_target_udi): New procedure to set the UDI target.
(gdb_start): Don't remove *_soc files. Use gdb_target_udi.
* gdb.t00/default.exp: Added expected failures for a29k-*-udi.
Added waits for prompts after several question responses. Added
some more responses used by a29k-amd-udi-gdb.
* gdb.t01/run.exp, gdb.t06/break.exp: Added a29k-*-udi support:
pass different arguments, restart UDI connection after program
completion.
* gdb.t02/whatis.exp, gdb.t03/ptype.exp, gdb.t07/watchpoint.exp,
gdb.t08/opaque.exp, gdb.t11/list.exp, gdb.t12/scope.exp,
gdb.t15/funcargs.exp, gdb.t16/printcmds.exp, gdb.t20/misc.exp,
gdb.t21/cplusfuncs.exp: Added expected failures for a29k-*-*.
* gdb.t04/setvar.exp, gdb.t05/expr.exp, gdb.t07/watchpoint.exp,
gdb.t08/opaque.exp, gdb.t12/scope.exp, gdb.t13/bitfields.exp,
gdb.t15/funcargs.exp, gdb.t16/printcmds.exp,
gdb.t17/callfuncs.exp, gdb.t20/classes.exp, gdb.t20/inherit.exp,
gdb.t20/misc.exp, gdb.t22/virtfuncs.exp: Restart UDI connection
after program completion.
* gdb.t10/crossload.exp: Does not work for a29k-*-*, since BFD is
compiled with a SELECT_VECS setting.
* gdb.t15/funcargs.exp: Use argument to backtrace to prevent
infinite recursion.
* gdb.t20/classes.exp, gdb.t20/inherit.exp, gdb.t22/virtfuncs.exp:
Added checks for COFF results, and made them expected failures for
all targets. It would be better to make them expected failures
for COFF targets only.
get linked to nm.h, xm.h, and tm.h respectively by configure,
moved to appropriate config/<cpu> subdirectory.
* nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h:
Native, host, and target files that are common across more than
one cpu architecture and included by one of the configured
native, host, or target files, get moved to config directory.
config files moved to an appropriate config/<cpu> subdirectory.
* nm-*, xm-*, tm-*: All native, host, and target files, which
get linked to nm.h, xm.h, and tm.h respectively by configure,
moved to appropriate config/<cpu> subdirectory.
m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax,
z8k}: New directories to hold cpu specific configuration files.
Naming follows gcc convention.
* config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax,
z8k}: New directories to hold cpu specific configuration files.
Naming follows gcc convention.
* config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
* nm-*, xm-*, tm-*: All native, host, and target files, which
get linked to nm.h, xm.h, and tm.h respectively by configure,
moved to appropriate config/<cpu> subdirectory.
* nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h:
Native, host, and target files that are common across more than
one cpu architecture and included by one of the configured
native, host, or target files, get moved to config directory.
* Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to
pick up native, host, or target include files moved to one of
the config subdirectories, and that are included by other files.
* Makefile.in (alldeps.mak): Modify to account for new config
directory structure.
* alldeps.mak, depend: Update for new config directory structure.
* config/*/[ntx]m-*.h: Modify all files that include other
[ntx]m-*.h files to use path relative to gdb/config. I.E.
"a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just
"tm-29k.h".
* remote-eb.c (tm-29k.h): Include a29k/tm-29k.h.
* mipsread.c (tm-mips.h): Include mips/tm-mips.h.
* i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h.
* configure.in: Default gdb_host_cpu to host_cpu, and remap
the ones where the default is not unique or different than the
config subdirectory name. Similarly, handle gdb_target_cpu.
Modify configure.in as appropriate to make use of gdb_host_cpu
and gdb_target_cpu to find makefile fragments and make links.
lookup_symbol as it might get clobbered by the call.
* mipsread.c (parse_partial_symbols): Use ADD_PSYMBOL_ADDR_TO_LIST.
The previous code did not initialize the language field for the psymtab
entry.
* gdb.t00/teststrategy.exp: Uses which proc rather than spawning
which in a shell. Deletes xgdb when done.
* config/unix-gdb.exp: Won't try to spawn $GDB unless it exists.
Tests the return from the "set height" or "set width" commands.
Added a few return codes where needed.
* ieee-float.h: Moved to ../include.
* Makefile.in: Update accordingly.
* i386-pinsn.c (print_insn), m68k-pinsn.c (print_insn):
Convert to stubs that call disassemblers in ../opcodes/*-dis.c.
* m68k-tdep.c: Removed definition of ext_format ext_format_68881;
it is now in ../opcodes/m68881-ext.c.
* mips-tdep.c (mips_skip_prologue): Try to skip more of the
prologue (some callers _do_ care).
* mips-pinsn.c (print_insn), z8k-tdep.c (print_insn): Convert to
new interface of ../opcodes/*-dis.c.
* ch-exp.y: Add #include <ctype.h>.
fix problem with coercion of array and function types when
passed as arguments to C functions, pending a more complete
review of when and how coercion should be done, depending
upon context and language.
not just 50 symbols.
(symtbl_num_syms): New variable.
(read_xcoff_symtab): Set it.
(read_symbol_nvalue): Check for bad symno.
(read_symbol_{lineno,nvalue}, callers): Don't pass symtable; it's
always symtbl.
may be called after gdb goes away. Previous versions of expect
needed these to avoid file descriptor leaks, but they cause
errors with the current revision of expect.
* gdb.t00/gdbvars.exp: Use -re on expected output after
setting sevenbit-strings.
* gdb.t04/setvar.exp, gdb.t13/bitfields.exp: Make commands
to set sevenbit-strings consistent across tests.
**** start-sanitize-chill ****
gdb.t30/chexp.exp, gdb.t31/chillvars.exp: Make commands to
set sevenbit-strings consistent across tests.
**** end-sanitize-chill ****
This is defined in defs.h if necessary.
* vx-share/vxWorks.h: Remove #defs of min and max.
* vx-share/xdr_ld.c, vx-share/xdr_ptrace.c,
vx-share/xdr_rdb.c: include defs.h.
* xcoffread.c (retrieve_tracebackinfo): Move assignment out
of while condition.
* xcoffread.c (enter_line_range): complain() on bad endoffset.
xcoffread.c: Doc fixes.
Tue Mar 9 09:56:12 1993 Jim Kingdon (kingdon@cygnus.com)
* tm-rs6000.h (CORE_NEEDS_RELOCATION): Just call xcoff_relocate_core.
xcoffexec.c (xcoff_relocate_core): New function.
(text_adjustment): Removed.
(add_vmap): Return the vmap.
rs6000-tdep.c (add_text_to_loadinfo): No longer static.
Fri Mar 5 05:22:46 1993 Jim Kingdon (kingdon@cygnus.com)
* xcoffsolib.h: Add objfile member to struct vmap.
xcoff{exec,solib}.c: Use it, not lookup_objfile_bfd.
xcoffexec.c (add_vmap): Allocate objfiles here.
* utils.c (fprintf_symbol_filtered): New function which combines
the functionality of fputs_demangled and fprint_symbol. Uses a
caller provided language parameter to select the appropriate
demangler, and caller provided args to pass to the demangler.
* defs.h (fputs_demangled, fprint_symbol): Remove prototypes.
* defs.h (fprintf_symbol_filtered): Add prototype.
* c-typeprint.c (cp_type_print_method_args): Replace calls to
fputs_demangled with call to fprintf_symbol_filtered.
* cp-valprint.c (demangle.h): Include
* cp-valprint.c (cp_print_value_fields): Replace calls to
fprint_symbol with calls to fprintf_symbol_filtered.
* printcmd.c (print_frame_args): Replace call to fprint_symbol
with call to fprintf_symbol_filtered.
* stack.c (print_frame_info, frame_info): Add language variable
to pass to fprintf_symbol_demangled and initialize it from the
symbol's language. Replace calls to fputs_demangled with calls
to fprintf_symbol_filtered.
* symtab.c (find_methods): Replace call to fputs_demangled with
call to fprintf_symbol_filtered.
**** start-sanitize-chill ****
* ch-valprint.c (demangle.h): Include.
* ch-valprint.c (chill_print_value_fields): Replace call to
fprint_symbol with call to new fprintf_symbol_filtered.
**** end-sanitize-chill ****
add a language parameter that is used to select the demangling
algorithm.
* defs.h (enum language): Move further up in file so enum can
be used in prototypes.
* defs.h (fputs_demangled): Update prototype to add lang arg.
* c-typeprint.c (cp_type_print_method_args): Add language arg
to fputs_demangled calls, remove DMGL_PARAMS flag.
* stack.c (print_frame_info): Remove obsolete code so we don't
have to update fputs_demangled usage in it.
* stack.c (print_frame_info, frame_info): Add language variable
to pass to fputs_demangled and initialize it from the symbol's
language. Call fputs_demangled with language arg.
* symtab.c (find_methods): Add language arg to fputs_demangled
call.
to source, since previous behavior of defaulting to gdb init file
was troublesome and undocumented.
* printcmd.c (disassemble_command): Add missing '{}' pair to
else with two statements. Bug reported by Stephane Tsacas
<slt@isoft.fr>.
* symtab.c (find_pc_line): Don't complain about zero length or
negative length line numbers for the moment, since we may not own
the terminal when called, such as when single stepping. (FIXME)
* language.h (CAST_IS_CONVERSION): True if current language is
C++ as well as C. Fix from Peter Schauer.
* environ.c (get_in_environ, set_in_environ, unset_in_environ):
Use STREQN macro rather than bare '!strncmp()'.
* environ.c (unset_in_environ): Avoid use of memcpy on
overlapping memory regions, as suggested by Paul Eggert
<eggert@twinsun.com>.
* c-exp.y (%union struct): Remove unused ulval as suggested
by Paul Eggert <eggert@twinsun.com>.
expected fail for i486-*-* that misses the marker2 function.
* gdb.t10/crossload.exp (bfddefault): Allow successful
recognition of a format to pass even if no symbols are found.
Explicitly catch failures where the format is not recognized
or is ambiguous, and add the reason to the fail message.
* gdb.t10/crossload.exp (bfdexplicit): Catch failure where
the cause is and invalid target and add reason to failure message.
* gdb.t10/crossload.exp: Fix bfd target names for elf32-m68k,
elf32-i386, elf32-sparc, and elf32-i860.
* gdb.t12/scope.exp (test_at_main, test_at_foo, test_at_bar):
Set up expected failure for 'filename'::variable scope resolution,
which is now apparently broken on all targets.
* gdb.t20/classes.exp, gdb.t20/inherit.exp, gdb.t20/misc.exp,
gdb.t21/cplusfuncs.exp, gdb.t22/virtfunc.exp,
gdb.t23/templates.exp: Change failure for missing binfile into
just a warning.
gdb.t21/demangle.exp: Change all cfront references to 'arm'
references.
(pollquit): New function to poll keyboard for user interrupt,
called from QUIT.
* xm-go32.h (QUIT): Define to call pollquit.
* h8300-tdep.c (examine_prologue): Use correct value for number of
registers.