PATCH: Target hooks for exception and eh frame sections

Robert Lipe robertlipe@usa.net
Fri Oct 19 16:19:00 GMT 2001


Stan Shebs wrote:

> visually inspected for i386-sco3.2v5, m68-nextstep3 (both of which
> have been broken for awhile - nextstep needs additional patches not

I've known that EH on OpenServer has been broken in the completely
obvious, drop-dead way, but I've been awaiting other unrelated breakage
to settle before tackling this.

I'll let Richard speak with authority here, but I think your patch will
break some i386 systems.  There's "classic COFF", formerly handled
by ix86_svr3_exception_section and DO_GLOBAL_CTORS_BODY and friends,
there's OpenServer COFF (arbitrary sections, but with fixed length
names and _init and _fini that are almost, but not entirely like the
ELF counterparts, and normal ELF that's used by OpenServer in ELF mode.
OpenServer is (was) unique in the SVR3 mutants in that it was the only
system that had both TARGET_ELF and TARGET_COFF so that was used to
trigger some concessions for that system.

I think you just blurred the line between the first two with this patch.
I've been planning to take the remaining OpenServer COFF code behind the
woodshed and shoot it for some time.  But if there are users of "pure"
COFF systems (and I suspect there are none remaining) they might not
like this.  I've been planning to banish TARGET_COFF and care only about
the ELF mode.  At that time, much of sco5.h goes away and it becomes
just another ELF target.

> + /* For SVR3.2 release 5, we rename 'gcc_except_table' to the shorter
> +    name, in preparation for the day when we're ready to do DWARF2 EH
> +    unwinding under COFF.  */
> + 
> + void
> + ix86_svr3_exception_section ()
> + {
> +   named_section (NULL, ".gccexc", 1);

This mixes the first two of those three cases.  

> ! /* 
> !  * We rename 'gcc_except_table' to the shorter name in preparation
> !  * for the day when we're ready to do DWARF2 eh unwinding under COFF.
> !  */
> ! #define EXCEPTION_SECTION()		named_section (NULL, ".gccexc", 1)

In fact, the whole '.gccexc' crock is no longer necessary since we only
care about ELF now so this is the wrong direction to go with this.



So, I give you a gold star for trying, but I think you got tripped up on
the complexity of the whole thing on these targets.  If RTH tells me I'm
all wet, then you get to keep your gold star without the disclaimer. :-)
If you'd like to proceed with the target independent parts of this (esp.
if you can help me knit sco3.2v5 back together once the other breakage
goes away) it looks like a lovely abstraction.

Thanx!

RJL



More information about the Gcc-patches mailing list