0002-Fix-runtime-error-with-uClibc.patch 1.58 KB
Fix runtime error with uClibc

Patch inspired by
https://www.winehq.org/pipermail/wine-bugs/2011-September/288987.html
http://git.alpinelinux.org/cgit/aports/tree/main/wine/uclibc-fmaxf-fminf.patch?id=c9b491b6099eec02a835ffd05539b5c783c6c43a

Starting an app using mesa3d 10.5.x, Kodi for example, fails:

/usr/lib/kodi/kodi.bin: symbol 'fminf': can't resolve symbol in lib '/usr/lib/dri/i965_dri.so'.
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

This patch was rejected by upstream mesa3d:
http://lists.freedesktop.org/archives/mesa-dev/2015-March/079436.html

The real fix was committed to uClibc:
http://git.uclibc.org/uClibc/commit/?id=6c4538905e65ceb203f59aaa9a61728e81c6bc0a

Until the external toolchains do not contain this uClibc patch we keep this
patch: http://lists.busybox.net/pipermail/buildroot/2015-March/123410.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
diff -uNr mesa-10.5.3.org/src/glsl/nir/nir_constant_expressions.c mesa-10.5.3/src/glsl/nir/nir_constant_expressions.c
--- mesa-10.5.3.org/src/compiler/nir/nir_constant_expressions.c	2015-04-12 23:31:29.000000000 +0200
+++ mesa-10.5.3/src/compiler/nir/nir_constant_expressions.c	2015-04-13 19:59:37.819786541 +0200
@@ -48,6 +48,18 @@
 }
 #endif
 
+#ifdef __UCLIBC__
+float fmaxf(float a, float b)
+{
+	return (a > b) ? a : b;
+}
+
+float fminf(float a, float b)
+{
+	return (a < b) ? a : b;
+}
+#endif
+
 /**
  * Evaluate one component of packSnorm4x8.
  */