(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.