GNU Tools Cauldron 2016

<< GNU Tools Cauldron 2015 | GNU Tools Cauldron 2017 >>


Organizing committee:


Slides, Videos and Notes

These are the videos, slides and any notes for all recorded presentations. Not all BoFs were videoed.

The videos for all recorded presentations are available on the Cauldron 2016 playlist on YouTube. youtube-dl can be used to download the videos with free software.


Q&A Session


Mailing lists

  1. Abstract submissions, registration, administrivia questions:

  2. Announcements and discussions related to the conference: .

Workshop description

We are pleased to announce another gathering of GNU tools developers. The basic format of this meeting will be similar to the previous meetings. However this year the meeting will be immediately preceded by the first ever LLVM Cauldron.

The purpose of this workshop is to gather all GNU tools developers, 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.

This time, the GNU Tools Cauldron will form the closing weekend of the Wuthering Bytes technology festival in Hebden Bridge in the UK. Situated at the heart of the UK's "Northern Powerhouse", Hebden Bridge is roughly equidistant from Liverpool, Manchester, Sheffield, Leeds and Bradford. The Wuthering Bytes festival is a 10 day celebration of all things technological that are free and open source.

We are inviting every developer working in the GNU toolchain: GCC, GDB, binutils, runtimes, etc. In addition to discussion topics selected at the conference, we are looking for advance submissions.

If you have a topic that you would like to present, please submit an abstract describing what you plan to present. We are accepting three types of submissions:

Note that we will not be doing in-depth reviews of the presentations. Mainly we are looking for applicability and to decide scheduling. There will be time at the conference to add other topics of discussion, similarly to what we did at the previous meetings.

To register your abstract, send e-mail to .

Your submission should contain the following information:

If you intend to participate, but not necessarily present, please let us know as well. Send a message to stating your intent to participate. Please indicate your affiliation, dietary requirements and t-shirt size.


All events are at Hebden Bridge Town Hall, except where indicated.

The Waterfront Hall seats up to 120, The Space seats up to 50 and the Terrace up to 24. Where there are two tracks, we have tried to aim the smaller audience at The Space or the Terrace. There is plenty of opportunity to include last minute talks and BoFs - just contact one of the organizers.

In addition we have the Outer Space (seating 8) and the Terrace (seats up to 24) for informal meetings, breakout and hacking. We will be using the Terrace for the second track on Sunday afternoon, when the Space is in use by another event.

Last Minute Changes

The schedules will be on posters around the venue, and will be updated as necessary by the organizers. In addition last minute changes will be posted on the GCC IRC channel (#gcc on and tweeted with the hashtag #GNUCauldron.

Remote Access to Talks

In general we are not going to livestream the talks, although they will all be videoed and made available here shortly after the Cauldron concludes.

However one BoF and one talk on Friday afternoon as indicated above will add a remote participants who cannot be present. In both cases this will be a 1:1 connection, and we will use the smaller room (The Space), since the acoustics are likely to be more forgiving.


Abstracts are listed in strict case insensitive alphabetical order of title.


Binutils Development for New Backends - ARC Experience

Speakers: Cupertino Miranda & Claudiu Zissulescu

Time: Saturday, 16:45-17:30, The Space

We present a methodology of developing GNU software tools for newly developed targets based on a common database containing ISA information for all the processor cores variants. We will show how we applied this methodology for ARC processors family to implement the GNU binutils backend with a better maintainable and more abstract ideology in mind.

To achieve this more maintainable and abstract design for the new GNU assembler port we must implement every software module in a similar fashion. This includes the relaxation software module whose implementation is one of the goals of the project.

As a first step, we have generated the assembler opcode table, used also by disassembler. Next, using the common database we have also generated relocation information and tests to verify our implementation.

Last but not least, we would like to present some brainstorming ideas to improve and formalize GNU Binutils Linker backends introducing table driven coding and domain specific languages.

Debugging Shaders on Intel(R) GPUs: Past and Present

Speakers: Mircea Gherzan & Fabian Schnell

Time: Saturday, 15:45-16:30, Waterfront Hall

The Intel(R) Debugger for Heterogenous Compute is aimed at debugging of GPGPU/3D shaders running on Intel(R) GPUs. The debugger is based on GDB ported to the Intel(R) Gen GPU architecture. This talk will focus on the evolution of the architecture of the debugger support stack (driver, libraries) as well as on the newly supported APIs and runtimes.

Enhancing the PowerPC GCC compiler for the future Power9 hardware

Speaker: Michael Meissner

Time: Saturday, 15:45-16:30, Waterfront Hall

This talk will discuss the work that has gone into modifying the backend of the GCC compiler to support the new PowerPC ISA 3.0 instructions that will first be implemented in the future Power9 hardware. Some of the new features that will be discussed will include:

  1. New addressing support for vector registers;
  2. New updates to the IEEE 128-bit floating point support;
  3. New vector insert and extract support;
  4. Better little endian support;
  5. New minimum andmaximum instructions;
  6. New integer instructions (array indexing, modulus,multiply/add); and
  7. Miscellaneous other instructions.

Fixing LTO Debug Information

Speaker: Richard Biener

Time: Friday, 10:00-10:45, Waterfront Hall

We present work to address the debug information generation and quality issuess when using link-time optimization (LTO).

Currently debug information is fully generated from within the individual link-time optimization (LTRANS) units. The issue with that is that no frontend data structures survive until that point and thus most of the data we have to build debug information from is language agnostic and this reflects in the quality of the generated debug information.

To address this we build on the early-debug refactoring, effectively preserving all the debug information that was generated for types and declarations and only annotating that during LTRANS with information such as locations. The way to preserve the early debug information is to stream out a early DWARF tree into debug info sections of the compilation unit object files that also contain LTO IL. Those are later refered to and annotated via DWARF produced by the LTRANS units and combined into final executable debug information by the link editor.

Forthcoming Improvements to the GNU Tools

Speakers: Nick Clifton

Time: Sunday 11.00-11.45, Waterfront Hall

This presentation focuses on work being undertaken by the toolchain group at Red Hat. It seeks to inform people about what we are doing, what we hope to achieve, and how it might affect other tool users and developers.

GDB status

Speaker: Pedro Alves

Time: Friday, 13:00-13:45, Waterfront Hall

In this talk, I will present an overview of the current state of several GDB projects. For example:

GNU Modula-2 status, whole program optimisation and language interoperability

Speaker: Gaius Mulley

Time: Friday, 16:45-17:30, Waterfront Hall

This talk will discuss the current status of GNU Modula-2 and the developer roadmap for the immediate future. It also discusses some of the key design decisions which enable gm2 to be used with other languages and tool chain components. The talk reports on some performance benchmarks from whole program optimisation when applied to a Python module implemented in Modula-2. Finally it concludes with the developer experiences when implementing this optimisation.


Speaker: Martin Jambor

Time: Saturday, 11:00-11:45, Waterfront Hall

The talk will mainly discuss how OpenMP constructs are lowered and expanded when compiled intoto HSA Intermediate Language (HSAIL). Additionally, it will also cover the recent developments in the HSA back-end and HSA environment in general.


Speaker: Gary Benson

Time: Saturday, 14:00-14:45, Waterfront Hall

Infinity is a platform-independent system for executables and shared libraries to expose functionality to debug, monitoring, and analysis tooling. It grew from a need for GDB to be able to debug multithreaded applications without requiring libthread_db. Other systems exist that use the libthread_db paradigm, for example librtld_db and OPMD; Infinity was designed to replace this entire class of library-tool interface with something more portable and robust.

OpenMP offloading for the NVPTX target in GCC

Speaker: Alexander Monakov

Time: Saturday, 10:00-10:45, Waterfront Hall

This talk describes the implementation of OpenMP offloading for NVIDIA accelerators (corresponding to the 'nvptx' GCC target). It required changes in the nvptx backend, middle-end (mostly in OpenMP lowering) and libgomp. Although the implementation tries to fit within the existing infrastructure, the new code execution style in offloaded OpenMP regions (where logical threads are mapped onto PTX synchronous thread groups (warps), and individual PTX threads are exposed only as SIMD lanes) requires that OpenMP SIMD lowering is specialized for this execution style. Furthermore, since offloaded code is generated from the same LTO bytecode as the host code, we need to arrange that before LTO stream-out, GIMPLE representation incorporates both traditional and GPU-specific flows, and either can be easily cleaned out just after LTO stream-in.

Porting GCC to AMD GCN

Speaker: Jan Hubicka

Time: Friday, 14:00-14:45, The Space

Graphics Core Next (GCN) is microarchitecture and instruction set used by by AMD GPUs. Introduced in 2011 it was designed from scratch to look more like a traditional CPU compared to its predecestors. In last several weeks I was experimenting with porting GCC to GCN. In the talk I will present the overview of instruction set and main challenges involved in porting GCC to this new ISA.

What else can !BuildBot do for glibc?

Speaker: Tulio Magno Quites Machado Filho

Time: Sunday, 13:00-13:45, The Terrace

In the past year, glibc's buildbot started functioning with the most basic functionality: building and testing the latest patches on master. However, BuildBot is able to do much more than that. This talk will discuss proposals to increase the BuildBot scope and tests.

Whole-system tracing: The malloc API

Speaker: Carlos O'Donell

Time: Friday, 16:45-17:30, The Space

D J Delorie will join this session remotely from the USA and answer questions at the end.

In GNU Cauldron 2015 the concept of whole-system tracing was discussed and several key ideas concluded. This talk presents some of the forward progress that the Red Hat glibc team has made by starting with the malloc family API of functions, adding API trace, trace to workload conversion, and workload simulation. We cover some of the initial problems we faced, solutions we chose, and the current implementation which is available on the public branch "dj/malloc." We are excited to discuss this work with the community and how we might extend this to other APIs.


No tutorials have been proposed for this year's cauldron.

Q&A Sessions

GCC Steering Committee Q&A

Led by: David Edelsohn, on behalf of GCC Steering Committee

Time: Sunday, 10:00-10:45, Waterfront Hall

Question and answer session and general discussion with members of the GCC Steering Committee in attendance about the direction of GCC and its interface with the Free Software Foundation.

Birds of a Feather sessions (BoFs)

ARM & AArch64 BoF

Led by: Ramana Radhakrishnan

Time: Sunday, 13:00 - 13:45, Waterfront Hall

BoF covering developments in the GNU toolchain ports for ARM and AArch64 and a chance to discuss any specific issues that need to be brought up regarding the GNU toolchain for ARM and AArch64

BoF for LTO

Led by: Jan (Honza) Hubicka

Time: Friday, 11:00-11:45, Waterfront Hall

A general discussions of topics related to implementation of link time optimization in GCC.

GLIBC for Power BoF

Led by: Carlos Eduardo Seo

Time: Saturday 16:45-17:30, Waterfront Hall

In this session, we will discuss:

We can open discussions about other topics relevant to Power that the community wishes to talk about as well.

Leakage Aware Design Automation (LADA) BoF

Led by: Jeremy Bennett, Simon Cook

Time Sunday 13:45-14:30, The Terrace

Security is an every increasing concern across the computing industry, most recently in the emerging Internet of Things market. Your compiler cannot magically write secure code, but it can help a good programmer write secure code.

The Leakage Aware Design Automation project is an EPSRC funded programme running over four years at Bristol University led by Elizabeth Oswald and Dan Page. It will look at how all aspects of software tooling can improve security of systems, particularly by minimizing information leakage. An important part of this project is extending compiler technology, and the programme includes a postdoctoral post (still vacant) to research this area.

We are the "industrial supporters" of this project. Our role is to take the research ideas and make them work in real compilers - GCC & LLVM. For example.

Some of these techniques are not new, but none are yet in mainstream compilers. We plan to add these features and others, particularly the new ideas which we hope this research programme will identify. The project is still in its very early stage and the purpose of this BoF is to raise awareness and get community feedback on some of the areas we will be working on, and suggestions for other areas to consider.

OpenMP, OpenACC and Offloading BoF

Led by: Jakub Jelinek

Time: 13:00-13:45

BoF covering recent GCC OpenMP/OpenACC development, especially about offloading to XeonPhi KNL, NVPTX and HSAIL and future plans in this area.

Testing BoF

Led by: David Malcolm, Jeremy Bennett, Ed Jones & Graham Markall

Time: Friday, 15:45-16:30, The Space

David Malcolm will join this session remotely from the USA.

This BoF will consider the selftest framework David has been adding to gcc for unit-testing it, how it related to our existing DejaGnu framework. David has also been working on an RTL frontend (for testing RTL passes), and want to talk about that.

We'd also like to look at progress in making GCC regression testing as independent of the compiler as possible, so it can act as a reference test suite for other compilers, following on from Jeremy's talk at last year's cauldron.

Finally we'd like to explore some of the challenges of testing GCC on massively parallel platforms. In principle testing is highly parallel, but in practice with large numbers of processors this can be tricky. We'll want to introduce some ideas Ed Jones and Graham Markall have been working on. They're not yet mature enough to submit officially, but a BoF is a good time to get some early feedback on the approach.


Led by: Pedro Alves

Time: Friday, 14:00-14:45

Open for discussion of any topic relevant to GDB development.

The GNU C Library BoF

Led by: Carlos O'Donell & Roland McGrath

Time: Sunday, 14:00-14:45, Waterfront Hall

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 developers of other components that have dependencies on glibc and glibc developers to talk about the following topics:

... and more.


Hebden Bridge Town Hall (main venue)

Hebden Bridge Town Hall

The Town Hall is in the centre of Hebden Bridge and in recent years it was extended significantly, adding modern business facilities, while retaining grade 2 listed features in the original part of the building that date back to 1897. We shall be making use of its three major public meeting rooms to provide two tracks of talks and a breakout room.

The Town Hall also has its own cafe/restaurant, and a piazza overlooking the river.

Full fibre network connectivity is available for all meeting participants.

The Birchcliffe Centre (Cauldron dinner venue)

The front of the Birchcliffe Centre

A converted Baptist church, the Birchcliffe Centre, offers an ideal venue for the Cauldron dinner.

We plan a buffet feast of regional foods, which will be accompanied by beverages from local brewers and vineyards (yes - they really exist in Yorkshire).

Birchcliffe Centre main hall

About Hebden Bridge

Hebden Bridge is a picturesque market town located in the North of England, in the foothills of the Pennines. It has a rich industrial and cultural heritage, having played an important part during the industrial revolution and being located nearby to the birthplace of the cooperative movement. Ted Hughes — who served as Poet Laureate from 1984 until his death — was born on the outskirts of the town and drew much inspiration from the local area. In more recent years it has gone on to become home to many artists and other creatives

It has also been suggested that Hebden Bridge is perfectly located to play the part of Britain's 2nd city, or rather the centre of an inverted super-city with a "greenbelt centre and suburbs called Manchester, Leeds and Liverpool." (BBC,Guardian).

Hebden Bridge has its own hackerspace, Bridge Rectifier, and if there are going to be a few people in town outside of the main Cauldron days, it may be possible to arrange access and/or some sort of social or other informal event. Suggestions are welcomed



By Air

Hebden Bridge is served by both Manchester International and Leeds/Bradford airports. Transfer time by train from both is approximately 1.75 hours.

Public Transport

Hebden Bridge station is about half a mile from the centre of town and is well served by trains from Leeds and Manchester and thence to London and all major UK destinations. For timetables and travel planning see National Rail Enquiries.


A number of taxi companies serve Hebden Bridge. You are advised to call in advance if you wish to be met at the station.

Getting around Hebden Bridge

The town is quite small, so walking is the usual mode of transport. However much of the terrain is very hilly, so be prepared for some exertion. This is particularly true when walking from the main venue, the Town Hall, to the Birchcliffe Centre.


Hebden Bridge is a small historic market town, so you won't find the major hotel chains there, but there are smaller hotels, along together with plenty of B&B and self-catering accommodation.

Please note that you are advised to do your own research to ensure that accommodation lives up to your expectations.

Local hotels, B&Bs and self-catering

There are two main hotels in the town:

There are also well serviced self-catering apartments:

Plus many smaller B&Bs and self-catering options available, details of which can be found via:

Hebden Bridge Hostel

Adjacent to the Birchcliffe Centre, the hostel provides very low cost rooms, both individual and shared. It does fill up quickly, so ensure you book well in advance.

Larger hotels (Halifax)

Larger hotels can be found in the much larger neighbouring town of Halifax, 8 miles away. There is a regular train service to get to and from Hebden Bridge, or you can take a taxi.

Crossley's Cars are located close to the Travelodge and have quoted a fare of £12-13 for a taxi to Hebden Bridge Town Hall.


The UK is generally temperate, but well known for the variability of its weather. While September can often be pleasantly warm, it can also serve up autumn gales and rain.

Wuthering Bytes

Wuthering Bytes is an annual technology festival, with events that run as part of it covering a broad range of topics, but with open source and participation being common themes. Since starting in 2013 the festival has grown in size year-on-year and 2016 promises to be the largest yet.

Festival Day (September 2)

The festival will get off to a start on Friday 2nd September and a day filled with talks covering a diverse range of topics, with a particular focus on inspirational stories and unique insights, while looking to both the history and the future of technology. Talks from previous years include:

Open Source Hardware Camp (September 3-4)

OSHCamp is the annual conference of the Open Source Hardware User Group and will be in its sixth year, typically featuring around 12 talks on the Saturday and 6 workshops on the Sunday. Topics covered in previous years include open hardware licensing, simulating and benchmarking the Adapteva Parallella board, from idea to finished product, building a maker business, and developing Linux on embedded devices.

Cauldron delegates are also invited to submit proposals for talks and workshops.

Open for Business (September 5)

This free one day conference is hosted by the BCS Open Source Group (OSSG) and aims to help anyone with or working at, an open source business, along with those who may be thinking of starting an open source business. There will be presentations that provide insights into first-hand experiences at companies ranging from micro to global in scale, together with talks that look at the economics and legal considerations, exploring open source business models and contracts.

This will be the 2nd year that Open for Business has been run and the video from 2015 is available online.

Open Smart Cities meeting (September 6)

The first in a series of events and activity working on how to apply technology, data science and innovation to the places we live. A full day of exploration, show & tell, and collaborative work - where we try and answer the questions:

Tickets via Registration page

Inaugural LLVM Cauldron (September 8)

The first ever LLVM Cauldron takes place the day before the GNU Tools Cauldron. Inspired by the success of the GNU Tools Cauldron, this conference is also free to attend and open to anyone to give a presentation. Full details via the LLVM Website.

Thanks for to sponsorship from the BCS, the professional body for computing in the UK, there will be a gala reception to conclude the LLVM Cauldron, which will also be the welcome reception for the GNU Tools Cauldron. An excellent opportunity for the two communities to mingle and share ideas.



There is much excellent walking to be had in almost very direction, with Hebden Bridge making an excellent base for novice and more adventurous walkers alike.


Hebden Bridge is less than 10 miles from the village of Haworth, where the Bronte Sisters spent most of their lives — the Bronte Parsonage is now a museum — and wrote their famous novels, as well as being one of the main stations on heritage steam railway, the Keighley & Worth Valley Railway. Hebden Bridge to Haworth is served by the 500 bus. For walkers with suitable all weather clothing, moderate experience and a day to spare, there are extremely picturesque routes across the moors from Hebden Bridge to Haworth.

20 miles+

The Museum of Science and Industry at Manchester is well worth a visit.

Hebden Bridge is also about 20 miles south of one of the UK's most starkly scenic regions, the Yorkshire Dales.

None: cauldron2016 (last edited 2017-03-16 11:19:27 by hubicka)