--- /dev/null
+[PATCH] uClibc can be (and by default is) configured without bessel functions
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ umath.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+Index: joe-3.7/umath.c
+===================================================================
+--- joe-3.7.orig/umath.c
++++ joe-3.7/umath.c
+@@ -7,6 +7,12 @@
+ */
+ #include "types.h"
+
++/* uClibc can be configured without bessel functions */
++#include <features.h>
++#if defined (__UCLIBC__) && !defined(__DO_XSI_MATH__)
++#define NO_BESSEL
++#endif
++
+ unsigned char *merr;
+
+ int mode_hex;
+@@ -396,10 +402,12 @@
+ double m_fabs(double n) { return fabs(n); }
+ double m_erf(double n) { return erf(n); }
+ double m_erfc(double n) { return erfc(n); }
++#ifndef NO_BESSEL
+ double m_j0(double n) { return j0(n); }
+ double m_j1(double n) { return j1(n); }
+ double m_y0(double n) { return y0(n); }
+ double m_y1(double n) { return y1(n); }
++#endif
+
+ double calc(BW *bw, unsigned char *s)
+ {
+@@ -434,10 +442,12 @@
+ v = get(USTR "abs"); v->func = m_fabs;
+ v = get(USTR "erf"); v->func = m_erf;
+ v = get(USTR "erfc"); v->func = m_erfc;
++#ifndef NO_BESSEL
+ v = get(USTR "j0"); v->func = m_j0;
+ v = get(USTR "j1"); v->func = m_j1;
+ v = get(USTR "y0"); v->func = m_y0;
+ v = get(USTR "y1"); v->func = m_y1;
++#endif
+ }
+
+ v = get(USTR "top");