From 9112a2398ec58b32cd1a1c6feae195bd8f9a46a2 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 22 Feb 2011 16:23:23 -0500
Subject: bfin: fix fp reference in _JMPBUF_UNWINDS

We want to access the frame pointer, so do so directly rather than
"overflowing" the pregs array and ending up at the fp member.

This fixes the Blackfin build warnings:
libpthread/linuxthreads.old/ptlongjmp.c: In function 'pthread_cleanup_upto':
libpthread/linuxthreads.old/ptlongjmp.c:35: warning: array subscript is above array bounds
libpthread/linuxthreads.old/ptlongjmp.c:56: warning: array subscript is above array bounds

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 libc/sysdeps/linux/bfin/bits/setjmp.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'libc/sysdeps')

diff --git a/libc/sysdeps/linux/bfin/bits/setjmp.h b/libc/sysdeps/linux/bfin/bits/setjmp.h
index ee3f5e787..adb9c23af 100644
--- a/libc/sysdeps/linux/bfin/bits/setjmp.h
+++ b/libc/sysdeps/linux/bfin/bits/setjmp.h
@@ -52,6 +52,6 @@ typedef struct
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
-  ((void *) (address) < (void *) (jmpbuf)->__pregs[6])
+  ((void *) (address) < (void *) (jmpbuf)->fp)
 
 #endif	/* bits/setjmp.h */
-- 
cgit v1.2.3