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: Andreas Grosam <email@hidden>
- Date: Thu, 14 Sep 2006 15:00:38 +0200
On 14.09.2006, at 00:55, Steve Baxter wrote:
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...
If there is a flaw in dyld on 10.3.x, this would also mean, that
dymically loaded DSOs (aka plugins) may not work correctly, even when
they use dlopen() (with any flags specified) or other interfaces
(NSBundle) since these are clients of dyld.
The only reasonable solution seems to be that Apple provides fixed
system libraries, which are available as a regular update, or may be
installed manually.
So, are there any official statements from Apple?
Andreas
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