This Time Self-Hosted
dark mode light mode Search

Trying out the debug info

As I was wanting to find more about the Ruby crashes I got with Korundum and KDigest, today I tried solar’s split debug for portage.

It seems to work fine, I get useful traceback finally, and the size of binaries is more or less the same. The main problem was with multilib-strict, that was triggered by 64-bit binaries debug info found in /usr/lib/debug; thanks to KingTaco that gave me the OK, I’ve made that library multilib-strict exempt and now it works fine.
I’m going to rebuild lighttpd with that too and try it out.

On another note, I’m having trouble with wine and eselect compiler, Mike (vapier) already looked at it and it seems the problem is with the multilib stuff… I have a theory about this, but I need to look at it more deeply.
The first problem is that the new eselect compiler does not seem to react to ABI var, but to CHOST var instead, and the exported one is still the amd64 one. I’ve worked around this by resetting CHOST and CBUILD in pkg_setup, but it fails linking because it does not trigger -m32 version of binutils, so I’m building true binutils for i686 and see what happens there…

Comments 3
  1. Should it really be made multilib-strict exempt? Haven’t tried the patch out yet but would it be better for us to fix the patch to use lib64 on amd64? What happens if we want to enhance our emul-linux-x86-* packages with the detached debug info eventually? I know it is early days right now but it just doesn’t seem like the right way to do it (I could be wrong though).

  2. Well, /usr/lib/debug has inside it the reproduction of the filesystem’s structure:/usr/lib/debug//usr/lib/debug/lib64/usr/lib/debug/lib64/ it shouldn’t be a problem.

  3. OK – that makes much more sense even though it seems a little strange. I will have to start adding all these patches to my development system – confcache and debug info are certainly great features.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.