tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: .eh_frame
On Mon, Nov 10, 2014 at 4:02 AM, Andrew Cagney <andrew.cagney%gmail.com@localhost> wrote:
> You might find this useful:
>
> http://lists.cs.uiuc.edu/pipermail/lldb-dev/2014-October/005546.html
>
> Several notes:
>
> - while eh_frame is meant to be the minimum information needed to
> unwind function calls, the desire to unwind through C code and signals
> from C++ means that most systems ship with the same detailed
> information as found in .debug_frame
>
> - assembler is often augmented with hand written eh-frame code so that
> the unwinder's life is made easier (I should check but I suspect that
> it doesn't duplicate the info to debug-frame so stripping it out will
> make a debuggers life hard)
>
> So, does your kernel contain C++ code using exceptions, hand written
> eh-frame code, or an in kernel consumer? :-)
According to joerg@, there is nothing (yet).
> Another useful data point might be to post the numbers, how much space
> does it take up?
My XEN3_DOMU (amd64) kernel has:
[ 1] .text PROGBITS ffffffff80100000 00100000
00000000003a57a8 0000000000000000 AX 0 0 64
[ 2] .eh_frame PROGBITS ffffffff804a57a8 004a57a8
000000000007ccb0 0000000000000000 A 0 0 8
[ 3] .data PROGBITS ffffffff80622480 00622480
00000000000281c0 0000000000000000 WA 0 0 64
(.rodata is merged into .text.)
.eh_frame is 500K, which is not negligible.
> PS: If it isn't a GNU extension (as in first implemented in GCC), I'd
> love to know what it is.
joerg@ should know. :)
Home |
Main Index |
Thread Index |
Old Index