Re: Prebinding disabled because of overlap warning
Re: Prebinding disabled because of overlap warning
- Subject: Re: Prebinding disabled because of overlap warning
- From: Brent Gulanowski <email@hidden>
- Date: Mon, 8 Mar 2004 09:31:43 -0500
On Mar 8, 2004, at 9:26 AM, Brent Gulanowski wrote:
>
> On Mar 8, 2004, at 8:57 AM, Jeremy Dronfield wrote:
>
>> I've just tidied up my project, clearing out redundant files and
>> frameworks and cleaning targets. I then built my app target and
>> embedded framework in Deployment mode and got this series of warnings
>> in the log:
>>
>> ld: warning prebinding disabled because (__PAGEZERO segment (address
>> = 0x0 size = 0x1000) of
>> /Users/jeremy/Projects/MyApp/MyApp/build/MyApp.app/Contents/MacOS/
>> MyApp overlaps with __TEXT segment (address = 0x0 size = 0x9000) of
>> @executable_path/../Frameworks/MyFramework.framework/Versions/A/
>> MyFramework
>> ld: warning prebinding disabled because (__TEXT segment (address =
>> 0x1000 size = 0x25000) of
>> /Users/jeremy/Projects/MyApp/MyApp/build/MyApp.app/Contents/MacOS/
>> MyApp overlaps with __TEXT segment (address = 0x0 size = 0x9000) of
>> @executable_path/../Frameworks/MyFramework.framework/Versions/A/
>> MyFramework
>> ld: warning prebinding disabled because (__TEXT segment (address =
>> 0x1000 size = 0x25000) of
>> /Users/jeremy/Projects/MyApp/MyApp/build/MyApp.app/Contents/MacOS/
>> MyApp overlaps with __DATA segment (address = 0x9000 size = 0x2000)
>> of
>> @executable_path/../Frameworks/MyFramework.framework/Versions/A/
>> MyFramework
>> ld: warning prebinding disabled because (__TEXT segment (address =
>> 0x1000 size = 0x25000) of
>> /Users/jeremy/Projects/MyApp/MyApp/build/MyApp.app/Contents/MacOS/
>> MyApp overlaps with __OBJC segment (address = 0xb000 size = 0x1000)
>> of
>> @executable_path/../Frameworks/MyFramework.framework/Versions/A/
>> MyFramework
>> ld: warning prebinding disabled because (__TEXT segment (address =
>> 0x1000 size = 0x25000) of
>> /Users/jeremy/Projects/MyApp/MyApp/build/MyApp.app/Contents/MacOS/
>> MyApp overlaps with __LINKEDIT segment (address = 0xc000 size =
>> 0x3000) of
>> @executable_path/../Frameworks/MyFramework.framework/Versions/A/
>> MyFramework
>>
>> The build succeeded, but could someone explain what's causing these
>> warnings?
>
> Prebinding of libraries requires specification of a memory location,
> otherwise it defaults to putting the first segment at 0x000 (the
> __PAGEZERO segment). But that's where your app is meant to go, so it
> causes a conflict. Unfortunately, only applications are dynamically
> located in memory on load, not frameworks.
Sorry that's not right. They are loaded dynamically, but that's slower
than if they are prebound. You can always specify a different location
for your executable if you want to, that put its up above the
framework. You can calculate the size of the framework using the
information in the library window.
>
> If you debug your application from within Xcode, then choose
> Debug->Shared Libraries... you will get a window that shows you where
> all of the code segments are in memory for your application and the
> libraries it is using. What you need to do is to find an area of
> memory up above where Apple's frameworks are loaded or wherever else
> they've left a big enough hole. They used to publish which areas were
> free for 3rd party libraries to use, but I haven't checked if that is
> still available. Wait, here it is:
>
> http://developer.apple.com/documentation/ReleaseNotes/Prebinding.html
>
> (circa 10.2)
>
> If you depend on other 3rd party frameworks, they will also have to be
> prebound or you will get the same kind of errors as above. Some 3rd
> party libraries are not built properly for prebinding (mostly open
> source and/or hasty ports).
>
> --
> Brent Gulanowski email@hidden
>
--
Brent Gulanowski email@hidden
[demime 0.98b removed an attachment of type application/pkcs7-signature which had a name of smime.p7s]
_______________________________________________
xcode-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/xcode-users
Do not post admin requests to the list. They will be ignored.