87f11ab41b
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.
This directory contains machine-specific files for the GNU C compiler. It has a subdirectory for each basic CPU type. The only files in this directory itself are some .h files that pertain to particular operating systems and are used for more than one CPU type.