Blob Blame History Raw
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date: Wed, 7 Jul 2021 19:03:16 -0400
Subject: gdb-rhbz1854784-powerpc-remove-region-limit-dawr-5of7.patch

;; Backport "[PowerPC] Use < 0 and >= 0 for watchpoint ptrace calls"
;; (Pedro Franco de Carvalho, RH BZ 1854784)

In commit 227c0bf4b3dd0cf65dceb58e729e9da81b38b5a7, which fixed some
watchpoint bugs, I compared the return value of some ptrace calls with ==
-1 and != -1.  Althought this should be correct, since the rest of the
file uses < 0 and >= 0, I have modified this for consistency.

gdb/ChangeLog:

	* ppc-linux-nat.c (ppc_linux_dreg_interface::detect)
	(ppc_linux_nat_target::low_prepare_to_resume): Use ptrace () < 0
	and >= to check return value instead of == -1 and != -1.

diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
--- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c
@@ -385,7 +385,7 @@ public:
     bool no_features = false;
 
     if (ptrace (PPC_PTRACE_GETHWDBGINFO, ptid.lwp (), 0, &m_hwdebug_info)
-	!= -1)
+	>= 0)
       {
 	/* If there are no advertised features, we don't use the
 	   HWDEBUG interface and try the DEBUGREG interface instead.
@@ -431,7 +431,7 @@ public:
       {
 	unsigned long wp;
 
-	if (ptrace (PTRACE_GET_DEBUGREG, ptid.lwp (), 0, &wp) != -1)
+	if (ptrace (PTRACE_GET_DEBUGREG, ptid.lwp (), 0, &wp) >= 0)
 	  {
 	    m_interface.emplace (DEBUGREG);
 	    return;
@@ -2880,7 +2880,7 @@ ppc_linux_nat_target::low_prepare_to_resume (struct lwp_info *lp)
 		 the debug register state when fork and clone events are
 		 detected.  */
 	      if (ptrace (PPC_PTRACE_DELHWDEBUG, lp->ptid.lwp (), 0,
-			  bp_it->first) == -1)
+			  bp_it->first) < 0)
 		if (errno != ENOENT)
 		  perror_with_name (_("Error deleting hardware "
 				      "breakpoint or watchpoint"));
@@ -2934,7 +2934,7 @@ ppc_linux_nat_target::low_prepare_to_resume (struct lwp_info *lp)
       long ret = ptrace (PTRACE_SET_DEBUGREG, lp->ptid.lwp (),
 			 0, wp);
 
-      if (ret == -1)
+      if (ret < 0)
 	perror_with_name (_("Error setting hardware watchpoint"));
     }