I've had some experience with this, trying to get the oss tuxracer to
stop crashing under certain conditions.
Here are my 2 cents:
1. If one application wants to be prebound, all of its libraries and
dependencies must be compiled prebound. That means X11, qt3, and
everything elseif you're going for kde. It is a pain in the butt, but
unless all dependancies are built in the proper order and are prebound,
one app cannot use prebinding.
2. I'm not completely sure there is a space limit for prebinding apps,
but I could be wrong. I was under the impression that prebinding
information was stored in a file and referred to by the kernel when
needed to speed up system performance. Any app can be launched
unprebound, but performance will suffer as a result since mach has to
locate all the memory addresses. The "Big Prebinding" file, that mach
refers to, works very much like a cache would, except this cache is for
memory addresses.
3. The update_prebinding daemon likes to make sure everything is
prebound, and that includes fink software that has none of the
prebinding markers. You'll notice, after starting up, your hard drive
clicking in the background after all your dock, finder, etc. has come
up. This is the daemon at work, and it marks certain files as
"unprebindable" during your session on the computer. Every hour or so,
the daemon checks to see if any changes have been made to anything
known as an application. Mac OS X's UNIX layer does not see programs
like pico or emacs as applications, but rather as documents. Only
when telling the system to execute the specific binary will the system
know "to prebind, or not to prebind?" (as from within a Terminal).
4. If you look at 'top' or the 'process viewer' during the "Optimizing
system performance..." of an install, the update_prebinding command is
called, which recomputes memory addresses and inserts them into an
individual programs' place in the cache. This makes the program use
the right memory addresses when it needs to call them on launch.
5. There are man pages on redo_prebinding, update_prebinding,
fix_prebinding, and probably some others I never bothered to look for
(man pages are always so dull).
I'm totally self-taught, so I could be wrong in a few (or many) places.
I'd love to get some expert feedback about the (1) mach-o/BSD core and
(2) how mutilated my description was.
(^disclaimer for stupidity^)
Regards,
Andrew Hoyt
(s/n mkiwi)
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel
- [Fink-devel] Prebinding John Davidorff Pell
- Re: [Fink-devel] Prebinding David
- Re: [Fink-devel] Prebinding Carsten Klapp
- Re: [Fink-devel] Prebinding John Davidorff Pell
- Re: [Fink-devel] Prebinding Carsten Klapp
- Re: [Fink-devel] Prebinding John Davidorff Pell
- Re: [Fink-devel] Prebinding Ben Hines
- Re: [Fink-devel] Prebinding David
- Re: [Fink-devel] Prebinding Carsten
- Re: [Fink-devel] Prebinding Benjamin Reed
- Mr. Kiwi