Author: cem
Date: Sun Mar 18 03:42:57 2018
New Revision: 331115
URL: https://svnweb.freebsd.org/changeset/base/331115

Log:
  lib(private)zstd: Fix riscv build
  
  Link __bswap[ds]i2() intrinsics in to libzstd for riscv, where the C runtime
  apparently lacks such intrinsics.
  
  Broken in r330894.
  
  Reported by:  asomers
  Sponsored by: Dell EMC Isilon

Modified:
  head/lib/libzstd/Makefile
  head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c

Modified: head/lib/libzstd/Makefile
==============================================================================
--- head/lib/libzstd/Makefile   Sun Mar 18 02:59:14 2018        (r331114)
+++ head/lib/libzstd/Makefile   Sun Mar 18 03:42:57 2018        (r331115)
@@ -43,4 +43,11 @@ ZSTDDIR=     ${SRCTOP}/sys/contrib/zstd
 CFLAGS.zstd_compress.c+= -O0
 .endif
 
+# Work around lack of __bswap[sd]i2() intrinsics on riscv.  Probably should be
+# added to one of the runtime C libraries instead.
+.if ${MACHINE_CPUARCH} == "riscv"
+.PATH: ${ZSTDDIR}/lib/freebsd
+SRCS+= zstd_kfreebsd.c
+.endif
+
 .include <bsd.lib.mk>

Modified: head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c
==============================================================================
--- head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c   Sun Mar 18 02:59:14 
2018        (r331114)
+++ head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c   Sun Mar 18 03:42:57 
2018        (r331115)
@@ -27,7 +27,12 @@
  */
 
 #include "zstd_kfreebsd.h"
+#include <sys/param.h>
 #include <sys/endian.h>
+
+#ifndef _KERNEL
+#include <strings.h>
+#endif
 
 /*
  * The kernel as a standalone target does not link against libgcc or
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to