diff options
author | Ross Burton <ross.burton@intel.com> | 2018-07-17 17:39:04 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-07-24 11:52:26 +0100 |
commit | fde3ca8b7340f19f53e4939cef5fb2753a158034 (patch) | |
tree | a7f1a82da3a3e688cb54ed41d474ed6f8bfa05ed /meta/recipes-devtools/strace/strace | |
parent | 6494ab4ab361a53d739caa47fb48ddac44278494 (diff) | |
download | openembedded-core-contrib-fde3ca8b7340f19f53e4939cef5fb2753a158034.tar.gz |
strace: upgrade 4.22 -> 4.23
(From OE-Core rev: 71994715714076e7f4dfb29c91da0a4e293b7e53)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/strace/strace')
-rw-r--r-- | meta/recipes-devtools/strace/strace/0001-linux-arm-raw_syscall.h-avoid-r7-specified-register-.patch | 74 |
1 files changed, 0 insertions, 74 deletions
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 <armccurdy@gmail.com> -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 <armccurdy@gmail.com> ---- - 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 - |