-%{__make} \
- CFLAGS="-I%{_libdir}/bootdisk%{_includedir}" \
- LDFLAGS="-nostdlib -s" \
- LIBS="%{_libdir}/bootdisk%{_libdir}/crt0.o %{_libdir}/bootdisk%{_libdir}/libc.a -lgcc"
+
+# uClibc does not have two functions referenced in libslang
+# they are not critical for bootdisk, let's create some fake ones
+cat <<EOF >src/setsf.c
+int setfsuid (void *foo) { return 0; }
+int setfsgid (void *foo) { return 0; }
+EOF
+( cd src; gcc -c setsf.c; )
+
+%{__make} -C src \
+ CFLAGS="-I%{_libdir}/bootdisk%{_includedir} " \
+ LDFLAGS="-nostdlib -static -s" \
+ LDADD="setsf.o \
+ %{_libdir}/bootdisk%{_libdir}/libslang.a \
+ %{_libdir}/bootdisk%{_libdir}/crt0.o \
+ %{_libdir}/bootdisk%{_libdir}/libc.a -lgcc "