| delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mailnull set sender to djgpp-workers-bounces using -f |
| From: | "Tim Van Holder" <tim DOT van DOT holder AT pandora DOT be> |
| To: | <djgpp-workers AT delorie DOT com> |
| Subject: | Re: RFC - Dynamic loading |
| Date: | Fri, 21 Dec 2001 13:06:16 +0100 |
| Message-ID: | <000201c18a17$e4f18940$ce3276d5@pandora.be> |
| MIME-Version: | 1.0 |
| X-Priority: | 3 (Normal) |
| X-MSMail-Priority: | Normal |
| X-Mailer: | Microsoft Outlook, Build 10.0.2627 |
| X-MimeOLE: | Produced By Microsoft MimeOLE V6.00.2462.0000 |
| In-Reply-To: | <10112202215.AA16086@clio.rice.edu> |
| Importance: | Normal |
| Reply-To: | djgpp-workers AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | djgpp-workers AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
> > You'd also need to provide for C++ support; a standard DXE cannot > > survive an exception being thrown in it (because the stack unwinding > > info doesn't get registered at load time). > > Is this stored in a static link section, or somehow registered with > a handler? Reference an external variable? If it calls a handler > or external variable to register, then that symbol should > be resolved with the imports. If it's part of a static section, it > would need to be added to the "stub" which loads the DXE. I haven't > looked at C++ support at all yet. Well, with gcc 2.95.2, you needed to call __register_frame() and __deregister_frame() (both are in lingcc.a) for all exception frames when loading and unloading modules. Both take a char* that points to the frame in question. The frames are marked by those __FRAME_BEGIN__ symbols in the object files. I've found that this system does not work with gcc3 (there probably some additional symbols and/or functions involved; I'll have to donload the gcc3 sources and find out.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |