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~