lmbench: Fix build with musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit 68b6fbf28a)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Khem Raj 2017-07-13 22:40:02 -07:00 committed by Armin Kuster
parent 782c10bdb2
commit 29468b7a83
3 changed files with 112 additions and 1 deletions

View File

@ -0,0 +1,29 @@
From 31d58ed7e6552781f415501e96d7cc74f83b910d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 12 Jul 2017 18:08:51 -0700
Subject: [PATCH 1/2] Check for musl define guard before redefining socklen_t
musl uses __DEFINED_socklen_t so check for that as well
along with HAVE_socklen_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/bench.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bench.h b/src/bench.h
index 597d068..2ebdf5a 100644
--- a/src/bench.h
+++ b/src/bench.h
@@ -77,7 +77,7 @@ typedef long long int64;
#endif /* HAVE_int64_t */
#endif /* HAVE_int64 */
-#ifndef HAVE_socklen_t
+#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t)
typedef int socklen_t;
#endif
--
2.13.2

View File

@ -0,0 +1,76 @@
From 76f3a9abc2ff96155425ef97d8c5520cfbc8fe6a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 12 Jul 2017 18:09:46 -0700
Subject: [PATCH 2/2] build: Adjust CFLAGS/LDFLAGS to append values passed from
env
For musl we have to pass additional arguments via cflags and ldflags
to link in librirpc, make room for those changes to take effect
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
scripts/build | 2 +-
src/Makefile | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/scripts/build b/scripts/build
index 34a1371..3786741 100755
--- a/scripts/build
+++ b/scripts/build
@@ -18,7 +18,7 @@ done
trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BASE}$$.o ${BASE}$$; exit 1' 1 2 15
-LDLIBS=-lm
+LDLIBS+=-lm
# check for HP-UX's ANSI compiler
echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c
diff --git a/src/Makefile b/src/Makefile
index d9efd54..96467d7 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -112,8 +112,8 @@ LIBOBJS= $O/lib_tcp.o $O/lib_udp.o $O/lib_unix.o $O/lib_timing.o \
$O/lib_sched.o
lmbench: $(UTILS)
- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all
- -@env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt
+ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build all
+ -@env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="k$(MAKEFLAGS)" CC="$(CC)" OS="$(OS)" ../scripts/build opt
results: lmbench
@env OS="${OS}" ../scripts/config-run
@@ -137,7 +137,7 @@ os: lmbench
@env OS="${OS}" BENCHMARK_HARDWARE=NO BENCHMARK_OS=YES ../scripts/results
install: lmbench
- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target
+ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build install-target
install-target:
if [ ! -d $(BASE) ]; then mkdir $(BASE); fi
@@ -155,16 +155,16 @@ all: $(EXES) $O/lmbench
opt: $(OPT_EXES)
asm: $(ASMS)
$(ASMS):
- $(CC) -S $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ `basename $@ .s`.c
+ $(CC) -S $(CFLAGS) $(CPPFLAGS) -o $@ `basename $@ .s`.c $(LDFLAGS)
Wall:
- @env CFLAGS="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
+ @env CFLAGS+="-g -O -Wall" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
debug:
- @env CFLAGS="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
+ @env CFLAGS+="-g -O -DDEBUG" MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build all opt
assembler:
- @env CFLAGS=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm
+ @env CFLAGS+=-O MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" CC="${CC}" OS="${OS}" ../scripts/build asm
tag:
--
2.13.2

View File

@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
inherit autotools-brokensep
DEPENDS_append_libc-musl = " libtirpc"
CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
LDLIBS_append_libc-musl = " -ltirpc "
PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
@ -20,12 +24,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
file://fix-lmbench-memory-check-failure.patch \
file://0001-avoid-gcc-optimize-away-the-loops.patch \
file://0001-lat_http.c-Add-printf-format.patch \
file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \
file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \
"
SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \
TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
do_configure() {