Subject: Re: softfloat fixuns woes
To: Richard.Earnshaw@arm.com, Richard Earnshaw <rearnsha@arm.com>
From: Nick Hudson <nick@nthcliff.demon.co.uk>
List: tech-toolchain
Date: 11/10/2003 17:12:26
On Monday 10 November 2003 3:52 pm, Richard Earnshaw wrote:
> However, there are functions in libgcc (specifically those related to
> exception handling) that are definitely NOT pure by this definition. The
> exception handling code, for example, has to maintain a list of all the
> unwind areas in an application: this code must be registered with a single
> libgcc function into a single list/table/whatever, which is then searched
> when an exception is thrown. If there are multiple definitions of these
> functions, then they will not create a single list and hence exception
> unwinding will be broken.
[...]
This is exactly the problem I fixed when I removed libgcc_pic from LIBGCC_SPEC
to close PR 22673.
> Then functions should be allocated as follows:
>
> pure standard functions should be built into libc{.so,.a,_p.a} etc.
> functions sharing static data should be in libgcc.so (this will probably
> only be needed for c++).
> The rest should be .hidden and built into libgcc.a, which should be linked
> into every application and every shared library (libgcc_pic.a).
Can't we extract these using (an updated) mknative?
Nick