• 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: Framework and Prebinding
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Framework and Prebinding


  • Subject: Re: Framework and Prebinding
  • From: Gwynne <email@hidden>
  • Date: Fri, 29 Oct 2004 11:15:57 -0400

On Oct 29, 2004, at 10:53 AM, Wade Tregaskis wrote:
You can actually disable prebinding in apps a different way - remake one of the libraries it depends on, and the prebinding fails in the applications (and update_prebinding is unable to update it). I found this out when I compiled a newer version of zlib - there's a lot of apps & libraries that link against it, it seems. I actually built it prebound, but it seems update_prebinding can't redo the prebinding anyway.
I've noticed this a lot - my console used to be filled with thousands of lines of failed update-prebinding messages. I don't think it's as simple as upgrading the library; I'd say it's caused by some specific reason, e.g. some existing symbol in the library changing. I've had cases in my own software where prebinding gets broken and then fixes itself again (many builds later), and so on, over and over.

Also, I'm not certain how certain parts of prebinding work, but from memory Apple's code cannot enlarge or shrink the actual binary - it has to make do with the originally allocated space, which is in 4k chunks... I'm pretty sure redo_prebinding barfs if the new bindings would require more than the available space (can't recall about the opposite scenario; I think they just fill in the blanks with whitespace, so to speak, although I'm not certain). I guess if the prebinding has to copy in references to every symbol (although I wouldn't think so, intuitively) a newer version is likely to have more, and so overflow it.

But, I'm going entirely from my distant memory at this point, rounded off with conjecture, so I may be regurgitating absolute drivel. I'm surprised one of the relevant engineers at Apple hasn't piped up yet. Perhaps they're afraid. ;)

I rebuilt libxml2 on my system, on which anything linked to Cocoa depends. It's not prebound unless I add a pile of LDFLAGS during configure, so prebinding tends to fail on things. But when I DID go in and add the necessary linker flags, the entire system went down after make install, and I had to copy the old libxml2 from another Panther system and rebuild the new one without the prebinding. Frankly, I wish I could do away with prebinding altogether. It's not at all helpful on modern machines.

-- Gwynne, key to the Code that runs us all
Email: email@hidden
Web: http://musicimage.plasticchicken.com/

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden
References: 
 >Framework and Prebinding (From: "Mike O'Connor" <email@hidden>)
 >Re: Framework and Prebinding (From: Evan Schoenberg <email@hidden>)
 >Re: Framework and Prebinding (From: Wade Tregaskis <email@hidden>)
 >Re: Framework and Prebinding (From: Darkshadow <email@hidden>)
 >Re: Framework and Prebinding (From: Wade Tregaskis <email@hidden>)

  • Prev by Date: Re: Pre-set sorting of NSTableView
  • Next by Date: Thread Cancelation
  • Previous by thread: Re: Framework and Prebinding
  • Next by thread: Re: Framework and Prebinding
  • Index(es):
    • Date
    • Thread