BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Pentabarf//Schedule 0.3//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALDESC;VALUE=TEXT:LLVM devroom X-WR-CALNAME;VALUE=TEXT:LLVM devroom X-WR-TIMEZONE;VALUE=TEXT:Europe/Brussels BEGIN:VEVENT METHOD:PUBLISH UID:12959@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220205T130000 DTEND:20220205T133500 SUMMARY:Enhanced debuggability support in LLVM for various Fortran language features DESCRIPTION:
The aim of this abstract is to showcase the enhanced debuggability support added in LLVM for the Fortran language features. LLVM being emerging compiler framework, there was some gap to be bridged w.r.t. Fortran language debug info generation. This is because Fortran language has few features which are very powerful, as compared to other languages.
Fortran dynamic arrays are one such powerful language feature. There are variety of arrays like adjustable array, assumed shape, assumed size, assumed rank, allocatable and pointer arrays. LLVM generated debug info was not sufficient to debug these many variety of arrays with GDB/LLDB. The LLVM was lacking support for multiple DWARF operators (DWOPpushobject address, DWOPover), DWARF attributes (DWATdatalocation, DWATallocated, DWATassociated, DWATrank) and a DWARF TAGs (DWTAGgeneric_subrange). Other than these, existing support for DISubrange was not sufficient to handle Fortran arrays. The same was true for Fortran strings which is not mere pointer to character type and needed more support from LLVM. Other features which needed similar LLVM support for debugging were Fortran modules, namelist and signed constants etc.
All these enhancements made in LLVM are as per DWARF4 or DWARF5 specification for the Fortran language. These enhanced debug info are used by GDB/LLDB and user debugging experience is improved now while handling these Fortran features with GDB/LLDB. In order to make use of these enhanced debug info emitted by LLVM, GDB/LLDB is also enhanced in cases where required. With these enhancements added now in LLVM, Fortran program debugging experience with the clang/flang emitted programs are on par with gcc/gfortran emitted programs and in some cases it’s even better than gcc/gfortran.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:LLVM URL:https:/fosdem.org/2022/schedule/2022/schedule/event/llvm_fortran_debug/ LOCATION:D.llvm ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Alok Sharma":invalid:nomail ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bhuvanendra Kumar N":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12385@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220205T133500 DTEND:20220205T140000 SUMMARY:How to write an extension for C DESCRIPTION:In this talk we will briefly describe how to add your own extension to C, what steps may be needed to do it. And then we will review a small example
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:LLVM URL:https:/fosdem.org/2022/schedule/2022/schedule/event/llvm_c_extension/ LOCATION:D.llvm ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Pavel Kosov":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12577@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220205T140000 DTEND:20220205T143500 SUMMARY:Coverage for eBPF programs DESCRIPTION:eBPF is fastly becoming the first choice for implementing tracing and security-critical applications and software.
Yet, its ecosystem lacks tooling to make developers' life easier.
Join this talk to get to know bpfcov: an open-source tool I wrote that uses the LLVM pass infrastructure to instrument your eBPF programs to collect coverage data while they run in the eBPF VM in the Linux kernel.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:LLVM URL:https:/fosdem.org/2022/schedule/2022/schedule/event/llvm_ebpf/ LOCATION:D.llvm ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Leonardo Di Donato":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12460@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220205T143500 DTEND:20220205T150000 SUMMARY:Llsoftsecbook: an open source book on software security for compiler developers DESCRIPTION:Compilers play a crucial role in hardening software against security attacks. As compiler engineers we experience an increase in demand for security-related features: we simply work on security-related features more often.We find it tough to analyze whether the hardenings we implement are easy or hard to circumvent by attackers. After chatting about this with many compiler developers, our experience is that most feel their work would benefit from a deeper understanding of attacks and hardening techniques. After having looked around, we didn't find much educational material that gives a broad overview, covering all aspects compiler developers ought to know about.Therefore, we recently started an open source book titled "Low Level Software Security for Compiler developers" at https://github.com/llsoftsec/llsoftsecbook/. It aims to improve the industry-wide knowledge about security hardening in compilers and related tools; ultimately leading to more innovation and better implementations of security features.In this presentation, we'll explain the rationale for this new open source project in more detail. We will discuss what content we have so far and what content we plan to add. The project very much welcomes new contributors: we need more new content, more review of content, discussion of ideas for how to make the book better, improvement in the design and layout of the produced HTML and PDF output, etc. We hope this presentation will reach both anyone interested in learning more about low-level software security and anyone interested in helping to grow this project further.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:LLVM URL:https:/fosdem.org/2022/schedule/2022/schedule/event/llvm_llsoftsecbook/ LOCATION:D.llvm ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Kristof Beyls":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12630@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220205T150000 DTEND:20220205T153500 SUMMARY:8-bit Character support on architectures were the smallest addressable unit size is 64-bit in Clang and LLVM DESCRIPTION:Clang and LLVM have a great history of supporting a great variety of CPUs, from 8- to 64-bits assuming they all have a smallest size of an addressable unit of 8-bits words. Despite the fact that a lot of types and there alignment can be defined with the “target datalayout” string, the “character” and “short” type have been hard-coded into clang and llvm.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:LLVM URL:https:/fosdem.org/2022/schedule/2022/schedule/event/llvm_8bit/ LOCATION:D.llvm ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Thomas Pietsch":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12668@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220205T153500 DTEND:20220205T160000 SUMMARY:Libc++ on Linux - using the example of Oniro DESCRIPTION:Oniro - the Eclipse Foundation's embedded operating system -is switching from libstdc++ to libc++ by default. This talkgives an overview of our experience daring tomake the switch.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:LLVM URL:https:/fosdem.org/2022/schedule/2022/schedule/event/llvm_oniro/ LOCATION:D.llvm ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Bernhard Rosenkränzer":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:12645@FOSDEM22@fosdem.org TZID:Europe-Brussels DTSTART:20220205T160000 DTEND:20220205T162500 SUMMARY:LLVM and ANTLR: A Starter on a non-Linux Machine DESCRIPTION:Although Linux is still the best preferred operating system, the talk begins with a problem statement regarding the dependencies of ANTLR and LLVM on Windows. To this end, the presenter will explain how these dependency issues can be resolved through an easy-to-use environment for building, installing and running native LLVM and ANTLR on Windows. Furthermore, the talk will briefly explain how we can design domain specific languages (DSLs) using a powerful combination of ANTLR and LLVM front end while maintaining a logical isolation of parsing and code generation.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:LLVM URL:https:/fosdem.org/2022/schedule/2022/schedule/event/llvm_antlr/ LOCATION:D.llvm ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Babar Khan":invalid:nomail END:VEVENT END:VCALENDAR