Re: debugging symbols for universial binary library
Re: debugging symbols for universial binary library
- Subject: Re: debugging symbols for universial binary library
- From: Ethan Tira-Thompson <email@hidden>
- Date: Thu, 2 Apr 2009 13:21:01 -0400
DWARF is embedded in the object files of the binary, but not in the
binary itself (unlike stabs, which are linked into the binary
proper). dsym extracts the DWARF info from the object files, puts it
in a separate dSYM bundle and makes the binary refer to this bundle
(instead of to the object files).
For those interested in the details of the DWARF handling on Mac OS
X: http://wiki.dwarfstd.org/index.php?title=Apple's_"Lazy"_DWARF_Scheme
Ah, interesting link!
For some background in response to Chris, the trick is libpng has a
configure script, which needs to be rerun to generate proper config
headers for each architecture. So I can't just toss a bunch of -arch
flags in the CFLAGS and do it as one build, I wind up with
separate .dylibs instead. As Jonas notes, it produces a
separate .dSYM for each .dylib. I can use lipo to merge the binaries,
but was stuck on how to merge the symbols. And then, wasn't sure the
right way to distribute the .dSYM if I did create it.
But now that I realize the .dSYM is a bundle and went spelunking, I
find the main content is... another .dylib! And it looks like I can
lipo all of these .dSYM dylibs together just like the binaries, and
then do a bit of editing on the Info.plist to include all of the UUIDs
in the dSYM_UUID array entry. (should be all I need, right?) So I
guess that's the answer to my original question. And then I just
stick it in /usr/local/lib with the executable dylibs and that'll be
the first place it looks (tho the UUID spotlight trick is a brilliant
fallback).
Thanks!
-Ethan
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden