Re: [Fwd: What do people think about not installing a stripped /kernel ?]

From: Maxim Sobolev (sobomax_at_portaone.com)
Date: 10/21/04

  • Next message: Garance A Drosihn: "Re: [Fwd: What do people think about not installing a stripped /kernel ?]"
    Date: Thu, 21 Oct 2004 01:30:53 +0300
    To: Scott Long <scottl@FreeBSD.ORG>
    
    

    Maxim Sobolev wrote:

    > OK, I've just checked objcopy manpage and found that there is actually a
    > better way which combines best properties of both approach. In modern
    > GNU toolchain it is possible to split executable and debugging info into
    > two separate files, but put a reference into executable, so that you
    > don't have to worry about how to load debugging symbols:
    >
    > --only-keep-debug
    > Strip a file, removing any sections that would be stripped by
    > --strip-debug and leaving the debugging sections.
    >
    > The intention is that this option will be used in conjunction with
    > --add-gnu-debuglink to create a two part executable. One a
    > stripped binary which will occupy less space in RAM and in a dis-
    > tribution and the second a debugging information file which is only
    > needed if debugging abilities are required. The suggested proce-
    > dure to create these files is as follows:
    >
    > 1.<Link the executable as normal. Assuming that is is called>
    > "foo" then...
    >
    > 1.<Run "objcopy --only-keep-debug foo foo.dbg" to>
    > create a file containing the debugging info.
    >
    > 1.<Run "objcopy --strip-debug foo" to create a>
    > stripped executable.
    >
    > 1.<Run "objcopy --add-gnu-debuglink=foo.dbg foo">
    > to add a link to the debugging info into the stripped exe-
    > cutable.
    >
    > I checked, this works like a charm with our current toolchain/gdb. This
    > allows us to do the following clever trick WRT kernel debug:
    >
    > 1. Compile kernel/modules with debugging symbols;
    > 2. Split out executable and debugging pieces for each module;
    > 3. Associate each executable file with appropriate debug file;
    > 4. Install executable into /boot/kernel as usually;
    > 5. Install real debugging into /var/something, put symlink to it into
    > /boot/kernel.
    >
    > By the way, this approach can be extended to be an option of buildworld
    > as well! It can be good way to trade developers' time for some hdd
    > space, since with this option "on" you will always be able to debug
    > misbehaving application/library without the need to recompile/reinstall
    > everything!

    BTW, it also allows us to do create separate "debug" distribution for
    release CDs. So that one can do binary install and then add debugging
    symbols if necessary.

    -Maxim
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"


  • Next message: Garance A Drosihn: "Re: [Fwd: What do people think about not installing a stripped /kernel ?]"

    Relevant Pages