* partial-stab.h: Call it.
* stabsread.c (define_symbol) [STATIC_TRANSFORM_NAME]: Call
STATIC_TRANSFORM_NAME to get the name and use minimal symbols to
get the address.
* sparc-tdep.c (solaris_static_transform_name): New function.
text and data symbols.
(som_symfile_offsets): If objfile is a shared library, then get
text and data offsets from the shared library structures.
* somsolib.c (som_solib_add): Copy the bfd pointer from the
objfile rather than reopening the file again.
(som_solib_section_offsets): New function.
* somsolib.h (som_solib_section_offsets): Declare.
top.c : Get rid of dis_asm_read_memory_hook. We can now call the
disassemblers directly and have no need for this hook anymore.
* defs.h, printcmd.c: Make print_insn be static.
* ser-go32.c (dos_comisr): Make this 8 bit clean.
* (dos_open dos_close): Allow multiple opens to the same device.
Use a ref count to prevent unwanted deallocations.
* sparcl-tdep.c: Put #ifdefs around all socket stuff to make GO32
happy.
* (sparclite_ops): Switch to download_stratum.
* target.h (enum strata): Move download_stratum before
process_stratum so that executable targets get pushed on top of
download targets.
* remote-arc.c: new file for arc-specific protocol through
parallel line.
* ser-go32-para.c: new file for go32 parallel port communication.
* .Sanitize: sanitize arc specific files out.
* config/arc/arc.mt: new target makefile for arc processor.
* config/arc/tm-arc.h: new target header for arc processor.
* config/arc/go32.mh: new go32 host makefile for arc processor.
* config/arc/xm-go32.h: new go32 host header for arc processor.
OP_UNDETERMINED_ARGLIST (no backtracking, more general).
* f-valprint.c (f_val_print): Print TYPE_CODE_STRING using
LA_PRINT_STRING, and not val_print_string (which reads from inferior).
* ch-lang.c (chill_is_varying_struct), ch-lang.h: Remve function
duplicate function made redundant by chill_varying_type.
Re-write of f77 string and complex number support:
* language.h (struct language_defn): New fields string_lower_bound
and string_char_type.
* c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn),
language.c (unknown_language_defn, auto_language_defn,
local_language_defn), m2-lang.c (m2_language_defn), f-lang.c
(f_language_defn), ch-lang.c (chill_language_defn): Set new fields.
* gdbtypes.c (create_string_type): Use new string_char_type field.
* valops.c (value_string): Use new string_lower_bound field.
* defs.h (TARGET_COMPLEX_BIT, TARGET_DOUBLE_COMPLEX_BIT): Removed.
* f-lang.c (f_create_fundamental_type, _initialize_f_language),
m2-lang.c (m2_create_fundamental_type),
gdbtypes.c (_initialize_gdbtypes): Set TYPE_TARGET_TYPE of complex
types. Set their TYPE_CODEs to TYPE_CODE_COMPLEX.
* mdebugread.c (mdebug_type_complex, mdebug_type_double_complex):
Removed. Use builtin_type_complex and builtin_type_double_complex.
* gdbtypes.h (enum type_code): Removed TYPE_CODE_LITERAL_STRING
and TYPE_CODE_LITERAL_COMPLEX.
* c-typeprint.c, f-typeprint.c, f-valprint.c, eval.c: Removed uses of
TYPE_CODE_LITERAL_STRING and TYPE_CODE_LITERAL_COMPLEX.
* gdbtypes.c, gdbtypes.h (f77_create_literal_complex_type,
f77_create_literal_string_type): Removed.
* value.h (VALUE_LITERAL_DATA, VALUE_SUBSTRING_MEMADDR,
VALUE_SUBSTRING_MYADDR): Removed.
* expression.h (enum exp_opcode): Rename OP_F77_LITERAL_COMPLEX to
OP_COMPLEX.
* parse.c: Update accordingly.
* f-valprint.c (f77_print_cmplx): Removed.
(f_val_print case TYPE_CODE_COMPLEX): Re-write to use print_floating.
* f-exp.y (STRING_LITERAL): Use OP_STRING instead of OP_ARRAY.
* eval.c (evaluate_subexp): For case OP_ARRAY, don't call
f77_value_literal_string.
* valops.c, value.h (f77_value_literal_string, f77_value_substring,
f77_assign_from_literal_string, f77_assign_from_literal_complex):
Removed.
(value_assign): No longer need to handle literal types.
* valops.c (f77_value_literal_complex), value.h: Re-written and
renamed to value_literal_complex. Last arg is now a (complex) type.
* valops.c (f77_cast_into_complex): Re-written and renamed to
cast_into_complex.
* eval.c (evaluate_subexp): Update accordingly.
start_element, left_element, right_element, slice_size,
lower_element, upper_element, first_element): Removed.
(value_string_slice, value_array_slice): Replaced by ...
(slice): New non-terminal, with working slice support.
(primitive_value_lparen, rparen): New non-terminals.
(maybe_tuple_elements): New non-terminal, to allow empty tuples.
(idtokentab): Added "up".
* value.h (COERCE_VARYING_ARRAY): New macro.
* valarith.c (value_subscript): Use it.
* valops.c (value_cast): Likewise. Also, do nothing if already
correct type, and allow converting from/to range to/from scalar.
* valops.c, value.h (varying_to_slice, value_slice): New functions.
* eval.c (OP_ARRAY): Add cast for array element.
* expression.h (TERNOP_SLICE, TERNOP_SLICE_COUNT): New exp_opcodes.
* valops.c (chill_varying_type): Moved function frp, here ...
* gdbtypes.c (chill_varying_type), gdbtypes.h: ... to here.
* parse.c (length_of_subexp, prefixify_subexp): Add support
for TERNOP_SLICE, TERNOP_SLICE_COUNT.
* expprint.c (print_subexp, dump_expression): Likewise.
* eval.c (evaluate_subexp): Likewise.
* eval.c (evaluate_subexp case MULTI_SUBSCRIPT): Don't call
value_x_binop on a Chill varying string.
remove them.
* gdb.base/nodebug.exp: Accept "function" in addition to "text
variable and "variable" in addition to "data variable".
* gdb.base/nodebug.exp: xfail datalocal and bsslocal tests for AIX.
* ser-go32.c (dos_close): Don't crash if scb null.
(dos_sendbreak): New function.
(dos_ops): Point to dos_sendbreak.
(dos_info): Calculate COM number correctly.
func_symbol_type and var_symbol_type as type of functions and
variables which don't have any stabs associated with them.
Reindent most of function.
(_initialize_xcoffread): Initialize *_symbol_type.
* xcoffread.c (read_xcoff_symtab): Reindent most of function.
Put C_HIDEXT symbols in the minimal symbols, rather than ignoring
them (this part commented out as I didn't quite get it to work).
(cs_to_section, find_targ_sec): New functions, to support above code.
* xcoffread.c (RECORD_MINIMAL_SYMBOL): Only skip '.' if it is
actually present.
2.
* gdb.base/list1.c (long_line): Add additional statement at start
of function.
* gdb.base/list.exp (test_forward_search): Update line number to
reflect new statement.
no hope of working as is for a long time (in particular, shebs' 27
Jan 95 change confuses the issue further--target_read_memory and
xfer_core_file do *not* do the same thing in this context).
Revise comment.
(exec_file_command, xfer_core_file): Comment out.
(arm_print_insn): Remove, now in libopcodes.
(skip_prologue): Comment out most of body.
(arm_frame_find_saved_regs): Move here from tm-arm.h.
(_initialize_arm_tdep): Set tm_print_insn.
* config/arm/tm-arm.h: Remove old refs to first_object_file_end.
(XFER_CORE_FILE): Remove.
(FRAME_FIND_SAVED_REGS): Call arm_frame_find_saved_regs.
problems with those changes were (a) the file didn't compile, (b)
they changed memset to bzero--memset is correct, (c) they took out
code to deal with boards lacking floating point, (d) who knows
what I didn't discover in a quick read.
* language.c (unknown_language_defn, auto_language_defn,
local_language_defn), c-lang.c (c_language_defn, cplus_language_defn,
asm_language_defn): Set c_style_arrays to true.
* m2-lang.c (m2_language_defn), ch-lang.c (chill_language_defn),
f-lang.c (f_language_defn): Set c_style_arrays to false.
* valops.c (value_string): If c_style_array is not set,
allocate string in gdb (not inferior) using allocate_value.
* value.h (COERCE_ARRAY), valops.c (value_addr, value_arg_coerce):
Only call value_coerce_array if current_language->c_style_arrays.
* values.c: Add #include "language.h". (Needed for COERCE_ARRAY.)
* valops.c (chill_varying_type): New predicate.
* valops.c (value_cast): Support assigning a fixed string or array
to a variable string/array structure.
* valarith.c (value_subscripted_rvalue): Extra parameter lowerbound.
Check index>=lowerbound, and then add lowerbound to index here,
instead of in caller. Generalize to arbitrary lval_types.
(value_subscript): Use enhanced value_subscripted_rvalue if
c_style_arrays is false (and index is in range).
restart GDB for h8300 after a continue.
(return): Add pattern to match a29k-udi behavior.
* gdb.base/nodebug.exp: Remove obsolete comment.
* gdb.base/regs.exp: New file, testing of register displays.
* gdb.base/return.exp: Fix typo in reference to $objdir.
* gdb.base/whatis.exp: Always start with a fresh GDB.
code following the catch silently ignored some errors; without the
catch they should be thrown like any other tcl error. Also, the
catch used "" instead of {} which meant all the callers who wanted
to include one of the characters "[]$ had to quote it an extra time.
* gdb.base/{callfuncs.exp,commands.exp,gdbvars.exp,printcmds.exp,
ptype.exp,signals.exp,watchpoint.exp}, gdb.c++/{cplusfuncs.exp,
demangle.exp}, gdb.chill/chexp.exp, gdb.fortran/exprs.exp:
Remove extra quoting.
* ch-exp.y (match_bitstring_literal): Fix for proper endianness.
* expprint.c (print_subexp): Don't call error on OP_BITSTRING,
just print B'<unimlemented>'.
* gdbtypes.c (create_set_type): Fix bug in length calculation.
* valops.c, value.h (value_bitstring): New function.
* eval.c (evaluate_subexp): Implement support for OP_BITSTRING.
* ch-typeprint.c (chill_type_print_base): For TYPE_CODE_FUNC,
check that return type is non-void, and print in proper Chill syntax.
configuration didn't use the ".if alpha" code in weird.def.
* gdb.stabs/weird.def (v_comb): Use type attribute to specify 32
bit pointer, so the 32 bit version works even on the alpha.
* gdb.stabs/{alpha.mt,ecoff.mt,aout.sed,hppa.sed,xcoff.sed,weird.def}:
Remove the stuff which allowed us to have separate versions for
alpha and everything else.
regexp which "info func operator\[\](" is supposed to match. Fix
string to send to GDB. Note that GDB still doesn't work right. Add a
new test for "info func .perator\[\](" which GDB does handle correctly.
labeled structre tuples.
* ch-exp.y (tuple_element, named_record_element, tuple_elements):
New non-terminals, to handle labeled structure tuples.
(tuple): Re-define using tuple_elements.
* eval.c (evaluate_labeled_field_init): New function, to handle
initialization of structure fields, possibly using OP_LABELED.
(evaluate_subexp): Use it.
* expprint.c (print_subexp case): For OP_ARRAY, use Chill syntax
for Chill. Handled OP_LABELED.
* parse.c (length_of_subexp, prefixify_subexp): Handle OP_LABELED.
* eval.c (evaluate_subexp): Handle Chill Powerset tuples.
* valarith.c (value_bit_index): Just treat bitstring as represented
by an array of bytes. Alignment is handled by compiler.
gdb.c++/inherit.exp, gdb.c++/templates.exp, gdb.c++/virtfunc.exp,
gdb.fortran/exprs.exp, gdb.fortran/types.exp, gdb.chill/chexp.exp,
gdb.base/printcmds.exp: Remove passcount, failcount, etc., stuff;
it makes the tests harder to understand and confuses test-o-matic.
The preferred style is that each test provides a PASS or a FAIL,
and has a unique message (e.g. "continue #54" not just "continue")
which is the same for the pass and the fail.
* gdb.fortran/exprs.exp, gdb.fortran/types.exp,
gdb.chill/chexp.exp: Move test_print_accept and test_print_reject
to lib/gdb.exp.
* gdb.base/printcmds.exp: Use test_print_accept. Remove
prt_accept which was basically the same thing. Likewise for
test_print_reject and prt_reject.
* lib/gdb.exp (test_print_reject): Add some more error message
patterns to match from the former printcmds.exp (prt_reject).
* gdb.c++/classes.exp, gdb.base/scope.exp: Remove spurious xfails.
One defect of the passcount stuff is that some of it failed to
report XPASS where appropriate.
* gdb.c++/cplusfuncs.exp (print_addr_of): No longer accept extra
stuff before and after arg in expected pattern.
(test_paddr_operator_functions): Re-do test without print_addr_of;
this is the only test which seems to want extra stuff there.
and config/a29k/vx29k.mt.
* configure.in: add new configuration a29k-*-vxworks.
* remote-vx29k.c: new file merged from WRS.
* remote-vx.c: merge changes from WRS.
* breakpoint.h (disable_breakpoint, enable_breakpoint):
New declarations.
(enum bpdisp): Change name of 'delete' member to 'del'.
(struct bpstat): Changed name to 'bpstats'.
* breakpoint.c (disable_breakpoint, enable_breakpoint,
breakpoint_chain): Made globally visible.
(bpstat_stop_status): Use new name for bpstat.
(break_command_1, watch_command_1, catch_command_1,
breakpoint_auto_delete, denable_delete_breakpoint): Use 'del'
instead of 'delete'.
(set_breakpoint_sal): New function.
* defs.h (registers_changed_hook): New declaration.
* infcmd.c (run_stack_dummy): 'delete' is now 'del'.
* inflow.c (new_tty): Treat WIN32 in same way as __GO32__
* main.c (main): Don't scan options when in WIN32 and exit
without entering main loop.
* m2-exp.y (m2_elx): Member 'class' is now 'aclass'.
* symtab.h (struct symbol, struct partial_symbol): Changed name of
member 'class' to 'aclass'.
(SYMBOL_CLASS, PSYMBOL_CLASS): Reflect change.
* top.c (registers_changed_hook): New definition.
* utils.c (quit, notice_quit, initialize_utils): Treate WIN32
in same way as __GO32__.
* value.h (c_typedef_print): Rename 'new' argument.
* gdbtk.tcl (build_framework): Several fixes for filespec widget,
including dismiss button, and better error handling.
* (create_command_win): Bind button 2 to retrieve selection.
compiler warning with dec alpha compiler.
* gdb.base/commands.exp (if_while_breakpoint_command_test): Remove
extra \n from gdb_test call (this explains why the prompt test
that I removed yesterday was there).
(user_defined_command_test): Remove extra \n and prompt test.
* gdb.base/sigall.c: If SIGABRT == SIGLOST, just act as if SIGLOST
doesn't exist. Likewise if SIGIO == SIGPOLL, pretend SIGPOLL
doesn't exist.
* gdb.base/sigall.exp: Remove special handling for SIGIO and SIGPOLL.
Also remove alpha workaround, which turns out to be because
SIGABRT == SIGLOST.
Add procfs support for Alpha OSF/1-2.x.
* config/alpha/nm-osf.h: Renamed from nm-alpha.h, generic
OSF/1 native support.
* config/alpha/alpha-osf1.mh (NAT_FILE): Changed accordingly.
(MUNCH_DEFINE): Removed.
* config/alpha/alpha-osf2.mh, config/alpha/nm-osf2.h: New files
for procfs support.
* configure.in (alpha-dec-osf*): Use alpha-osf2.mh for OSF/1
release 2.x and higher, else alpha-osf1.mh, as the procfs support
in release 1.x is incomplete.
* Makefile.in (ALLCONFIG): Add config/alpha/alpha-osf2.mh.
* alpha-nat.c (supply_gregset, fill_gregset, supply_fpgregset,
fill_fpgregset): New routines for procfs support.
* inftarg.c (_initialize_inftarg): Don't add ptrace support
if we have an optional procfs and /proc is accessible.
* procfs.c: Include sys/fault.h and sys/syscall.h before
including sys/procfs.h.
(unconditionally_kill_inferior): If PROCFS_NEED_PIOCSSIG_FOR_KILL
is defined, additionally perform a PIOCSSIG to really terminate
the inferior.
(create_procinfo): Always return a result.
(create_procinfo, do_attach): Don't trace T_IFAULT faults if
PROCFS_DONT_TRACE_IFAULT is defined.
(procfs_init_inferior): Use START_INFERIOR_TRAPS_EXPECTED as
argument to startup_inferior if it is defined.
(proc_set_exec_trap): If PIOCSSPCACT is defined, use it instead
of tracing exits from exec system calls. Needed for the user level
loader under Alpha OSF/1.
(do_detach): Clear any pending signal if we want to detach from
a process without a signal.
(set_proc_siginfo): If PROCFS_DONT_PIOCSSIG_CURSIG is defined,
don't issue a PIOCSSIG if pr_cursig already contains the signal we
intend to set.
(info_proc_signals): If PROCFS_SIGPEND_OFFSET is defined, the
pending signals are numbered from 1 instead of 0.
(info_proc_mappings): Increase size of output format for addresses
if BFD_HOST_64_BIT is defined.
(procfs_stop): Renamed from child_stop.
(_initialize_procfs): Don't add procfs support if we have an
optional procfs and /proc is not accessible.
* Use text widgets in expr window. The give me more control over
layout.
* Add auto-updating of exprs in expression window.
* Handle expressions out of scope a bit better.
* Make selected window pop up to the top when invoked via the
menubar.
* Make copyright message have raised relief.
was a vestige of the manual TESTSTRATEGY, and the purpose of it
was to make sure that gdb can read a core file. But (a) the "read
the corefile" part didn't make it to a1-selftest.exp, we just
delete the corefile after creating it, and (b) we test reading
corefiles in corefile.exp anyway. Also, this test left around a
xgdb process on Solaris.
* gdb.base/corefile.exp: Also test backtrace.
defined command (including control structures).
* top.c (init_main): Change documentation for user defined
commands to indicate they may accept up to ten arguments.
* infrun.c (handle_command, signals_info), infcmd.c
(signal_command): Use it.
* infrun.c, infcmd.c: Update docstrings for these commands.
* target.h (enum target_signal), target.c (signals), target.c
(target_signal_from_host, target_signal_to_host): Add
TARGET_SIGNAL_REALTIME_* and TARGET_SIGNAL_PRIO for lynx.
* config/tm-lynx.h: Define signal numbers for realtime events.