With code from Manoj Iyer <manjo@austin.ibm.com>:
* lib/gdb.exp (gdb_file_cmd): Return more information in the
return value. Add an arm for "no debugging symbols found".
Change a stray "error" to "perror".
(gdb_run_cmd): Adapt to new return value.
* gdb.base/remote.exp: Adapt to new return value.
* gdb.gdb/complaints.exp: Likewise.
* gdb.gdb/observer.exp: Likewise.
* gdb.gdb/selftest.exp: Likewise.
* gdb.gdb/xfullpath.exp: Likewise.
* lib/compiler.c: Remove gcc_compiled, hp_cc_compiler,
hp_aCC_compiler.
* lib/compiler.cc: Likewise.
* lib/gdb.exp (get_compiler_info): Eval lines only if they are
'set' commands. Log diagnostics for other lines. Set
gcc_compiled, hp_cc_compiler, and hp_aCC_compiler.
* lib/compiler.cc, lib/compiler.c: Append either
__GNUC_PATCHLEVEL__, or "unknown" to the compiler_info.
* gdb.base/structs.exp (test_struct_calls): Check for gcc-3-3-*
instead of gcc-3-3.
* lib/gdb.exp (gdb_breakpoint): Add pending breakpoint
support.
* gdb.base/langs.exp: Fix test which attempts to create
breakpoint on non-existent function to handle new pending
support.
* gdb.base/shlib-call.exp: Use gdb_breakpoint to set
a breakpoint.
* gdb.base/pending.exp: New test.
* gdb.base/pending.c: New file.
* gdb.base/pendshr.c: Ditto.
* lib/compiler.c: Add hp_cc_compiler and hp_aCC_compiler.
* lib/compiler.cc: Likewise.
* lib/gdb.exp (get_compiler_info): Always call gdb_compile to
get the right preprocessor. Eval the output directly. Remove
special tests for hp_cc_compiler and hp_aCC_compiler. Remove
hp_f77_compiler and hp_f90_compiler completely.
(gdb_preprocess): Delete.
(get_compiler): Delete.
Remove downloading, guessing the host executable, the calls to
gdb_file_cmd and gdb_target_cmd, and "load" support.
(infer_host_exec): New function broken out from gdb_load.
(gdb_load): New wrapper for gdbserver_gdb_load.
* lib/mi-support.exp (mi_gdb_target_cmd): New function, based on
gdb_target_cmd. Use -target-select.
(mi_gdb_file_cmd): New function, broken out from mi_gdb_load.
Download binaries to the host. Clear last_mi_remote_file when
we load a new binary.
(mi_gdb_load): Call mi_gdb_file_cmd. If gdbserver.exp is loaded,
call gdbserver_gdb_load and mi_gdb_target_cmd.
* gdb.base/sepdebug.exp: New file.
* gdb.base/sepdebug.c: New file.
* lib/gdb.exp (separate_debug_filename): New procedure.
(gdb_gnu_strip_debug): New procedure.
* gdb.base/maint.exp: Use gdb_internal_error_resync to recover
from the internal error.
* lib/gdb.exp (gdb_internal_error_resync): New procedure.
Original from Jim Blandy.
(gdb_test_multiple): Use gdb_internal_error_resync.
* lib/gdb.exp (compiler_info): New global.
(test_compiler_info): New function.
(get_compiler_info): Set compiler_info.
* lib/compiler.c, lib/compiler.cc: Add copyright. When GNUC, set
"compiler_info" to gcc-<major>-<minor>.
* gdb.base/callfuncs.exp: Make "print add" messages unique.
* gdb.base/ending-run.exp: Put spaces around "breakpoint" to stop
matching directories by the name breakpoint.
* gdb.base/pointers.exp: Make "ptype pppC" message consistent.
Make "continue to marker1" consistent.
* gdb.base/call-rt-st.exp: Make "finish out from loop_count"
message consistent.
* lib/gdb.exp: Put "the program is no longer running", and "the
program exited" in parenthesis.
* lib/mi-support.exp: Ditto.
* lib/gdb.exp: Revert patch of 2003-01-06, which set LC_ALL.
This was a workaround for a UTF-8 bug in readline 4.3. The bug
has been fixed in gdb/readline on 2003-01-09.
* lib/mi-support.exp (mi_reinitialize_dir): Check mi level
to see whether we are using the new -environment-directory
command which resets via -r or the old version of the command
which may prompt the user. Part of fix for gdb/741.
appear in the line number info, but not in the preprocessor macro
info.
* lib/gdb.exp (gdb_internal_error_regexp): New variable.
(gdb_internal_error_resync): New procedure.
(gdb_test): If the command results in an internal error,
answer GDB's questions until we get back to a prompt.
* lib/mi-support.exp (mi_gdb_start): Verify the startup message
for mi1 and current mi is in correct format. New mi startup message
should be in mi console format. This is part of fix for PR gdb/604.