On Mar 27, 2006, at 2:48 PM, Justin C. Walker wrote: On Mar 22, 2006, at 4:46 PM, Justin C. Walker wrote: On Mar 22, 2006, at 16:38 , Mark Thomas wrote: I’m trying to use strip with a universal binary, but it doesn’t seem to work is there a way around this ? Or is a bug ?
Works for me. It would help to what "doesn't seem to work" means.
On PowerPC, I believe that the current developer tools aren't "fully operational" for universal binaries; it works just fine on an Intel Mac.
I find that I can extract i386 and ppc from a UB, strip all three, recombine the i386 and ppc and if I compare file sizes alone, the stripped UB is slightly smaller (by less than 1500 bytes) than the one lipoed together. When I diff the outputs of nm -arch ppc (and i386) of the two files, they are the same. This is all done on my G5, so it seems that the tools are fully operational for me (at least strip, and nm).
I think this thread has run its course, but for completeness: the only point I was making (and not very well, at that) is that I can build a universal binary (i386/ppc/ppc64) on a MacBook, just using something like gcc -o foo foo.c -arch ... while on a PowerPC box, I have to get into SDK builds.
Not a major issue, but, unless I'm missing something, the two platforms aren't at parity yet, for a developer.
Nor will they ever be. We will always guarantee that the SDK will cover the set union of all supported architectures, but we'll never guarantee that any particular system installation will. You're correct that Intel and PPC OS builds are not yet in synch, but even when they are, there is no assurance that any given system installation will support development for all architectures for that OS version. That is the role of SDKs, for two reasons: SDKs carry developer headers (and user installs don't), and SDKs have stub libraries that contain symbols only (no source code), and installed systems can be "thinned" to remove unneeded code.
Chris |