From 2f9ec5e5cce27e6221ba80c7b7647f8acfb85efc Mon Sep 17 00:00:00 2001
From: Hans-Peter Nilsson <hp@bitrange.com>
Date: Mon, 22 Oct 2001 20:33:13 +0000
Subject: [PATCH] unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
 fields when comparing.

	* unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
	fields when comparing.

From-SVN: r46414
---
 gcc/ChangeLog        | 5 +++++
 gcc/unwind-dw2-fde.c | 7 +++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 377c0a0747a1..362d8ca864c0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
+	fields when comparing.
+
 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 	* arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
diff --git a/gcc/unwind-dw2-fde.c b/gcc/unwind-dw2-fde.c
index 729adbbd4ab7..70526856a14d 100644
--- a/gcc/unwind-dw2-fde.c
+++ b/gcc/unwind-dw2-fde.c
@@ -297,9 +297,12 @@ static int
 fde_unencoded_compare (struct object *ob __attribute__((unused)),
 		       fde *x, fde *y)
 {
-  if (x->pc_begin > y->pc_begin)
+  _Unwind_Ptr x_ptr = *(_Unwind_Ptr *) x->pc_begin;
+  _Unwind_Ptr y_ptr = *(_Unwind_Ptr *) y->pc_begin;
+
+  if (x_ptr > y_ptr)
     return 1;
-  if (x->pc_begin < y->pc_begin)
+  if (x_ptr < y_ptr)
     return -1;
   return 0;
 }
-- 
GitLab