diff --git a/tools/b43-tools/Makefile b/tools/b43-tools/Makefile
index 391eb2551a385cecf8d8b367b0ef96450a418b81..d58a20e6a8d32cbe1ac654486db446bf40bebb6f 100644
--- a/tools/b43-tools/Makefile
+++ b/tools/b43-tools/Makefile
@@ -29,6 +29,7 @@ define Host/Compile
 	+$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR)/assembler \
 		CFLAGS="$(HOST_CFLAGS) -include endian.h" \
 		$(HOST_MAKE_FLAGS) \
+		LDFLAGS= \
 		$(1) QUIET_SPARSE=:
 endef
 
diff --git a/tools/b43-tools/patches/002-no_libfl.patch b/tools/b43-tools/patches/002-no_libfl.patch
new file mode 100644
index 0000000000000000000000000000000000000000..2e55b0803b53a2635e794bffca03b80751088d43
--- /dev/null
+++ b/tools/b43-tools/patches/002-no_libfl.patch
@@ -0,0 +1,14 @@
+--- a/assembler/main.c
++++ b/assembler/main.c
+@@ -1268,6 +1268,11 @@ static void initialize(void)
+ #endif /* YYDEBUG */
+ }
+ 
++int yywrap(void)
++{
++	return 1;
++}
++
+ int main(int argc, char **argv)
+ {
+ 	int err, res = 1;