<div dir="ltr">Hi Michel,<div><br></div><div>Patch was updated according to the instructions and log/commit messages changed.<br></div><div><div><br></div><div>Thanks for the advice<br></div></div><div><br></div><div>Mauro<br></div><div><br></div><div><br></div><div><div><font face="monospace, monospace">From 7a9090bffa434b78d8654c4c6d4c8dc0ec00c524 Mon Sep 17 00:00:00 2001</font></div><div><font face="monospace, monospace">From: Mauro Rossi <<a href="mailto:issor.oruam@gmail.com">issor.oruam@gmail.com</a>></font></div><div><font face="monospace, monospace">Date: Wed, 3 Feb 2016 03:54:08 +0100</font></div><div><font face="monospace, monospace">Subject: [PATCH] android: radeonsi: add strchrnul() to fix building error</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">Android Bionic has no strchrnul, which is used in</font></div><div><font face="monospace, monospace">si_shader_dump_disassembly(), so we need an implementation.</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">A new android compatibility header was added to support</font></div><div><font face="monospace, monospace">the definition of the needed function.</font></div><div><font face="monospace, monospace">---</font></div><div><font face="monospace, monospace"> include/android_compat.h                 | 45 ++++++++++++++++++++++++++++++++</font></div><div><font face="monospace, monospace"> src/gallium/drivers/radeonsi/si_shader.c |  4 +++</font></div><div><font face="monospace, monospace"> 2 files changed, 49 insertions(+)</font></div><div><font face="monospace, monospace"> create mode 100644 include/android_compat.h</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">diff --git a/include/android_compat.h b/include/android_compat.h</font></div><div><font face="monospace, monospace">new file mode 100644</font></div><div><font face="monospace, monospace">index 0000000..224521d</font></div><div><font face="monospace, monospace">--- /dev/null</font></div><div><font face="monospace, monospace">+++ b/include/android_compat.h</font></div><div><font face="monospace, monospace">@@ -0,0 +1,45 @@</font></div><div><font face="monospace, monospace">+/**************************************************************************</font></div><div><font face="monospace, monospace">+ *</font></div><div><font face="monospace, monospace">+ * Copyright (C) 2014 Emil Velikov <<a href="mailto:emil.l.velikov@gmail.com">emil.l.velikov@gmail.com</a>></font></div><div><font face="monospace, monospace">+ *</font></div><div><font face="monospace, monospace">+ * Permission is hereby granted, free of charge, to any person obtaining a</font></div><div><font face="monospace, monospace">+ * copy of this software and associated documentation files (the "Software"),</font></div><div><font face="monospace, monospace">+ * to deal in the Software without restriction, including without limitation</font></div><div><font face="monospace, monospace">+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,</font></div><div><font face="monospace, monospace">+ * and/or sell copies of the Software, and to permit persons to whom the</font></div><div><font face="monospace, monospace">+ * Software is furnished to do so, subject to the following conditions:</font></div><div><font face="monospace, monospace">+ *</font></div><div><font face="monospace, monospace">+ * The above copyright notice and this permission notice shall be included</font></div><div><font face="monospace, monospace">+ * in all copies or substantial portions of the Software.</font></div><div><font face="monospace, monospace">+ *</font></div><div><font face="monospace, monospace">+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</font></div><div><font face="monospace, monospace">+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</font></div><div><font face="monospace, monospace">+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL</font></div><div><font face="monospace, monospace">+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</font></div><div><font face="monospace, monospace">+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</font></div><div><font face="monospace, monospace">+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</font></div><div><font face="monospace, monospace">+ * DEALINGS IN THE SOFTWARE.</font></div><div><font face="monospace, monospace">+ *</font></div><div><font face="monospace, monospace">+ **************************************************************************/</font></div><div><font face="monospace, monospace">+</font></div><div><font face="monospace, monospace">+#ifndef _ANDROID_COMPAT_H_</font></div><div><font face="monospace, monospace">+#define _ANDROID_COMPAT_H_</font></div><div><font face="monospace, monospace">+</font></div><div><font face="monospace, monospace">+/*</font></div><div><font face="monospace, monospace">+ * Android Bionic has no strchrnul, which is used in si_shader_dump_disassembly(),</font></div><div><font face="monospace, monospace">+ * so we must fill in an implementation.</font></div><div><font face="monospace, monospace">+ */</font></div><div><font face="monospace, monospace">+</font></div><div><font face="monospace, monospace">+char *</font></div><div><font face="monospace, monospace">+strchrnul(const char *s, int c)</font></div><div><font face="monospace, monospace">+{</font></div><div><font face="monospace, monospace">+<span class="" style="white-space:pre">   </span>char * result = strchr(s, c);</font></div><div><font face="monospace, monospace">+</font></div><div><font face="monospace, monospace">+<span class="" style="white-space:pre">       </span>if (result == NULL) {</font></div><div><font face="monospace, monospace">+<span class="" style="white-space:pre">              </span>result = s + strlen(s);</font></div><div><font face="monospace, monospace">+<span class="" style="white-space:pre">    </span>}</font></div><div><font face="monospace, monospace">+</font></div><div><font face="monospace, monospace">+<span class="" style="white-space:pre">   </span>return result;</font></div><div><font face="monospace, monospace">+}</font></div><div><font face="monospace, monospace">+</font></div><div><font face="monospace, monospace">+#endif /* _ANDROID_COMPAT_H_ */</font></div><div><font face="monospace, monospace">diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c</font></div><div><font face="monospace, monospace">index 2192b21..86a00fb 100644</font></div><div><font face="monospace, monospace">--- a/src/gallium/drivers/radeonsi/si_shader.c</font></div><div><font face="monospace, monospace">+++ b/src/gallium/drivers/radeonsi/si_shader.c</font></div><div><font face="monospace, monospace">@@ -49,6 +49,10 @@</font></div><div><font face="monospace, monospace"> </font></div><div><font face="monospace, monospace"> #include <errno.h></font></div><div><font face="monospace, monospace"> </font></div><div><font face="monospace, monospace">+#if defined(__ANDROID__)</font></div><div><font face="monospace, monospace">+#include "android_compat.h"</font></div><div><font face="monospace, monospace">+#endif /* __ANDROID__ */</font></div><div><font face="monospace, monospace">+</font></div><div><font face="monospace, monospace"> static const char *scratch_rsrc_dword0_symbol =</font></div><div><font face="monospace, monospace"> <span class="" style="white-space:pre">      </span>"SCRATCH_RSRC_DWORD0";</font></div><div><font face="monospace, monospace"> </font></div><div><font face="monospace, monospace">-- </font></div><div><font face="monospace, monospace">2.5.0</font></div></div><div><br></div></div>