This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: exporting symbols, help with export list - Part III
- From: "H. J. Lu" <hjl at lucon dot org>
- To: Robert Schweikert <Robert dot Schweikert at abaqus dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 23 Aug 2004 15:54:27 -0700
- Subject: Re: exporting symbols, help with export list - Part III
- References: <1093277089.14457.23.camel@cheetah.hks.com>
On Mon, Aug 23, 2004 at 12:04:50PM -0400, Robert Schweikert wrote:
> The story/questions continue.
>
> I have managed to get the link time behavior I wanted and also achieved
> one of the runtime goals. At link time I now get errors when a symbols
> is called that is not defined in our export list and runtime of the code
> has significantly improved, the number of relocations is a lot smaller
> than it used to be. So far so good.
>
> The problem now is that some Exceptions no longer get caught, i.e. they
> migrate to the top and trigger a call to Abort(). At this point I have
> been unable to nail down the difference between exceptions that get
> caught and exceptions that do not get caught.
>
> I seem to recall reading something about export lists and exceptions
> somewhere but I can no longer locate the information. Thus the question:
>
> Is there anything special w.r.t. exceptions and using export lists?
>
> Right now I am using the following format:
>
> {
> global:
> symbol1;
> symbol2;
> ......
> local:
> symbol_x;
> symbol_y;
> ....
> };
>
> My best guess at this point is that exception symbols do not show up in
> either section.
>
You have to export a few C++ symbols in order to support exceptions.
libstdc++-v3/config/linker-map.gnu in gcc should give you some ideas.
H.J.