summaryrefslogtreecommitdiff
blob: c2c834f712e64b8984cbfa5a72251d552de2017a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Fixes POCL include error.

https://github.com/hashcat/hashcat/commit/8c14fd85eaf98f4cda3acf8f917edae696a3bb71
https://github.com/hashcat/hashcat/issues/2950

From: Jens Steube <jens.steube@gmail.com>
Date: Sun, 5 Sep 2021 10:55:59 +0200
Subject: [PATCH] POCL: Added a workaround for an issue in POCL that uses a
 quote character as part of the path itself given to a path for the -I option

--- a/src/backend.c
+++ b/src/backend.c
@@ -11365,7 +11365,19 @@ int backend_session_begin (hashcat_ctx_t *hashcat_ctx)
     }
     else
     {
-      build_options_len += snprintf (build_options_buf + build_options_len, build_options_sz - build_options_len, "-D KERNEL_STATIC -I OpenCL -I \"%s\" ", folder_config->cpath_real);
+      if (device_param->opencl_platform_vendor_id == VENDOR_ID_POCL)
+      {
+        // POCL doesn't like quotes in the include path, see:
+        //   https://github.com/hashcat/hashcat/issues/2950
+        // Maybe related:
+        //   https://github.com/pocl/pocl/issues/962
+
+        build_options_len += snprintf (build_options_buf + build_options_len, build_options_sz - build_options_len, "-D KERNEL_STATIC -I OpenCL -I %s ", folder_config->cpath_real);
+      }
+      else
+      {
+        build_options_len += snprintf (build_options_buf + build_options_len, build_options_sz - build_options_len, "-D KERNEL_STATIC -I OpenCL -I \"%s\" ", folder_config->cpath_real);
+      }
     }

     /* currently disabled, hangs NEO drivers since 20.09.