24–28 Aug 2020
US/Pacific timezone

Session

GNU Tools Track

24 Aug 2020, 07:00

Description

The GNU Tools track will gather all GNU tools developers, to discuss current/future work, coordinate efforts, exchange reports on ongoing efforts, discuss development plans for the next 12 months, developer tutorials and any other related discussions.
The track will also include a Toolchain Microconference on Friday to discuss topics that are more specific to the interaction between the Linux kernel and the toolchain.

Presentation materials

  1. Simon Marchi (EfficiOS)
    24/08/2020, 07:00

    GDB BoF, for GDB developers to meet and discuss any topic about the GDB development process.

    Some proposed discussion topics are:

    • The moving of gdbsupport and gdbserver, is anything left? Is there anything more to moved from the gdb to gdbsupport?
    • Replacing of macros with a more C++-like API (like what has been started from the type system). Other C++-ification.
    • Feedback...
    Go to contribution page
  2. Mark Wielaard
    24/08/2020, 07:30

    Can we switch to DWARF5 by default for GCC11? Which benefits does that bring? Which features work, which don't (LTO/early-debug, Split-Dwarf, debug-types, debug_[pub]names, etc.). Which DWARF consumers support DWARF5 (which don't) and which features can be enabled by default?

    Additionally some larger applications are hitting the limits of 32bit offsets on some arches. Should we introduce a...

    Go to contribution page
  3. Frank Eigler, Aaron Merey (Red Hat)
    24/08/2020, 08:00

    We will recap the elfutils debuginfod server from last year. It has been integrated into a number of consumers, learned to handle a bunch of distro packaging formats, and some public servers are already online.

    Go to contribution page
  4. Andrew Dinn (Red hat)
    24/08/2020, 08:15

    Or is it DWARVish? Whatever, GraalVM Native implements compilation of a
    complete suite of Java application classes to a single, complete, native
    ELF image. It's much like how a C/C++ program gets compiled. Well,
    except that the image contains nothing to explain how the bits were
    derived from source types and methods or where those elements were
    defined. Oh and the generated code is...

    Go to contribution page
  5. Vladimir Makarov
    24/08/2020, 08:30

    Recently CRuby got a JIT based on GCC or Clang. Experience with use of the CRuby JIT confirmed the known fact that GCC does not fit well for all JIT usage scenarios. Ruby needs a light-weight JIT compiler used as a tier 1 compiler or as a single JIT compiler. This talk will cover experience of GCC usage for CRuby JIT and drawbacks of GCC as a tier 1 JIT compiler. This talk also will cover the...

    Go to contribution page
  6. Aldy Hernandez (Red Hat), Andrew MacLeod (Red Hat)
    24/08/2020, 09:00

    The Ranger project was introduced at the GNU tools Cauldron last year. This project provides GCC with enhanced ranges and an on-demand range query API. By the time the conference is on, we expect to have the majority of the code in trunk and available for other passes to utilize.

    In this update, we will:

    • Cover what has changed since last fall.
    • Describe current functionality,...
    Go to contribution page
  7. Jose E. Marchesi (GNU Project, Oracle Inc.)
    24/08/2020, 09:30

    It's been almost a year since the nascent GNU poke [1] got first introduced to the public at the GNU Tools Cauldron 2019 in Montreal. We have been hacking a lot during these turbulence months and poke is maturing fast and approaching a first official release, scheduled for late summer.

    In this talk we will first do a quick introduction to the program for the benefit of the folk still...

    Go to contribution page
  8. Nick Clifton
    25/08/2020, 07:00

    A BoF meeting for folks interested in the GNU Binutils.
    Possible topics for discussion:
    * Should GOLD be dropped ?
    * Automatic changelog generation.
    * Configuring without support for old binary formats (eg ihex, srec, tekhex, verilog)

    Go to contribution page
  9. Carlos O'Donell (Red Hat)
    25/08/2020, 07:30

    The GNU C Library is used as the C library in the GNU systems
    and most systems with the Linux kernel. The library is
    primarily designed to be a portable and high performance C
    library. It follows all relevant standards including ISO C11
    and POSIX.1-2008. It is also internationalized and has one of
    the most complete internationalization interfaces known.

    This BoF aims to bring together...

    Go to contribution page
  10. Florian Weimer (redhat), Nathan Sidwell
    25/08/2020, 08:00

    The implementation of C++ modules in GCC and other compilers may pose some constraints on the kind of preprocessor and language constructs glibc headers can use (and the kernel headers they require). With this BoF, we hope to coordinate this a bit between GCC and glibc, so that we do not have to put hacks into the compiler or rely on the fixincludes mechanism (which is incompatible with glibc...

    Go to contribution page
  11. Arjun Shankar (Red Hat)
    25/08/2020, 08:30

    A while back, I found myself triaging an iconv bug report that found hangs
    in the program when run with certain inputs. Not knowing a lot about iconv
    internals, I wrote a rudimentary fuzzer to investigate the problem, which
    caught over 160 different input combinations that led to hangs and a clear
    pattern hinting at the cause.

    In...

    Go to contribution page
  12. John Ravi (North Carolina State University)
    25/08/2020, 08:45

    A brief status update on John's progress regarding his GOSC project to parallelizing LTO during the build phase using Make.

    Go to contribution page
  13. Ben Woodard (Red Hat Inc)
    25/08/2020, 09:00

    Since dynamic libraries have become universal, the runtime linker loader has been a critical but often times overlooked component of the OS. The general design and many implementation details were solidified back in the 1990’s and addressed issues that were facing OS designers and software developers back then. The computing environment is quite different in the second decade of the 21st...

    Go to contribution page
  14. Nick Alcock (Oracle Corporation)
    25/08/2020, 09:30

    Last year we introduced support for the Compact C Type Format (CTF) to the GNU toolchain and presented at the last Cauldron.

    Back then, the binutils side was only doing slow, non-deduplicating linking and format dumping, but things have moved on. The libctf library and ld in binutils has gained the ability to properly deduplicate CTF: output CTF in linked ELF objects is now often smaller...

    Go to contribution page
  15. David Malcolm (Red Hat)
    25/08/2020, 10:00

    I'll be talking about the -fanalyzer static analysis option I added in
    GCC 10; give an overview of the internal implementation, its current
    strengths and limitations, on how I'm reworking it for GCC 11, and
    ideas for future directions.

    Go to contribution page
  16. David Edelsohn (IBM Research)
    26/08/2020, 07:00

    Question and Answer session and general discussion with members of the GCC Steering Committee, GLIBC Stewards, GDB Stewards, Binutils Stewards, and GNU Toolchain Fund Trustees.

    Go to contribution page
  17. Dr Jeremy Bennett (Embecosm)
    26/08/2020, 07:30

    We had a panel led discussion at last year's GNU Tools Cauldron and more recently at the FOSDEM LLVM Developer's room on improving cooperation between GNU and LLVM projects. This year we are proposing an open format BoF, particularly because we believe that being part of LPC and a virtual confernce we may have more LLVM and GNU developers in the same (virtual) room.

    At both previous...

    Go to contribution page
  18. Rajalakshmi S
    26/08/2020, 08:00

    Basic Linear Algebra Subprograms (BLAS) are used everywhere in machine learning and deep learning applications today. OpenBLAS is an optimized BLAS open source library used widely in AI workloads that implement algebraic operations for specific processor types.
    This talk covers recent optimization in the OpenBLAS library for the POWER10 processor. As part of this optimization, assembly code...

    Go to contribution page
  19. Andrew Stubbs (Mentor Graphics / CodeSourcery)
    26/08/2020, 08:15

    A quick overview of the project status, roadmap, and a few interesting features of the port.

    Go to contribution page
  20. Serge Guelton
    26/08/2020, 08:30

    Both GCC and LLVM toolchains provide a wide range of security-related flags. Some are dedicated to finding bugs statically, some provide low-cost runtime protection and other rely on heavy instrumentations. Although many flags are shared between the two toolchains, some are unique, and there implementation may differ. This talk aims at providing a broad overview and status on these...

    Go to contribution page
  21. Jose E. Marchesi (GNU Project, Oracle Inc.)
    26/08/2020, 09:30

    In 2019 Oracle contributed support for the eBPF (as of late renamed to just BPF) in-kernel virtual architecture to binutils and GCC. Since then we have continued working on the port, and recently sent a patch series upstream adding support for GDB and the GNU simulator.

    This talk will describe this later work and other current developments, such as the gradual introduction of xbpf, a...

    Go to contribution page
  22. Mr ian Bearman (Microsoft)
    26/08/2020, 10:00

    Exploring Profile Guided Optimization of Linux Kernel

    Author

    ian Bearman is the former team lead supporting GCC and GNU developer tools for Linux at Microsoft. Nearly 20 years of experience in code generation, optimization, and developer tools.

    Abstract

    The Gnu/Linux Tools Team at Microsoft spent some time this year looking at using profile guided optimization in GCC to...

    Go to contribution page
  23. Tobias Burnus (Mentor, A Siemens Business), Jakub Jelinek (Red Hat)
    27/08/2020, 07:00

    BoF to discuss topics related to concurrency and offloading work onto accelerators. On the [OpenMP][1] side, in particular the implementation of the missing OpenMP 5.0 (soon: 5.1) features.

    Especially for offloading with [OpenACC][2]/OpenMP, optimizing the performance and in particular restricting the amount and frequency of data transfers is crucial and involves topics like...

    Go to contribution page
  24. Patrick McGehearty (Oracle)
    27/08/2020, 07:30

    Math library developers sometimes can trade slight loss of accuracy
    for significant performance gains or slight loss of performance
    for significant accuracy gains. This BoF is to review some recent
    and coming libm/libgcc changes and share ideas on how to decide
    where to draw the line for loss of performance vs improved accuracy
    and vice-versa.

    Go to contribution page
  25. Maxim Blinov (Embecosm)
    27/08/2020, 08:00

    Support for the bit manipulation extension to RISC-V is currently out-of-tree and represents work by Jim Wilson at SiFive, Claire Wolf at Symbiotic EDA and Maxim Blinov at Embecosm. Since last year, I have been working on additional optimizations for the bit manipulation extension, which I shall present.

    Go to contribution page
  26. Dr Jeremy Bennett (Embecosm), Dr Craig Blackmore (Embecosm)
    27/08/2020, 08:15

    CORE-V is a family of 32- and 64-bit cores based on the RISC-V architecture, being developed by the Open Hardware Group, a consortium of 50+ companies, universities and other organizations. It is based on the the family of RISC-V cores originally developed under the PULP project at ETH Zürich and the University of Bologna.

    PULP cores already have an out-of-tree GNU tool chain, but it is...

    Go to contribution page
  27. Mr Andrea Corallo (Arm)
    27/08/2020, 08:30

    Emacs Lisp (Elisp) is the Lisp dialect used by the Emacs text editor
    family. GNU Emacs can currently execute Elisp code either interpreted
    or byte-interpreted after it has been compiled to byte-code. In this
    presentation I'll discuss the libgccjit based Elisp compiler
    implementation being integrated in Emacs. Though still a work in
    progress, this implementation is able to bootstrap a...

    Go to contribution page
  28. Mr Martin Sebor (Red Hat)
    27/08/2020, 09:00

    GCC has a robust set of diagnostics based on control- and data-flow analysis. They are able to detect many kinds of bugs primarily related to invalid accesses. In this talk I will give an overview of the latest state of some of these diagnostics and sketch out my ideas for future enhancements in this area.

    Go to contribution page
  29. H.J. Lu (Intel)
    27/08/2020, 09:30

    This is a follow up report of Intel CET enabling in Linux OS. I will update the current status of Intel CET with binutils, glibc, GCC, LLVM and Linux kernel as well as Linux distributions.

    CET presentation can be downloaded from here

    Go to contribution page
Building timetable...

Diamond Sponsor

Platinum Sponsors



Gold Sponsors


Silver Sponsors


Catchboxes Sponsor

Conference Services Provided By