Re: Symbol not found: ___umoddi3
Re: Symbol not found: ___umoddi3
- Subject: Re: Symbol not found: ___umoddi3
- From: Chris Suter <email@hidden>
- Date: Thu, 29 Sep 2011 04:57:55 +1000
Hi Patrick,
On Sat, Sep 17, 2011 at 6:50 AM, patrick machielse <email@hidden> wrote:
> I'm running into a strange issue.
>
> We build our app against the 10.7 SDK + 10.5 deployment target using llvm.
>
> _Some_ of our users on 10.5.8 encounter the following problem with our binary:
>
> OS Version: Mac OS X 10.5.8 (9L31a)
> Exception Type: EXC_BREAKPOINT (SIGTRAP)
> Exception Codes: 0x0000000000000002, 0x0000000000000000
> Crashed Thread: 3
>
> Dyld Error Message:
> Symbol not found: ___umoddi3
> Referenced from: /Applications/Binary.app/Contents/MacOS/Binary
> Expected in: /usr/lib/libSystem.B.dylib
>
> From what I've managed to find out umoddi3 is a routine for doing 64bit math on 32bit systems.
>
> otool -L on our binary shows (detail):
>
> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)
> /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1105.0.0)
>
> On 10.5 ___umoddi3 is defined in libgcc_s.1.dylib
> On 10.7 libgcc_s.1.dylib is a link to libSystem.B.dylib
>
> The strange thing: not all our 10.5.8 users seem to encounter this problem…
>
> We seem to link to the correct libraries, should we perhaps use GCC instead of llvm?
> (yes, I'm out of ideas…)
It's a bug in clang. I encountered this last week. I've checked the
source for clang and it appears to have been fixed so you might find
the problem is fixed in Xcode 4.2. The problem is that clang adds
libSystem before libgcc_s.1 to the link invocation. Simply adding
libgcc_s.1 yourself will fix this for now.
Kind regards,
Chris
_______________________________________________
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