Mail Archives: djgpp-workers/1999/08/11/20:43:52
> > I've searched the DJGPP sources and I can't turn up any references to 
> > __EH_FRAME_{BEGIN,END}__. The one test I made using g++ exceptions shows that 
> > deleting the __EH* symbols and LONG(0) made no difference. So perhaps these symbols 
> > are safe to delete?
> > 
> 
> The following code fragments from src/libc/crt0/crt0.S are "guilty" in 
> that:  lines 48-66 and 295-301 (in current CVS version)
> 
> The related structure is registrated (__register_frame_info) and as 
> result the corresponding definitions from djgpp.djl are not used.
>
Thanks. Then the symbols can be removed. My next patch for i386go32.c will remove 
these symbols.
> The problem is that all should work also without these things in 
> crt0.S (when I did these my tests I mentioned before it didn't work 
> as I expected)
> 
crtstuff.c (that is used to make crtbegin.o and crtend.o) contains similiar code to 
initialize EH. If we switched this the crt*.o method, we could stop having to make 
adjustments to libc every time "they" decide on a better way to do C++ EH. BTW, gcc 
3.0 will have another change in C++ EH, so here comes another chance that C++ EH 
will break.
Mark
--- 
Mark Elbrecht, snowball3 AT bigfoot DOT com
http://snowball.frogspace.net/
- Raw text -