On Wed, Mar 23, 2011 at 12:01:37PM -0700, Richard Henderson wrote: > Guh. The entire point of making _Unwind_Context opaque, and inventing > libgcc_s, > was so that we didn't have to think about these things. There's one and only > one > copy of the unwind library and all uses of the structure are through > accessors. > I hate hate hate that I got the export thing wrong at the very beginning.
I think the situation now is much better than it used to be when libgcc_s/libgcc_eh was added, at that point there was no --as-needed support and we wanted to avoid linking -lgcc_s into every program when it didn't actually need it. So currently that is mostly compatibility with very old stuff or with people doing weird things (e.g. linking -lgcc_eh in), or with people on less capable targets, or if we were to add new _Unwind_* entrypoints (e.g. _Unwind_GETIPInfo was problematic, as older unwinder implementations didn't have that symbol and thus it could be picked from a different unwinder that had it). Jakub