This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Run catch-load.exp on Windows
- From: Yao Qi <yao at codesourcery dot com>
- To: <gdb-patches at sourceware dot org>
- Date: Thu, 12 Sep 2013 08:59:23 +0800
- Subject: [PATCH] Run catch-load.exp on Windows
- Authentication-results: sourceware.org; auth=none
Hi,
I find a compilation error when catch-load.c is compiled.
catch-load.c:18:19: fatal error: dlfcn.h: No such file or directory
This patch is to fix this compilation error. With this patch applied,
test case can be compiled successfully. However, there is one fail
caused by matching "/" in file name, which doesn't exist on Windows.
This patch fixes it by matching either "/" or "\" in file name.
gdb/testsuite:
2013-09-12 Yao Qi <yao@codesourcery.com>
* gdb.base/catch-load.c: Remove the include of "dlfcn.h".
[__WIN32__]: Include "windows.h" and define macro dlopen
and dlclose.
[!__WIN32__]: Include "dlfcn.h".
* gdb.base/catch-load.exp (one_catch_load_test): Match
directory separator.
---
gdb/testsuite/gdb.base/catch-load.c | 9 ++++++++-
gdb/testsuite/gdb.base/catch-load.exp | 2 +-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/gdb/testsuite/gdb.base/catch-load.c b/gdb/testsuite/gdb.base/catch-load.c
index 9a0010e..33c0a66 100644
--- a/gdb/testsuite/gdb.base/catch-load.c
+++ b/gdb/testsuite/gdb.base/catch-load.c
@@ -15,9 +15,16 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include <dlfcn.h>
#include <stdio.h>
+#ifdef __WIN32__
+#include <windows.h>
+#define dlopen(name, mode) LoadLibrary (TEXT (name))
+#define dlclose(handle) FreeLibrary (handle)
+#else
+#include <dlfcn.h>
+#endif
+
/* This is updated by the .exp file. */
char *libname = "catch-load-so.so";
diff --git a/gdb/testsuite/gdb.base/catch-load.exp b/gdb/testsuite/gdb.base/catch-load.exp
index 4bcaa44..28445b8 100644
--- a/gdb/testsuite/gdb.base/catch-load.exp
+++ b/gdb/testsuite/gdb.base/catch-load.exp
@@ -64,7 +64,7 @@ proc one_catch_load_test {scenario kind match sostop} {
gdb_test "catch $kind" "Catchpoint $decimal \\(.*\\)"
gdb_test_multiple "continue" "continue" {
- -re "Catchpoint $decimal\r\n.*loaded .*/$testfile2.*\r\n.*$gdb_prompt $" {
+ -re "Catchpoint $decimal\r\n.*loaded .*(\\\\|/)$testfile2.*\r\n.*$gdb_prompt $" {
if {$match} {
pass "continue"
} else {
--
1.7.7.6