* gdb.reverse/shr.h: New file.
	* gdb.reverse/shr1.c: New file.
	* gdb.reverse/shr2.c: #include "shr.h".
	* gdb.reverse/solib-reverse.c: Remove #include <stdio.h>.
	#include "shr.h".  Replace calls to printf,sleep to call shr1 instead.
	* gdb.reverse/solib-precsave.exp: Build shr2.sl.
	Update tests using sleep/printf to use shr2.sl instead.
	* gdb.reverse/solib-reverse.exp: Ditt.o
	* lib/gdb.exp (gdb_core_cmd): New function.
	* gdb.arch/system-gcore.exp: Use it.
	* gdb.arch/vsx-regs.exp: Ditto.
	* gdb.base/gcore.exp: Ditto.
	* gdb.threads/gcore-thread.exp: Ditto.
	* solist.h (struct target_so_ops): New member clear_so.
	* solib-svr4.c (svr4_clear_so): New function.
	(_initialize_svr4_solib): Set svr4_so_ops.clear_so.
	* solib.c (clear_so): Renamed from free_so_symbols.
	All callers updated.  Call target clear_so if it exists.
	* gdb.base/solib-search-lib1.c: New file.
	* gdb.base/solib-search-lib2.c: New file.
	* gdb.base/solib-search.c: New file.
	* gdb.base/solib-search.h: New file.
	* gdb.base/solib-search.exp: New file.