From 71994715714076e7f4dfb29c91da0a4e293b7e53 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 17 Jul 2018 17:39:04 +0100 Subject: strace: upgrade 4.22 -> 4.23 Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...aw_syscall.h-avoid-r7-specified-register-.patch | 74 ---------------------- meta/recipes-devtools/strace/strace_4.22.bb | 63 ------------------ meta/recipes-devtools/strace/strace_4.23.bb | 62 ++++++++++++++++++ 3 files changed, 62 insertions(+), 137 deletions(-) delete mode 100644 meta/recipes-devtools/strace/strace/0001-linux-arm-raw_syscall.h-avoid-r7-specified-register-.patch delete mode 100644 meta/recipes-devtools/strace/strace_4.22.bb create mode 100644 meta/recipes-devtools/strace/strace_4.23.bb (limited to 'meta') diff --git a/meta/recipes-devtools/strace/strace/0001-linux-arm-raw_syscall.h-avoid-r7-specified-register-.patch b/meta/recipes-devtools/strace/strace/0001-linux-arm-raw_syscall.h-avoid-r7-specified-register-.patch deleted file mode 100644 index 8584291ba8..0000000000 --- a/meta/recipes-devtools/strace/strace/0001-linux-arm-raw_syscall.h-avoid-r7-specified-register-.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 0c75ebaad09d6d3f2395dfe6160904af883dd0d9 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Tue, 15 May 2018 15:34:39 -0700 -Subject: [PATCH] linux/arm/raw_syscall.h: avoid r7 specified register - variables with Thumb - -If Thumb code is being generated and frame pointers are enabled, the -Thumb frame pointer in r7 clashes with any local variable which may -need to be assigned to r7 (e.g. the syscall NR when making a raw -syscall). - -With gcc, the double use of r7 results in a build error, e.g. - - strace-4.22/tests/inject-nf.c:86:1: error: r7 cannot be used in asm here - -With clang, the double use of r7 can result in the compiler silently -generating broken code which crashes at run time due to frame pointer -corruption: - - https://bugs.llvm.org/show_bug.cgi?id=34165 - -In most cases the problem isn't visible as frame pointers will be -disabled automatically due to optimisation level. However to handle -cases where frame pointers are enabled (e.g. when CFLAGS etc are set -to support a debug build, etc) provide a version of raw_syscall_0 -which manually saves and restores the frame pointer value in r7 -to a temporary register before setting up the syscall NR in r7 -and invoking the syscall. - -* linux/arm/raw_syscall.h (raw_syscall_0) [__thumb__]: Provide -an alternative version. - -Upstream-Status: Backport - -Signed-off-by: Andre McCurdy ---- - linux/arm/raw_syscall.h | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/linux/arm/raw_syscall.h b/linux/arm/raw_syscall.h -index 69c7e23..ec534ec 100644 ---- a/linux/arm/raw_syscall.h -+++ b/linux/arm/raw_syscall.h -@@ -36,12 +36,27 @@ static inline kernel_ulong_t - raw_syscall_0(const kernel_ulong_t nr, kernel_ulong_t *err) - { - *err = 0; -+ -+#ifdef __thumb__ /* && FRAME_POINTERS_ENABLED */ -+ -+ register kernel_ulong_t rt; -+ register kernel_ulong_t r0 __asm__("r0"); -+ __asm__ __volatile__("mov %1,r7; mov r7,%2; swi 0x0; mov r7,%1" -+ : "=r"(r0), "=&r"(rt) -+ : "r"(nr) -+ : "memory"); -+ -+#else -+ - register kernel_ulong_t r7 __asm__("r7") = nr; - register kernel_ulong_t r0 __asm__("r0"); - __asm__ __volatile__("swi 0x0" - : "=r"(r0) - : "r"(r7) - : "memory"); -+ -+#endif -+ - return r0; - } - # define raw_syscall_0 raw_syscall_0 --- -1.9.1 - diff --git a/meta/recipes-devtools/strace/strace_4.22.bb b/meta/recipes-devtools/strace/strace_4.22.bb deleted file mode 100644 index 99691f87c3..0000000000 --- a/meta/recipes-devtools/strace/strace_4.22.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "System call tracing tool" -HOMEPAGE = "http://strace.io" -SECTION = "console/utils" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=6ddb91734b9c705f3e87362e97e5f64b" - -SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ - file://disable-git-version-gen.patch \ - file://more-robust-test-for-m32-mx32-compile-support.patch \ - file://update-gawk-paths.patch \ - file://Makefile-ptest.patch \ - file://run-ptest \ - file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \ - file://mips-SIGEMT.patch \ - file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ - file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \ - file://0001-linux-arm-raw_syscall.h-avoid-r7-specified-register-.patch \ - " -SRC_URI[md5sum] = "7a2a7d7715da6e6834bc65bd09bace1c" -SRC_URI[sha256sum] = "068cd09264c95e4d591bbcd3ea08f99a693ed8663cd5169b0fdad72eb5bdb39d" - -inherit autotools ptest bluetooth - -PACKAGECONFIG_class-target ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ -" - -PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,${BLUEZ}" -PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" - -EXTRA_OECONF += "--enable-mpers=no" - -CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext" - -TESTDIR = "tests" - -do_install_append() { - # We don't ship strace-graph here because it needs perl - rm ${D}${bindir}/strace-graph -} - -do_compile_ptest() { - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} - sed -i -e '/^src/s/strace.*[1-9]/ptest/' \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${RECIPE_SYSROOT}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ - -e '/^DEB_CHANGELOGTIME/d' \ - -e '/^RPM_CHANGELOGTIME/d' \ - ${D}/${PTEST_PATH}/${TESTDIR}/Makefile -} - -RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed" - -BBCLASSEXTEND = "native" -TOOLCHAIN = "gcc" diff --git a/meta/recipes-devtools/strace/strace_4.23.bb b/meta/recipes-devtools/strace/strace_4.23.bb new file mode 100644 index 0000000000..0c159fc6f6 --- /dev/null +++ b/meta/recipes-devtools/strace/strace_4.23.bb @@ -0,0 +1,62 @@ +SUMMARY = "System call tracing tool" +HOMEPAGE = "http://strace.io" +SECTION = "console/utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ddb91734b9c705f3e87362e97e5f64b" + +SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ + file://disable-git-version-gen.patch \ + file://more-robust-test-for-m32-mx32-compile-support.patch \ + file://update-gawk-paths.patch \ + file://Makefile-ptest.patch \ + file://run-ptest \ + file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \ + file://mips-SIGEMT.patch \ + file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ + file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \ + " +SRC_URI[md5sum] = "fad4bba0947553cef34d46a9fd78f039" +SRC_URI[sha256sum] = "7860a6965f1dd832747bd8281a04738274398d32c56e9fbd0a68b1bb9ec09aad" + +inherit autotools ptest bluetooth + +PACKAGECONFIG_class-target ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ +" + +PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,${BLUEZ}" +PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" + +EXTRA_OECONF += "--enable-mpers=no" + +CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext" + +TESTDIR = "tests" + +do_install_append() { + # We don't ship strace-graph here because it needs perl + rm ${D}${bindir}/strace-graph +} + +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} + sed -i -e '/^src/s/strace.*[1-9]/ptest/' \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${RECIPE_SYSROOT}::g' \ + -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ + -e '/^DEB_CHANGELOGTIME/d' \ + -e '/^RPM_CHANGELOGTIME/d' \ + ${D}/${PTEST_PATH}/${TESTDIR}/Makefile +} + +RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed" + +BBCLASSEXTEND = "native" +TOOLCHAIN = "gcc" -- cgit 1.2.3-korg