* somsolib.c (som_solib_add): Check the value of __dld_flags, if
it indicates __dld_list is not valid return an error. If it
indicates that libraries were not mapped privately, issue a
warning.
they haven't failed me recently." item--this old (4.6 at least)
item is too vague to be useful (some watchpoint bugs have been
fixed since then).
* TODO: Add explanation of "RPC interface" item.
user code.
* hppa-tdep.c (internalize_unwinds): Accept and use new
"text_offset" argument for dynamic relocation of
region_{start,end} fields in the unwind descriptor.
(read_unwind_info): Pass text_offset to internalize unwinds.
single frame backtracing within the library only. Only works when
using the HPUX 9 dynamic linker. More functionality to be added
soon.
* somsolib.c, somsolib.h: New files.
* Makefile.in (HFILES_NO_SRCDIR): Add somsolib.h
(ALLDEPFILES): Add somsolib.c.
(somsolib.o): Add some dependencies.
* mpw-make.in (HFILES_NO_SRCDIR): Add somsolib.h
(ALLDEPFILES): Add somsolib.c.
(somsolib.o): Add some dependencies.
* somread.c (som_symtab_read): Accept multiple section offsets.
All callers changed. Adjust all text symbols with the first
section offset.
* symfile.c (find_lowest_section): Enable this function. Add some
tie-breaking logic when sections have the same vma.
(syms_from_objfile): Use find_lowest_section rather than looking
for ".text" by name. Relax warning to only warn if the lowest
section is not a code section.
* config/pa/{hppabsd.mh, hppahpux.mh} (NATDEPFILES): Add somsolib.o
* config/pa/{nm-hppab.h, nm-hppah.h}: Include somsolib.h.
retrieving the PC from a signal handler caller. Fix thinko
in Stan's last change ("frame", should have been "frame->next").
If the next frame is a signal handler caller and it's a system
call which has entered the kernel ((PSW & 0x2) != 0), then the
saved pc is in %r2 instead of %r31.
Correct definition of MMALLOC_DIR to reflect fact this is
gdb/gdbserver/Makefile.in, not gdb/Makefile.in.
* gdbserver/server.c (main): After we kill the inferior in
response to a 'k' request, exit.
next_link_map_member, xfer_link_map_member): Retrieve and use
shared library relocation offset from runtime loader structures.
Use libxproc.a routines to get a working version if
USE_LDR_ROUTINES is defined.
* README: Remove item about shared library relocation for
Alpha OSF/1.
available.
* configure.in (ENABLE_CLIBS): Use $(TCL) and $(TK) instead of
-ltcl and -ltk.
* gdbtk.c: Get rid of lots of unnecessary #includes.
* (gdbtk_init): Use ConnectionNumber macro instead of referencing
Display structure directly.
* gdbtk.tcl: Change exit button to quit button (makes shebs
happy).
Don't test for zero backchain pointer to recognize a signal
handler frame, if read() gets interrupted by a signal, the
backchain will be non zero.
(SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c,
improve comment.
(SIG_FRAME_PC_OFFSET): New definition.
(FRAME_SAVED_PC): Return saved pc from sigcontext if this
is a signal handler frame.
* rs6000-tdep.c (function_frame_info): Do not error out
if we can't access the instructions.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR):
New definition to get the function address from a function pointer.
* valops.c (find_function_addr): Use it when calling a user
function through a function pointer.
symbol_completion_function, takes the line buffer and the
point in the line buffer as additional arguments.
(readline_line_completion_function): New function, interface
between readline and line_completion_function.
(init_main): Use it.
(complete_command): Use line_completion_function instead of
abusing rl_line_buffer. Free completion strings after printing
them.
* symtab.c (completion_list_add_name): Recheck for duplicates
if we intend to add a modified symbol.
* gdbtypes.h (cplus_struct_type): nfn_fields_total no longer
includes the number of methods from the baseclasses.
* stabsread.c (attach_fn_fields_to_type): No longer add the
number of methods from the baseclasses to TYPE_NFN_FIELDS_TOTAL,
the baseclass type might not have been completely filled in yet.
* symtab.c (total_number_of_methods): New function to compute
the total number of methods for a type, including the methods
from baseclasses.
(decode_line_1): Use it instead of TYPE_NFN_FIELDS_TOTAL to
allocate the symbol array for find_methods.
* stabsread.c (scan_file_globals): Add default case to minimal
symbol type switch, to avoid gcc -Wall warnings.
* config/rs6000/tm-rs6000.h (INIT_EXTRA_FRAME_INFO):
Don't test for zero backchain pointer to recognize a signal
handler frame, if read() gets interrupted by a signal, the
backchain will be non zero.
(SIG_FRAME_FP_OFFSET): Move to here from rs6000-tdep.c,
improve comment.
(SIG_FRAME_PC_OFFSET): New definition.
(FRAME_SAVED_PC): Return saved pc from sigcontext if this
is a signal handler frame.
* rs6000-tdep.c (function_frame_info): Do not error out
if we can't access the instructions.
* config/rs6000/tm-rs6000.h (CONVERT_FROM_FUNC_PTR_ADDR):
New definition to get the function address from a function pointer.
* valops.c (find_function_addr): Use it when calling a user
function through a function pointer.
rule, which was not addressed by the previous change.
* rs6000-tdep.c (skip_prologue): Handle `mr r31,r1', which is
generated by gcc-2.6, as a synonym for `oril r31,r1,0'.
* TODO: Remove item about RS/6000 shared libraries.
* config/mt-netware: New file.
* config/mt-i386-netware: Removed, separate configs for different
netware architectures are no longer needed now that we have
--with-headers.
target_wait_hook to allow GUI to handle blocking for inferior. Call
call_command_hook in execute_command to provide means for wrapping
commands with GUI state change updates.
* gdbtk.c (gdb_cmd): Force GUI into idle mode when errors occur.
* (gdb_stop): New tcl command to stop the target process.
* (x_event, gdbtk_wait): Allow GUI to interrupt gdb out of target
waits.
* (gdbtk_call_command): Wrapper around command processing to
alert GUI of target state changes.
* (gdbtk_init): Get the fd of X server for doing async
notification of X events (via x_event). Setup new hooks.
* gdbtk.tcl: Add scrollbars to assembly and command windows.
* Change window foreground & background colors.
* Create margin tag for breakpoints in source and assembly windows.
* Add new routines to be invoked when target state changes to/from
idle.
* Add start of expression window.
* Change bindings of mouse button 1 in assembly and source window
to just set or clear breakpoints when in the margin tag.
* Change shape of register window to be more vertical to better
reflect it's contents.
* Add stop button.
* Cleanup some code around command window bindings.
* infrun.c (wait_for_inferior): Make sure
through_sigtramp_breakpoint is non-null before deleting.
objfile not symfile_objfile.
* symtab.h, minsyms.c (minsyms_sort): New function.
* objfiles.c (objfile_relocate): Call it.
* remote-vx.c (vx_add_symbols): Call breakpoint_re_set.
* objfiles.c, objfiles.h (objfile_to_front): New function.
* remote-vx.c (vx_add_symbols): Call it.
* coffread.c (coff_symtab_read): Handle common symbols the same
way that partial-stab.h does.
loader that reads files using BFD and converts it on the fly.
* monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
* monitor.c (monitor_load): check the load type and load the file
accordingly. Default to gr_load_image().
* monitor.c (monitor_load_ascii_srec): Load an ascii file in
srecord format by downloading to the monitor.
* w89k-rom.c, op50n-rom.c: set supported load types.
* monitor.c (monitor_load): check the load type and load the file
accordingly. Default to gr_load_image().
* monitor.c (monitor_load_ascii_srec): Load an ascii file in
srecord format by downloading to the monitor.
* w89k-rom.c, op50n-rom.c: set supported load types.
* Makefile.in: Remove xcoffexec.o rule.
* exec.c (exec_file_command): Add comment.
Fix data and bss relocation for VxWorks 5.1:
* remote-vx.c (vx_add_symbols): New function.
(vx_load_command, add_symbol_stub): Call it instead of
symbol_file_add.
(vx_wait): Remove comment which was wrong to useless.
* remote-vx.c: Reindent much of file.
* coffread.c (cs_to_section, find_targ_sec): New functions.
(process_coff_symbol): Set SYMBOL_SECTION to result
from cs_to_section.
(coff_symtab_read): Call cs_to_section and deal appropriate
rather than assuming sections are in a certain order. Deal with
BSS.
* coffread.c: Remove text_bfd_scnum variable.
of using longest_to_int.
* infcmd.c (run_stack_dummy): Reinstate set_current_frame call,
mips and alpha targets need the real breakpoint pc for
creating the breakpoint frame.
* stack.c (return_command): Cast return value to the return
type of the function from which we return.
* values.c (set_return_value): Pass VALUE_CONTENTS unmodified
to STORE_RETURN_VALUE.
* symtab.c (lookup_symbol): Remove search for `static mangled
symbols', the search for `static symbols' already looks for
mangled and demangled symbols via lookup_block_symbol.
* valarith.c (value_binop): Use ANSI C arithmetic conversions
when performing integral evaluations, implement BINOP_EQUAL and
BINOP_LESS.
(value_equal, value_less): Use value_binop to perform the
comparison if both operands have TYPE_CODE_INT.
* rs6000-tdep.c (pop_frame): Make sure all registers are valid,
as they are written back later. Handle sp restore for frameless
functions. Use fdata.nosavedpc instead of fdata.frameless to
determine if the pc has been saved.
(function_frame_info): Handle `mr r31,r1', which is generated by
gcc-2.6, as a synonym for `oril r31,r1,0'.
(skip_trampoline_code): Handle shared library trampolines.
* xcoffread.c (read_xcoff_symtabs): Record XMC_GL symbols with
their real name. Enables setting of breakpoints in shared libraries
before the executable is run.
(symfile.h, objfiles.h, xcoffsolib.h): Include.
(vmap): New global variable.
(exec_close): Close and free objects in vmap chain.
(exec_file_command) [IBM6000_TARGET]: Set up initial vmap.
(bfdsec_to_vmap, map_vmap): Moved here from xcoffexec.c.
(exec_files_info): Print vmap information.
* xcoffexec.c: Remove.
* config/rs6000/rs6000.mt, config/rs6000/rs6000lynx.mt
(TDEPFILES): Use exec.o instead of xcoffexec.o.
* TODO: Remove pertinent items.
Lynx wait status.
(fetch_core_registers): Don't try to fetch a register if
regmap maps it to -1.
* sparc-tdep.c (sparc_frame_find_saved_regs): Use FRAME_SAVED_I0
and FRAME_SAVED_L0 when setting saved_regs_addr. SPARC Lynx
stores the registers in a weird order.
These patches make SPARC Lynx gdb usable, though it still has problems.
* symfile.h (ADD_PSYMBOL_VT_TO_LIST),
symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list):
No longer demangle partial symbols.
* symtab.c (lookup_symbol, list_symbols): Handle mangled
variables, e.g. C++ static members, via the minimal symbols.
Handle reordered functions in an objfile, for Irix 5.2 shared
libraries.
* objfiles.h (OBJF_REORDERED): New bit in the objfile flags,
set if the functions in an objfile are reordered.
* mdebugread.c (parse_partial_symbols): Detect reordered
functions in an objfile.
* symtab.c (find_pc_psymtab, find_pc_symtab): Use expensive
lookup algorithm if the functions in the objfile are reordered.
* xcoffexec.c (exec_close): If the current target has a copy
of the exec_ops sections, reflect the freeing of the sections
in current_target.
* valops.c (call_function_by_hand): Use `sizeof dummy1', not
`sizeof dummy', for constructing the call dummy code.
* config/sparc/tm-sparc.h: Add PARAMS declarations to all
function declarations.
* sparc-tdep.c (sparc_pop_frame): Cast result of
read_memory_integer to CORE_ADDR when passing it to PC_ADJUST.
* irix5-nat.c (enable_break): Set breakpoint at the entry point
of the executable, to handle the case where main resides in a
shared library.
* irix5-nat.c (solib_create_inferior_hook): Reset stop_soon_quietly
after shared library symbol reading, to get rid of a warning from
heuristic_proc_start if the startup code has no symbolic debug info.
* breakpoint.h (struct breakpoint): Add new fields language
and input_radix, to enable breakpoint resetting with the
proper language and radix.
* breakpoint.c (set_raw_breakpoint): Initialize them.
(breakpoint_re_set_one): Use them when resetting the breakpoint.
(breakpoint_re_set): Preserve current language and input_radix
across breakpoint_re_set_one calls.
* symtab.c (decode_line_1): Do not build a canonical line
specification for `*expr' line specifications.
* breakpoint.h (bpstat_stop_status): Fix prototype declaration.
and stack pointer during stepping, to speed things up.
A. Changes to not select a frame until we need a selected frame:
* blockframe.c (flush_cached_frames): Call select_frame (NULL, -1).
* infrun.c (wait_for_inferior): Move call to select_frame back to
normal_stop. This reverts a change of 13 Apr 94 (it says Jeff
Law, but the change was my idea); the only reason for that change
was so we could save and restore the selected frame in
wait_for_inferior, and now that flush_cached frames clears the
selected frame, that should work OK now.
B. Changes to not create a current_frame until we need one:
* blockframe.c (get_current_frame): If current_frame is NULL, try
to create an innermost frame.
* sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy),
infrun.c (wait_for_inferior), thread.c (thread_switch),
convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame),
alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command),
h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame),
hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame),
i960-tdep.c (pop_frame), m68k-tdep.c
(m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c
(push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c
(pop_frame), config/arm/tm-arm.h (POP_FRAME),
config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h
(POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME),
config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h
(POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't
call create_new_frame.
* corelow.c (core_open), altos-xdep.c (core_file_command),
arm-xdep.c (core_file_command), gould-xdep.c (core_file_command),
m3-nat.c (select_thread), sun386-nat.c (core_file_command),
umax-xdep.c (core_file_command): Don't call create_new_frame; do
call flush_cached_frames.
* blockframe.c (reinit_frame_cache): Don't call create_new_frame
or select_frame.
C. Changes to get rid of stop_frame_address and instead only
fetch the frame pointer when we need it.
* breakpoint.c (bpstat_stop_status): Remove argument
frame_address; use FRAME_FP (get_current_frame ()).
* infrun.c (wait_for_inferior): Don't pass frame pointer to
bpstat_stop_status.
* infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame
()) instead of stop_frame_address.
* infrun.c (save_inferior_status, restore_inferior_status),
inferior.h (struct inferior_status): Don't save and restore
stop_frame_address.
* inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c
(select_thread): Remove stop_frame_address and uses thereof.
D. Same thing for the stack pointer.
* infrun.c (wait_for_inferior): Remove stop_sp and replace
uses thereof with read_sp ().
E. Change to eliminate one nasty little spot where we were
wanting to know the frame pointer from before the current step
(idea from GDB 3.5, which saved my ass, because my other ideas of
how to fix it were very baroque).
* infrun.c: Remove prev_frame_address.
* infrun.c (wait_for_inferior, step_over_function): Use
step_frame_address instead of prev_frame_address.
F. Same basic idea for the stack pointer.
* inferior.h, infcmd.c: New variable step_sp.
* infcmd.c (step_1, until_next_command): Set it.
* infrun.c: Remove prev_sp and replace uses by step_sp.
* infrun.c (wait_for_inferior): If we get out of the step
range, then set step_sp to the current stack pointer before we
start going again.
(set_endian): Mention that ``auto'' is permitted.
(set_endian_auto): New static function.
(show_endian): Change message based on target_byte_order_auto.
(set_endian_from_file): New function.
(init_main): Add command ``auto'' to endianlist.
* exec.c (exec_file_command): Call set_endian_from_file.
* defs.h (set_endian_from_file): Declare.
define TARGET_BYTE_ORDER as target_byte_order, and declare
target_byte_order as an extern int, and define BITS_BIG_ENDIAN as
a test of TARGET_BYTE_ORDER.
* top.c: Several additions if TARGET_BYTE_ORDER_SELECTABLE is
defined:
(endianlist, target_byte_order): New variables.
(set_endian, set_endian_big, set_endian_little): New functions.
(show_endian): New function.
(init_cmd_lists): Initialize endianlist.
(init_main): Add commands ``set endian big'', ``set endian
little'', and ``show endian''.
* a29k-pinsn.c: Rewrite uses of TARGET_BYTE_ORDER and
BITS_BIG_ENDIAN to switch at run time rather than at compile time.
* coffread.c, dwarfread.c, findvar.c, mips-tdep.c: Likewise.
* remote-os9k.c, stabsread.c, valarith.c, valprint.c: Likewise.
* values.c: Likewise.
* mips-tdep.c: Rewrite uses of GDB_TARGET_IS_MIPS64 to switch at
run time rather than at compile time.
defined, define as 0.
(FIX_CALL_DUMMY): Rewrite to remove presumption that host and
target are similar.
* config/mips/tm-idt.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
* config/mips/tm-idtl.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
* config/mips/tm-idt64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
(BREAKPOINT): Remove definition.
* config/mips/tm-idtl64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
(BREAKPOINT): Remove definition.
* config/mips/tm-mips64.h (GDB_TARGET_IS_MIPS64): Define with a
value of 1, rather than without a value.
* config/mips/tm-bigmips64.h (GDB_TARGET_IS_MIPS64): Likewise.
and accessor macro. Minor indentation fix.
(hpread_build_psymtabs, case K_MODULE): Only start a new psymtab
and reset state variables have_name & texthigh if pst is NULL.
(hpread_build_psymtabs, case K_SRCFILE): Only reset the name of a
partial symbol table if pst is non-NULL. If pst is NULL, then
start a new psymtab.
(hpread_process_one_debug_symbol, case K_MODULE): Now empty.
(hpread_process_one_debug_symbol, case K_SRCFILE): Simplify and
correct handling of subfiles.
this is done.
Remove item about specifying arbitrary locations of stack frames
(this works on some machines).
Remove item about debugging functions without a frame pointer
(this works on some machines).
Remove item about re-writing macros which handle frame chaining and
frameless functions. They have been re-written at least once
since that item was written.
Remove item about gdb catching SIGINT when attached; this is done.
Remove item about having list_command not read symbols--why bother?
pass current_target to SOLIB_ADD. The Sep 10 change failed
if SOLIB_ADD errored out, or if SOLIB_ADD was trying to access
target memory.
* corelow.c (core_open): After reading the shared libraries,
copy the modified to_sections vector from current_target to
core_ops, so that core_close can free it later.
* config/rs6000/nm-rs6000.h, rs6000-nat.c (xcoff_relocate_core):
Pass down target parameter from SOLIB_ADD and use it instead of
directly accessing core_ops.
<link.h>.
* i386b-nat.c: Add i386_float_info(), etc.
* config/i386/nm-nbsd.h: #define FLOAT_INFO.
* config/nm-nbsd.h: New file, for generic NetBSD native support.
* config/i386/nm-nbsd.h: Use it.
* config/sparc/nm-nbsd.h: Use it.
* config/ns32k/nm-nbsd.h: Use it.
* configure.in (i386-*-netbsd): Use config/i386/nbsd.m[ht].
(ns32k-*-netbsd): Use config/ns32k/nbsd.m[ht].
* config/i386/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/i386.
* config/ns32k/{nbsd.mh,nbsd.mh,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
New files, support for NetBSD/ns32k.
* dbxread.c (read_dbx_dynamic_symtab): Cast bfd_asymbol_name to
char * (from const char *) before assigning. Don't save string we
pass to record_minimal_symbol (it already saves it).
printing of static members.
(_initialize_cp_valprint): New print set subcommand
"static-members". Turn on printing of static members by default.
(cp_print_value_fields): Print static members if necessary.
* solib.c: Remove inclusion of libelf.h and elf/mips.h.
(elf_locate_base): Use only standard BFD functions to collect
information about the .dynamic section. Check for DT_MIPS_RLD_MAP
tag only if it got defined via the inclusion of <link.h>.
* f-exp.y: Write block for OP_VAR_VALUE.
* f-valprint.c (info_common_command): Handle `info common'
without an argument correctly.
* c-typeprint.c (c_type_print_base): Handle template constructors.
* symtab.c (gdb_mangle_name): Handle template method mangling,
get rid of GCC_MANGLE_BUG code, which only applied to gcc-2.2.2.
* ch-typeprint.c, ch-valprint.c: Use TYPE_INDEX_TYPE.
* ch-valprint.c (chill_val_print): Pass index type directly
(instead of its TYPE_TARGET_TYPE) to print_type_scalar.
* stabsread.c (read_type): Don't set TYPE_FLAG_TARGET_STUB
if the index type is a stub.
Also, add decl for symtab_to_filename.
* gdbtk.c: Replace calls to full_filename with symtab_to_filename.
* gdbtk.tcl: New routine pc_to_line replaces in line code. New
routine decr replaces in line code.
* (create_file_win): Use catch to handle open failures more
elegantly. Also, create special window to display file open
failure message. Move opening of file prior to creation of text
widget.
* (create_asm_win): Add PC as argument. We now base disassembly
on PC instead of function name, since function names can be
ambiguous (usually seen with shared libs). Also, use catch to
simplify code where we don't care about failures.
* source.c (symtab_to_filename): New. Returns the file
associated with a symtab.
* top.c: Define interactive_hook. Called during QUIT to animate
the GUI.
* stabsread.c (read_array_type): Check for stub domain type
using TYPE_FLAG_STUB, not its length.
* gdbtypes.c (create_set_type): Handle a stub domain type.
mst_solib_trampoline.
* f-valprint.c (f_val_print): Change cast of valaddr from
CORE_ADDR * to char **, since that is how it is used.
* dbxread.c (read_dbx_dynamic_symtab): Save copy of symbol names
using obsavestring, and pass that to prim_record_minimal_symbol.
Having the objfile point to bfd_asymbol_name directly doesn't work
if we save and restore a mapped symbol file.
* Put quotes around function name in disassemble command to better
handle assembler names containing `.'.
* Make pclist element 0 be filler to avoid off-by-one problem with
line numbers.
* Set names of top-level windows.
* Add register display window.
* Add PC to label of assembly window.
disassembly more efficient.
* (breakpoint_notify): Include pc in gdbtk_tcl_breakpoint
callback.
* (gdb_loc): Include pc in return value. Also, return function
name if arg was specified.
* (gdb_cmd_stub): Call gdb_flush to drain internal GDB buffers
after command completes.
* (gdbtk_init): Improve error handling.
* gdbtk.tcl: Add lots of comments. Clean up code.
* (gdbtk_tcl_fputs): Make output window redirectable.
* Add assembly window, and breapoint support.
* Make button 1 in margin toggle breakpoints.
* Use stippling to indicate breakpoint disabling.
change by replacing `symbols_added' with `so_last'.
* mdebugread.c (parse_external, parse_partial_symbols): Ignore
global common symbols, they will be resolved by the runtime loader.
* mdebugread.c (parse_symbol, parse_partial_symbols, cross_ref):
Handle scSCommon like scCommon symbols.
core_ops to current_target after adding the shared libraries.
* partial-stab.h (N_EXCL), dbxread.c (add_old_header_file,
find_corresponding_bincl_psymtab): Change `repeated header not seen'
error to a complaint, simplify complaint.
* procfs.c (signalname, errnoname): Make `name' const.
* symfile.c (reread_symbols): Use filename from old BFD to
reopen the objfile.
* values.c (record_latest_value): Don't record value in the
history chain until we are sure there won't be an error.
* remote.c (fromhex): Make error more explicit.
(read_frame): Don't print bad checksum information unless
remote_debugging. Don't use repeat count unless it's > 0.
* remote-e7000.c (expect): When echoing, ignore multiple newlines.
(e7000_insert_breakpoint, e7000_remove_breakpoint, target_ops): Optionally
cope with BC style breakpoints.
(e7000_command): After command send directly to the E7000 mark
registers as changed.
(why_stop, e7000_wait: Understand BC style stop condition.
* sh-tdep.c (sh_skip_prologue): Understand more complicated
sequences. (frame_find_saved_regs): Likewise.
* config/h8500/tm-h8500.h (target_write_pc, TARGET_WRITE_PC):
Handle extra arg.
* config/i386/xm-go32.h (GDBINIT_FILENAME): Set to gdb.ini.
(more work here to come)
* config/sh/tm-sh.h (EXTRA_FRAME_INFO): Add f_offset and leaf_function
fields.
for describing the command and control types.
(struct command_line): Add new fields to keep track of the command
type and body associated with the command.
* top.c: Include value.h. Delete whitespace at the end of lines.
(build_command_line, get_command_line): New functions.
(execute_control_command, while_command, if_command): Likewise.
(realloc_body_list, read_next_line): Likewise.
(recurse_read_control_structure): Likewise.
(execute_user_command): Call execute_control_command.
(read_command_lines): Simplify by calling read_next_line, call
read_control_structure for "if" and "while" commands.
(free_command_lines): Free new fields in the command structure.
(define_command): Reset control_level to zero.
(init_main): Install command handlers for "if" and "while" commands.
of config/nm-trash.h.
* config/nm-trash.h: Remove.
* config/nm-empty.h: New file.
* config/i386/nm-m3.h: New file, includes config/nm-m3.h.
* config/mips/nm-m3.h: New file, includes config/nm-m3.h.
* config/m68k/nm-sysv4.h: New file, includes config/nm-sysv4.h.
* config/mips/nm-sysv4.h: New file, includes config/nm-sysv4.h.
* config/sparc/nm-sysv4.h: New file, includes config/nm-sysv4.h.
the end of the list of objfiles, instead of at the beginning.
* xcoffread.c (allocate_include_entry): New function, abstracted
from code in record_include_begin.
(record_include_begin, record_include_end): Call it.
* blockframe.c (reinit_frame_cache): Test inferior_pid instead of
target_has_stack to decide whether to create a real stack frame
for the cache.
* coffread.c (process_coff_symbol) [CXUX_TARGET]: Ignore vendor
section.
* config/m88k/tm-cxux.h (CXUX_TARGET): Define.
* h8300-tdep.c: Include "dis-asm.h" instead of <dis-asm.h>.
* config/xm-nbsd.h: fix typo.
* config/sparc/{nm,tm,xm}-nbsd.h: New files, renamed from
{nm,tm,xm}-sparcnbsd.h to conform to prefered file naming
conventions.
* configure.in: (sparc-*-netbsd): use config/sparc/nbsd.m[ht].
* config/sparc/{nm,tm,xm}-nbsd.h: New files, renamed from
{nm,tm,xm}-sparcnbsd.h to conform to prefered file naming
conventions.
* configure.in: (sparc-*-netbsd): use config/sparc/nbsd.m[ht].
attach_flag (this check was performed by the callers). Also check
inferior_thisrun_terminal.
* inftarg.c (child_wait), lynx-nat.c (child_wait),
procfs.c (wait_fd), symm-nat.c (child_wait): Don't check
attach_flag in deciding whether to call set_sigint_trap and
clear_sigint_trap.
(ns32k-pinsn.o): Update dependencies.
* ns32k-opcode.h: Remove file.
* ns32k-pinsn.c (print_insn): Call version in libopcodes, remove
all other code in this file.
* nlm/aio.h: Protect from multiple inclusions.
* nlm/alpha-io.S: Remove everything we don't need.
* nlm/{alpha-patch.c, alpha-patch.h, alpha-uart.c, alpha-uart.h}:
Remove, no longer needed.
* nlm/alpha.c: Merge in lots of stuff from previous files.
* nlm/alpha.h: Don't #include alpha-patch.h. Make
breakpoint_insn extern.
* Move stuff from alpha-patch.h into here.
* config/alpha/gdbserve.mt (TDEPFILES): Get rid of alpha-uart.o.
the callers of symbol_file_add. Gets rid of heuristic fence-post
warnings on mips and alpha targets when the PC resides in a shared
library which is not yet read in.
* coff-solib.c (coff_solib_add), cxux-nat.c (add_shared_symbol_files),
irix5-nat.c (solib_add), osfsolib.c (solib_add),
remote-vx.c (vx_open), solib.c (solib_add):
Add call to reinit_frame_cache after all shared libraries are read in.
* remote-udi.c (udi_load), remote-vx.c (vx_load_command),
symfile.c (symbol_file_command, add_symbol_file_command):
Add call to reinit_frame_cache after symbol_file_add.
f77_create_literal_complex_type.
* valops.c (f77_value_literal_string, f77_value_substring,
f77_value_literal_complex): Use xmalloc not malloc.
* valops.c (f77_value_literal_string, f77_value_substring):
Make addr char * not CORE_ADDR.
* value.h (struct value): Add new field literal_data of aligner union.
(VALUE_LITERAL_DATA): Use it.
* f-lang.h: Declare find_common_for_function.
* value.h, valops.c: Split VALUE_SUBSTRING_START into memaddr and
myaddr fields of a union. Don't overload it with the frame field
(not sure this is necessary; I'm not sure what lval_* codes
VALUE_SUBSTRING_* can be used with).
* ser-go32.c: (dos_async_ready): See if anything is in the buffer.
(dos_async_rx): rewrite to unpack as many characters from the
asynctsr as possible into a local buffer.
(fmbutt@engage.sps.mot.com).
* Makefile.in: Add Fortran-related files and dependencies.
* defs.h (language_fortran): New language enum.
* language.h (_LANG_fortran): Define.
(MAX_FORTRAN_DIMS): Define.
* expression.h: Reformat to standard.
(MULTI_F77_SUBSCRIPT, OP_F77_UNDETERMINED_ARGLIST,
OP_F77_LITERAL_COMPLEX, OP_F77_SUBSTR): New expression opcodes.
* gdbtypes.h (TYPE_CODE_COMPLEX, TYPE_CODE_LITERAL_COMPLEX,
TYPE_CODE_LITERAL_STRING): New type codes.
(type): New fields upper_bound_type and lower_bound_type.
(TYPE_ARRAY_UPPER_BOUND_TYPE, TYPE_ARRAY_LOWER_BOUND_TYPE,
TYPE_ARRAY_UPPER_BOUND_VALUE, TYPE_ARRAY_LOWER_BOUND_VALUE): New
macros.
(builtin_type_f_character, etc): Declare.
* value.h (VALUE_LITERAL_DATA, VALUE_SUBSTRING_START): Define.
* f-exp.y: New file, Fortran expression grammar.
* f-lang.c: New file, Fortran language support functions.
* f-lang.h: New file, Fortran language support declarations.
* f-typeprint.c: New file, Fortran type printing.
* f-valprint.c: New file, Fortran value printing.
* eval.c (evaluate_subexp): Add code for new expression opcodes,
fix wording of error message.
* gdbtypes.c (f77_create_literal_complex_type,
f77_create_literal_string_type): New functions.
* language.c (set_language_command): Add Fortran info.
(calc_f77_array_dims): New function.
* parse.c (length_of_subexp, prefixify_subexp): Add cases for new
expression opcodes.
* symfile.c (deduce_language_from_filename): Recognize .f and .F
as Fortran source files.
* valops.c (f77_value_literal_string, f77_value_substring,
f77_value_literal_complex): New functions.
if a '(' is found in varstring, Looking for ')' at the end of
varstring did fail with demangled const member functions, which
have a trailing `const'.
* remote.c (get_offsets, putpkt): Change to `char' buffers,
to avoid errors when compiling with DEC c89.
(remote_wait): Cast to `char *' before passing buffer to
fputs_filtered, to avoid errors when compiling with DEC c89.
(remote_wait): Do not return inferior_pid by default, this
statement is never reached, which causes warnings from some
compilers.
* stabsread.c (scan_file_globals): Ignore static minimal symbols.
* symfile.c (load_command): If called with no argument, try
to get the filename from the executable file.
(generic_load): Remove check for NULL filename, it is done
in load_command now.
(hpread.o): Add dependencies.
* somread.c: Do not include "aout/aout64.h". SOM has nothing to
do with a.out.
(BYTES_IN_WORD): Delete.
(som_symfile_read): Call hpread_build_psymtabs to build any
minimal symbols based on the HP C native debug symbols.
(som_symfile_finish): Call hpread_symfile_finish.
(som_symfile_init): Call hpread_symfile_init.
* config/pa/tm-hppa.h (HPREAD_ADJUST_STACK_ADDRESS): Define.
* hppa-tdep.c (hpread_adjust_stack_address): New function.
* config/pa/hppabsd.mh (NATDEPFILES): Add hpread.o
* config/pa/hppahpux.mh (NATDEPFILES): Likewise.
* hpread.c: New file.
NLMCONV_FOR_TARGET. (SUBDIRS): Add nlm target.
* configure.in (powerpc-*-netware*): Automatically configure nlm
subdir.
* nlm/Makefile.in: Add {CC NLMCONV LD}_FOR_TARGET. Remove alpha
specific stuff. Make things more configurable.
* nlm/configure.in: Add powerpc-*-netware* target. Use
gdbserve.mt/cpu.c/cpu.h for target stuff. Get rid of tm/xm/nm.h
files.
* nlm/gdbserve.c: Move Alpha specific stuff into other files.
Remove lots of architecture-specific stuff.
* nlm/gdbserve.def: Add new imports.
* nlm/ppc.c, nlm/ppc.h: New files that contain PowerPC specific code.
* nlm/prelude.c: Don't include libhooks.h, get rid of call to
register library.
* nlm/prelude.o: What was this doing here?
* config/alpha/gdbserve.mt: Defs for alpha nlm stub.
* config/powerpc/gdbserve.mt: Defs for PowerPC nlm stub.
* config/powerpc/ppc-nw.mt: Defs for PowerPC target for GDB.
* config/powerpc/tm-ppc-nw.h: Ditto.
* nlmstub.def: New file, contains imports for 386 nlm stub.
NLMCONV_FOR_TARGET. (SUBDIRS): Add nlm target.
* configure.in (powerpc-*-netware*): Automatically configure nlm
subdir.
* nlm/Makefile.in: Add {CC NLMCONV LD}_FOR_TARGET. Remove alpha
specific stuff. Make things more configurable.
* nlm/configure.in: Add powerpc-*-netware* target. Use
gdbserve.mt/cpu.c/cpu.h for target stuff. Get rid of tm/xm/nm.h
files.
* nlm/gdbserve.c: Move Alpha specific stuff into other files.
Remove lots of architecture-specific stuff.
* nlm/gdbserve.def: Add new imports.
* nlm/ppc.c, nlm/ppc.h: New files that contain PowerPC specific code.
* nlm/prelude.c: Don't include libhooks.h, get rid of call to
register library.
* nlm/prelude.o: What was this doing here?
(time.h, sys/types.h, libbfd.h): Don't include.
(cur_src_start_addr, cur_src_end_addr): Rename to
current_source_start_addr, current_source_end_addr.
(nlist_stream_global): Remove.
(nlist_bfd_global): New global variable.
(coff_symfile_read): Remove code that gets and uses fileno()
directly.
(read_coff_symtab, enter_linenos, process_coff_symbol): Add
section_offsets parameter, add text/data section offset to
appropriate symbols' values.
(read_one_sym): Use bfd_read instead of fread.
(init_stringtab, init_lineno): Change first parameter to a bfd,
use bfd routines instead of raw I/O.
Remove; unused.
(TAGFILES_NO_SRCDIR): Remove ALLPARAM.
(HFILES_NO_SRCDIR): Remove all files in config sub-directory.
(TAGS): Also pass result of find on config sub-directory to etags.
(ALLPARAM): Remove; now unused.
add additional argument specifying raw address to permit
proper release of debug registers.
(i386_insert_watchpoint, i386_insert_aligned_watchpoint):
change all callers.
detection of new processes.
* procfs.c (create_procinfo): Return pointer to new procinfo
structure.
* (do_detach): Spacing & formatting cleanup.
* (procfs_wait): Move wait_again label to ensure that we really
wait again. On exit from fork, release new child from gdbs'
clutches.
* (procfs_set_sproc_trap): Enable trapping of fork and vfork.
Irix 5 has a standard _sigtramp signal handler.
* irix5-nat.c (solib_add): Get rid of sigtramp_address handling,
it is not needed for a standard _sigtramp signal handler.
Add shared library sections to the section table of the target
before adding the symbols.
* mips-tdep.c (mips_skip_prologue): Do not skip load immediate
instructions that do not prepare a stack adjustment.
* regex.c (SIGN_EXTEND_CHAR): Update to emacs-19.25 definition,
which does the right thing on machines where `char' is unsigned.
call to remote_start_remote. Also use unique value for pid to
avoid confusion with read_register_pid & friends.
* (remote_wait): Return inferior_pid instead of 0 in all cases.
vectors anymore.
* (unpush_target): Test for to_close being set before calling.
* (target_xfer_memory, target_info): Check for to_has_memory
before playing with memory.
(NORETURN): Define as "volatile" only for older GCCs.
(ATTR_NORETURN): Define for newer GCCs.
* procfs.c (proc_init_filed): Add ATTR_NORETURN to declaration.
* breakpoint.c (delete_breakpoint, enable_breakpoint,
disable_breakpoint): Don't call breakpoints_changed; it is now
called via the *_breakpoint_hook functions.
* annotate.c (_initialize_annotate, breakpoint_changed): New functions.
linker stub, then return the address the stub will return to.
(frame_saved_pc): Correctly restart the search for the saved
pc when a linker stub is encountered.
* hppa-tdep.c (inst_saves_gr): Handle 16 and 8 bit instruction
register stores emitted by the version 9 HP compilers.
(inst_saves_fr): Relax test for a specific base register (%r1);
this avoids losing with the version 9 HP compilers.
(skip_prologue): Try to skip argument stores emitted by the HP
compilers. It's not perfect, but it's better than before.
--enable-xxx configure option by adding ENABLE_{CLIBS DEPFILES}
where appropriate.
* General hackery to support alternate user-interface.
* breakpoint.c (mention, delete_breakpoint, enable_breakpoint,
disable_breakpoint): Call hooks for alternate user-interface.
* defs.h: Add declarations for alternate user-interface hooks.
* main.c (main): Add --nw (and --nowindows) options to disable
the GUI.
* (near call to command_loop): Call command_loop_hook if set.
* (fputs_unfiltered): Call fputs_unfiltered_hook if set.
* stack.c: Call print_frame_info_listing_hook if set.
* top.c (gdb_init): Initialize targets.c and utils.c prior to
other files to make sure that calls to error and warning will
work. Call init_ui_hook after everything else.
* utils.c (query): Call query_hook if set.
* (gdb_flush): Call flush_hook if set.
* Change _initialize_utils to initialize_utils cuz we don't use
automatic initialization of utils.c anymore.
* Support for TK GUI.
* Makefile.in: Add rule for gdbtk.o.
* configure.in: Add support for --enable-gdbtk.
* gdbtk.c: New file. Contains support routines for TK interface.
* gdbtk.tcl: New file. Implements GUI policy.
* remote.c: Get rid of #ifdef DONT_USE_REMOTE. It's no longer
necessary.
(diststuff): Add for new distribution support.
(gdb.tar.Z, make-proto-gdb.dir, setup-to-dist,
gdb-$(VERSION).tar.Z, make-proto-gdb-1, make-proto-testsuite.dir):
Remove old distribution building rules, now uses standard
distribution support in parent directory Makefile.in.