This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libcc_s.so and libc.so curcular dependency on FreeBSD
- From: Richard Henderson <rth at redhat dot com>
- To: Alexander Kabaev <kabaev at gmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 3 Apr 2007 11:01:24 -0700
- Subject: Re: libcc_s.so and libc.so curcular dependency on FreeBSD
- References: <20070402225412.4568fd77@kan.dnsalias.net>
On Mon, Apr 02, 2007 at 10:54:12PM -0400, Alexander Kabaev wrote:
> This creates a dependency cycle that I need to break. The simplest way
> to go appears to follow Linux's lead and eliminate the need for shared
> modules to have explicit frame into registration calls at startup and
> allow exception handling code to locate necessary info with the help of
> dynamic loader using dl_iterate_phdr call.
Yes, this is absolutely the best option, for a number of reasons.
I wish more of the free operating systems would use this method.
> I also noticed that on Linux glibc implements some of the libgcc
> symbols, namely _Unwind_Find_FDE and __register_frame_info_bases family
> of functions. I wonder why it is done and if I missed something obvious
> here.
Someone incorporated these functions into Linux libc.so quite a long
time ago, trying to solve the same problem that eventually led us to
create the shared libgcc. Unfortunately, this leads to a binary
compatibility problem when trying to remove them, so now they're
mostly stubs that defer to the libgcc implementation.
r~