Skip to contentSkip to conversation

stress-ng: Upgrade from 0.09.37 to 0.09.45

PATCH In review Randy MacLeod 1 participant 2 messages Nov 12, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 stress-ng: Upgrade from 0.09.37 to 0.09.45

Drop the upstreamed patch:
0001-stress-ng-don-t-enable-TARGET_CLONES-for-musl.patch
Rebase other patches except for the stress-malloc.c change
which has made it upstream:
c3a2e662 stress-malloc: use HAVE_MALLOPT check for mallopt glibc function

---
 ...force-sync-after-build-in-case-reboo.patch | 21 +++++----
 ...01-Several-changes-to-fix-musl-build.patch | 47 ++++++++-----------
 ...-don-t-enable-TARGET_CLONES-for-musl.patch | 30 ------------
 ...ess-ng_0.09.37.bb => stress-ng_0.09.45.bb} |  6 +--
 4 files changed, 34 insertions(+), 70 deletions(-)
 delete mode 100644 meta-oe/recipes-test/stress-ng/stress-ng/0001-stress-ng-don-t-enable-TARGET_CLONES-for-musl.patch
 rename meta-oe/recipes-test/stress-ng/{stress-ng_0.09.37.bb => stress-ng_0.09.45.bb} (78%)
meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch +12 -9
index fd2199e53..469791d8e 100644
@@ -14,15 +14,18 @@ Signed-off-by: Khem Raj <[email protected]>
  Makefile | 1 -
  1 file changed, 1 deletion(-)
 
-Index: stress-ng-0.09.37/Makefile
-===================================================================
---- stress-ng-0.09.37.orig/Makefile
-+++ stress-ng-0.09.37/Makefile
-@@ -344,7 +344,6 @@ OBJS += $(CONFIG_OBJS)
- stress-ng: info $(OBJS)
+diff --git a/Makefile b/Makefile
+index c0db72c0..5781dda6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -348,7 +348,6 @@ endif
+ stress-ng: $(OBJS)
  	@echo "LD $@"
- 	@$(CC) $(CPPFLAGS) $(CFLAGS) $(OBJS) -lm $(LDFLAGS) -lc -o $@
+ 	@$(CC) $(CPPFLAGS) $(CFLAGS) $(OBJS) -lm $(LDFLAGS) -o $@
 -	@sync
  
- .PHONY: info
- info:
+ makeconfig:
+ 	@if [ ! -s config ]; then \
+-- 
+2.17.0
+
meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch +19 -28

115 lines not on this page · raw message

meta-oe/recipes-test/stress-ng/stress-ng/0001-stress-ng-don-t-enable-TARGET_CLONES-for-musl.patch deleted +0 -30
deleted file mode 100644
index cd9131df5..000000000
@@ -1,30 +0,0 @@
-From 59f5ff72768f228cd530bb18a5fc3e8c4772857a Mon Sep 17 00:00:00 2001
-From: Khem Raj <[email protected]>
-Date: Mon, 20 Aug 2018 21:43:14 -0700
-Subject: [PATCH] stress-ng: don't enable TARGET_CLONES for musl
-
-musl does not support gnu ifuncs
-
-Upstream-Status: Submitted [https://github.com/ColinIanKing/stress-ng/pull/27]
-
-Signed-off-by: Khem Raj <[email protected]>
----
- stress-ng.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/stress-ng.h b/stress-ng.h
-index b9359a4..f228808 100644
---- a/stress-ng.h
-+++ b/stress-ng.h
-@@ -1090,7 +1090,7 @@ extern void pr_fail_dbg__(const args_t *args, const char *msg);
- #endif
- 
- /* GCC5.0+ target_clones attribute */
--#if defined(__GNUC__) && NEED_GNUC(5,5,0) && STRESS_X86 && \
-+#if defined(__GNUC__) && defined(__GLIBC__) && NEED_GNUC(5,5,0) && STRESS_X86 && \
-     !defined(__gnu_hurd__) && !defined(__FreeBSD_Kernel__)
- #define TARGET_CLONES	__attribute__((target_clones("sse","sse2","ssse3", "sse4.1", "sse4a", "avx","avx2","default")))
- #else
--- 
-2.18.0
-
meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb renamed from meta-oe/recipes-test/stress-ng/stress-ng_0.09.37.bb +3 -3
similarity index 78%
rename from meta-oe/recipes-test/stress-ng/stress-ng_0.09.37.bb
rename to meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb
index a6c327e38..3e8f2d4f5 100644
@@ -7,13 +7,13 @@ DEPENDS = "zlib libaio"
 
 SRC_URI = "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
            file://0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch \
-           file://0001-stress-ng-don-t-enable-TARGET_CLONES-for-musl.patch \
            "
 SRC_URI_append_libc-musl = " \
     file://0001-Several-changes-to-fix-musl-build.patch \
     "
-SRC_URI[md5sum] = "81d73313ea7778f749470b6f950553af"
-SRC_URI[sha256sum] = "8494afb2f2e2cf7e79ec9c6c3129308b098e530141ba2b07d6547708fd63af3d"
+
+SRC_URI[md5sum] = "b03744c2eb68bf7e9a300e78e397f348"
+SRC_URI[sha256sum] = "0741e3004bf590bb7af3db979a46fe89bee7aaad6065cd1d87d0b7fa49046cb2"
 
 UPSTREAM_CHECK_URI ?= "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/"
 UPSTREAM_CHECK_REGEX ?= "(?P<pver>\d+(\.\d+)+)\.tar"
Signature · 1 line
2.17.0
#1 lore raw
Quoted 15 lines · Randy MacLeod

Drop the upstreamed patch:
0001-stress-ng-don-t-enable-TARGET_CLONES-for-musl.patch
Rebase other patches except for the stress-malloc.c change
which has made it upstream:
c3a2e662 stress-malloc: use HAVE_MALLOPT check for mallopt glibc function

---
  ...force-sync-after-build-in-case-reboo.patch | 21 +++++----
  ...01-Several-changes-to-fix-musl-build.patch | 47 ++++++++-----------
  ...-don-t-enable-TARGET_CLONES-for-musl.patch | 30 ------------
  ...ess-ng_0.09.37.bb => stress-ng_0.09.45.bb} |  6 +--
  4 files changed, 34 insertions(+), 70 deletions(-)

delete mode 100644 meta-oe/recipes-test/stress-ng/stress-ng/0001-stress-ng-don-t-enable-TARGET_CLONES-for-musl.patch rename meta-oe/recipes-test/stress-ng/{stress-ng_0.09.37.bb => stress-ng_0.09.45.bb} (78%)

...

meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb DEPENDS = "zlib libaio" · line 19

Quoted 6 lines
meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb renamed from meta-oe/recipes-test/stress-ng/stress-ng_0.09.37.bb +2 -0
+SRC_URI[md5sum] = "b03744c2eb68bf7e9a300e78e397f348"
+SRC_URI[sha256sum] = "0741e3004bf590bb7af3db979a46fe89bee7aaad6065cd1d87d0b7fa49046cb2"
 
  UPSTREAM_CHECK_URI ?= "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/"
  UPSTREAM_CHECK_REGEX ?= "(?P<pver>\d+(\.\d+)+)\.tar"

Builds fine for all qemu machines for glibc and musl, except for qemuarm/musl which fails to build due to:

| CC stress-nop.c
| CC stress-null.c
| stress-fp-error.c: In function 'stress_fp_error':
| stress-fp-error.c:98:10: error: 'FE_INVALID' undeclared (first use in this function); did you mean 'EINVAL'?
|     EDOM, FE_INVALID);
|           ^~~~~~~~~~
|           EINVAL
| stress-fp-error.c:98:10: note: each undeclared identifier is reported only once for each function it appears in
| stress-fp-error.c:104:12: error: 'FE_DIVBYZERO' undeclared (first use in this function); did you mean 'FP_ZERO'?
|     ERANGE, FE_DIVBYZERO);
|             ^~~~~~~~~~~~
|             FP_ZERO
| CC stress-oom-pipe.c
| stress-fp-error.c:139:7: error: 'FE_INEXACT' undeclared (first use in this function); did you mean 'AF_INET'?
|     0, FE_INEXACT);
|        ^~~~~~~~~~

I'm not sure how to handle that since in the source file, there does seem to be a guard already:

#if defined(EDOM)
                stress_fp_clear_error();
                stress_fp_check(args, "log(-1.0)", log(-1.0), NAN,
                        EDOM, FE_INVALID);

#endif

but clearly EDOM is defined for qemuarm.
Should I stub out the whole body of the function:
stress_fp_error() if FE_INVALID isn't defined?

Any better ideas?

Oh and stress-ng runs fine for both glibc/musl in qemux86-64.

../Randy

Signature · 2 lines
# Randy MacLeod
# Wind River Linux