* m68k-dis.c: (fpcr_names): Add % before all register names.
(reg_names): Likewise.
(print_insn_arg): Don't explicitly print % before register names.
Add % before register names in static array names. In case 'r',
print data registers as `@(Dn)', not `Dn@'. When printing a
memory address, don't print @# before it.
(print_indexed): Change base_disp and outer_disp from int to
bfd_vma. Print using MIT syntax, not mutant invalid Motorola
syntax. Sign extend 8 byte displacement correctly.
(print_base): Print using MIT syntax. Print zpc when appropriate.
Change parameter disp from int to bfd_vma.
Jeff Law [Mon, 7 Aug 1995 08:48:22 +0000 (08:48 +0000)]
* gdb.disasm/sh3.s: Source for sh3 disassembler tests.
* gdb.disasm/sh3.exp: Run the sh3 disassembler tests.
* gdb.disasm/configure.in (sh-*-*): Use sh3.mt makefile fragment.
* gdb.disasm/sh3.mt: Makefile fragment for sh3 ests.
Jeff Law [Mon, 7 Aug 1995 08:39:42 +0000 (08:39 +0000)]
* sh-dis.c (print_insn_shx): Handle new operand types F_REG_N,
F_REG_M, FPSCR_M, FPSCR_N, FPUL_M and FPUL_N.
* sh-opc.h (sh_arg_type): Add new operand types.
(sh_table): Add new opcodes from SH3E Floating Point ISA.
Fred Fish [Mon, 7 Aug 1995 07:20:02 +0000 (07:20 +0000)]
* gdb.base/corefile.exp: Change xfail for backtrace in
corefile.exp from linuxaout to all linux.
* gdb.base/sigall.exp (test_one_sig): Specifically deal with
cases where we miss the breakpoint at the signal handler
for some reason. Setup xfail for linuxoldld/linuxaout and
getting SIGIO. Setup xfail for linuxoldld/linuxaout for
hitting SIGURG breakpoint.
* gdb.base/signals.exp: Setup xfail for "next" acting like
continue to add linuxoldld. Setup xfail for all linux for
"next to handler in signals_tests_1", "backtrace in
signals_tests_1", "continue to func1", "pass SIGUSR1",
and continue to handler".
Fred Fish [Sat, 5 Aug 1995 01:13:26 +0000 (01:13 +0000)]
* ch-exp.y (write_lower_upper_value): Add prototype so bison
generated parser will insert prototype before first func usage.
Bison and byacc order the output sections differently. Also
make function static.
Fred Fish [Thu, 3 Aug 1995 16:56:36 +0000 (16:56 +0000)]
Remove keep-chill stuff from .Sanitize and add gdb.chill to things to
keep. Remove sanitize references in ChangeLog. Remove start/end
sanitize-chill lines in Makefile.in.
Fred Fish [Thu, 3 Aug 1995 16:48:48 +0000 (16:48 +0000)]
Add configure to r16_files and arc_files in .Sanitize
Remove references to .Sanitize in ChangeLogs, start updating
always sanitized away file HOW_TO_RELEASE.
Fred Fish [Thu, 3 Aug 1995 16:44:20 +0000 (16:44 +0000)]
Remove tcl and tk from static list of things to keep. They are dynamically
added to either the keep or loose list depending upon the presence of the
-lose-gdbtk option.
Peter Schauer [Thu, 3 Aug 1995 09:17:51 +0000 (09:17 +0000)]
* config/alpha/tm-alpha.h (EXTRA_FRAME_INFO): Add pc_reg field.
(SKIP_TRAMPOLINE_CODE): Define.
* alpha-tdep.c (alpha_frame_saved_pc): Use pc_reg field from
frame to find the saved pc register.
(alpha_saved_pc_after_call): Skip over shared library trampoline
before trying to find the saved pc register.
(find_proc_desc): Copy PROC_PC_REG from found proc_desc
to heuristic proc_desc.
(init_extra_frame_info): Initialize pc_reg field in frame.
* config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.
(struct m68k_incant): Change m_operands field to be const.
(struct m68k_it): Change args field to be const.
(m68k_ip): Change local variable s to be const.
(opcode_ptr): Remove.
(md_begin): Use m68k_numopcodes, not numopcodes. Use
m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not
numaliases.
* m68k-opc.c: New file, holding tables from include/opcode/m68k.h.
Clean up tables.
* m68k-dis.c: Remove BREAK_UP_BIG_DECL stuff.
(opcode): Remove.
(print_insn_m68k): Change d to be const. Use m68k_numopcodes
rather than numopcodes. Use m68k_opcodes rather than removed
opcode function. Don't check F_ALIAS.
(print_insn_arg): Change first parameter to be const char *.
* Makefile.in (ALL_MACHINES): Add m68k-opc.o.
(m68k-opc.o): New target.
* configure.in: Build m68k-opc.o for bfd_m68k_arch.
* configure: Rebuild.
* m68k.h: Move tables into opcodes/m68k-opc.c, leaving just the
declarations. Remove F_ALIAS and flag field of struct
m68k_opcode. Change arch field of struct m68k_opcode to unsigned
int. Make name and args fields of struct m68k_opcode const.
David Edelsohn [Wed, 2 Aug 1995 16:06:17 +0000 (16:06 +0000)]
* sparc-dis.c (HASH_SIZE, HASH_INSN): Define.
(opcode_bits, opcode_hash_table, sparc64_p): New variables.
(opcodes_initialized): Renamed from opcodes_sorted.
(build_hash_table): New function.
(is_delayed_branch): Use hash table.
(print_insn): Renamed from print_insn_sparc, made static.
Build and use hash table.
(print_insn_sparc, print_insn_sparc64): New functions.
(compare_opcodes): If !sparc64, move sparc64 opcodes to end,
and vice-versa if sparc64.
* sparc-opc.c (all non-v9 insns): Use flag F_NOTV9 instead of F_ALIAS.
Kung Hsu [Tue, 1 Aug 1995 23:09:20 +0000 (23:09 +0000)]
* xcoffread.c (process_linenos): The value in include file symbol
should point to line number table. Currently this value is not
set correctly by AIX ld. A fix to get around this bug.
* config/tc-m68k.c (init_table): Add "control", "status", "iaddr",
"sfcr", and "dfcr" as synonyms for existing entries.
(md_begin): In MRI mode, force flag_reg_prefix_optional to 1.
(md_parse_option): Removed unused locals i and arch. Change type
of arch (another one) to unsigned long.
(tc_coff_sizemachdep): Add return after abort to avoid warning.
Initial support for MRI style labels and expressions.
* as.h (flag_mri): Declare/define.
* as.c (show_usage): Mention -M and its synonym --mri.
(parse_args): Add 'M' to std_shortopts. Add "mri" to
std_longopts. Set flag_mri if -M is seen.
(main): Call parse_args before input_scrub_begin. Call
expr_begin.
* app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
mode. Do set lex for ';', '*', and '!' in MRI mode.
(do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
In MRI mode, keep spaces between labels and colons. Remove MRI
ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use
'!' or '*' as comment characters even if they are in
comment_chars.
* read.h (lex_type): No longer const.
* read.c: Include libiberty.h.
(lex_type): No longer const.
(read_begin): In MRI mode, set lex_type of '?' to 3.
(potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
ds.l, ds.w, and xdef.
(read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
for MRI mode at runtime rather than compile time. Handle the EQU
pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo.
Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
runtime.
(cons): In MRI mode, always call parse_mri_cons rather than
TC_PARSE_CONS_EXPRESSION.
(parse_mri_cons): Always compile, not just when MRI is defined.
Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
not a string constant. Handle A and E modifiers.
(float_cons): Accept :xxxx, where the x's are hex digits.
* expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
(expr_begin): Declare.
* expr.c (integer_constant): In MRI mode, if the base was not
specified, look for a suffix on the number to set the base.
(mri_char_constant): New static function.
(operand): Remove MRI ifdef. In MRI mode, do various things: Pass
0 as the base when calling integer_constant if there was no
prefix. Check for a hex constant suffix if when a leading '0' is
seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and
A'chars'. Handle MRI character constants. Treat '"' as the
unary bitwise not operator. Treat $ as the program counter, or as
the prefix for a hex constant. Treat % as the prefix for a binary
constant and @ as the prefix for an octal constant. Treat : as
the prefix for a hex constant.
(op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
(op_rank): No longer const. Change rank values.
(expr_begin): New function.
(operator): New static function.
(expr): Use operator. Don't bother to mention the operator in
warnings. Remove bogus #if 0 code. Handle new operatorT values.
* atof-generic.c (atof_generic): In MRI mode, accept underscores
around the exponent in floating point numbers.
* symbols.h (symbols_case_sensitive): Declare.
* symbols.c (symbols_case_sensitive): New global variable.
(symbol_create): Check symbols_case_sensitive.
(symbol_find_base): Likewise.
(resolve_symbol_value): Handle new operatorT values.
(print_expr_1): Likewise.
(S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
are local.
Peter Schauer [Tue, 1 Aug 1995 09:20:05 +0000 (09:20 +0000)]
* mips-tdep.c (mips_extract_return_value): Fix returning of
values whose length is less than the register size for big endian
targets.
* alpha-tdep.c (alpha_extract_return_value,
alpha_store_return_value): Use alpha_convert_register_to_*
to handle functions returning "float" correctly.
Ian Lance Taylor [Mon, 31 Jul 1995 17:24:17 +0000 (17:24 +0000)]
* strings.c (print_strings): For compatibility with existing
strings programs, print strings which are not terminated with a
null byte or a newline.
* binutils.texi, strings.1: Update documentation accordingly.
Fred Fish [Sun, 30 Jul 1995 19:29:36 +0000 (19:29 +0000)]
* gdb.base/callfuncs.exp: Add tests for passing structs to
inferior functions and return various types.
* gdb.base/callfuncs.c: Add functions to receive a struct
and return a member of the struct, in various types.
Peter Schauer [Sun, 30 Jul 1995 08:45:15 +0000 (08:45 +0000)]
* rs6000-tdep.c (frame_saved_pc): Check for signal handler caller
before trying to determine the start of the function.
(skip_prologue): Skip subroutine call which might save the
floating point registers only if it is within the first three
instructions.
Reinstate setting of alloca_reg if setup of a gcc frame pointer
is found.
(frame_get_cache_fsr): Use new fields in rs6000_framedata.
Fred Fish [Sun, 30 Jul 1995 01:15:54 +0000 (01:15 +0000)]
Fix problem with configure script when run on systems where native shell
is bash or ksh, which handles "... $(TCL) ..." by trying to run TCL.
Changed configure.in and regenerated configure, including two lines
apparently inserted by custom cygnus version of autoconf 2.4.
Stan Shebs [Sat, 29 Jul 1995 21:59:26 +0000 (21:59 +0000)]
* sparclite: Removed subdirectory. aload and eload are now in
utils/sparclite, low-level library is in libgloss.
* configure.in (sparclite*): Don't configure sparclite subdir.
* configure: Update.
* Makefile.in (TARDIRS): Remove, no longer used.
Peter Schauer [Sat, 29 Jul 1995 20:56:22 +0000 (20:56 +0000)]
* procfs.c (unconditionally_kill_inferior): Clear current signal
if PROCFS_NEED_CLEAR_CURSIG_FOR_KILL is defined.
* config/alpha/nm-osf3.h (PROCFS_NEED_CLEAR_CURSIG_FOR_KILL): Define.
Peter Schauer [Sat, 29 Jul 1995 08:50:00 +0000 (08:50 +0000)]
* alpha-tdep.c: Move sigtramp handling of saved registers from
read_next_frame_reg to alpha_find_saved_regs, handle saved
floating point registers.
* mips-tdep.c: Move sigtramp handling of saved registers from
read_next_frame_reg to mips_find_saved_regs, handle saved
floating point registers.
* config/mips/tm-irix3.h, config/mips/tm-irix5.h,
config/mips/tm-mipsv4.h (SIGFRAME_FPREGSAVE_OFF): Define.
* sparc-tdep.c (sparc_pc_adjust): Fix check for `unimp'
instruction to handle functions returning structures with
large sizes properly.
Fred Fish [Fri, 28 Jul 1995 04:58:12 +0000 (04:58 +0000)]
* gdb.base/interrupt.exp: Setup "i*86-*-linux" xfail for
"call function when asleep" and "send end of file".
* gdb.base/corefile.exp: Add "i*86-*-linuxaout" to xfail list
for "backtrace in corefile.exp".
* gdb.base/a1-selftest.exp: Add "i*86-*-linux*" to xfail list
for "backtrace through signal handler".
* gdb.base/corefile.exp: Make sure we actually generate a core file
before trying the core tests. Some systems allow the user to suppress
generation of core files and default to that (linux for example).
* gdb.base/signals.exp: Change xfail for "next" acting like "continue"
from "i*86-*-linux" to "i*86-*-linuxaout". Works with ELF beta.
Fred Fish [Thu, 27 Jul 1995 20:50:10 +0000 (20:50 +0000)]
* config.guess (*:Linux:*:*): First try asking the linker what the
default object file format is (elf, aout, or coff). Then if this
fails, try previous methods.
Jeff Law [Wed, 26 Jul 1995 07:17:34 +0000 (07:17 +0000)]
* remote.c: Add documentation for extended protocol operations
and for thread_alive change from a couple weeks ago.
(extended_remote_ops): Declare and define a new target vector
for the extended remote protocol.
(extended_remote_restart): New function to restart the remote
server & process.
(remote_open): Just a stub routine.
(extended_remote_open): New function to start a remote session
using the extended gdb remote protocol.
(remote_open_1): New function containing code common to both
remote_open and extended_remote_open.
(remote_mourn, extended_remote_mourn, remote_mourn_1): Similarly.
(extended_remote_create_inferior): New function for the extended
remote target.
(initialize_remote): Add the extended_remote_ops target vector.
* gdbserver/server.c (main, case '!'): Set extended_protocol.
(main, case 'k'): If the extended protocol is in use, kill the
inferior then start a new one.
(main, case 'R'): New command to restart the remote server and
inferior process. Only supported when using the extended
protocol.
(main, server loop): If the inferior terminates while using the
extended protocol then start a new one. If getpkt fails when
using the extended protocol then exit.
New extended remote gdb protocol support; intended mainly for use with
the gdbserver testing framework that I'll be checking in soon. Also
useful for interactive remote debugging since it supports "run".
Jeff Law [Wed, 26 Jul 1995 00:35:07 +0000 (00:35 +0000)]
* gdb.threads: New directory with some crude multi-threaded
gdb tests (step.exp and step2.exp).
* config/mt-lynx (STEP_EXECUTABLE): Define.
(THREADFLAGS): Define.
Hiro's test for 6100 and a crude test of my own. They both need some
major cleanup for non-lynx hosts; both are also a little too loose in
their checks. But I'm too burnt out on lynx to address either concern.