• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Prebinding disabled because of overlap warning
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Prebinding disabled because of overlap warning


  • Subject: Re: Prebinding disabled because of overlap warning
  • From: Jeremy Dronfield <email@hidden>
  • Date: Mon, 8 Mar 2004 19:19:01 +0000

Thanks. That did it for me. I had the framework set to prebind in the info window, and never got any warnings until I did my little spring-cleaning operation. Now I've given the framework a -segladdr address and it compiles okay. Thanks again.
-Jeremy



On 8 Mar 2004, at 2:31 pm, Brent Gulanowski wrote:


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
_______________________________________________
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.


References: 
 >Prebinding disabled because of overlap warning (From: Jeremy Dronfield <email@hidden>)
 >Re: Prebinding disabled because of overlap warning (From: Brent Gulanowski <email@hidden>)
 >Re: Prebinding disabled because of overlap warning (From: Brent Gulanowski <email@hidden>)

  • Prev by Date: Re: 10.2.8?
  • Next by Date: printing in Xcode
  • Previous by thread: Re: Prebinding disabled because of overlap warning
  • Next by thread: Prebinding Libraries
  • Index(es):
    • Date
    • Thread