This forces all tests that rely on stdio to be unbuffered, like
interrupt.exp was adjusted in 6f98576f.
To recap, in some scenarios, GDB or GDBserver can be spawned with
input _not_ connected to a tty, and then tests that rely on stdio fail
with timeouts, because the inferior's stdout and stderr streams end up
fully buffered. Calling gdb_unbuffer_output forces output to be
unbuffered.
See https://sourceware.org/ml/gdb-patches/2015-02/msg00809.html and
https://sourceware.org/ml/gdb-patches/2015-02/msg00819.html.
Tested on x86_64 Fedora 20, native, and against a remote gdbserver
board file that connects to the target with ssh, with and without -t
(create pty).
gdb/testsuite/ChangeLog:
2015-07-29 Pedro Alves <palves@redhat.com>
* gdb.base/call-ar-st.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/call-rt-st.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/call-strs.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/call-strs.exp: Adjust to step over the
gdb_unbuffer_output call.
* gdb.base/catch-gdb-caused-signals.c: Include
"../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/dprintf.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/ending-run.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/run.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/shlib-call.exp: Adjust to step over the
gdb_unbuffer_output call.
* gdb.base/shmain.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/sizeof.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
* gdb.base/varargs.c: Include "../lib/unbuffer_output.c".
(main): Rename to ...
(test): ... this.
(main): Reimplement.
* gdb.base/varargs.exp: Run to test instead of to main.
* gdb.mi/mi-dprintf.c: Include "../lib/unbuffer_output.c".
(main): Call gdb_unbuffer_output.
Remove the literal line number from a regexp in shlib-call.exp. Add
an appropriate eye-catcher to shr2.c and refer to that instead.
gdb/testsuite/ChangeLog:
* gdb.base/shr2.c: Add eye-catcher.
* gdb.base/shlib-call.exp: Refer to eye-catcher instead of literal
line number.
Two modifications:
1. The addition of 2013 to the copyright year range for every file;
2. The use of a single year range, instead of potentially multiple
year ranges, as approved by the FSF.
(gdb_compile_shlib): Likewise.
(skip_shlib_tests, gdb_download, gdb_load_shlibs): New.
(default_gdb_init): Clear cleanfiles.
(gdb_finish): Delete recorded cleanfiles.
* lib/gdbserver-support.exp (gdbserver_spawn): Use gdb_download.
* gdb.base/gdb1555.exp: Use skip_shlib_tests and gdb_load_shlibs.
Do not use isnative.
* gdb.base/pending.exp, gdb.base/shlib-call.exp, gdb.base/shreloc.exp,
gdb.base/so-impl-ld.exp: Likewise.
* gdb.base/solib-weak.exp: Likewise. Skip for DLL targets.
* gdb.base/unload.exp: Likewise. Do not pass empty option to
gdb_compile.
* 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.
path optional since not all compilers emit this debug information.
* gdb.base/shlib-call.exp (step inside shr2): Don't fail if first
step ends up stepping out of the function instead of stopping on
the epilogue.
* lib/gdb.exp (gdb_skip_float_test): New proc. Skip test if
no floating point support.
(gdb_skip_stdio_test): New proc. Skip test if no stdio support.
* gdb.base/call-ar-st.exp: Use above procs to skip tests.
* gdb.base/call-rt-st.exp: Ditto.
* gdb.base/call-strs.exp: Ditto.
* gdb.base/sizeof.exp (check_sizeof): Skip if no printf support.
* gdb.base/varargs.exp: Skip entire test if no printf support.
* gdb.base/ending-run.exp (Step to return): Skip if no printf supt.
* gdb.base/shlib-call.exp: Skip several tests if no printf support.