|
@@ -0,0 +1,97 @@
|
|
|
+From 6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 Mon Sep 17 00:00:00 2001
|
|
|
+From: "Dmitry V. Levin" <ldv@altlinux.org>
|
|
|
+Date: Wed, 21 Feb 2018 23:03:27 +0000
|
|
|
+Subject: [PATCH] m68k: fix build
|
|
|
+
|
|
|
+When <sys/reg.h> is included after <linux/ptrace.h>, the build fails
|
|
|
+on m68k with the following diagnostics:
|
|
|
+
|
|
|
+ In file included from /usr/include/linux/ptrace.h:101:0,
|
|
|
+ from ptrace.h:51,
|
|
|
+ from sigreturn.c:2:
|
|
|
+ /usr/include/m68k-linux-gnu/sys/reg.h:26:3: error: expected identifier
|
|
|
+ before numeric constant
|
|
|
+ PT_D1 = 0,
|
|
|
+ ^
|
|
|
+
|
|
|
+Apparently, the only architecture where strace needs definitions
|
|
|
+provided by <sys/reg.h> is x86_64, other three (m68k, tile, and x86)
|
|
|
+are fine with definitions already provided by <linux/ptrace.h>.
|
|
|
+
|
|
|
+Fix the issue by getting rid of <sys/reg.h> and defining necessary
|
|
|
+macros in linux/x86_64/arch_regs.h file.
|
|
|
+
|
|
|
+* configure.ac (AC_CHECK_HEADERS): Remove sys/reg.h.
|
|
|
+* regs.h: Do not include <sys/reg.h>.
|
|
|
+* linux/x86_64/arch_regs.h (R15, R14, R13, R12, RBP, RBX, R11, R10,
|
|
|
+R9, R8, RAX, RCX, RDX, RSI, RDI, ORIG_RAX, RIP, CS, EFLAGS, RSP, SS,
|
|
|
+FS_BASE, GS_BASE, DS, ES, FS, GS): New macros.
|
|
|
+* NEWS: Mention this fix.
|
|
|
+
|
|
|
+Fixes: v4.21~21 ("Include <sys/ptrace.h> early")
|
|
|
+[baruch: drop the NEWS and configure.ac hunks]
|
|
|
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
|
|
+---
|
|
|
+Upstream status: commit 6ebf6c4f9e5e
|
|
|
+
|
|
|
+ NEWS | 3 +++
|
|
|
+ configure.ac | 1 -
|
|
|
+ linux/x86_64/arch_regs.h | 29 +++++++++++++++++++++++++++++
|
|
|
+ regs.h | 5 -----
|
|
|
+ 4 files changed, 32 insertions(+), 6 deletions(-)
|
|
|
+
|
|
|
+diff --git a/linux/x86_64/arch_regs.h b/linux/x86_64/arch_regs.h
|
|
|
+index c2ccee671d4f..d502ca4bf202 100644
|
|
|
+--- a/linux/x86_64/arch_regs.h
|
|
|
++++ b/linux/x86_64/arch_regs.h
|
|
|
+@@ -1,2 +1,31 @@
|
|
|
+ extern uint32_t *const i386_esp_ptr;
|
|
|
+ extern uint64_t *const x86_64_rsp_ptr;
|
|
|
++
|
|
|
++/* <asm/ptrace.h> does not provide these definitions. */
|
|
|
++#define R15 0
|
|
|
++#define R14 1
|
|
|
++#define R13 2
|
|
|
++#define R12 3
|
|
|
++#define RBP 4
|
|
|
++#define RBX 5
|
|
|
++#define R11 6
|
|
|
++#define R10 7
|
|
|
++#define R9 8
|
|
|
++#define R8 9
|
|
|
++#define RAX 10
|
|
|
++#define RCX 11
|
|
|
++#define RDX 12
|
|
|
++#define RSI 13
|
|
|
++#define RDI 14
|
|
|
++#define ORIG_RAX 15
|
|
|
++#define RIP 16
|
|
|
++#define CS 17
|
|
|
++#define EFLAGS 18
|
|
|
++#define RSP 19
|
|
|
++#define SS 20
|
|
|
++#define FS_BASE 21
|
|
|
++#define GS_BASE 22
|
|
|
++#define DS 23
|
|
|
++#define ES 24
|
|
|
++#define FS 25
|
|
|
++#define GS 26
|
|
|
+diff --git a/regs.h b/regs.h
|
|
|
+index d89581d7dd3f..7a044cef8fbf 100644
|
|
|
+--- a/regs.h
|
|
|
++++ b/regs.h
|
|
|
+@@ -2,11 +2,6 @@
|
|
|
+ #define STRACE_REGS_H
|
|
|
+
|
|
|
+ #include <sys/user.h>
|
|
|
+-
|
|
|
+-#ifdef HAVE_SYS_REG_H
|
|
|
+-# include <sys/reg.h>
|
|
|
+-#endif
|
|
|
+-
|
|
|
+ #include "arch_regs.h"
|
|
|
+
|
|
|
+ #endif /* !STRACE_REGS_H */
|
|
|
+--
|
|
|
+2.17.0
|
|
|
+
|