Date: Thu, 15 Jun 2000 11:19:59 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Edmund Horner cc: djgpp AT delorie DOT com Subject: Re: DXE/DLX and C++ In-Reply-To: <960989641.316160@shelley.paradise.net.nz> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Thu, 15 Jun 2000, Edmund Horner wrote: > 1. I've examined the DXE mechanism and managed to get past the multiple > sections issue by adding a couple of lines to the linker script. Please post here what changes did you do in dxe.ld. > 2. But I am now stuck with "unable to resolve external symbols" on > '___builtin_delete', '_terminate__Fv', '___throw', '___builtin_new' and > '___eh_pc'. As explained in section 22.15 of the DJGPP FAQ list, DXE cannot access functions linked into the main module; the unresolved externals you cite are from the standard C++ library. I think the easiest way out of this mess (if there is one) would be to not use any standard C++ classes in your DXE. In particular, it seems your code uses exceptions and `new' and `delete' operators; try to rewrite it so as not to use these features. Another possibility would be to pull the object modules that define these symbols from libstdcxx.a (using the `ar' utility) and link them into your DXE. Failing all that, I suggest to rewrite your DXE in C (why do you need it in C++, anyway?)