Back To Schedule
Wednesday, October 28 • 13:00 - 13:50
The Compact C Type (CTF) Debugging Format in the GNU Toolchain: Progress Report - Elena Zannoni & Nicholas Alcock, Oracle

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.
The Compact C Type Format (CTF) is a reduced form of debug information describing the type of C entities such as structures, unions, etc. It has been ported to Linux (from Solaris) and used to reduce the size of the debugging information for the Linux kernel and DTrace. It was extended to remove limits and add support for additional parts of the C type system. Last year, we integrated it into GCC and GNU binutils and added support for dumping CTF data in ELF objects and some support for linking CTF data into a final executable (and presented at this conference). This linking support was preliminary: it was slow and the CTF was large. Since last year, the libctf library and ld in binutils have gained the ability to properly deduplicate CTF with little performance hit: output CTF in linked ELF objects is now often smaller than the CTF in any input .o file. The libctf API has also improved, with support for new features, better error reporting, and a much-improved CTF iterator. This talk will provide an overview of CTF, the novel type deduplication algorithm used to reduce CTF size and discuss the other contributions of CTF to the toolchain, such as compiler and debugger support.


Elena Zannoni

Senior Director, Oracle
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 →
avatar for Nick Alcock

Nick Alcock

Senior Staff Engineer, Oracle
Nick (Nix) is a Senior Staff engineer at Oracle. Among Nick's tasks is DTrace for Linux, and now he is focusing on Binutils and CTF.

Wednesday October 28, 2020 13:00 - 13:50 GMT
Linux Systems Theater
  Linux Systems, Programming Languages and Toolchains