This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 970917 on sparc-sun-solaris2.5.1: summary
- To: egcs at cygnus dot com
- Subject: Re: 970917 on sparc-sun-solaris2.5.1: summary
- From: Jason Merrill <jason at cygnus dot com>
- Date: 17 Sep 1997 18:44:30 -0700
- References: <199709180030.RAA06765.cygnus.egcs@atrus.synopsys.com>
>>>>> Joe Buck <jbuck@synopsys.com> writes:
> eh16 and eh17 are new; I haven't studied them in detail.
Here's a fix:
Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com>
* libgcc2.c (find_exception_handler): Subtract one from our PC when
looking for a handler, to avoid hitting the beginning of the next
region.
Index: libgcc2.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/libgcc2.c,v
retrieving revision 1.139
retrieving revision 1.140
diff -c -r1.139 -r1.140
*** libgcc2.c 1997/09/17 01:56:14 1.139
--- libgcc2.c 1997/09/18 01:24:13 1.140
***************
*** 3353,3358 ****
--- 3353,3362 ----
int pos;
int best = -1;
+ /* We subtract 1 from PC to avoid hitting the beginning of the next
+ region. */
+ --pc;
+
/* We can't do a binary search because the table isn't guaranteed
to be sorted from function to function. */
for (pos = 0; table[pos].exception_handler != (void *) -1; ++pos)