Re: How to get stack from every thread when doing crash dump?

From: Marcel Moolenaar (marcel_at_xcllnt.net)
Date: 07/05/05

  • Next message: Scott Long: "Re: Kernel Dump"
    Date: Mon, 4 Jul 2005 17:21:10 -0700
    To: Ed Maste <emaste@phaedrus.sandvine.ca>
    
    

    On Jul 4, 2005, at 4:14 PM, Ed Maste wrote:

    > I tried changing the linker script to put both in the .debug_frame
    > section, but ld faild ("Not enough room for program headers"). The
    > .eh_frame section is marked loadable, so it seems ld still tries to
    > create a phdr entry for it. Once I can figure out how to address
    > that I'll test out adding the .cfi_ pseudo-ops to exception.s.

    This will not resolve the problem. The problem relates to how signal
    frames need to be handled in userland code. In order to unwind across
    traps and signal frames, the debugger needs to know 2 things: which
    functions are for kernel entry (or signal trampoline) and how to get
    to the saved registers. Only the first can possibly be addressed by
    unwind information. One still need to teach the debugger about the
    trapframes (or signal frames) themselves.

    I'm working on the import of GDB 6.3, which allows us to handle this
    case by registering special frame unwinders.

    Adding .cfi directives is probably a good idea, but it needs a bit
    more work to fix backtraces.

    -- 
      Marcel Moolenaar         USPA: A-39004          marcel@xcllnt.net
    _______________________________________________
    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: Scott Long: "Re: Kernel Dump"