Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/gnu/dist/gcc/config/i386 C++ exceptions doesn't work in i386...



details:   https://anonhg.NetBSD.org/src/rev/05b679377120
branches:  trunk
changeset: 481539:05b679377120
user:      kristerw <kristerw%NetBSD.org@localhost>
date:      Tue Feb 01 19:29:33 2000 +0000

description:
C++ exceptions doesn't work in i386 shared libs when using sjlj exceptions
(as a.out does per default.)  This is because the compiler forgets to
restore the PIC register after a builtin_setjmp (i.e. when catching an
exception.)  This fix is taken from the gcc 2.95 branch.

Fixes PR#9110.

diffstat:

 gnu/dist/gcc/config/i386/i386.md |  9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diffs (16 lines):

diff -r ced69c4ddf7f -r 05b679377120 gnu/dist/gcc/config/i386/i386.md
--- a/gnu/dist/gcc/config/i386/i386.md  Tue Feb 01 19:29:28 2000 +0000
+++ b/gnu/dist/gcc/config/i386/i386.md  Tue Feb 01 19:29:33 2000 +0000
@@ -7816,3 +7816,12 @@
   load_pic_register (1);
   DONE;
 }")
+
+(define_expand "builtin_setjmp_receiver"
+  [(label_ref (match_operand 0 "" ""))]
+  "flag_pic" 
+  "    
+{
+  load_pic_register (1);
+  DONE;
+}")



Home | Main Index | Thread Index | Old Index