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.
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
togdbsupport
? - Replacing of macros with a more C++-like API (like what has been started from the type system). Other C++-ification.
- Feedback...
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.
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,...
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...
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)
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...
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...
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...
A brief status update on John's progress regarding his GOSC project to parallelizing LTO during the build phase using Make.
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...
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...
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.
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.
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...
A quick overview of the project status, roadmap, and a few interesting features of the port.
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...
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...
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...
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.
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.
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...
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.