blob: c85f88ab9c692b70d66176a7d31bd27ea0443be1 [file] [log] [blame]
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/glsl/nir/nir_constant_expressions.c 2015-04-12 23:31:29.000000000 +0200
+++ mesa-10.5.3/src/glsl/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.
*/