diff --git a/docs/changes.txt b/docs/changes.txt index 9e6a5dc9b..2292050d2 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -13,6 +13,7 @@ - Makefile: Added wildcard include src/modules/module_*.mk directive so that plugin developers can add 3rd party libraries for their plugins - Rejects: Disabled checking of the minimum and maximum length of the password candidate in attack-mode 9 because they are incompatible +- 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 * changes v6.2.3 -> v6.2.4 diff --git a/src/backend.c b/src/backend.c index 823398fcc..d7c6e7f89 100644 --- 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.