Date: Thu, 3 Oct 1996 10:49:38 -0700 (PDT) From: John Polstra <jdp> To: CVS-committers, cvs-all, cvs-user Subject: cvs commit: src/contrib/gcc/config/i386 i386.h src/contrib/gcc/cp except.c Message-ID: <199610031749.KAA11232@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jdp 96/10/03 10:49:37 Modified: contrib/gcc/config/i386 i386.h contrib/gcc/cp except.c Log: Fix a bug that caused incorrect PIC code to be generated for exceptions. The symptom was an assembler warning "GOT relocation burb: `___EXCEPTION_TABLE__' should be global" followed (sometimes) by a core dump. The fix makes the compiler generate the correct GOTOFF addressing for that symbol, rather than the GOT addressing it was emitting before. Warning: There is still at least one serious bug in the i386 exception code for PIC. The exception code that is generated clobbers the GOT register (%ebx) and then tries to use it later. That leads to core dumps at program execution time. I know where the problem is, but I do not have a fix for it at this time. Until it is fixed, exceptions will not work in PIC code. This is a general problem for all i386 platforms; it is not specific to FreeBSD. Revision Changes Path 1.2 +16 -0 src/contrib/gcc/config/i386/i386.h 1.2 +7 -1 src/contrib/gcc/cp/except.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610031749.KAA11232>