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.
This commit is contained in:
kristerw 2000-02-01 19:29:33 +00:00
parent 0cf304bb45
commit 46e954b5e5
1 changed files with 9 additions and 0 deletions

View File

@ -7816,3 +7816,12 @@ byte_xor_operation:
load_pic_register (1);
DONE;
}")
(define_expand "builtin_setjmp_receiver"
[(label_ref (match_operand 0 "" ""))]
"flag_pic"
"
{
load_pic_register (1);
DONE;
}")