Re: Symbol not found: ___umoddi3
Re: Symbol not found: ___umoddi3
- Subject: Re: Symbol not found: ___umoddi3
- From: patrick machielse <email@hidden>
- Date: Wed, 28 Sep 2011 20:46:34 +0200
Op 16 sep. 2011, om 22:50 heeft patrick machielse het volgende geschreven:
> 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
This issue was solved by explicitly linking to ligcc_s.10.5.dylib (-lgcc_s.10.5).
It appears to me that this type of failure could have been prevented if Apple would have included a proper 10.5 SDK.
I'll leave the question of why LLVM needs to link with gcclib to the experts…
p.
--
Patrick Machielse
Hieper Software
http://www.hieper.nl
email@hidden
_______________________________________________
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