0002-no-crc32-checks.patch 1.22 KB
libxfs: do not try to run the crc32selftest

Even though the crc32selftest is natively compiled (because it is to be
executed), it fails in cross-compilation as the host may lack the
required headers, like uuid/uuid.h (e.g. in a minimal environment).

Moreover, running the crc32selftest natively is completely wrong,
because it passing on the host does not mean it would still pass n the
target (because endianness or bitness or alignment differences).

So, just disable running the crc32selftest altogether.

Note that there's a remaining bug-in-hiding, because the crc32 table
generator is natively built, but with the target CFLAGS.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

diff -durN xfsprogs-4.3.0.orig/libxfs/Makefile xfsprogs-4.3.0/libxfs/Makefile
--- xfsprogs-4.3.0.orig/libxfs/Makefile	2015-09-22 03:42:41.000000000 +0200
+++ xfsprogs-4.3.0/libxfs/Makefile	2015-12-07 18:45:27.190082913 +0100
@@ -105,9 +105,9 @@
 # don't try linking xfs_repair with a debug libxfs.
 DEBUG = -DNDEBUG
 
-LDIRT = gen_crc32table crc32table.h crc32selftest
+LDIRT = gen_crc32table crc32table.h
 
-default: crc32selftest ltdepend $(LTLIBRARY)
+default: ltdepend $(LTLIBRARY)
 
 crc32table.h: gen_crc32table.c
 	@echo "    [CC]     gen_crc32table"