[pocl] 02/05: cherry-pick upstream fix for malloc size in test_clBuildProgram.c
Andreas Beckmann
anbe at moszumanska.debian.org
Thu Dec 14 01:54:04 UTC 2017
This is an automated email from the git hooks/post-receive script.
anbe pushed a commit to annotated tag debian/0.14-2
in repository pocl.
commit 3b3a674d72ee0b3fc6db1cfbecf21262e4eeafa0
Author: Andreas Beckmann <anbe at debian.org>
Date: Wed Dec 13 23:51:59 2017 +0100
cherry-pick upstream fix for malloc size in test_clBuildProgram.c
---
debian/changelog | 7 ++
...size-in-tests-runtime-test_clBuildProgram.patch | 106 +++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 114 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index b0fdfa1..3fce8c1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+pocl (0.14-2) UNRELEASED; urgency=medium
+
+ * Cherry-pick upstream fix for malloc size in test_clBuildProgram.c, fixing
+ that test failing frequently on i386.
+
+ -- Andreas Beckmann <anbe at debian.org> Wed, 13 Dec 2017 23:48:25 +0100
+
pocl (0.14-1) experimental; urgency=medium
* New upstream release.
diff --git a/debian/patches/0001-Fix-malloc-size-in-tests-runtime-test_clBuildProgram.patch b/debian/patches/0001-Fix-malloc-size-in-tests-runtime-test_clBuildProgram.patch
new file mode 100644
index 0000000..dd0e905
--- /dev/null
+++ b/debian/patches/0001-Fix-malloc-size-in-tests-runtime-test_clBuildProgram.patch
@@ -0,0 +1,106 @@
+From 62b74d6fb7e356e07515ee84d0b4d54442148405 Mon Sep 17 00:00:00 2001
+From: Michal Babej <michal.babej at tut.fi>
+Date: Mon, 4 Sep 2017 19:31:33 +0200
+Subject: [PATCH] Fix malloc size in tests/runtime/test_clBuildProgram.c
+
+---
+ tests/runtime/test_clBuildProgram.c | 69 +++++++++++++++++++++----------------
+ 1 file changed, 40 insertions(+), 29 deletions(-)
+
+diff --git a/tests/runtime/test_clBuildProgram.c b/tests/runtime/test_clBuildProgram.c
+index 4eb544c0..7b4a1ba6 100644
+--- a/tests/runtime/test_clBuildProgram.c
++++ b/tests/runtime/test_clBuildProgram.c
+@@ -141,12 +141,17 @@ main(void){
+ size_t log_size = 0;
+ CHECK_CL_ERROR(clGetProgramBuildInfo(program, devices[i], CL_PROGRAM_BUILD_LOG,
+ 0, NULL, &log_size));
+- char *log = malloc(log_size);
+- CHECK_CL_ERROR(clGetProgramBuildInfo(program, devices[i], CL_PROGRAM_BUILD_LOG,
+- log_size, log, NULL));
+- log[log_size] = '\0';
+- fprintf(stderr, "preprocess failure log[%u]: %s\n", i, log);
+- free(log);
++ if (log_size)
++ {
++ char *log = malloc (log_size + 1);
++ fprintf (stderr, "log: %p\n", log);
++ CHECK_CL_ERROR (clGetProgramBuildInfo (program, devices[i],
++ CL_PROGRAM_BUILD_LOG,
++ log_size, log, NULL));
++ log[log_size] = '\0';
++ fprintf (stderr, "preprocess failure log[%u]: %s\n", i, log);
++ free (log);
++ }
+ }
+ /*Lets not release the program as we need it in the next test case*/
+ /*CHECK_CL_ERROR(clReleaseProgram(program));*/
+@@ -159,16 +164,19 @@ main(void){
+
+ for (i = 0; i < num_devices; ++i) {
+ size_t log_size = 0;
+- err = clGetProgramBuildInfo(program, devices[i], CL_PROGRAM_BUILD_LOG,
+- 0, NULL, &log_size);
+- CHECK_OPENCL_ERROR_IN("get build log size");
+- char *log = malloc(log_size);
+- err = clGetProgramBuildInfo(program, devices[i], CL_PROGRAM_BUILD_LOG,
+- log_size, log, NULL);
+- CHECK_OPENCL_ERROR_IN("get build log");
+- log[log_size] = '\0';
+- fprintf(stderr, "preprocess failure log[%u]: %s\n", i, log);
+- free(log);
++ CHECK_CL_ERROR (clGetProgramBuildInfo (
++ program, devices[i], CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size));
++ if (log_size)
++ {
++ char *log = malloc (log_size + 1);
++ err = clGetProgramBuildInfo (program, devices[i],
++ CL_PROGRAM_BUILD_LOG, log_size, log,
++ NULL);
++ CHECK_OPENCL_ERROR_IN ("get build log");
++ log[log_size] = '\0';
++ fprintf (stderr, "preprocess failure log[%u]: %s\n", i, log);
++ free (log);
++ }
+ }
+
+ CHECK_CL_ERROR(clReleaseProgram(program));
+@@ -264,19 +272,22 @@ main(void){
+
+ for (i = 0; i < num_devices; ++i) {
+ size_t log_size = 0;
+- err = clGetProgramBuildInfo(program, devices[i], CL_PROGRAM_BUILD_LOG,
+- 0, NULL, &log_size);
+- CHECK_OPENCL_ERROR_IN("get build log size");
+- char *log = malloc(log_size);
+- err = clGetProgramBuildInfo(program, devices[i], CL_PROGRAM_BUILD_LOG,
+- log_size, log, NULL);
+- CHECK_OPENCL_ERROR_IN("get build log");
+- log[log_size] = '\0';
+- /*As this build option deprecated after OCL1.0 we should see a warning here*/
+- fprintf(stderr, "Deprecated -cl-strict-aliasing log[%u]: %s\n", i, log);
+-
+- free(log);
+-
++ CHECK_CL_ERROR (clGetProgramBuildInfo (
++ program, devices[i], CL_PROGRAM_BUILD_LOG, 0, NULL, &log_size));
++ if (log_size)
++ {
++ char *log = malloc (log_size + 1);
++ err = clGetProgramBuildInfo (program, devices[i],
++ CL_PROGRAM_BUILD_LOG,
++ log_size, log, NULL);
++ CHECK_OPENCL_ERROR_IN ("get build log");
++ log[log_size] = '\0';
++ /*As this build option deprecated after OCL1.0 we should see a
++ * warning here*/
++ fprintf (stderr, "Deprecated -cl-strict-aliasing log[%u]: %s\n",
++ i, log);
++ free (log);
++ }
+ cl_program_binary_type bin_type = 0;
+ err = clGetProgramBuildInfo(program, devices[i],
+ CL_PROGRAM_BINARY_TYPE,
+--
+2.15.1
+
diff --git a/debian/patches/series b/debian/patches/series
index c7c7dfb..3e770fb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
+0001-Fix-malloc-size-in-tests-runtime-test_clBuildProgram.patch
os-compat.patch
typos.patch
glibc-2.23.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/pocl.git
More information about the Pkg-opencl-commits
mailing list