October 31 - November 1 - Co-Located Events
October 28-30 - Conference
Lyon Convention Centre - Lyon, France
More information for Open Source Summit + Embedded Linux Conference Europe 2019
Back To Schedule
Monday, October 28 • 16:20 - 16:55
Compact C Type Format Support in the GNU Toolchain - Elena Zannoni, Oracle Corporation

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Compact C Type Format (CTF) is a reduced form of debugging information whose main purpose is to describe the type of C entities such as structures, unions, typedefs and function arguments. It originated in
the Solaris kernel and it has been ported to Linux as part of the DTrace for Linux project. It's been used (via libdtrace-ctf) to reduce the size of the debugging information for the Linux kernel and for use in DTrace.

There are many advantages to using CTF, due to its compactness, for many kinds of programs that can't rely on DWARF. DWARF's design strives for generality and expressive power, at the cost of being a rather heavy
format. For example, evaluating DWARF expressions requires an interpreter for a stack-based machine. This, which is not problematic for typical "off-line" debugging programs such as symbolic debuggers (GDB), may be inconvenient for "on-line" debugging programs such as unwinders and stack tracers, due to efficiency and security concerns. CTF is a promising format that helps maintain some level of debuggability, even when the size of the executable is an issue and the DWARF info is being stripped out.

For such reasons we integrated CTF with the GNU toolchain on Linux. This talk will explain how CTF is structured, how we added CTF handling to gcc, gdb binutils and elfutils, and will provide an update on the
upstreaming status.

We believe CTF provides the right foundations for expressing the information needed by "on-line" debugging programs, in a most convenient way.

avatar for Elena Zannoni

Elena Zannoni

Director of the Linux Tools and Languages Team, Oracle Corporation
Elena Zannoni is the manager for the Linux Toolchain and Tracing team at Oracle. The team covers the GNU toolchain and DTrace for Linux, among other things. Elena was one of the original GDB global maintainers and has spoken worldwide on topics related to tracing at many conferences... Read More →

Monday October 28, 2019 16:20 - 16:55
Tête d'Or 2
  • Session Slides Included Yes