From 6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Wed, 21 Feb 2018 23:03:27 +0000 Subject: [PATCH] m68k: fix build When is included after , 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 is x86_64, other three (m68k, tile, and x86) are fine with definitions already provided by . Fix the issue by getting rid of 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 . * 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 early") --- 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/NEWS b/NEWS index 0e74e044..6c5c9e78 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ Noteworthy changes in release ?.?? (????-??-??) =============================================== +* Bug fixes + * Fixed build on m68k. + Noteworthy changes in release 4.21 (2018-02-13) =============================================== diff --git a/configure.ac b/configure.ac index 86b8a8eb..b007a257 100644 --- a/configure.ac +++ b/configure.ac @@ -436,7 +436,6 @@ AC_CHECK_HEADERS(m4_normalize([ sys/ipc.h sys/msg.h sys/quota.h - sys/reg.h sys/sem.h sys/shm.h sys/signalfd.h diff --git a/linux/x86_64/arch_regs.h b/linux/x86_64/arch_regs.h index c2ccee67..d502ca4b 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; + +/* 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 d89581d7..7a044cef 100644 --- a/regs.h +++ b/regs.h @@ -2,11 +2,6 @@ #define STRACE_REGS_H #include - -#ifdef HAVE_SYS_REG_H -# include -#endif - #include "arch_regs.h" #endif /* !STRACE_REGS_H */ -- 2.40.0