instead of doing it ourself.
* blockframe.c (reinit_frame_cache): Use code which was in
generic_mourn_inferior so we can use this function even when
we have switched targets.
* corelow.c (core_detach): Call reinit_frame_cache.
* target.c (target_detach): Don't call generic_mourn_inferior
(revert yesterday's change, now handled by core_detach).
* objfiles.c (free_objfile): Detach any core file if we call
SOLIB_CLEAR. #include target.h.
and target_terminal_inferior until we are sure that the inferior
has called gdb_setpgid. This fixes PR 2900 (Schauer tracked it
down and was able to reliably reproduce it by putting a sleep()
before the gdb_setpgid()).
builtin_type_long.
* infptrace.c (fetch_register, store_inferior_register,
child_xfer_memory): Use PTRACE_XFER_TYPE for the type of ptrace
transfers. Provide an `int' default for PTRACE_XFER_TYPE.
* symmisc.c (print_symbol): Use %02x not %2x for LOC_CONST_BYTES.
Clean up problems with targets and hosts that have 64 bit longs
and pointers and 32 bit ints.
* breakpoint.c, buildsym.c, c-lang.c, c-valprint.c, ch-lang.c,
ch-valprint.c, core.c, cp-valprint.c, dbxread.c, exec.c,
expprint.c, gdbtypes.c, infcmd.c, language.c, language.h,
m2-lang.c, maint.c, mips-tdep.c, mipsread.c, partial-stab.h,
printcmd.c, remote-vx.c, solib.c, source.c, stack.c, symfile.c,
symmisc.c, symtab.c, valops.c, valprint.c, xcoffexec.c:
Change all printf formats from %x to %lx if outputting an address.
Change la_*_format to use long format.
local_hex_string, local_hex_string_custom now take an unsigned long
argument, change all callers.
* coffread.c (read_coff_symtab): Remove superfluous cast for
complaint output.
* dbxread.c (end_psymtab): Cast MSYMBOL_INFO to long, not int.
* findvar.c, value.h (write_register): Change register value to long.
* gdbtypes.h (struct type): Change `bitsize' to long as
TYPE_FIELD_STATIC_PHYSNAME uses this field as a pointer.
* inferior.h (struct inferior_status): Change type of stop_pc to
CORE_ADDR.
* language.h (local_octal_string, local_octal_string_custom):
Remove prototype, the functions are neither defined nor used.
* mipsread.c (parse_symbol): Use temporary variable for bitsize as
f->bitsize is a long now.
* objfiles.c (add_to_objfile_sections, build_objfile_section_table):
Use unsigned long casts instead of int for abusing sections_end
pointer as integer.
* stack.c (parse_frame_specification): Change type of `args' to
CORE_ADDR for SETUP_ARBITRARY_FRAME.
* printcmd.c (make_vasize): Allow redefinition via MAKEVA_SIZE.
* mipsread.c (parse_type): Alpha cc now supports the t->continued
bit, update algorithm to match the way the compiler uses it.
about SHIFT_INST_REGS.
* exec.c (exec_file_command): Set text_end based on all code readonly
sections, not just ".text".
* defs.h, infcmd.c, config/z8k/tm-z8k.h, config/m88k/tm-m88k.h,
config/sh/tm-sh.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h,
z8k-tdep.c: Remove all references to ADDR_BITS_SET.
* config/m88k/tm-m88k.h: Define TARGET_WRITE_PC.
* config/m88k/tm-m88k.h: Add definitions for calling functions.
the pushing of the struct return address is already handled in
mips_push_arguments.
* mips-tdep.c (reinit_frame_cache_sfunc): Fix typo in prototype
declaration.
* mipsread.c (parse_symbol, parse_type, upgrade_type): Add more
sanity checks for corrupt symbol entries to avoid core dumps
reported by benson@odi.com. Obviously Ultrix 4.3A cc now has
the same problems as the OSF/1 alpha cc.
* mipsread.c (parse_lines): Iterate over the range of the compressed
line number entries, the old iteration sometimes failed to stop
and wrote past the end of the LINETABLE. Add sanity check to avoid
the same problem in case the line number info is corrupt.
* mipsread.c (parse_procedure): Adjust pdr for alpha __sigtramp.
* mipsread.c (parse_external, parse_partial_symbols): Ignore stNil
symbols that are produced for statics in .o files and stLocal symbols
that are produced for every section in OSF/1 dynamically linked
executables.
* mipsread.c (psymtab_to_symtab_1): Put out `undefined symbols'
warning only under `verbose on' as there are many undefined symbols
in a dynamically linked executable.
(TARDIRS): Add gdbserver.
* exec.c (print_section_info): Print entry point.
* i386lynx-nat.c (i386lynx_saved_pc_after_call): Move into
i386lynx-tdep.c. Add core file support.
* i386lynx-tdep.c: New module for Lynx/386 target dependant code.
* maint.c: Add `maint info sections' command to print info about all
sections that BFD knows about for exec and core files.
* sparc-tdep.c (sparc_push_dummy_frame): Update stack pointer
before putting frame on the stack. Consolidate writes to reduce
traffic for remote debugging.
* config/i386/i386lynx.mh (NATDEPFILES): Remove exec.o.
* config/i386/i386lynx.mt (TDEPFILES): Add exec.o, i386lynx-tdep.o.
* config/i386/nm-i386lynx.h: Add target_pid_to_str().
* config/i386/tm-i386lynx.h: Remove target_pid_to_str().
* sparclite/Makefile.in: Add deps to keep Sun make happy.
infcmd.c (step_1),
infrun.c (wait_for_inferior): collapse SHIFT_INST_REGS ifdef and insert macro.
* m88k-tdep.c: include ieee-float.h. new global target_is_m88110.
new const struct ext_format_m88110 for float format.
(pic_prologue_code): add braces.
(next_insn): remove unused variable buf.
(frame_find_saved_regs): remove unused variables next_addr,
saved_regs, regnum.
(frame_locals_address): remove unused variables frame, ap.
(frame_args_address): remove unused variables frame, ap.
(push_parameters): add some breaks and a default case.
* remote-bug.c: remove redundant includes of value.h, target.h,
serial.h.
(bug_open): corrected typo, sr_multi_scan -> gr_multi_scan.
(bug_fetch_register): special case sfip register for m88110.
remove flag bit masking of pc registers. This should be handled
by the ADDR_BITS_* macros.
(bug_store_register): special case sfip register for m88110.
Corrected sprint format for extended registers.
use from the type.
* objfiles.c: Include gdb-stabs.h for SECT_* macros.
(objfile_relocate): Relocate textlow and texthigh in psymtabs.
Relocate partial symbols. Check that minimal SYMBOL_SECTION is
nonnegative before using it.
* symtab.h: Adjust section field comment.
going to print as unsigned, handle it generally for any length
less than sizeof (LONGEST), rather than special-casing sizeof (char),
sizeof (short), and sizeof (long). Clarify comment on what this
is for.
Some of the following is in #ifdef CALL_DUMMY_BREAKPOINT_OFFSET.
* breakpoint.h (enum bptype): Add bp_call_dummy.
(struct bpstat_what): Add call_dummy field.
* infrun.c (wait_for_inferior): Deal with it.
* breakpoint.c (bpstat_what): Deal with call dummy breakpoint.
* infcmd.c (run_stack_dummy): Set the call dummy breakpoint.
* config/sparc/tm-sparc.h: Define CALL_DUMMY_BREAKPOINT_OFFSET.
* remote-sim.c: Add remote debug feature. Rename stuff to distinguish
interface to simulator from gdb-specific stuff. Other changes.
start-sanitize-v9
* remote-sp64sim.c: Renamed to remote-sim.c.
Use sr_get_debug instead of our own sim_verbose/simif_snoop.
Use gnutarget in call to bfd_openr.
Rename simif_* to gdbsim_*.
* config/sparc/sp64sim.mt: Change remote-sp64sim.c to remote-sim.c.
end-sanitize-v9
the xor and subtract. Otherwise it will not sign extend if the type
of LONGEST is larger than int.
* cp-valprint.c (cp_print_class_method): Inhibit core dump if
domain is an undefined cross reference.
* valops.c (call_function_by_hand): Set real_pc to correct
to tm-a29k.h and a29k-tdep.c and make it an enum.
* a29k-tdep.c (a29k_get_processor_type): New function. Fix many
aspects of how we detected the processor type.
* remote-udi.c, remote-adapt.c, remote-mm.c (*_open): Call it
rather than figuring out the type ourselves.
Correct sizeof(int) == sizeof(long) assumptions.
Replace stParsed hack by putting the parsed types on the pending chain.
Replace mips specific ecoff mapping by ECOFF_REG_TO_REGNUM macro,
provide default for cross debugging.
Swapping the symbol back is no longer needed as the symbol is not
modified anymore.
Add new alpha basic types, handle btTypedef, handle stStaticProc
external symbols .
Update and clean up cross_ref for alpha cc cross ref variations.
Allocate types on the type_obstack to inhibit storage leaks.
* config/mips/tm-mips.h (ECOFF_REG_TO_REGNUM): Define.
* gdbtypes.c (recursive_dump_type): Dump TYPE_TAG_NAME if it is set.
* exec.c (ignore): Return 0.
* stack.c (return_command): Fetch lazy value directly, not via
VALUE_CONTENTS, to avoid "value computed is not used".
* inflow.c (new_tty): Move osigttou inside #if.
* remote.c (remote_fetch_registers): If remote reply is short, just
note that fact and keep going (reading extra registers as all bits 0).
(remote_store_registers): Send number of registers that were found
by remote_fetch_registers.
* m68k-tdep.c, config/m68k/tm-m68k.h, config/m68k/tm-*.h: Remove
HAVE_68881. Define CANNOT_STORE_REGISTER if ptrace() can't write
floating registers.
* config/m68k/{tm-m68k-nofp.h,m68k-nofp.mt,tm-m68k-fp.h,m68k-fp.mt}:
Remove, replaced by {tm-m68k-em.h,m68k-em.mt}.
* Makefile.in, configure.in: Change accordingly.
Tue Sep 7 13:06:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* dbxread.c (process_one_symbol): If the value of an N_FUN for a
function is zero, use minimal symbols to get the address.
(STORE_RETURN_VAULE): Pass the correct offset of the return
register to write_register_bytes.
* hppa-tdep.c: Use target_write_pc if PCOQ_TAIL_REGNUM was not saved.
Include sys/types.h regardless of USG.
* configure.in: Fix typo (delta88r4 -> delta88v4).
* config/m88k/xm-delta88.h: Don't include sys/siginfo.h. It was
to make this work on SVR4 before SVR4 had its own configuration,
and it breaks SVR3.
* config/m88k/m88k.mh: Use xm-dgux.h.
* config/m88k/xm-m88k.h: New file, with HOST_BYTE_ORDER,
MAKEVA_END and MAKEVA_ARG.
* config/m88k/xm-*.h: Include m88k/xm-m88k.h.
* printcmd.c: Remove __INT_VARARGS_H code; now in xm-m88k.h.
* config/m88k/xm-m88k.h: New file, with HOST_BYTE_ORDER,
MAKEVA_END and MAKEVA_ARG.
* config/m88k/xm-*.h: Include m88k/xm-m88k.h.
* printcmd.c: Remove __INT_VARARGS_H code; now in xm-m88k.h.
(remote_fetch_word, remote_store_word): Make static and #if 0.
They are not called from anywhere.
Wed Sep 1 11:35:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* symtab.c (find_pc_line, find_line_common),
symtab.h (struct linetable), xcoffread.c (arrange_linetable):
Revise comments re linetable sorting.
* buildsym.c (compare_line_numbers): Sort by pc, not by line.
* coffread.c: Tell end_symtab to sort the line table.
Revise comments re linetable sorting.
* buildsym.c (compare_line_numbers): Sort by pc, not by line.
* coffread.c: Tell end_symtab to sort the line table.
* coffread.c: Re-work a lot of the coff-specific stuff to use stuff
in buildsym.c. This includes coff_finish_block, coff_context_stack,
coff_local_symbols, coff_file_symbols, coff_global_symbols,
coff_end_symtab and coff_add_symbol_to_list.
(read_enum_type): Deal with it now that we have a "struct pending"
not a "struct coff_pending".
* buildsym.c (end_symtab): Don't realloc subfile->linetable.
is unambigous. Patch from ptf@delcam.co.uk (Paul Flinders).
* mipsread.c (ecoff_symfile_info): New struct to hold the global
pending_list.
* mipsread.c (mipscoff_symfile_init, parse_partial_symbols):
Allocate the global pending list and link it to the objfile.
* mipsread.c (is_pending_symbol, add_pending): Use global pending
list from objfile. Allocate pending list entries from the
psymbol_obstack.
* mipsread.c (free_pending): Remove. The pending list is now
freed when the psymbol_obstack is freed.
* mipsread.c (psymtab_to_symtab1): Remove pending list allocation,
the global pending list is used now.
* mipsread.c (parse_partial_symbols): Skip only the first
file indirect entry when building the dependency list.
show < 0. The only case where we had been distinguishing is that
show = 0 used to print "struct " or "enum " instead of
"struct {...}" or "enum {...}" which seems clearly wrong.
was empty and thrown away.
* mipsread.c (parse_partial_symbols): Do not add empty psymtabs to
dependency list, skip self dependencies.
* mipsread.c (parse_fdr): Removed, obsolete.
* mipsread.c (parse_lines): Check for cbLine being zero, not
cbLineOffset.
* mipsread.c (struct symloc): Add pst_language.
* mipsread.c (parse_partial_symbols): Set up proper language for header
files, save it in pst_language for psymtab_to_symtab_1.
* mipsread.c (psymtab_to_symtab_1): Use pst_language.
besides the dummy, return 1 rather than calling error().
Let caller print the error message. Remove name argument.
* valops.c (call_function_by_hand): Deal with changes to calling
sequence of run_stack_dummy. Discard restore_inferior_status cleanup
if run_stack_dummy returns 1.
support to use LOC_BASEREG rather than SYMBOL_BASEREG_VALID.
* dwarfread.c: Use LOC_BASEREG where appropriate.
* Various: Support LOC_BASEREG and LOC_BASEREG_ARG.
* stabsread.h: Group together dbxread.c functions.
Move elfstab_build_psymtabs here from symfile.h.
Declare pastab_build_psymtabs.
* elfread.c, paread.c: Include stabsread.h (for stabsread_new_init
declaration, etc).
(double_scan, multi_scan): generalize double_scan into a scan
for multiple patterns. Rename to multi_scan.
(bug_wait, bug_write_inferior_memory): adapt to use the new
multi_scan in order to catch and represent target bus errors.
(bug_scan): currently unused, so comment out.
(bug_quiet): removed. Replaced with a standard user settable boolean.
Set language for psymtab and symtab.
* mipsread.c (new_symbol): Set language and initialize demangled
name for symbol.
* symmisc.c (print_symbol): Use SYMBOL_SOURCE_NAME when printing
the symbol type.
* symtab.c (decode_line_1): Inhibit coredumps with cfront executables.
it conditionalized on 4.3 vs. 4.4.
* config/m68k/nm-hp300bsd.h: Move REGISTER_U_ADDR out of 4.3 and
4.4 sections; it was identical and now works for 4.4.
non-existent files nm-delta.h, etc.
* config/m68k/tm-delta68.h: Define CANNOT_STORE_REGISTER.
* delta68-nat.c: Add "[0]" in offsetof argument.
* delta68-nat.c (_initialize_kernel_u_addr): Don't try to set up
nl with initializer, just assign to it. Check n_scnum field on
return.
(FP_REGNUM): define in terms of SP_REGNUM
rather than by absolute number. Also clearly comment that this
is a convenient lie in order to decrease future confusion.
(ACTUAL_FP_REGNUM): new macro for FP.
(FRAME_CHAIN_VALID): removed. Standard default works fine.
* m88k-tdep.c (frame_chain_valid): redundant, so removed.
(NEXT_PROLOGUE_INSN): removed unused fourth arg, fixed all
callers.
(read_next_frame_reg): declare static.
(examine_prologue): removed unused variabel insn2, rename insn1
to insn, rewrote comment about finding fp, sp, etc. set frame_fp
based on ACTUAL_FP_REGNUM rather than FP_REGNUM which is
actually a scammed alias for SP_REGNUM on m88k.
the saved pc from sigcontext on the stack for BSD signal handling.
* config/i386/tm-i386bsd.h (SIGTRAMP_START, SIGTRAMP_END, FRAME_CHAIN,
FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET):
Define to make backtracing through sigtramp work.
* config/vax/tm-vax.h (SIGTRAMP_START, SIGTRAMP_END, TARGET_UPAGES,
FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET): Ditto.
Use the function name when calling IN_SIGTRAMP.
* config/m68k/tm-m68k.h (SIG_PC_FP_OFFSET, SIG_SP_FP_OFFSET):
Define for correct handling of bachtraces through _sigtramp.
* m68k-tdep.c (m68k_find_saved_regs): Adjust saved sp for fake
sigtramp frames.
* mipsread.c (parse_type): Handle corrupt TIR info with complaint
instead of core dump.
* mipsread.c (parse_partial_symbols): Put static symbols into the
mimimal symbol table, use proper mst_types for all minimal symbols.
* stack.c (frame_info, print_frame_info): Use the starting source
line number on a line boundary if backtracing through sigtramp.
simply save encode this fact as the process group and return
success rather than an error.
(set_tty_state): if process group is -1, do not reset the
process group.
(hardwire_reachar): comment change.
GDBSERVER_DEPFILES. Also remove much (but not all that could be
removed) crud inherited from gdb Makefile.in.
* config/i386/i386lynx.mh, config/sparc/sun4os4.mh: Define GDBSERVER_*.
* gdbserver/README: Say it works on Sun and change configuration
instructions slightly.
* core.c: Add commands to set and show it.
* Callers to bfd_*open*: Pass gnutarget instead of NULL as target.
* environ.c (set_in_environ): For GNUTARGET, use set_gnutarget not
putenv.
* symtab.c (decode_line_1): Give error on unmatched single quote.
function.
* dwarfread.c (add_partial_symbol): Remove code to add minimal
symbols and remove comment about limitations. Experiments show
that now that gdb handles the ELF symtab better for creating
minimal symbols, that no additional information is added by
examining the DWARF information, and in fact, given the
limitations, the DWARF code was actually making things worse.
from the data symbols and give them the correct minimal_symbol_type.
Add file static symbols to the minimal symbol table, not just
global symbols. Add absolute symbols as well (like _edata, _end).
Redo stabs-in-elf special symbol handling now that file static
symbols are entered into the into the minimal symbol table.
from the data symbols and give them the correct minimal_symbol_type.
Add file static symbols to the minimal symbol table, not just
global symbols. Ignore symbols that are section names and file names.
* dwarfread.c (add_partial_symbol): Add comment about limitations
of DWARF symbols for distinquishing data from bss when adding
minimal symbols. Add file local symbols to minimal symbols.
* gdbserver/remote-inflow.c (create_inferior): Fix comments, and
error msg. Setup seperate process group for child.
* (write_inferior_memory): Sleep for 1 second and retry on ptrace
failure.
* Makefile.in (CLIBS): Reorder to make Lynx ld happy.
* (HFILES): New file thread.h.
* (OBS): New file thread.c.
* configure.in: Host config for Lynx/386.
* fork-child.c (fork_inferior): Call init_thread_list().
* infrun.c (resume): Add pid to invocation of target_resume().
* (wait_for_inferior): Pay attention to pid from target_wait().
Multi-threading code now uses this to determine what to do.
* inftarg.c (child_wait): Conditionalize based on CHILD_WAIT macro.
Use target_pid_to_str() macro throughout when printing pid.
* inferior.h (child_resume): Add pid to prototype.
* hppab-nat.c hppah-nat.c infptrace.c (child_resume): Pass in pid as
argument, instead of using inferior_pid.
* procfs.c (procfs_resume): Pass in pid as argument. Ignored for
now. Use target_pid_to_str() macro throughout for printing process id.
* remote-adapt.c (adapt_resume): Pass in pid as argument.
* remote-eb.c (eb_resume): Pass in pid as argument.
* remote-es.c (es1800_resume): Pass in pid as argument.
* remote-hms.c (hms_resume): Pass in pid as argument.
* remote-mips.c (mips_resume): Pass in pid as argument.
* remote-mm.c (mm_resume): Pass in pid as argument.
* remote-monitor.c (monitor_resume): Pass in pid as argument.
* remote-nindy.c (nindy_resume): Pass in pid as argument.
* remote-sa.sparc.c (remote_resume): Pass in pid as argument.
* remote-sim.c (rem_resume): Pass in pid as argument.
* remote-sp64sim.c (simif_resume): Pass in pid as argument.
* remote-st.c (st2000_resume): Pass in pid as argument.
* remote-udi.c (udi_resume): Pass in pid as argument.
* remote-vx.c (vx_resume): Pass in pid as argument.
* remote-z8k.c (rem_resume): Pass in pid as argument.
* remote.c (remote_resume): Pass in pid as argument.
* solib.c (solid_create_inferior_hook): Pass inferior_pid to
target_resume().
* target.c (normal_pid_to_str): New routine to print out process
ID normally.
* target.h (struct target_ops): Add pid to prototype at
to_resume(). (target_resume): Add pid argument.
* (target_pid_to_str): Default definition for normal type pids.
* thread.c, thread.c: New modules for multi thread/process control.
* tm-hppa.h (TARGET_WRITE_PC): Define.
* hppa-tdep.c (hppa_fix_call_dummy): If in a syscall,
then return the address of the dummy itself rather than
the address of $$dyncall.
(target_write_pc): New function to store a new PC.
conditions, they might contain symbol table references.
* mipsread.c (parse_symbol): Handle opaque struct definitions and
type naming for stTypedef symbols.
was adequate in gdb 3.5 but not now.
* valops.c (typecmp): An array in t2 matches a pointer in t1.
* valops.c (typecmp): When comparing type1& to type2, compare
type1 and type2 as leniently as if we were comparing type1 to
type2.
baseclass doesn't have a name.
* values.c (vb_match): New function, which finds the virtual
base class pointer even if the types are nameless.
(baseclass_{addr,offset}): Use it.
* nindy-share/*, remote-nindy.c: Extensive hacking to make it
conform to GDB conventions like using memcpy not bcopy, serial.h,
etc. This is to make it host on Solaris, AIX, etc.
* Makefile.in: Reflect removed nindy-share files.
* config/i960/nindy960.mt (TDEPFILES): Remove ttybreak.o.
* nindy-share/*, remote-nindy.c: Extensive hacking to make it
conform to GDB conventions like using memcpy not bcopy, serial.h,
etc. This is to make it host on Solaris, AIX, etc.
* Makefile.in: Reflect removed nindy-share files.
<memory.h>.
Include <malloc.h> rather than declaring malloc functions ourself.
* ser-unix.c (set_tty_state): Don't ignore errors setting process
group.
* inflow.c (terminal_inferior): If attach_flag set, ignore errors
from set_tty_state.
we have breakpoints or watchpoints as we might have to ignore internal
breakpoints.
Fix gdb core dumps after `file newfile' commands.
* symtab.h, symfile.c (clear_symtab_users): New routine which
unconditionally clears symtab users. clear_symtab_users_once
commented out as it was a noop anyway.
* objfiles.c (free_objfile): Don't call clear_symtab_users_once.
* objfiles.c (free_all_objfiles), symfile.c (new_symfile_objfile),
xcoffexec.c (exec_close): Call clear_symtab_users if necessary.
* symfile.c (syms_from_objfile): Install cleanups for errors during
symbol reading.
* coffread.c, dbxread.c, mipsread.c, xcoffread.c (*_symfile_read):
Lint cleanup code, call do_cleanups explicitly.
* symfile.c (symbol_file_add): Call new_symfile_objfile and
reinit_frame_cache _after_ the new symbols are read in.
command. Now we use unwind info by default if we can find it.
* config/sparc: Move VARIABLES_INSIDE_BLOCK and SUN_FIXED_LBRAC_BUG
to tm-sparc.h so they are shared between Solaris and SunOS4.
* dbxread.c (process_one_symbol): Deal with SunOS4 acc N_STSYM and
N_GSYM functions.