Re: Exceptions thrown from framework not caught in application
Re: Exceptions thrown from framework not caught in application
- Subject: Re: Exceptions thrown from framework not caught in application
- From: Steve Baxter <email@hidden>
- Date: Wed, 13 Sep 2006 23:55:32 +0100
On 13 Sep 2006, at 22:54, Andreas Grosam wrote:
Unfortunately, i can confirm now, that this issue also happens with
shared libraries, which comprise a legal application. I created the
application in Xcode 2.4 on 10.4.7.
On 10.4.x, the application works correctly. On 10.3.9 it fails.
It is pretty much obvious that the dynamic linker on 10.3.9 is
unable to merge several definitions of coalesced weak symbols. For
RTTI this kind of symbol will be produced quite often - but not
always, the alternative is to use undefined references.
More specifically, if a RTTI symbol (in this example for the class
Error) is defined in more than one DSO like this:
000041c8 (__DATA,__const_coal) weak external __ZTI5Error
the dyld of 10.3.x fails to coalesce the definitions into a single
one, and hence the ODR will be violated.
I failed also to find a workaround so far, like forcing to create
the RTTI definition where the class ctor is defined, and
subsequently *reference* to existing RTTI symbols instead creating
new definitions in the calling DSO. However the compiler preferes
to create new definitions anyway,
Andreas
Yep, that's the one...
Cheers,
Steve.
Steve Baxter
Software Development Manager
Improvision
+44-2476-692229
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden