|
|
cb379f |
From b37d305d0421017b61235e9c2015f3e45f082161 Mon Sep 17 00:00:00 2001
|
|
|
cb379f |
From: Josh Stone <jistone@redhat.com>
|
|
|
cb379f |
Date: Thu, 16 Oct 2014 17:42:58 -0700
|
|
|
cb379f |
Subject: [PATCH] cmake: Properly extend BUG_DEFINES on ppc linux
|
|
|
cb379f |
|
|
|
cb379f |
Both ppc32_linux and ppc64_linux set -Dbug_registers_after_exit in
|
|
|
cb379f |
BUG_DEFINES, but in doing so they clobbered the general linux bugs. In
|
|
|
cb379f |
particular, -Dbug_syscall_changepc_rewind is still needed. This patch
|
|
|
cb379f |
lets ppc just add its definition while keeping the others.
|
|
|
cb379f |
|
|
|
cb379f |
Our RHEL7 QA noticed this as a regression from 8.1.2, so I believe it
|
|
|
cb379f |
just broke as part of the transition to cmake. In their smoke test, a
|
|
|
cb379f |
mutatee process in sleep() is attached, and it promptly crashes SIGILL
|
|
|
cb379f |
on the first iRPC. I found that the iRPC was at 0x3fffb1f70000, and
|
|
|
cb379f |
proccontrol is setting that pc, but the crash is at 0x3fffb1f6fffc. So
|
|
|
cb379f |
that appears to be the rewind issue, and a full BUG_DEFINES fixes it.
|
|
|
cb379f |
|
|
|
cb379f |
Reported-by: Michael Petlan <mpetlan@redhat.com>
|
|
|
cb379f |
Signed-off-by: Josh Stone <jistone@redhat.com>
|
|
|
cb379f |
---
|
|
|
cb379f |
cmake/cap_arch_def.cmake | 4 ++--
|
|
|
cb379f |
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
cb379f |
|
|
|
cb379f |
diff --git a/cmake/cap_arch_def.cmake b/cmake/cap_arch_def.cmake
|
|
|
cb379f |
index a27be73e3652..d685532dcd2f 100644
|
|
|
cb379f |
--- a/cmake/cap_arch_def.cmake
|
|
|
cb379f |
+++ b/cmake/cap_arch_def.cmake
|
|
|
cb379f |
@@ -112,11 +112,11 @@ set (OLD_DEFINES -Dx86_64_unknown_linux2_4)
|
|
|
cb379f |
|
|
|
cb379f |
elseif (PLATFORM STREQUAL ppc32_linux)
|
|
|
cb379f |
set (OLD_DEFINES -Dppc32_linux)
|
|
|
cb379f |
-set (BUG_DEFINES -Dbug_registers_after_exit)
|
|
|
cb379f |
+set (BUG_DEFINES ${BUG_DEFINES} -Dbug_registers_after_exit)
|
|
|
cb379f |
|
|
|
cb379f |
elseif (PLATFORM STREQUAL ppc64_linux)
|
|
|
cb379f |
set (OLD_DEFINES -Dppc64_linux)
|
|
|
cb379f |
-set (BUG_DEFINES ${BUG_DEF} -Dbug_registers_after_exit)
|
|
|
cb379f |
+set (BUG_DEFINES ${BUG_DEFINES} -Dbug_registers_after_exit)
|
|
|
cb379f |
|
|
|
cb379f |
elseif (PLATFORM STREQUAL ppc64_bgq_ion)
|
|
|
cb379f |
set (OLD_DEFINES -Dppc64_bluegene -Dppc64_linux)
|
|
|
cb379f |
--
|
|
|
cb379f |
1.8.3.1
|
|
|
cb379f |
|