From abd9714a7b233a8f163d57223719ee882bcb2213 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Tue, 24 Jan 2012 06:29:01 +0000 Subject: * ldd.cc (start_process): Handle .oct and .so as DLLs. --- winsup/utils/ldd.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'winsup/utils/ldd.cc') diff --git a/winsup/utils/ldd.cc b/winsup/utils/ldd.cc index 6cefeb8af..fa771b288 100644 --- a/winsup/utils/ldd.cc +++ b/winsup/utils/ldd.cc @@ -189,7 +189,11 @@ start_process (const wchar_t *fn, bool& isdll) PROCESS_INFORMATION pi; si.cb = sizeof (si); wchar_t *cmd; - if (wcslen (fn) < 4 || wcscasecmp (wcschr (fn, L'\0') - 4, L".dll") != 0) + /* OCaml natdynlink plugins (.cmxs) cannot be handled by ldd because they + can only be loaded by flexdll_dlopen() */ + if (wcslen (fn) < 4 || (wcscasecmp (wcschr (fn, L'\0') - 4, L".dll") != 0 + && wcscasecmp (wcschr (fn, L'\0') - 4, L".oct") != 0 + && wcscasecmp (wcschr (fn, L'\0') - 3, L".so") != 0)) { cmd = wcsdup (fn); isdll = false; -- cgit v1.2.3