{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.1.0.dev0"}, "schedule": {"url": "https://conf.gnu-tools-cauldron.org/opo25/schedule/", "version": "1.4", "base_url": "https://conf.gnu-tools-cauldron.org", "conference": {"acronym": "opo25", "title": "GNU Tools Cauldron 2025", "start": "2025-09-26", "end": "2025-09-28", "daysCount": 3, "timeslot_duration": "00:05", "time_zone_name": "Portugal", "colors": {"primary": "#00ccff"}, "rooms": [{"name": "Auditorium B032 (80)", "slug": "4248-auditorium-b032-80", "guid": "3d3ddecb-2ccf-55f6-b4cd-b24052ab285a", "description": null, "capacity": 80}, {"name": "Auditorium B001 (170)", "slug": "4249-auditorium-b001-170", "guid": "6ee287ca-f06b-5443-9c91-47b578161d34", "description": null, "capacity": 170}, {"name": "Auditorium B002 (170)", "slug": "4250-auditorium-b002-170", "guid": "d1bb037c-988a-5563-9328-f1eba34ca7b8", "description": null, "capacity": 170}, {"name": "Auditorium B003 (170)", "slug": "4251-auditorium-b003-170", "guid": "09db018b-777b-5f2f-8732-68cd5ccbbb55", "description": null, "capacity": 170}, {"name": "Main auditorium (400)", "slug": "4247-main-auditorium-400", "guid": "2a6dd248-d9b2-5d3b-9105-3caccef49284", "description": null, "capacity": 400}, {"name": "I003 (25)", "slug": "4372-i003-25", "guid": "36707e8d-8c2f-5ac5-ad4e-bc3bc176015c", "description": null, "capacity": 25}, {"name": "I-105 (30)", "slug": "4373-i-105-30", "guid": "226da3d6-4ff2-5c4c-b452-e21194a6338f", "description": null, "capacity": 30}], "tracks": [{"name": "Talks", "slug": "5932-talks", "color": "#00e01f"}], "days": [{"index": 1, "date": "2025-09-26", "day_start": "2025-09-26T04:00:00+01:00", "day_end": "2025-09-27T03:59:00+01:00", "rooms": {"Main auditorium (400)": [{"guid": "9b1b2474-d1f9-56df-af53-c7d68670420a", "code": "FN7FKL", "id": 78079, "logo": null, "date": "2025-09-26T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "Main auditorium (400)", "slug": "opo25-78079-lane-support-in-gdb-for-debugging-gpus", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FN7FKL/", "title": "Lane support in GDB for debugging GPUs", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "GPU threads operate in SIMT/SIMD (Single Instruction Multiple Thread / Single Instruction Multiple Data) mode: They are composed of \"lanes\" that execute the same instruction together in lock-step manner, but operate on different data.  To show the execution state to the user, a debugger would need to be aware of lanes, so that program objects (e.g. local variables, function arguments, displayed expressions, etc.) are evaluated not only in a thread and call frame context, but also the lane context.  In GNU Tools Cauldron 2024, a BoF session was organized jointly by AMD and Intel, who have downstream debuggers that implement lane support.  Since then the developer teams of the two vendors compiled a common document that includes their suggested extensions to GDB commands and the user interface to introduce unified lane support to GDB.  This session presents their consensus and opens it up for discussion.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "LWHTJU", "name": "Baris Aktemur", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/LWHTJU_ZrUTDVS.webp", "biography": "Baris is a technical lead at Intel working on GDB. He received his PhD and MSc from the University of Illinois at Urbana-Champaign, USA, and his BEng from Bilkent University, Turkey.", "public_name": "Baris Aktemur", "guid": "66afd825-f52e-5576-98e3-4dc878894cdb", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/LWHTJU/"}, {"code": "7TEXTW", "name": "Lancelot Six", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/7TEXTW_aeQAsmC.webp", "biography": "Lancelot is GDB's maintainer of the AMDGPU\u202fbackbend.  He also is the tech lead for ROCgdb, AMD's downstream fork of GDB.", "public_name": "Lancelot Six", "guid": "cce6d8b1-d60f-5887-9a82-b3764a7e1917", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/7TEXTW/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/kRvXUa5JHzQ?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FN7FKL/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FN7FKL/", "attachments": [{"title": "Lane support in GDB", "url": "/media/opo25/submissions/FN7FKL/resources/GNU_Cauldron_-_Lane__AWBVOpQ.pdf", "type": "related"}]}, {"guid": "39201808-1fab-53df-afbf-94efcee5c81b", "code": "FZTXVZ", "id": 75646, "logo": null, "date": "2025-09-26T10:30:00+01:00", "start": "10:30", "duration": "01:00", "room": "Main auditorium (400)", "slug": "opo25-75646-aarch64-performance-work", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FZTXVZ/", "title": "AArch64 performance work", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This talk will go through some of the in progress and planned AArch64 performance work for GCC 16 and GCC 17.  Giving the community and partners a heads up on what to expect from Arm.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "78SWQU", "name": "Tamar Christina", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/78SWQU_AFByjxu.webp", "biography": "Compiler Engineer at Arm Holdings", "public_name": "Tamar Christina", "guid": "1e0da0f9-cb5f-5501-86bc-3df35a0bcaa2", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/78SWQU/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/Vo5T7XtoWDA?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FZTXVZ/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FZTXVZ/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/FZTXVZ/resources/AArch64_Performance__FURFOI9.pdf", "type": "related"}]}, {"guid": "9adef725-01e5-50c6-8012-e694f7608b11", "code": "Y7NMHZ", "id": 78082, "logo": null, "date": "2025-09-26T11:30:00+01:00", "start": "11:30", "duration": "01:00", "room": "Main auditorium (400)", "slug": "opo25-78082-malloc-past-present-and-future", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/Y7NMHZ/", "title": "malloc: past, present and future", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In this talk I will discuss recent improvements to GLIBC malloc, how it compares with other popular allocators, and what we could do to make malloc better - not only faster, but also safer, more maintainable and use less memory.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "TVMEWF", "name": "Wilco Dijkstra", "avatar": null, "biography": ".", "public_name": "Wilco Dijkstra", "guid": "9ba24f43-5387-552e-9844-7570487f8759", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/TVMEWF/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/_soyc5a5asQ?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/Y7NMHZ/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/Y7NMHZ/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/Y7NMHZ/resources/Malloc_Past_Present_vB6wZ4t.pptx", "type": "related"}]}, {"guid": "a00dc1ca-aea4-511f-b93a-8e7f4f608e45", "code": "SCJ9LH", "id": 75504, "logo": null, "date": "2025-09-26T13:30:00+01:00", "start": "13:30", "duration": "01:30", "room": "Main auditorium (400)", "slug": "opo25-75504-vectorizer-for-beginners", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SCJ9LH/", "title": "Vectorizer for Beginners", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "This presentation is aimed at wannabe contributors to GCCs vectorizer. It should give an elaborate overview on the innards of the vectorizer, from user up to target interaction.  After a thorough overview on the parts of the vectorizer we follow examples from loop and basic-block vectorization through the vectorizers code base, highlighting differences and commonalities.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YS8A8C", "name": "Richard Biener", "avatar": null, "biography": "Working in SUSE Labs on Toolchain.  Release manager, vectorizer, and middle-end maintainer, global reviewer.", "public_name": "Richard Biener", "guid": "ff01b5fa-9fbb-5946-99b7-4796bd11fe90", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/YS8A8C/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/C6Eu7tW02Gc?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SCJ9LH/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SCJ9LH/", "attachments": [{"title": "Slides from the talk", "url": "/media/opo25/submissions/SCJ9LH/resources/GCC_Vectorizer_for_B_PkWF4bY.pdf", "type": "related"}]}, {"guid": "f43b5a3c-0af4-5477-af1c-84fb940ad6ae", "code": "RUTTG9", "id": 80727, "logo": null, "date": "2025-09-26T16:00:00+01:00", "start": "16:00", "duration": "01:00", "room": "Main auditorium (400)", "slug": "opo25-80727-gcc-machine-descriptions-for-the-confused", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/RUTTG9/", "title": "GCC Machine Descriptions for the Confused", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "GCC machine descriptions are straightforward to implement if someone has been involved in gcc development for a while. GCC Internals is a comprehensive resource but it assumes/requires prior knowledge. As a relative newcomer to the project (RISC-V backend) I've struggled with MD patterns (and still do). The LISPy syntax doesn't initially help either. This is my attempt to collect my learning of the last few years. If you don't know what a \"Bridge\" pattern is or confused between define_split and define_insn_and_split, this is the talk for you !", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "KVSKDM", "name": "Vineet Gupta", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/KVSKDM_ufItxRU.webp", "biography": "I work on gcc RISC-V backend, for a few years now. I work at a startup called Rivos Inc. in Silicon Valley, where we are building High Performance RISC-V systems. I'm a seasoned Open Source Hacker still proud of my first public contribution to Busybox and over a career of 25 years I've ported, upstreamed and maintained Linux kernel, glibc and several others to multiple generation and ISA of Synopsys ARC processors.", "public_name": "Vineet Gupta", "guid": "1073ba66-13e6-5a7c-af57-f24e4ca3304e", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/KVSKDM/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/oOIVV9qlz2I", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/RUTTG9/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/RUTTG9/", "attachments": [{"title": "GNU Cauldron 2025: GCC Machine Descriptions for the Confused", "url": "/media/opo25/submissions/RUTTG9/resources/GCC_Machine_Descript_9hCHRpf.pdf", "type": "related"}]}], "Auditorium B032 (80)": [{"guid": "b54a7e78-6be9-558d-af5c-00626a836876", "code": "YV7F3H", "id": 78288, "logo": null, "date": "2025-09-26T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-78288-autofdo-recent-improvements", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YV7F3H/", "title": "AutoFDO - recent improvements", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "I will discuss recent progress on AutoFDO. This feature was originally contributed by Google in 2014 and allows to use of profiles generated by low-overhead profiling (perf) to guide optimisation. I will discuss work needed to make AutoFDO to cooperate with link-time optimisation and the changes needed to modernise the infrastructure for the current GCC.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "XMGZH8", "name": "jan Hubi\u010dka", "avatar": null, "biography": "GCC developer since 1998, since 2000 at SUSE. Associate professor at Charles University.", "public_name": "jan Hubi\u010dka", "guid": "df9ed01a-3e20-5f6c-9c03-c6b937d22b12", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XMGZH8/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/E-TGLR_w0I0?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YV7F3H/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YV7F3H/", "attachments": []}, {"guid": "0b85ff9f-0073-5e7c-ae0c-afd1a2be30f9", "code": "3PGTEY", "id": 81905, "logo": null, "date": "2025-09-26T10:30:00+01:00", "start": "10:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-81905-source-to-source-compilation-for-hardware-software-codesign", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3PGTEY/", "title": "Source-to-Source Compilation for Hardware/Software Codesign", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Critical performance regions of applications are often improved by offloading them onto specialized accelerators. This process requires selecting an adequate region of the program, subject to any eventual data dependencies, communication overheads, and the nature of the computations done in that region. Due to the complexity of this problem and the high variability of downstream vendor tools, an automated approach to this problem invites the use of a source-to-source compiler as the first stage of the compilation pipeline, preserving the source code's readability and retargetability. To this end, we propose using the Clava C/C++ source-to-source compiler to take in any C or C++ application, find and optimize adequate regions for offloading, and output those regions as separate translation units. By leveraging Clang's Abstract Syntax Tree (AST), Clava allows for a developer to write highly composable extensions that perform analysis and transformations over that AST, using modern scripting languages such as JavaScript and TypeScript. We demonstrate an entire source-to-source compilation flow for accelerating a C/C++ application, including extensions ranging from source code transformations such as function outlining and struct flattening; generation of a task graph representation of any C/C++ application; and selecting and extracting code regions for different types of accelerators, including the automatic generation of the communication layer using different APIs.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "DZBPXZ", "name": "Tiago Santos", "avatar": null, "biography": "Tiago Santos received the M.Sc. degree in Informatics and Computer Engineering from the University of Porto, Portugal, in 2020, where he is currently finishing a Ph.D. degree in Informatics Engineering. His current interests include CPU/FPGA heterogeneous computing, high-level synthesis and compilation techniques.", "public_name": "Tiago Santos", "guid": "7201a34b-edec-54af-800f-645272525890", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/DZBPXZ/"}], "links": [{"title": "Reproducible demo", "url": "https://github.com/specs-feup/gnu-tools-cauldron-2025-demo", "type": "related"}, {"title": "Video of the talk", "url": "https://youtu.be/EIBQIG5A9m8", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3PGTEY/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3PGTEY/", "attachments": [{"title": "Presentation slides", "url": "/media/opo25/submissions/3PGTEY/resources/GNU_Tools_Cauldron__MTLcuks.pptx", "type": "related"}]}, {"guid": "d415c461-d6bf-5314-9c16-e5943c3f3143", "code": "XYMAKN", "id": 75043, "logo": null, "date": "2025-09-26T11:30:00+01:00", "start": "11:30", "duration": "00:15", "room": "Auditorium B032 (80)", "slug": "opo25-75043-function-multi-versioning-developments-and-goals-for-the-future", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/XYMAKN/", "title": "Function multi-versioning developments, and goals for the future", "subtitle": "", "track": null, "type": "Lightning Talks", "language": "en", "abstract": "Its very common that CPU's with fancy extensions and features overwhelmingly run code that is compiled for a baseline arch without any of the features enabled. Function multi versioning is a compiler framework for GCC generating multiple versions of a function, and dispatching the correct version according to the host system at load time. This talk will discuss recent developments, and the dreams for the future.", "description": "We'll talk through the current state of function multi versioning, why we view it as important, and why it needs help for the wider GCC community. Then will discuss what our ambitions/hopes are for the future and try get some feedback from others in the community.", "recording_license": "", "do_not_record": false, "persons": [{"code": "XERQGR", "name": "Alfie Richards", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/XERQGR_Pe7n3XR.webp", "biography": "GCC engineer at Arm.", "public_name": "Alfie Richards", "guid": "0fe5267b-b398-5a08-9ebe-eccd3e1bcca4", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XERQGR/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/iB5wayUK93A?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/XYMAKN/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/XYMAKN/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/XYMAKN/resources/FMV-Cauldron-25_VcqdlRP.pdf", "type": "related"}]}, {"guid": "198216d8-98ad-59b0-82a2-a4dedddb7a8a", "code": "MA8Z7C", "id": 75627, "logo": null, "date": "2025-09-26T11:45:00+01:00", "start": "11:45", "duration": "00:15", "room": "Auditorium B032 (80)", "slug": "opo25-75627-using-ffmpeg-as-benchmark-to-verify-performance-of-gcc-and-llvm", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/MA8Z7C/", "title": "Using FFmpeg as Benchmark to verify performance of GCC and LLVM", "subtitle": "", "track": null, "type": "Lightning Talks", "language": "en", "abstract": "Compare currently GCC and LLVM performance difference using FFmpeg as benchmark.\r\nTested on a RISC-V develop board, contains vectorization performance improvement results.", "description": "We will introduce how to use FFmpeg as a benchmark, to compare GCC and LLVM\r\nperformance on it with different situation.\r\n\r\nThe test is mainly based on the RISC-V development board Muse Pi Pro with RVV1.0 feature. \r\nIn addition, some problems that need to be solved will also be briefly introduced.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HXW77K", "name": "Jiawei Chen", "avatar": null, "biography": "RISC-V GCC  developer, from ISCAS PLCT-lab", "public_name": "Jiawei Chen", "guid": "1974ed69-0c27-5a59-83aa-64d593d71764", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/HXW77K/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/BGns00WdfMQ?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/MA8Z7C/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/MA8Z7C/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/MA8Z7C/resources/Using_FFmpeg_as_Ben_VvCyx1d.pptx", "type": "related"}]}, {"guid": "142bb34b-142b-5e66-b9f9-95648a767709", "code": "VFLCJJ", "id": 80833, "logo": null, "date": "2025-09-26T12:00:00+01:00", "start": "12:00", "duration": "00:15", "room": "Auditorium B032 (80)", "slug": "opo25-80833-measuring-the-health-of-the-gcc-community", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VFLCJJ/", "title": "Measuring the health of the GCC community", "subtitle": "", "track": null, "type": "Lightning Talks", "language": "en", "abstract": "In this short talk, I look at how data mining of repository activity and mailing lists can give insight to the health of a community project. The talk offers no prescriptions, its purpose is to share techniques that may be useful to the community.", "description": "All the interactions of an open source project are publicly visible.  This includes commits to repositories, activity on bug trackers and interactions on mailing lists.  In this talk I will show how this data can be mined to measure the health of community.  Which backends are healthy, and which are languishing, how large are the groups maintaining different parts of the project.  We can even start to consider factors such as how inclusive our community is.", "recording_license": "", "do_not_record": false, "persons": [{"code": "EFWZWB", "name": "Jeremy Bennett", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/EFWZWB_smQ5FUD.webp", "biography": "Jeremy Bennett is Chief of Executive of Embecosm, a specialist open source consultancy, best known for its work with compiler and AI tool chains.  He is author of the standard textbook \"Introduction to Compiling Techniques\" (McGraw-Hill 1990, 1995, 2003).  Jeremy has attended every GNU Tools Cauldron and is a director of the GNU Tools Cauldron Community Interest Company.", "public_name": "Jeremy Bennett", "guid": "e1e15f02-9ddd-5e84-9117-00ea0825615a", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/EFWZWB/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/lN-Y96J6Sm0", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VFLCJJ/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VFLCJJ/", "attachments": []}, {"guid": "8e93b4fb-ef2e-5505-87cc-0828798ed238", "code": "NM7MDT", "id": 79262, "logo": "https://conf.gnu-tools-cauldron.org/media/opo25/submissions/NM7MDT/rise_logo_zWNrz27.svg", "date": "2025-09-26T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-79262-comparative-analysis-of-gcc-codegen-for-aarch64-and-risc-v", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/NM7MDT/", "title": "Comparative Analysis of GCC Codegen for AArch64 and RISC-V", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This contribution explores possible improvements in GCC code generation for RISC-V. We collected dynamic instruction counts from selected SPEC CPU 2017 benchmarks and compared the results with AArch64. Findings reveal that prominent compiler weaknesses include missing instruction patterns, extra move instructions, unused load offsets, and functionally dead code. Additionally, vectorising library functions, like memset and mathematical operations, are crucial for maximising RISC-V efficiency.", "description": "This work has been carried out as a collaboration between BayLibre and Rivos Inc., and funded by the RISE Project.", "recording_license": "", "do_not_record": false, "persons": [{"code": "XMYSNE", "name": "Paul-Antoine Arras", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/XMYSNE_xUgfN6U.webp", "biography": "Paul\u2011Antoine Arras is a compiler engineer at BayLibre with a strong focus on open-source compiler projects, particularly GCC and LLVM. With a PhD in computer science from the University of Bordeaux, he has contributed to optimising compilers for RISC-V, AMD GPUs, and C++ software. His work includes the implementation of OpenMP features, support for custom instruction sets, and involvement in selective binary rewriting tools like SaBRe. Paul\u2011Antoine is also an active speaker and author in the field, with contributions to FOSDEM and GNU/Linux Magazine France.", "public_name": "Paul-Antoine Arras", "guid": "2cc2c1e7-de61-5f18-a324-6fe52296b0e7", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XMYSNE/"}], "links": [{"title": "Slides (GDrive)", "url": "https://docs.google.com/presentation/d/1F8WXCLDgybm9qh6wegTfZMm-7iGirLgpFSfQdPjmpkg/edit?usp=sharing", "type": "related"}, {"title": "Video of the talk", "url": "https://youtu.be/vtV696SszsY?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/NM7MDT/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/NM7MDT/", "attachments": [{"title": "Slides (PDF)", "url": "/media/opo25/submissions/NM7MDT/resources/Comparative_Analysis_5bJOkCa.pdf", "type": "related"}]}, {"guid": "73125d0a-3319-5c0d-be49-b6e862c0615a", "code": "FHSXQA", "id": 78154, "logo": null, "date": "2025-09-26T14:30:00+01:00", "start": "14:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-78154-gcc-google-summer-of-code-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FHSXQA/", "title": "GCC Google Summer of Code BoF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "GCC has participated in the Google Summer of Code (GSoC) program since 2006 (with one year gap) but for a long time we have not shared experiences, best practices and ideas for improvements in some organized form among the mentors and GSoC \"org-admins.\"  The idea of this BoF is to do exactly that.", "description": "We may focus on the following bullet points as well as anything that comes up during the BoF.\r\n\r\n1. Better selection of candidates.  It occasionally happens that a selected GSoC contributor needs too much hand-holding from their mentor(s) which can lead to decreased willingness of mentors to participate in the program in next years or their outright burn-out.\r\n\r\n2. Make contributors engage with the community more.  Often it feels that that accepted contributors are unwilling to ask questions on the mailing list and either communicate just with their mentor(s) in private emails or wait until their next meeting.  This slows projects down and puts the entire guidance burden on the mentor(s) where community would often be able to help.\r\n\r\n3. We might want to coordinate more when it comes to evaluations, outlining at least some common criteria for these.  In fact, we may want to be stricter and fail more projects.\r\n\r\n4. We should talk about anything that makes mentoring easier and more fun.  \r\n\r\n5. We should try to retain more contributors as long(er) term contributors to GCC.  While we have gained a few important long-term community members through the program and some folk stick around for a few months, we should probably try to retain more.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZJDMVV", "name": "Martin Jambor", "avatar": null, "biography": "IPA reviewer.  Author of IPA-CP, IPA-SRA, tree-SRA and some related stuff.  GCC GSoC org-admin.", "public_name": "Martin Jambor", "guid": "b60884a3-43a6-5b2a-a2e3-f5291e051c3c", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/ZJDMVV/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/8RN7Nx7gVWo?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FHSXQA/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FHSXQA/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/FHSXQA/resources/mjambor-gsoc_bof-cau_PcBrscg.pdf", "type": "related"}]}, {"guid": "89401986-cbee-5d50-b379-f34cc3c82063", "code": "LQTU3G", "id": 80992, "logo": null, "date": "2025-09-26T16:00:00+01:00", "start": "16:00", "duration": "00:30", "room": "Auditorium B032 (80)", "slug": "opo25-80992-new-tls-allactors-for-glibc", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LQTU3G/", "title": "New TLS allactors for glibc", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "This presentation covers a design of a new thread-local storage (TLS) allocator for the GNU C Library (glibc). The goal of this project is to unify the allocation algorithm for initial-exec TLS, global-dynamic TLS, and POSIX thread-specific data (as created by `pthread_key_create`). It unifies ideas that have been circulated within the glibc community for many years.", "description": "In glibc, we currently have two different algorithms for initial-exec TLS allocation, depending on the TCB layout. Global-dynamic TLS uses a completely different, lazy allocation approach. POSIX TSD (`pthread_key_create`) is based on yet another separate algorithm with its own data structures. The proposal is for a new allocator that explicitly keeps track of the gaps between allocations, and use that everywhere. TCB differences will be handled by presenting the gaps available for allocation to the allocator, based on architecture-specific details. Global-dynamic TLS and `pthread_key_create` can use part of the initial-exec TLS area, but will eventually switch to separate slices of TLS memory. These slices follow an exponential growth policy, so only a small number of them will ever be needed, and pointers to these slices can be kept in a fixed-size array directly in the TCB.\r\n\r\nThe changes will eliminate lazy TLS memory allocation and slow paths from TLS accessor functions.  Memory allocation failures will be reported upfront (at `dlopen` or `pthread_create`), and no longer via process termination. A previous attempt to make similar changes had to be reverted because Address Sanitizer was broken by it, and could not be fixed in time for the release. For this new effort, it should be possible to achieve Address Sanitizer compatibility by using its `malloc` to allocate TLS memory (after detecting that Address Sanitizer is active).", "recording_license": "", "do_not_record": false, "persons": [{"code": "9MAZAE", "name": "Florian Weimer", "avatar": null, "biography": "Florian is a long-time contributor to the GNU toolchain, particularly glibc. He currently serves as the glibc tech lead on the Red Hat Platform Tools team.", "public_name": "Florian Weimer", "guid": "664dda84-6d90-5744-a570-d4fcf964ac9d", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/9MAZAE/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/JIkS4aLvQPg", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LQTU3G/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LQTU3G/", "attachments": [{"title": "glibc TLS allocator slides", "url": "/media/opo25/submissions/LQTU3G/resources/tls_z0ToUZm.pdf", "type": "related"}, {"title": "glibc TLS allocator slides source code (LaTeX, TikZ)", "url": "/media/opo25/submissions/LQTU3G/resources/tls_hgvwY9J.tex", "type": "related"}]}, {"guid": "345ee9c9-7bb7-54a3-adc5-1beb1e1ed723", "code": "8NUW3L", "id": 80993, "logo": null, "date": "2025-09-26T16:30:00+01:00", "start": "16:30", "duration": "00:15", "room": "Auditorium B032 (80)", "slug": "opo25-80993-a-heap-dumper-for-glibc", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8NUW3L/", "title": "A heap dumper for glibc", "subtitle": "", "track": null, "type": "Lightning Talks", "language": "en", "abstract": "This session showcases the [glibc heap dumper](https://gitlab.com/fweimer-rh/heapdumper), a tool to obtain information about active memory allocations and `malloc` heap layout from coredumps.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "9MAZAE", "name": "Florian Weimer", "avatar": null, "biography": "Florian is a long-time contributor to the GNU toolchain, particularly glibc. He currently serves as the glibc tech lead on the Red Hat Platform Tools team.", "public_name": "Florian Weimer", "guid": "664dda84-6d90-5744-a570-d4fcf964ac9d", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/9MAZAE/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/BNMs6Z_qFns", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8NUW3L/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8NUW3L/", "attachments": [{"title": "glibc heap dumper slides", "url": "/media/opo25/submissions/8NUW3L/resources/heapdumper_x3T08QF.pdf", "type": "related"}, {"title": "glibc heap dumper slides LaTeX source code", "url": "/media/opo25/submissions/8NUW3L/resources/heapdumper_ygU3Mes.tex", "type": "related"}]}], "I-105 (30)": [{"guid": "76cffec9-d2ba-53c5-8334-48d2694c9403", "code": "YSGAPE", "id": 80827, "logo": null, "date": "2025-09-26T10:30:00+01:00", "start": "10:30", "duration": "00:15", "room": "I-105 (30)", "slug": "opo25-80827-building-linux-kernel-with-lto", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YSGAPE/", "title": "Building Linux kernel with LTO", "subtitle": "", "track": null, "type": "Lightning Talks", "language": "en", "abstract": "We have made progress building Linux kernel with LTO by solving issues with top-level assembly.\r\nThis is an overview of how you can build the Linux kernel with LTO today and what are the remaining issues.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "VUMAH3", "name": "Michal Jire\u0161", "avatar": null, "biography": "I work at SUSE on GCC, mostly on LTO", "public_name": "Michal Jire\u0161", "guid": "c62adfe5-5db0-536d-ab0a-6933eb0a44a1", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/VUMAH3/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/aBrJ6DARTPc", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YSGAPE/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YSGAPE/", "attachments": [{"title": "slides", "url": "/media/opo25/submissions/YSGAPE/resources/mjires-Cauldron2025_yE9HX3S.pdf", "type": "related"}]}, {"guid": "7e677e7c-69e5-5899-94fa-8b11dd78996f", "code": "SBMUWN", "id": 75134, "logo": null, "date": "2025-09-26T10:45:00+01:00", "start": "10:45", "duration": "01:30", "room": "I-105 (30)", "slug": "opo25-75134-toolchain-and-linux-kernel", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBMUWN/", "title": "Toolchain and Linux kernel", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "Author: Steven Rostedt (Kernel maintainer)\r\nAuthor: Paul E. McKenney (Kernel maintainer)\r\nAuthor: Alexei Starovoitov (Kernel maintainer)\r\nAuthor: Jose E. Marchesi (GNU toolchain)\r\n\r\n\r\nThe Linux kernel, which is by far one of the biggest, more complex and\r\nmore important programs around, is (still) mainly built using the GNU\r\nToolchain.\r\n\r\nThere is an intimate relationship between toolchain and kernel.\r\n\r\nCompiling a huge, complex and specialized program such as the kernel\r\noften implies facing challenging or unusual requirements on the\r\ntoolchain side. This includes security related requirements. Also, some\r\nof the toolchain components interface directly with the kernel. In the\r\ncase of glibc, it even provides the main visible interface from the\r\nkernel to userland programs. The support for BPF is also mainly Linux\r\nkernel specific.\r\n\r\nThis relationship benefits both projects. For example, an actively\r\nmaintained toolchain can quickly include kernel specific\r\nenhancements. And vice versa, the toolchain benefits from the associated\r\nrelevance that makes corporations support its development. It is\r\ncertainly not unusual for a feature introduced primarily for kernel\r\nusage to also be very useful to other programs. Examples of this are the\r\nsupport for patchable function entries, \"asm goto\", fentry , and several\r\nsecurity related features.\r\n\r\nIn order to improve this relationship a Toolchains Track has been\r\norganized for some years now at the Linux PLumbers Conference. The aim\r\nof the track is to fix particular toolchain (both GNU and LLVM) issues\r\nwhich are of interest to the kernel and, ideally, find and agree on\r\nsolutions right away, during the track, making the best use of the\r\nopportunity to discuss the issues live with kernel developers and\r\nmaintainers. The LPC toolchains track is proving very useful, although\r\nit is not always easy to bring toolchain hackers there, given it is a\r\nkernel specific conference.\r\n\r\nWe propose to have a Toolchain and Linux Kernel BoF during Cauldron this\r\nyear, with the participation of at least one Linux kernel\r\nmaintainer. The goals of the BoF are (a) to discuss about particular\r\nrequirements, desired features and on-going developments that are\r\nrelevant to the kernel and (b) to gather kernel related\r\nquestions/input/feedback from the toolchain developers so we can bring\r\nthe issues to the LPC Toolchains Track, which will be held later in the\r\nyear after Cauldron.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "NQYMKF", "name": "Jose Marchesi", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/NQYMKF_0V940Sp.webp", "biography": "GNU hacker and maintainer", "public_name": "Jose Marchesi", "guid": "9ef127be-d49d-5ed1-ad7d-9950047c5558", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/NQYMKF/"}, {"code": "WHFFCW", "name": "Paul McKenney", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/WHFFCW_LhkvLY9.webp", "biography": "Paul E. McKenney is a software engineer at Meta Platforms, and has been coding for almost half a century, with more than half of that on multicore hardware. Paul is lead maintainer of the RCU implementation within the Linux kernel, where the variety of workloads present highly entertaining performance, scalability, real-time response, and energy-efficiency challenges.  Paul also is lead maintainer for the Linux-kernel memory model (LKMM).\r\n\r\nPaul previously worked for IBM LTC, Sequent Computer Systems, SRI International, himself, and the Oregon State University Computer Center, with his work having migrated from the upper reaches of the application stack to the lower reaches of the Linux kernel.\r\n\r\nHe received bachelors degrees in Mechanical Engineering and Computer Science and a masters degree in Computer Science, all from Oregon State University, along with a Ph.D. in Computer Science and Engineering from the OGI School of Science & Engineering at Oregon Health & Science University. He holds more than 100 patents and has a few hundred publications, perhaps most notably a freely downloadable book entitled \u201cIs Parallel Programming Hard, And If So, What Can You Do About It?\u201d, which has been used in university courses and translated into Korean, Chinese, Japanese, and Russian. His hobbies include hiking and gym workouts along with the usual house-wife-and-grown-kids habit.", "public_name": "Paul McKenney", "guid": "2db5bd79-5ccd-5de8-8fd4-1de578f916e4", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/WHFFCW/"}, {"code": "KKTCPD", "name": "Alexei", "avatar": null, "biography": "All things BPF", "public_name": "Alexei", "guid": "09351641-9ede-5563-a29a-282c971e2395", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/KKTCPD/"}, {"code": "8CH8SP", "name": "Steven Rostedt", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/8CH8SP_c3WgmOg.webp", "biography": "Steven Rostedt currently works for Google on the ChromeOS base OS performance team. Steven is one of the senior maintainers of the Linux kernel. He is the main developer, maintainer and creator of ftrace, the official tracer of the Linux kernel, as well as the user space tools and libraries that interact with it. Steven is one of the original developers for the Real Time patch (PREEMPT_RT) and still helps maintain the stable releases of the Real Time patch set. He also develops ktest.pl (in the kernel) and created the \"make localmodconfig\" kernel build option", "public_name": "Steven Rostedt", "guid": "514c70b3-5426-5aa1-a39e-28eeb7177491", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/8CH8SP/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/03FiWIcic_g?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBMUWN/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBMUWN/", "attachments": [{"title": "Slides for Kernel Recipes 2025 talk by Thomas Schwinge", "url": "/media/opo25/submissions/SBMUWN/resources/GNU_Compiler_Collect_Mddin6s.pdf", "type": "related"}, {"title": "Slides for BTF inline from Alan Maguire", "url": "/media/opo25/submissions/SBMUWN/resources/btf-inlines_lYkMusm.pdf", "type": "related"}]}, {"guid": "99c10fde-2178-5129-8276-9db682c5d345", "code": "9KJV9X", "id": 80005, "logo": null, "date": "2025-09-26T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "I-105 (30)", "slug": "opo25-80005-bpf-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9KJV9X/", "title": "BPF BoF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "In this BoF we will be discussing topics related to the BPF target in the GNU Toolchain.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "NQYMKF", "name": "Jose Marchesi", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/NQYMKF_0V940Sp.webp", "biography": "GNU hacker and maintainer", "public_name": "Jose Marchesi", "guid": "9ef127be-d49d-5ed1-ad7d-9950047c5558", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/NQYMKF/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/DgiEC3qSNKE", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9KJV9X/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9KJV9X/", "attachments": []}, {"guid": "8e5bc4ad-14b3-597d-b964-d0bad7b1ec03", "code": "LZHWTK", "id": 80278, "logo": null, "date": "2025-09-26T16:00:00+01:00", "start": "16:00", "duration": "01:00", "room": "I-105 (30)", "slug": "opo25-80278-introduction-to-upstream-patch-review-in-gcc", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LZHWTK/", "title": "Introduction to upstream patch review in GCC", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "Patch review bandwidth has been identified as a bottleneck for GCC development many times over the years. We have taken steps to address it, such as appointing people in reviewer roles. But we can do more to reduce the friction for contributors to try patch review.\r\nI will present some motivation to start reviewing patches and address common perceived barriers to doing so.\r\nOne take away from advocating for upstream patch review among colleagues is that there are no good set of guidelines to refer to when reviewing patches. In this talk I propose a set of baseline guidelines for patch review for the GCC project that can act as a starting point for budding reviewers. These can include technical design conventions that we want to maintain, common mistakes to look out for, testing and benchmarking considerations, commit message reviews, deployment concerns, and more high-level, social etiquette and procedural considerations.\r\nI am interested in feedback on these guidelines and ideas on how and where we may want to advertise them for newcomers.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "XXUYHT", "name": "Kyrill Tkachov", "avatar": null, "biography": "I work in the CPU compiler team at NVIDIA, looking at GCC performance and features needed for our CPUs", "public_name": "Kyrill Tkachov", "guid": "2b99431e-27a5-5e1d-90c1-7c086e5ca9e4", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XXUYHT/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/hxkrtxVAHlU", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LZHWTK/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LZHWTK/", "attachments": [{"title": "Introduction to upstream patch review in GCC", "url": "/media/opo25/submissions/LZHWTK/resources/Patch-review-GNU-ca_Z9ca6Ne.pptx", "type": "related"}]}]}}, {"index": 2, "date": "2025-09-27", "day_start": "2025-09-27T04:00:00+01:00", "day_end": "2025-09-28T03:59:00+01:00", "rooms": {"Auditorium B032 (80)": [{"guid": "6a883eec-895a-5396-8847-fa8354b6dd60", "code": "7VGPWL", "id": 80784, "logo": null, "date": "2025-09-27T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-80784-abi-change-analysis-in-libabigail-2-8", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/7VGPWL/", "title": "ABI change analysis in Libabigail 2.8", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This presentation exposes the improvements of the Libabigail framework\r\nthat occurred since the end of the 2024, across the 2.7 and 2.8\r\nreleases.\r\n\r\nAs many of those improvements were about improving the signal to noise\r\nratio of ABI change reports, the talk presents the internals of the\r\nmiddle-end and how it relates to categorizing ABI changes in such a\r\nway that the back-ends that generate ABI change reports can be better\r\nequipped to lower the rate of false positives.\r\n\r\nBesides the deep dive in the middle-end internals, the talk walks\r\nthrough the user-facing improvements of the tools written using the\r\nframework in the 2.7 and 2.8 releases.\r\n\r\nThe talk ends with some considerations about future perspectives of\r\nimprovements that still needs to be addressed.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YDF8AG", "name": "Dodji Seketeli", "avatar": null, "biography": "Dodji Seketeli is a member of the Platform Tools engineering team at Red Hat.  He currently focuses on Application Binary Interface change analysis tooling across the full life cycle of the Red Hat Enterprise Linux related products.", "public_name": "Dodji Seketeli", "guid": "21c8b3dd-392d-5e77-bfd8-65c29f4aeb42", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/YDF8AG/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/8KpPfdSH90U", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/7VGPWL/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/7VGPWL/", "attachments": [{"title": "PDF of the presentation", "url": "/media/opo25/submissions/7VGPWL/resources/abi-change-analysis-_WjQu74h.pdf", "type": "related"}]}, {"guid": "bf0d2a80-ceeb-56e0-985e-573e8db92e69", "code": "FNC8SK", "id": 79953, "logo": null, "date": "2025-09-27T10:30:00+01:00", "start": "10:30", "duration": "00:30", "room": "Auditorium B032 (80)", "slug": "opo25-79953-time-traveling-through-the-gcc-pr-database-and-testsuite", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FNC8SK/", "title": "Time-traveling through the GCC PR database and testsuite", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "Tasked with identifying safer optimization flags and GCC releases to use,\r\nwe've developed techniques to extract information from the PR database\r\nand from the testsuite.  We've found that the growing PR density over\r\ntime is not intuitively correlated with quality, but that running\r\n\"future\" torture testsuites with extra optimization flags on \"past\"\r\nreleases can provide useful insights about relevant points of\r\ninstability.\r\n\r\nSlides at https://www.lx.oliva.nom.br/slides/timetravel.en.pdf", "description": "Though higher PRs/quarter, /month, /week, /day could intuitively\r\ncorrelate with higher instability, we find that it correlates with\r\nstricter scrutiny: it amounts to more eyes collaborating to shake bugs\r\nout, rather than more bugs being introduced.  Indeed, PR frequency has\r\nbeen on the rise, and that correlates with higher rather than lower\r\nstability.\r\n\r\nWe've resorted to a time-traveling technique to identify (un)safer\r\noptimizations: adding optimization-disabling flags to torture options of\r\nnewer testsuites, and running them with older compiler releases, so as\r\nto identify flags that most avoid problems that would only be uncovered\r\nin the future.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LLSKKD", "name": "Alexandre Oliva", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/LLSKKD_leCxA4x.webp", "biography": "Free Software activist and developer.  Recognized by the Free Software Foundation with the Award for Advancement of Free Software.  GNU Project speaker and advisor.  FSF Latin America founding board member, FSF voting member.  Co-maintainer of GNU Linux-libre, IRPF-Livre, GNU Compiler Collection, GNU binutils and GNU libc.  Independent consultant with AdaCore.", "public_name": "Alexandre Oliva", "guid": "53c21a78-60a0-5a85-8cd0-6e8aad36422b", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/LLSKKD/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/PvnP2XGuR6Q", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FNC8SK/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/FNC8SK/", "attachments": []}, {"guid": "8da5456a-df94-5e85-b03d-01e9bffa5624", "code": "YZTJNG", "id": 80741, "logo": null, "date": "2025-09-27T11:00:00+01:00", "start": "11:00", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-80741-simplifying-custom-instruction-integration-in-gcc-for-risc-v-processors", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YZTJNG/", "title": "Simplifying Custom Instruction Integration in GCC for RISC-V processors", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "How can users add new instructions without knowledge on GCC internals?\r\n\r\nIntegrating custom instructions into a RISC-V processor typically requires deep familiarity with GCC internals, particularly its RTL and backend architecture. This talk presents APEX, an approach for defining custom RISC-V instructions in GCC directly from C using pragmas, or assembly source code. Rather than modifying the compiler internals directly, users can define new operations using a simple \"#pragma\" and a function declaration, which are then parsed by the front end and transformed into GCC\u2019s internal RTL (RTX) representation. This approach eliminates the need for manual backend modifications, making custom instruction support more accessible to users.\r\n\r\nWe will explore the APEX pipeline in detail - from parsing APEX input C-code to instruction emission and encoding in Binutils, understand how APEX instructions are handled by the assembler, disassembler/debugger.\r\n\r\nThis presentation targets compiler engineers, toolchain maintainers and hardware architects interested in extending RISC-V with domain-specific instructions while working within the GNU ecosystem. APEX reduces the need to dig into GCC internals, allowing contributors to prototype, experiment, and upstream new ideas with less effort.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "BWMLUA", "name": "Luis Silva", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/BWMLUA_exSY2Vz.webp", "biography": "Hello, I am a junior compiler engineer passionate about compilers and low-level programming, with a particular focus on GCC internals.", "public_name": "Luis Silva", "guid": "825cf003-f291-5045-a56d-8736f32d90b7", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/BWMLUA/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/jHfxkAN3Qtw", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YZTJNG/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YZTJNG/", "attachments": [{"title": "slides", "url": "/media/opo25/submissions/YZTJNG/resources/luis-silva-gnu-cauld_k8vePaO.pdf", "type": "related"}]}, {"guid": "f0692487-7445-5c54-94c5-bf6b75e4408b", "code": "YTTYJE", "id": 80873, "logo": null, "date": "2025-09-27T12:00:00+01:00", "start": "12:00", "duration": "00:20", "room": "Auditorium B032 (80)", "slug": "opo25-80873-risc-v-unified-database-automating-extension-integration-across-binutils-qemu-and-beyond", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YTTYJE/", "title": "RISC-V Unified Database: Automating Extension Integration Across Binutils, QEMU, and Beyond", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "RISC-V's rapid growth to more than 100 extensions and 1000 instructions creates maintenance challenges across the ecosystem. Tools like Binutils, QEMU, and the Linux kernel each maintain separate definitions for standard and custom instructions and extensions, leading to fragmentation and repetitive maintenance burden.\r\n \r\nThe RISC-V Unified Database (UDB) is a machine-readable source of truth for instructions and CSRs, containing ~90% of RISC-V instructions. We built a framework that continuously validates UDB against Binutils data and ensures both stay in sync. Moreover, we created a generator that converts UDB data into Binutils and QEMU definitions, reducing effort for developers porting new or custom extensions.\r\n \r\nThis talk will demonstrate UDB's toolchain verification, cross-validation results, and how developers can leverage UDB to port new RISC-V extensions into the GNU toolchain.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "NHSNB8", "name": "Afonso Oliveira", "avatar": null, "biography": "Afonso Oliveira is a core developer of the RISC-V Unified Database project. He implemented UDB's initial instruction description format and verification infrastructure, and developed the automated generation tools for GNU toolchain integration and cross-verification.", "public_name": "Afonso Oliveira", "guid": "afc86850-d628-56ac-b0ac-2d7c3cdbbe24", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/NHSNB8/"}], "links": [{"title": "UDB Repo", "url": "https://github.com/riscv-software-src/riscv-unified-db", "type": "related"}, {"title": "Video of the talk", "url": "https://youtu.be/6r-PobBq_tc", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YTTYJE/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/YTTYJE/", "attachments": [{"title": "Talk Slides", "url": "/media/opo25/submissions/YTTYJE/resources/Cauldron_UDB_2025_BiqrohL.pdf", "type": "related"}]}, {"guid": "1d3f282e-c6b0-513f-9ff3-f6a51f1261ec", "code": "XL3XQD", "id": 80847, "logo": null, "date": "2025-09-27T13:30:00+01:00", "start": "13:30", "duration": "00:30", "room": "Auditorium B032 (80)", "slug": "opo25-80847-profiledb-optimize-your-distro-builds-with-crowdsourced-profile-corpus", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/XL3XQD/", "title": "profiledb: optimize your distro/builds with crowdsourced profile corpus", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "Profile-guided optimizations are not new, but also not that popular.  Why?  Maybe because your build workflow can't easily include profile gathering - and every time.  What if we could share profile data with each other, so you could take advantage of public crowdsourcing?  What if you could easily contribute back your workload profiles?  What if we can integrate this into distro build systems?  Let's try with profiledb: a bit of glue between git, profilers, and linkers.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RXMCZQ", "name": "Frank Ch. Eigler", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/RXMCZQ_ST4EjG5.webp", "biography": "System software builder & designer.", "public_name": "Frank Ch. Eigler", "guid": "9b8315e7-22a7-5eea-89ff-92d567f17b1d", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/RXMCZQ/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/um319CZFuTg", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/XL3XQD/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/XL3XQD/", "attachments": [{"title": "slides", "url": "/media/opo25/submissions/XL3XQD/resources/profiledb_Eil0Ouw.pdf", "type": "related"}]}, {"guid": "b2d8107d-cd31-5d7f-8b55-29a47d8e80cc", "code": "V7QCDW", "id": 80308, "logo": null, "date": "2025-09-27T14:00:00+01:00", "start": "14:00", "duration": "00:30", "room": "Auditorium B032 (80)", "slug": "opo25-80308-modula-2-new-wide-set-implementation-performance-results-and-direction-of-travel", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/V7QCDW/", "title": "Modula-2: New wide set implementation, performance results and direction of travel", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "This session will discuss the performance benchmark results of the new wide set implementation in gm2.  It will also report on the approach taken to implement this data type and how this technique will be used to implement M2R10 and ISO generics.", "description": "This talk presents the performance results for the new wideset implemented in gm2.   The technique follows the design shown in the M2R10 proposed standard, namely using a module to contain the operators for a base datatype. \r\n\r\nThe talk will conclude by discussing the M2R10 pragmas and how they will be used to enable module inlining and Modula-2 dialect choice.  Therefore allowing mixed dialect projects to be whole program optimized and potentially more base type operators could be implemented as an inline module.", "recording_license": "", "do_not_record": false, "persons": [{"code": "AVSKHD", "name": "Gaius Mulley", "avatar": null, "biography": null, "public_name": "Gaius Mulley", "guid": "1db4329d-72cc-5b06-8db8-788446319a18", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/AVSKHD/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/rSkV-p8RdF4", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/V7QCDW/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/V7QCDW/", "attachments": [{"title": "Slides used during presentation", "url": "/media/opo25/submissions/V7QCDW/resources/gm2-wideset-directio_nLd10gU.pdf", "type": "related"}]}, {"guid": "f03fe60b-9310-5fed-a479-5fcca42d1f7a", "code": "89QXSR", "id": 80825, "logo": null, "date": "2025-09-27T14:30:00+01:00", "start": "14:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-80825-risc-v-auto-vectorization-101", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/89QXSR/", "title": "RISC-V Auto-Vectorization 101", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Introduction to RISC-V auto vectorization.  Basic building blocks, supported features, concepts, idiosyncrasies/quirks and more.  Overview of what has been done, what's currently cooking and what's planned for the future.\r\nTopics include, riscv vector modes and patterns, else operands, vector-vector and vector-scalar variants, vsetvl placement etc.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "EGWQW3", "name": "Robin Dapp", "avatar": null, "biography": "Robin has been working on the riscv target with a focus on vectorization for two and a half years now and worked on s390 before.", "public_name": "Robin Dapp", "guid": "36d889db-df3c-5b5a-97fc-de8b01577459", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/EGWQW3/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/a4kmB1fOEJU", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/89QXSR/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/89QXSR/", "attachments": [{"title": "RVV 101 Slides", "url": "/media/opo25/submissions/89QXSR/resources/rvv-101-slides_tWsXOIr.pdf", "type": "related"}]}], "Auditorium B001 (170)": [{"guid": "7475f8cd-08cb-5176-9365-da9533c2c521", "code": "3URW7F", "id": 81904, "logo": null, "date": "2025-09-27T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-81904-bof-on-gcc-and-ai", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3URW7F/", "title": "BoF on GCC and AI", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "The proposal is for a BoF on GCC and AI, with the goal of opening up discussion on:\r\n\r\n- Current and emerging use cases where GCC intersects with AI/ML workloads, including compiler optimisations for AI kernels.\r\n- Challenges in supporting AI accelerators and heterogeneous compute through GCC.\r\n- Open questions for the community: to what extent should GCC evolve in this area, and where should external tooling take the lead?\r\n\r\nThe idea is to bring together community members interested in this intersection of GCC and AI, share experiences, and identify where GCC could play a meaningful role.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "EFWZWB", "name": "Jeremy Bennett", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/EFWZWB_smQ5FUD.webp", "biography": "Jeremy Bennett is Chief of Executive of Embecosm, a specialist open source consultancy, best known for its work with compiler and AI tool chains.  He is author of the standard textbook \"Introduction to Compiling Techniques\" (McGraw-Hill 1990, 1995, 2003).  Jeremy has attended every GNU Tools Cauldron and is a director of the GNU Tools Cauldron Community Interest Company.", "public_name": "Jeremy Bennett", "guid": "e1e15f02-9ddd-5e84-9117-00ea0825615a", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/EFWZWB/"}, {"code": "3BZG8T", "name": "Pietra Ferreira", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/3BZG8T_TbMYWBq.webp", "biography": "Pietra Ferreira is a member of Embecosm\u2019s tool chain engineering team. She is well known for her contribution to the development of the Open Hardware Group\u2019s GCC compiler tool chain. A former UKESF scholar, Pietra graduated from Brunel University with first class honours in Computer Science with a specialisation in AI.", "public_name": "Pietra Ferreira", "guid": "ccdd1b55-9fb4-5660-a239-8a68fbaacea5", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/3BZG8T/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/Gj4QWibrTUg", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3URW7F/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3URW7F/", "attachments": []}, {"guid": "b3dda894-c4f2-521f-a527-c6b1c894a60a", "code": "EKDPEH", "id": 79269, "logo": null, "date": "2025-09-27T10:30:00+01:00", "start": "10:30", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-79269-parallel-computing-offloading-openmp-and-openacc", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/EKDPEH/", "title": "Parallel Computing, Offloading, OpenMP and OpenACC", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "An update of the current status of OpenMP, OpenACC and offloading in GCC, including what has been achieved last year. A few highlights and, additionally, an outlook for next years is given of the tasks that are planned or that should be done in the near term.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "BBDDMW", "name": "Tobias Burnus", "avatar": null, "biography": "Tobias Burnus is a Senior Software Engineer at [BayLibre](https://baylibre.com/)'s compiler-service team. His current focus is on the compiler support for OpenMP, OpenACC and GPU offloading for C, C++ and Fortran. He obtained an M.Sc. in Physics in 2004 from Free University Berlin and received 2008 a doctorate in the natural sciences (Dr. rer. nat.) from the University of Cologne; his research involved quantum-mechanical numerical calculations (DFT, CI) on molecules and solids. Tobias contributes since 2006 to the GNU Compiler Collection, initially mainly to its Fortran compiler. His interests include parallel computing, numerical calculations, parallel programming and heterogeneous programming. Tobias is a GCC maintainer for Fortran, OpenMP and OpenACC and contributes to the respective specifications.", "public_name": "Tobias Burnus", "guid": "397c82da-6077-55a6-84b1-54cc1dcb650a", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/BBDDMW/"}, {"code": "BX89LB", "name": "Thomas Schwinge", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/BX89LB_zvr0heA.webp", "biography": "Software engineer, primarily working on [GCC (GNU Compiler Collection)](https://gcc.gnu.org/), in particular adding support for [OpenACC](https://gcc.gnu.org/wiki/OpenACC)/[OpenMP](https://gcc.gnu.org/wiki/OpenMP) (directive-based parallel programming models) with [code offloading](https://gcc.gnu.org/wiki/Offloading) to Nvidia GPUs (project started in 2013-06), and AMD GPUs.  In 2018-09, appointed GCC/OpenACC maintainer, in 2023-07 appointed GCC/nvptx maintainer.  Active member of the [OpenACC Technical Committee](https://openacc.org/).\r\n\r\nPart of the team developing [GCC/Rust](https://rust-gcc.github.io/): a GCC front end for the Rust programming language.\r\n\r\nI also worked on glibc, GDB, binutils, etc., and had a brief look into the world of LLVM, but GCC etc. is still keeping me busy.\r\n\r\nEmployed by [BayLibre](https://baylibre.com/).\r\n\r\nBackground in electrical engineering, focus on computer engineering, graduating from the Universit\u00e4t Stuttgart with a Diplom-Ingenieur (Dipl.-Ing., compare to M.Eng.) degree.\r\n\r\n  * <https://fosstodon.org/@tschwinge>\r\n  * <https://bsky.app/profile/tschwinge.bsky.social>\r\n  * <https://twitter.com/schwinge_thomas>\r\n  * <https://www.linkedin.com/in/tschwinge>\r\n  * <https://github.com/tschwinge/>", "public_name": "Thomas Schwinge", "guid": "875f5ed5-a81b-51cf-881f-5bd5f1912156", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/BX89LB/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/DmIMqUM4dxY?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/EKDPEH/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/EKDPEH/", "attachments": [{"title": "Slides of Talk on Parallel Computing, Offloading, OpenMP and OpenACC", "url": "/media/opo25/submissions/EKDPEH/resources/GNU_Tools_Cauldron_2_NPBbDkw.pdf", "type": "related"}]}, {"guid": "26096426-349a-5b35-81d1-662b4b7b6300", "code": "P7HWJ9", "id": 78286, "logo": null, "date": "2025-09-27T11:30:00+01:00", "start": "11:30", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-78286-ipa-lto-and-profile-feedback-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/P7HWJ9/", "title": "IPA, LTO and profile feedback BoF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "BoF discussing inter-procedural optimization, link-time optimization and profile feedback in GCC", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "XMGZH8", "name": "jan Hubi\u010dka", "avatar": null, "biography": "GCC developer since 1998, since 2000 at SUSE. Associate professor at Charles University.", "public_name": "jan Hubi\u010dka", "guid": "df9ed01a-3e20-5f6c-9c03-c6b937d22b12", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XMGZH8/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/rGBgmnGIu_g?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/P7HWJ9/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/P7HWJ9/", "attachments": []}, {"guid": "d9ebda8f-b565-516b-b99b-bb88c30f34da", "code": "ZMC7QR", "id": 75644, "logo": null, "date": "2025-09-27T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-75644-uncomplicating-new-contributions", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/ZMC7QR/", "title": "Uncomplicating new contributions", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Hear our experiences on mentoring new contributors, what common hurdles they face, and how we try to address them. Then, let\u2019s discuss how to reduce the barrier to entry.", "description": "While our contribution process may seem familiar and uncomplicated to us, it is very different to what most new developers expect, which leads to several stumbling blocks. That is not a failure of our process, we just need to be explicit what is different, so that these new developers feel able to navigate it on their own.\r\nWe, Guinevere Larsen and Arjun Shankar, have been attempting to get new contributors in our respective projects, GDB and glibc, and have collected a series of common stumbling blocks for first time contributors.\r\nThe first half of this talk aims to present these stumbling blocks, and then suggestions on how projects can reduce or remove them without affecting established developer workflows. The second half will be dedicated to open discussions on those suggestions and new ones that may come up.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7HTTZA", "name": "Arjun Shankar", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/7HTTZA_j9ZvQyj.webp", "biography": null, "public_name": "Arjun Shankar", "guid": "0183e312-fef0-5ce0-9967-3c214e888901", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/7HTTZA/"}, {"code": "ASVFSG", "name": "Guinevere", "avatar": null, "biography": null, "public_name": "Guinevere", "guid": "5d54f438-f632-54f3-8088-9f45ad3f47ae", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/ASVFSG/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/OC1aCUOcfX4?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/ZMC7QR/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/ZMC7QR/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/ZMC7QR/resources/New_contributors_AAlux0J.pdf", "type": "related"}]}, {"guid": "a2d21f6f-5f7f-52c9-82de-935900bf2733", "code": "CY3BMC", "id": 79270, "logo": null, "date": "2025-09-27T14:30:00+01:00", "start": "14:30", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-79270-bof-on-parallel-computing-offloading-openmp-and-openacc", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/CY3BMC/", "title": "BoF on Parallel Computing, Offloading, OpenMP and OpenACC", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "Discussion of topics related to parallel computing and accelerator offloading in GCC. In particular, related to OpenMP and OpenACC and to offloading to AMD and Nvidia GPUs. But also other topics like additional offloading targets or base-language parallelization features of C, C++, Fortran, or other languages are welcome. Planned topics include completion of OpenMP 5.x and addition of more 6.x features, OpenACC extension, improving performance, but also support for a GPU kernel language (programming at the abstraction level of CUDA/HIP \u2013 as proposed for the next OpenMP version).", "description": "_While some discussion points will be prepared, this is an open BoF and other related topics can be raised. A slide or two will be prepared as a starting point for discussion or to illustrate a to-be-discussed item. If you want or have such an item, feel free to send the slide to the BoF organizers for including it._", "recording_license": "", "do_not_record": false, "persons": [{"code": "BBDDMW", "name": "Tobias Burnus", "avatar": null, "biography": "Tobias Burnus is a Senior Software Engineer at [BayLibre](https://baylibre.com/)'s compiler-service team. His current focus is on the compiler support for OpenMP, OpenACC and GPU offloading for C, C++ and Fortran. He obtained an M.Sc. in Physics in 2004 from Free University Berlin and received 2008 a doctorate in the natural sciences (Dr. rer. nat.) from the University of Cologne; his research involved quantum-mechanical numerical calculations (DFT, CI) on molecules and solids. Tobias contributes since 2006 to the GNU Compiler Collection, initially mainly to its Fortran compiler. His interests include parallel computing, numerical calculations, parallel programming and heterogeneous programming. Tobias is a GCC maintainer for Fortran, OpenMP and OpenACC and contributes to the respective specifications.", "public_name": "Tobias Burnus", "guid": "397c82da-6077-55a6-84b1-54cc1dcb650a", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/BBDDMW/"}, {"code": "BX89LB", "name": "Thomas Schwinge", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/BX89LB_zvr0heA.webp", "biography": "Software engineer, primarily working on [GCC (GNU Compiler Collection)](https://gcc.gnu.org/), in particular adding support for [OpenACC](https://gcc.gnu.org/wiki/OpenACC)/[OpenMP](https://gcc.gnu.org/wiki/OpenMP) (directive-based parallel programming models) with [code offloading](https://gcc.gnu.org/wiki/Offloading) to Nvidia GPUs (project started in 2013-06), and AMD GPUs.  In 2018-09, appointed GCC/OpenACC maintainer, in 2023-07 appointed GCC/nvptx maintainer.  Active member of the [OpenACC Technical Committee](https://openacc.org/).\r\n\r\nPart of the team developing [GCC/Rust](https://rust-gcc.github.io/): a GCC front end for the Rust programming language.\r\n\r\nI also worked on glibc, GDB, binutils, etc., and had a brief look into the world of LLVM, but GCC etc. is still keeping me busy.\r\n\r\nEmployed by [BayLibre](https://baylibre.com/).\r\n\r\nBackground in electrical engineering, focus on computer engineering, graduating from the Universit\u00e4t Stuttgart with a Diplom-Ingenieur (Dipl.-Ing., compare to M.Eng.) degree.\r\n\r\n  * <https://fosstodon.org/@tschwinge>\r\n  * <https://bsky.app/profile/tschwinge.bsky.social>\r\n  * <https://twitter.com/schwinge_thomas>\r\n  * <https://www.linkedin.com/in/tschwinge>\r\n  * <https://github.com/tschwinge/>", "public_name": "Thomas Schwinge", "guid": "875f5ed5-a81b-51cf-881f-5bd5f1912156", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/BX89LB/"}, {"code": "YZNBKR", "name": "Jakub Jelinek", "avatar": null, "biography": null, "public_name": "Jakub Jelinek", "guid": "5a767057-2e92-5a54-99c8-7b7b6ab4bd93", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/YZNBKR/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/lRpINeTPRBM?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/CY3BMC/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/CY3BMC/", "attachments": [{"title": "Slides of BoF on Parallel Computing, Offloading, OpenMP and OpenACC", "url": "/media/opo25/submissions/CY3BMC/resources/GNU_Tools_Cauldron_2_urCONCs.pdf", "type": "related"}]}, {"guid": "d8b5741e-9d47-5bcd-a67e-d266abbbf524", "code": "BAWVZM", "id": 78867, "logo": null, "date": "2025-09-27T16:00:00+01:00", "start": "16:00", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-78867-processes-and-barriers", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/BAWVZM/", "title": "Processes and Barriers", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "Q&A panel discussion of development processes in GNU Toolchain projects \u2013 GCC, Glibc, GDB, Binutils, etc. \u2013 and how they affect our developer community.\r\nWe will discuss 4 topics:\r\n- Onboarding new developers\r\n- Growth, roles, and reputation. How to become a maintainer?\r\n- Governance, and how decisions are made\r\n- Infrastructure and tools for developers", "description": "Confirmed panelists are:\r\n- Richard Biener\r\n- Nick Clifton\r\n- Adhemerval Zanella\r\n- Maxim Kuvyrkov (moderator)\r\n- Carlos O'Donell (moderator)\r\n... and we are waiting for confirmation from other panelists.", "recording_license": "", "do_not_record": false, "persons": [{"code": "XJPLRH", "name": "Carlos O'Donell", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/XJPLRH_ZJDiL4H.webp", "biography": "Upstream glibc developer with 20+ years of project experience.\r\n\r\nOne of 8 GNU Project package maintainers for glibc.\r\n\r\nDownstream distribution developer for Fedora, CentOS Stream and Red Hat Enterprise Linux.\r\n\r\nBringing a \"distribution\" perspective to upstream conversations.", "public_name": "Carlos O'Donell", "guid": "063944e4-0ab9-5282-8afb-8a02e897788b", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XJPLRH/"}, {"code": "EWZK7L", "name": "Maxim Kuvyrkov", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/EWZK7L_A1C4c89.webp", "biography": "I build tools for developers. My passion is open-source toolchains -- compilers, runtime libraries, linkers and debuggers -- and their developer communities.\r\n\r\nI have started my career as GNU Toolchain developer, and now I am privileged to lead a world-class team of toolchain engineers at Linaro. We work on all aspects of LLVM and GNU toolchains -- GCC, Clang, Flang, Glibc, GDB, Binutils, and more -- for Arm architectures.", "public_name": "Maxim Kuvyrkov", "guid": "a5b4d263-39de-5f45-bebc-1f2eb32bb6d7", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/EWZK7L/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/5IILA_uDzyU", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/BAWVZM/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/BAWVZM/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/BAWVZM/resources/Processes_and_Barrie_7UEb8au.pdf", "type": "related"}]}], "Auditorium B002 (170)": [{"guid": "b7c6397b-2dfc-586e-b605-a9209b9068cc", "code": "BKRJGY", "id": 78080, "logo": null, "date": "2025-09-27T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "Auditorium B002 (170)", "slug": "opo25-78080-latest-glibc-math-improvements-and-the-future", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/BKRJGY/", "title": "Latest glibc math improvements and the future", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The glibc math library aims to provide the required functions and macros from C standard math.h and related headers (fenv.h, float.h, and complex.h). The glibc supports multiple architectures and floating-point types, and also provides vectorized routines for some architectures.  The math library is actively working to support newer extensions and features.\r\n\r\nOn this, I will demonstrate the recent optimization of multiple parts of the math libraries, explaining how we achieve it by utilizing new algorithms adapted for new hardware, as well as by leveraging external projects with improved implementations. I will also present recent work that supports the newer C23 functions and outline possible future work for optimizations.\r\n\r\nAlso, I will talk and ask about future extensions and what to focus on. Should we aim to provide implementation with better precision, and what is the expected tradeoff between performance and precision? Should we extend the support for newer types, for instance, float16_t? And what about decimal floating point support? Should we add a platform neutral skeleton vector math library to be used by other archictures?", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "7ANDKC", "name": "Adhemerval Zanella Netto", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/7ANDKC_HnQ0ayy.webp", "biography": "I work at Linaro.org as Toolchain Engineer, and I am a glibc maintainer.", "public_name": "Adhemerval Zanella Netto", "guid": "d85fbebd-e9a1-5f4d-b23e-b94f2c750483", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/7ANDKC/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/qwhlh6Z5u-U?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/BKRJGY/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/BKRJGY/", "attachments": [{"title": "Presentation slides", "url": "/media/opo25/submissions/BKRJGY/resources/Latest_glibc_math_im_Rif7ZkO.pdf", "type": "related"}]}, {"guid": "8827aafe-51e2-58fa-9ed4-ed8040341502", "code": "LXPUYR", "id": 78341, "logo": null, "date": "2025-09-27T10:30:00+01:00", "start": "10:30", "duration": "01:00", "room": "Auditorium B002 (170)", "slug": "opo25-78341-improving-glibc-malloc-for-high-reliability-large-data-multi-threaded-applications", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LXPUYR/", "title": "Improving glibc malloc for high reliability large data multi-threaded applications", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "As memory and performance capabilities of computer have increased, virtualization has been the preferred approach to exploit all those resources.\r\nTo efficiently use such a system it is required to maximize the number of concurrent applications.\r\nThis makes it extremely important to fully optimize any running application not only for time (cpu) but also space (memory).\r\nMoreover, high reliability and large data multi-threaded applications require not only an efficient allocation strategy but also a reliable and fast concurrency mechanism.\r\n\r\nThe solution for parallelism in glibc malloc (arenas) is based on minimizing concurrency through isolation, splitting the memory space through different threads using virtual memory as an abstraction layer.\r\nThis solution defers memory management to the kernel rather than keeping the responsibility to explicitly perform minimum virtual allocation.\r\nGlibc malloc has been identified by projects such as MySQL and JVM as using more memory than required, and this has justified the adoption of other more multi-threaded friendly allocators, such as jemalloc and tcmalloc.\r\n\r\nThis talk will present MySQL performance and data size analysis using both glibc malloc and other competitive allocators, and show how recent improvements in the glibc malloc implementation greatly reduce virtual memory consumption in real-world MySQL usage, making it unnecessary to resort to other specialized allocators.  Further possible improvements will also be discussed, which can make glibc the best allocator for high availability large data multi-threaded applications.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "PCEEND", "name": "Cupertino Miranda", "avatar": null, "biography": "Cupertino Miranda is a compiler engineer with 20 years of experience in GNU toolchain development. He holds a Ph.D. in Computer Science from University Paris-Sud, with a focus on compilers and parallelism, and a degree in Software Engineering from the University of Minho.\r\n\r\nHe has held engineering roles at Philips Research, INRIA (HiPEAC), ST-Ericsson, and Synopsys, contributing to architecture support and toolchain optimization. Currently at Oracle, he works on improving the GNU toolchain, with recent contributions to glibc and BPF support for GCC.", "public_name": "Cupertino Miranda", "guid": "f8cd4132-9642-583b-aa89-ed653af1d147", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/PCEEND/"}], "links": [{"title": "RSS growing reproducer in mysql", "url": "http://dimitrik.free.fr/blog/posts/mysql-perf-fosdem25.html", "type": "related"}, {"title": "Video of the talk", "url": "https://youtu.be/a8VyCwQLk40?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LXPUYR/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/LXPUYR/", "attachments": []}, {"guid": "2f7512a7-e01c-5943-ad7b-4df5d818ffc5", "code": "HEZF9L", "id": 73227, "logo": null, "date": "2025-09-27T11:30:00+01:00", "start": "11:30", "duration": "01:00", "room": "Auditorium B002 (170)", "slug": "opo25-73227-gnu-c-library-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/HEZF9L/", "title": "GNU C Library BoF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "The GNU C Library is used as the C library in the GNU systems and many other systems with the Linux kernel. The library is primarily designed to be a portable and high performance C library. It aims to follows all relevant standards including ISO C17 and POSIX.1-2008. It is also internationalized and has one of the most complete internationalization interfaces known.", "description": "This BoF aims to bring together developers of other components that have dependencies on glibc and glibc developers to talk about the following topics:\r\n\r\n* Planning for glibc 2.43 and what work needs to be done\r\n  between September 2025 and February 2026.\r\n\r\n* Planning for glibc 2.44 and what work needs to be done\r\n  between February 2026 and August 2026.\r\n\r\n* Can we try month-to-month feature planning again?\r\n\r\n... and more.", "recording_license": "", "do_not_record": false, "persons": [{"code": "XJPLRH", "name": "Carlos O'Donell", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/XJPLRH_ZJDiL4H.webp", "biography": "Upstream glibc developer with 20+ years of project experience.\r\n\r\nOne of 8 GNU Project package maintainers for glibc.\r\n\r\nDownstream distribution developer for Fedora, CentOS Stream and Red Hat Enterprise Linux.\r\n\r\nBringing a \"distribution\" perspective to upstream conversations.", "public_name": "Carlos O'Donell", "guid": "063944e4-0ab9-5282-8afb-8a02e897788b", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XJPLRH/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/enO7uwFfI7o?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/HEZF9L/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/HEZF9L/", "attachments": [{"title": "GNU Tools Cauldron 2025 - GNU C Library BoF.pdf", "url": "/media/opo25/submissions/HEZF9L/resources/GNU_Tools_Cauldron_2_1CE84nD.pdf", "type": "related"}]}, {"guid": "b853c4d9-81ad-5c35-9386-ce183b0a5fdc", "code": "Y3CVHY", "id": 79187, "logo": null, "date": "2025-09-27T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B002 (170)", "slug": "opo25-79187-s390-stack-tracing-using-frame-pointer-back-chain-and-sframe", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/Y3CVHY/", "title": "s390: Stack tracing using Frame Pointer, Back Chain, and SFrame", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The talk will provide an overview of the different stack tracing methods (un-)available on s390 for user space.  It will cover:  Why stack tracing using *frame pointer* is virtually impossible on s390 and why compiler option `-fno-omit-frame-pointer` should better be avoided on s390.  The limitations of stack tracing using the s390-specific alternative of *back chain*.  Why *[SFrame](https://sourceware.org/binutils/wiki/sframe)* stack trace information is expected to considerably improve stack tracing of user space on s390.  Finally it will provide an overview of the current state of SFrame support on s390 64-bit (s390x):  The s390-specific SFrame stack trace format extensions,  s390 support for generating SFrame stack trace information in Binutils 2.45,  work-in-progress s390 support for SFrame in Glibc backtrace,  and work-in-progress s390 support for SFrame in Linux Kernel and perf to sample stack traces of user space.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "KBSMDF", "name": "Jens Remus", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/KBSMDF_DW17VN2.webp", "biography": "IBMer.  Linux on Z Toolchain developer with a focus on GNU Binutils.  Working on s390 64-bit (s390x) support for [SFrame](https://sourceware.org/binutils/wiki/sframe) stack trace information in GNU Binutils, Glibc, and Linux Kernel.", "public_name": "Jens Remus", "guid": "ce8dbb98-de9c-5994-b203-5adfa9f81366", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/KBSMDF/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/MVuHvxmJGrY?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/Y3CVHY/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/Y3CVHY/", "attachments": [{"title": "Presentation Slides", "url": "/media/opo25/submissions/Y3CVHY/resources/s390_-_Stack_tracing_lJsGTR8.pdf", "type": "related"}]}, {"guid": "a0f37636-cd45-5abd-9161-94e08accdecd", "code": "ADVMH7", "id": 80010, "logo": null, "date": "2025-09-27T14:30:00+01:00", "start": "14:30", "duration": "01:00", "room": "Auditorium B002 (170)", "slug": "opo25-80010-sframe-for-effective-userspace-stack-tracing", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/ADVMH7/", "title": "SFrame for effective userspace stack tracing", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This talk provides an overview of recent developments in the SFrame stack tracing format over the past year. We discuss some of the enhancements to the SFrame stack trace format that are currently being looked at.  Some of these desirable features in the planned SFrame V3 version help make the format more future-proof and more amenable to overall smoother adoption in the wider GNU/Linux community.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "N7L8WU", "name": "Indu Bhagat", "avatar": null, "biography": "Indu Bhagat is a member of the Linux Toolchains team at Oracle, Canada.", "public_name": "Indu Bhagat", "guid": "9094b6d3-f633-530f-a5c6-a36e736d08da", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/N7L8WU/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/L2UmAp39xqk", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/ADVMH7/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/ADVMH7/", "attachments": [{"title": "Presentation Slides", "url": "/media/opo25/submissions/ADVMH7/resources/sframe_cauldron_2025_6d9PxGc.pdf", "type": "related"}]}], "Auditorium B003 (170)": [{"guid": "2016b2a6-bba9-5360-8bda-0f49ddf7f013", "code": "B7WFVR", "id": 75075, "logo": null, "date": "2025-09-27T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "Auditorium B003 (170)", "slug": "opo25-75075-unload", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/B7WFVR/", "title": "unload", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This is a talk about all things \"unload\", my removal of the old reload code.", "description": "This is a talk about all things \"unload\", my removal of the old reload code.\r\n\r\nWhat made it take five years?  What things remain?  Both in what work still\r\nremains to be done, as well as what code of the old reload remains?\r\n\r\nWhat are the things that can be done now that we always have LRA, instead of the old reload?\r\nWe cannot have subregs of memory anymore, but no doubt other things are better now as well!", "recording_license": "", "do_not_record": false, "persons": [{"code": "CRRKUH", "name": "Segher", "avatar": null, "biography": "I am Segher.  I am maintainer of the instruction combiner, and of the rs6000 backend.", "public_name": "Segher", "guid": "974812b9-c56f-54db-afb6-d6780e890988", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/CRRKUH/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/0uPU2NuPJS8?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/B7WFVR/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/B7WFVR/", "attachments": []}, {"guid": "6f6dab34-8177-5797-8fe3-ac3d57afdc94", "code": "A3LNUZ", "id": 79869, "logo": null, "date": "2025-09-27T10:30:00+01:00", "start": "10:30", "duration": "00:30", "room": "Auditorium B003 (170)", "slug": "opo25-79869-hard-register-constraints", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/A3LNUZ/", "title": "Hard Register Constraints", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Similar to register asm but still distinct, hard register constraints are another way to force operands of inline asm into specific machine registers.  In this talk we will have a brief look at hard register constraints and compare them to register asm.  We will look at how to use them, how they might help write more robust code, their current (implementation) limitations, practical experiments, and have a lookout for improvements.", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "UUGURC", "name": "Stefan Schulze Frielinghaus", "avatar": null, "biography": "IBMer primarily working on the GNU Compiler Collection for Linux on Z.", "public_name": "Stefan Schulze Frielinghaus", "guid": "a776be2d-8bf7-5009-a06c-24237024a46e", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/UUGURC/"}], "links": [], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/A3LNUZ/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/A3LNUZ/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/A3LNUZ/resources/slides_gzLtHsr.pdf", "type": "related"}]}, {"guid": "66b13898-9f5f-58a3-b85f-9189ab3f5041", "code": "7FJALC", "id": 80850, "logo": null, "date": "2025-09-27T11:00:00+01:00", "start": "11:00", "duration": "00:30", "room": "Auditorium B003 (170)", "slug": "opo25-80850-bunsen-testsuite-result-analysis-depot-with-a-sprinkling-of-ai", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/7FJALC/", "title": "bunsen: testsuite result analysis depot, with a sprinkling of AI", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "Since bunsen was first presented at Cauldron 2019, work and workload has exploded.  Bunsen on sourceware is processing the test results from hundreds of daily builds of a dozen of our favorite projects,   It features CLI and web front-ends for clever searches, plus downloadable archives so you can play along at home.  Recently, it has learned to connect project upstream git repos and commit histories to build/test histories.  Putting all that info together, it can call on an AI to analyze causal factors of regressions.  Let me show you how the tool may already be useful to you.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RXMCZQ", "name": "Frank Ch. Eigler", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/RXMCZQ_ST4EjG5.webp", "biography": "System software builder & designer.", "public_name": "Frank Ch. Eigler", "guid": "9b8315e7-22a7-5eea-89ff-92d567f17b1d", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/RXMCZQ/"}, {"code": "QCZ9CN", "name": "Martin Cermak", "avatar": null, "biography": "I'm a Red Hat quality engineer focusing on linux toolchain.", "public_name": "Martin Cermak", "guid": "495a5176-b028-54ac-9c4e-840ada4fcb49", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/QCZ9CN/"}], "links": [{"title": "database browser", "url": "https://builder.sourceware.org/testruns/", "type": "related"}, {"title": "project", "url": "https://sourceware.org/bunsen/", "type": "related"}, {"title": "Video of the talk", "url": "https://youtu.be/LEyqZv4aeUs", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/7FJALC/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/7FJALC/", "attachments": [{"title": "slides", "url": "/media/opo25/submissions/7FJALC/resources/bunsen_fszWNv3.pdf", "type": "related"}]}, {"guid": "57493918-0fc9-568e-9f58-d34929488c2a", "code": "VMJQCK", "id": 75766, "logo": "https://conf.gnu-tools-cauldron.org/media/opo25/submissions/VMJQCK/logo_9u9t95j.jpg", "date": "2025-09-27T11:30:00+01:00", "start": "11:30", "duration": "01:00", "room": "Auditorium B003 (170)", "slug": "opo25-75766-ga68-the-gnu-algol-68-compiler", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VMJQCK/", "title": "ga68: the GNU Algol 68 compiler", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Algol 68 was designed by the Working Group 2.1 of the International Federation for Information Processing (IFIP) during the late 1960s and early 1970s, leaded by Adriaan van Wijngaarden. The goal of the working group was to provide a programming language suitable to communicate algorithms, to execute them efficiently on a variety of different computers, and to aid in teaching them to students. The resulting language was in principle expected to be an evolved version of Algol 60, known shortcomings addressed, and generally improved.   However, what was initially supposed to be an improved version of Algol 60 turned out to be something very different: an extremely powerful programming language, more modern and more expressive than most programming languages today, whose design exercised almost to the limit the newly invented notion of orthogonality in programming languages.  Algol 68 is not like Algol 60, an important but old fashioned programming language superseded in almost every aspect by its successors, only relevant nowadays as a historical curiosity. Despite of many people claiming otherwise, Algol 68 has no successors.  The GNU Algol 68 Working Group is a group of hackers whose purpose is to bring Algol 68 back to the first line of programming where it belongs, to provide modern implementations of the language well integrated in today's operating systems and computers (like the GCC Algol 68 front-end), to produce documentation to help people to learn this fascinating language, and to explore extensions and evolve the language with the rigor, respect and seriousness that it deserves and demands.\r\n\r\nIn January 2025 a first work-in-progress patch series implementing an Algol 68 front-end for GCC got sent to gcc-patches.  Since then, the development has continued at a steady pace and by now most of the language has been implemented.  In this talk we will introduce the front-end and the world domination plan associated with it, will highlight and discuss some interesting aspects of the implementation (Algol 68 is a notoriously difficult to implement language) and will make a  case for the inclusion of the front-end in the main GCC tree.\r\n\r\nWe will also briefly look at some of the tangent projects like the Algol 68 support in the autotools and the a68 Emacs mode, as time allows.\r\n\r\nReferences:\r\n- Front-end development homepage:  https://gcc.gnu.org/wiki/Algol68FrontEnd\r\n- Git repository: https://forge.sourceware.org/gcc/gcc-a68\r\n- Algol 68 homepage: https://algol68-lang.org", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "NQYMKF", "name": "Jose Marchesi", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/NQYMKF_0V940Sp.webp", "biography": "GNU hacker and maintainer", "public_name": "Jose Marchesi", "guid": "9ef127be-d49d-5ed1-ad7d-9950047c5558", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/NQYMKF/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/3aMwC24EcJk?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VMJQCK/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VMJQCK/", "attachments": [{"title": "talk slides", "url": "/media/opo25/submissions/VMJQCK/resources/ga68-an-algol68-fron_urUt45Q.pdf", "type": "related"}]}, {"guid": "5d587df4-47ce-5a2d-a230-97c67e4f9f7d", "code": "NQNCEW", "id": 75074, "logo": null, "date": "2025-09-27T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B003 (170)", "slug": "opo25-75074-what-s-new-with-diagnostics-in-gcc-16", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/NQNCEW/", "title": "What's new with diagnostics in GCC 16", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "I'll be talking about developments in GCC 16:\r\n\r\n*  those affecting GCC's diagnostic subsystem, and\r\n* those affecting the static analyzer (-fanalyzer)", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "CY9MHE", "name": "David Malcolm", "avatar": null, "biography": "I work at Red Hat on GCC, focusing on diagnostics, user experience, and static analysis.", "public_name": "David Malcolm", "guid": "78ff02a7-be5b-5457-bbf2-a0539e1369f0", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/CY9MHE/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/v0X7o5wdoeY?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/NQNCEW/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/NQNCEW/", "attachments": [{"title": "Slides: \"What's new with diagnostics in GCC 16\"", "url": "/media/opo25/submissions/NQNCEW/resources/2025-Cauldron-diagno_5C24sqH.pdf", "type": "related"}]}, {"guid": "2945384d-4b74-5cb6-8646-a971d87a987a", "code": "8CAXUU", "id": 78540, "logo": null, "date": "2025-09-27T14:30:00+01:00", "start": "14:30", "duration": "01:00", "room": "Auditorium B003 (170)", "slug": "opo25-78540-the-gdb-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8CAXUU/", "title": "The GDB BoF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "An opportunity for the GDB community to meet to discuss all things related to the GNU Debugger project.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZWDQC7", "name": "Pedro Alves", "avatar": null, "biography": "I've been contributing to GDB for close to two decades.  In the last few years I've been spending most of my time working with AMD on ROCgdb, the AMD GPU debugger based on GDB.", "public_name": "Pedro Alves", "guid": "3e0044b1-c2dc-5b5c-8213-71dac30efba6", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/ZWDQC7/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/LnKQ9n7VFXs", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8CAXUU/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8CAXUU/", "attachments": []}]}}, {"index": 3, "date": "2025-09-28", "day_start": "2025-09-28T04:00:00+01:00", "day_end": "2025-09-29T03:59:00+01:00", "rooms": {"Auditorium B032 (80)": [{"guid": "87d66957-c9a5-5c59-905f-81fa790785f4", "code": "VMWHG7", "id": 78405, "logo": null, "date": "2025-09-28T10:30:00+01:00", "start": "10:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-78405-licensing-birds-of-a-feather", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VMWHG7/", "title": "Licensing Birds of a Feather", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "As the FSF's licensing and compliance manager, I will address licensing-related questions from the maintainers and developers of the toolchain projects. This will be an informal, interactive exchange about the topics collected through RFCs before GNU Cauldron but you are welcome to ask a question during the session as well. It will also be an opportunity to learn about FSF's Licensing and Compliance Lab recent work. We plan to cover topics such as LLM-generated contributions to GNU, following notice and attribution requirements, and GPL compliance in different technical setups.", "description": "One of the FSF's Licensing and Compliance Lab's priorities is to support the GNU Project in any licensing-related challenges, collecting copyright assignments and copyright maintenance, as well as working with identified GPL violations to ensure software freedom in GNU programs is respected by distributors. You can always send us a question at <licensing@fsf.org> but we would love to use every possible opportunity to meet and talk in person. \r\n\r\nThis proposed session for the FSF licensing BoF at Cauldron will help us to get to know each other better and understand what are the best ways to be of help to the GNU Project's developers. We have reached out to the maintainers and developers of the toolchain projects with RFCs, and already received some suggestions of topics to cover during this BoF, like: Licensing challenges in accepting LLM-generated source code; Practical approach to observing notice and attribution requirement in licenses of preexisting code used in GNU programs; and GPL compliance in the context of software containers. All pertinent topics we look forward to addressing and openly discussing at GNU Cauldron. People can send us more suggestions until the Cauldron and if time permits, we are also prepared to brief you about the Lab's recent work, in particular in the GPL stewardship and compliance area.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LSEWTQ", "name": "Krzysztof Siewicz", "avatar": null, "biography": "Krzysztof (Chris) is the Free Software Foundation's licensing and compliance manager. He holds a doctorate in legal studies from Universiteit Leiden, the Netherlands, for a thesis which discussed the optimal framework for the protection of software freedom. His experience includes practicing law in Poland, advocating, and educating in the area of free and permissive licensing in various projects carried out by NGOs, educational, academic, and cultural institutions from Poland and other EU member states. Krzysztof also worked as a project coordinator, including in software development.", "public_name": "Krzysztof Siewicz", "guid": "d0c9a728-935e-53d5-b4e5-360b66eb03ce", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/LSEWTQ/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/plD5xe04sNI?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VMWHG7/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VMWHG7/", "attachments": [{"title": "Siewicz - Licensing BoF presentation", "url": "/media/opo25/submissions/VMWHG7/resources/Siewicz_Licensing_Bo_eg6CtJr.pdf", "type": "related"}]}, {"guid": "87eac643-d78d-52e5-8e2f-c527a86bd8ca", "code": "VM3GNC", "id": 80753, "logo": null, "date": "2025-09-28T11:30:00+01:00", "start": "11:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-80753-rust-front-end-post-libcore", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VM3GNC/", "title": "Rust front end post libcore", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "This year the Rust front end completed multiple major milestones: the name resolution rework is now complete, the desugaring pass has brought support for a lot of new features, and we were lucky enough to get two amazing GSOC students who greatly improved the capabilities of the front end.\r\n\r\nBeing able to compile more Rust led to some unexpected discoveries and opened the way for previously unhandled complex edge cases to be fixed.\r\n\r\nOur next step involves iterating towards compiling Rust-for-Linux, which we will begin experimenting with in September.\r\n\r\nThis talk will cover what has recently changed in the Rust front end and what will be done this year, as well as a few surprises we had along the way. The talk will conclude with an update of the upstream synchronization process and the communication with the wider GCC community.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "8CXX9D", "name": "Pierre-Emmanuel Patry", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/8CXX9D_XAoEG3s.webp", "biography": "Toolchain engineer at Embecosm SAS and lecturer at EPITA, Pierre-Emmanuel has been involved with gccrs for the past two years.", "public_name": "Pierre-Emmanuel Patry", "guid": "a76c6bbd-5f72-598d-a75b-77c52cdaeb32", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/8CXX9D/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/FCLM74g4kHQ", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VM3GNC/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/VM3GNC/", "attachments": [{"title": "Slides used during the talk", "url": "/media/opo25/submissions/VM3GNC/resources/Cauldron_2025_36jcABe.pdf", "type": "related"}]}, {"guid": "d162dfdd-77ac-51ef-a6a7-6d9a6154c7a3", "code": "M7GYBJ", "id": 81014, "logo": null, "date": "2025-09-28T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-81014-formalizing-the-semantics-of-gimple", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/M7GYBJ/", "title": "Formalizing the semantics of GIMPLE", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "In my work on [smtgcc](https://github.com/kristerw/smtgcc) to formalize the semantics of GIMPLE, I have found several cases where optimization passes perform invalid transformations, as well as cases where the GIMPLE semantics do not allow optimization passes to express what they need (see [PR120980](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120980) for an example). In this talk, I will present the current status of the formalization and discuss the issues I have found during the process.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "UACBAP", "name": "Krister Walfridsson", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/UACBAP_lpG8G6m.webp", "biography": "Developing [smtgcc](https://github.com/kristerw/smtgcc), a translation validation tool for GCC.", "public_name": "Krister Walfridsson", "guid": "ce6d7806-8a68-53c2-a413-d4d8ac718453", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/UACBAP/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/CzR2-kET5S4", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/M7GYBJ/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/M7GYBJ/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/M7GYBJ/resources/Formalizing_GIMPLE_s_AXSaEx1.pdf", "type": "related"}]}, {"guid": "1c0fc954-4d55-5345-95fc-653b253dfdc7", "code": "WJNXAP", "id": 81900, "logo": null, "date": "2025-09-28T14:30:00+01:00", "start": "14:30", "duration": "01:00", "room": "Auditorium B032 (80)", "slug": "opo25-81900-moving-bpf-verifier-towards-classic-data-flow-analysis-techniques", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/WJNXAP/", "title": "Moving BPF verifier towards classic data flow analysis techniques", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "The BPF verifier has troubles when verifying loops.  This talk will cover:\r\n\r\n- historical evolution of loops handling by verifier;\r\n- problems with current state of things (too crude widening,\r\n  no bounds for induction variables);\r\n- describe DFA based liveness analysis that landed last week;\r\n- describe further steps adding DFA-based value range analysis to\r\n  the verifier (a very hand-waving part).\r\n\r\nWe are interested in the feedback of the GNU toolchain community, especially when it comes to range analysis.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "FGXXYL", "name": "Eduard Zingerman", "avatar": null, "biography": "I work on Linux Kernel BPF verifier since 2022, mostly on its core logic.\r\nBefore that I worked on high level to high level language transpilers for more than 10 years.", "public_name": "Eduard Zingerman", "guid": "6e11c5ec-f929-56e5-b0dc-06c028c960be", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/FGXXYL/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/bLRZlSKj0wg", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/WJNXAP/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/WJNXAP/", "attachments": []}], "Auditorium B001 (170)": [{"guid": "bd255a6a-6c1a-5b8f-9ea3-fbb583e50958", "code": "DUAJWT", "id": 78131, "logo": null, "date": "2025-09-28T09:00:00+01:00", "start": "09:00", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-78131-steering-committee-q-a", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/DUAJWT/", "title": "Steering Committee Q&A", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "An opportunity for a GNU Toolchain community conversation with the members of the Steering Committees of the GNU Toolchain projects (GCC, GLIBC, Binutils, GDB).", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "VLMLAQ", "name": "David Edelsohn", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/VLMLAQ_uq6RZB3.webp", "biography": "Member of the GCC Steering Committee", "public_name": "David Edelsohn", "guid": "18206d52-5163-5644-b0ca-c812b80e8db6", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/VLMLAQ/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/wkLWkbznZ_U?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/DUAJWT/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/DUAJWT/", "attachments": []}, {"guid": "2f927582-c4ce-56db-ba3e-303dd3521934", "code": "SBAAAL", "id": 79952, "logo": null, "date": "2025-09-28T10:30:00+01:00", "start": "10:30", "duration": "00:30", "room": "Auditorium B001 (170)", "slug": "opo25-79952-handling-c-exception-hierarchies-in-ada", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBAAAL/", "title": "Handling C++ Exception Hierarchies in Ada", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "GNAT already offered mechanisms to handle C++ exceptions, but they were\r\nlimited to exact class type matches.  This presentation covers the\r\nextensions to Ada syntax, runtime and library to enable Ada subprograms\r\nto catch and handle C++ exceptions hierarchies, and to reference the\r\nraised C++ (sub-)object.\r\n\r\nSlides at https://www.lx.oliva.nom.br/slides/adacxxcept.en.pdf", "description": "The presentation will contrast Ada's and C++'s exception models, go\r\nthrough the preexisting implementation and its constraints, how we've\r\nextended exception declarations, relaxed handler constraints, exposed\r\nC++ RTTI and used it in the runtime and the library to catch C++ derived\r\nobjects by Ada exceptions associated with the C++ base class, and to\r\ngain access to the caught C++ sub-objects.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LLSKKD", "name": "Alexandre Oliva", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/LLSKKD_leCxA4x.webp", "biography": "Free Software activist and developer.  Recognized by the Free Software Foundation with the Award for Advancement of Free Software.  GNU Project speaker and advisor.  FSF Latin America founding board member, FSF voting member.  Co-maintainer of GNU Linux-libre, IRPF-Livre, GNU Compiler Collection, GNU binutils and GNU libc.  Independent consultant with AdaCore.", "public_name": "Alexandre Oliva", "guid": "53c21a78-60a0-5a85-8cd0-6e8aad36422b", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/LLSKKD/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/kZFHBXeRAZQ", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBAAAL/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBAAAL/", "attachments": []}, {"guid": "628f7599-ea0c-5a0f-aecf-491647512aad", "code": "3VZ9BE", "id": 80061, "logo": null, "date": "2025-09-28T11:00:00+01:00", "start": "11:00", "duration": "00:30", "room": "Auditorium B001 (170)", "slug": "opo25-80061-interprocedural-optimization-of-openmp-kernels", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3VZ9BE/", "title": "Interprocedural optimization of OpenMP kernels", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "When compiling OpenMP constructs, the bodies of OpenMP regions are outlined into separate functions, which are later called indirectly by libgomp built-ins. This outlining process disables interprocedural optimizations for the kernels. In this short talk, we outline a mechanism to partially restore interprocedural optimization capabilities for the kernels, starting with constant propagation, and we discuss its applications beyond OpenMP.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RMUYQT", "name": "Josef Melcr", "avatar": null, "biography": "I\u2019m a graduate student pursuing my Master\u2019s with a passion for system programming, compilers, and open-source development. Though I\u2019m new to contributing to GCC, I hope to make it a central part of my career one day.", "public_name": "Josef Melcr", "guid": "ba154730-fdd3-5aa5-9a5a-3c65f1e931a8", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/RMUYQT/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/yvWNkYYj8N0", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3VZ9BE/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3VZ9BE/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/3VZ9BE/resources/ipa_for_openmp_dPItDDv.pdf", "type": "related"}]}, {"guid": "20e1f8bd-fabc-5d29-8b40-f3453179dcd9", "code": "3PTT7K", "id": 80944, "logo": null, "date": "2025-09-28T11:30:00+01:00", "start": "11:30", "duration": "00:30", "room": "Auditorium B001 (170)", "slug": "opo25-80944-quantifying-abstraction-costs-in-gcc", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3PTT7K/", "title": "Quantifying Abstraction Costs in GCC", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "Everyone wants to improve the code quality of GCC yet many small patches, suggested improvements, and larger refactoring projects remain unaddressed. In some cases without any updates in over 20 years! It becomes very discouraging to attempt to develop these patches when there is no set guidelines for what is acceptable. To that end, we will take a brief look at past efforts to identify the pain points of developing, reviewing, and finally approving these patches. From here we look at what we can do to reduce friction for developers and maintainers, with a focus on quantifying impacts on GCC's compile duration, run time performance and debug-ability.", "description": "This talk also serves as a soft prerequisite to my BOF as the motivations for it are covered in this talk, if you're interested in attending it you should consider being here for this one.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RJLANW", "name": "Alex (Waffl3x)", "avatar": null, "biography": "Compiler Engineer/Code Sourcerer at BayLibre\r\nContributor of GCC's implementation of C++ P0847R7 Deducing this\r\nMember of The ISO C++ committee (ISO/IEC JTC1 / SC22 / WG21)\r\nCo-Author of P3668 Defaulting Postfix Increment and Decrement Operations", "public_name": "Alex (Waffl3x)", "guid": "4f7f2377-7b99-571d-a6bb-4791b6aff08d", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/RJLANW/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/V41YYzG5vJM", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3PTT7K/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3PTT7K/", "attachments": []}, {"guid": "1f9ca8f6-91fb-535f-86fb-a488963ed691", "code": "GWSYPJ", "id": 80955, "logo": null, "date": "2025-09-28T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B001 (170)", "slug": "opo25-80955-gcc-bof-reviewing-refactoring-goals-and-acceptable-abstractions", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/GWSYPJ/", "title": "GCC BOF: Reviewing refactoring goals and acceptable abstractions", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "In continuation from my talk on quantifying abstractions by objective costs, we also need to evaluate the more subjective costs and benefits of this work, as well as where that work should be directed. Ideally this will form the basis of a design document that developers can refer to for guidance, further reducing friction between developers and maintainers by making expectations more clear.\r\nWe will talk about and evaluate:\r\n- acceptability and like/dislike of different abstractions and practices\r\n- what is most important to refactor/rewrite/modernize, and the risks of doing so\r\n- refresh our state on goals, ImprovementProjects, and rearch plans (some of this is very old)\r\n- figure out what changes we really want\r\n- and very importantly, what we do NOT want our code base to become\r\n\r\nTo help stimulate discussion, I will prepare examples of code with potential refactors (some intentionally bad).", "description": "This builds on top of my previous talk \"Quantifying Abstraction Costs in GCC\", if you plan on attending this BOF it would be beneficial to attend that talk to develop more background.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RJLANW", "name": "Alex (Waffl3x)", "avatar": null, "biography": "Compiler Engineer/Code Sourcerer at BayLibre\r\nContributor of GCC's implementation of C++ P0847R7 Deducing this\r\nMember of The ISO C++ committee (ISO/IEC JTC1 / SC22 / WG21)\r\nCo-Author of P3668 Defaulting Postfix Increment and Decrement Operations", "public_name": "Alex (Waffl3x)", "guid": "4f7f2377-7b99-571d-a6bb-4791b6aff08d", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/RJLANW/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/KErlyEo_Qac", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/GWSYPJ/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/GWSYPJ/", "attachments": []}], "Auditorium B002 (170)": [{"guid": "505d7cc3-126c-5cf8-87a3-92a990e4a662", "code": "8H8U3C", "id": 80987, "logo": null, "date": "2025-09-28T10:30:00+01:00", "start": "10:30", "duration": "00:30", "room": "Auditorium B002 (170)", "slug": "opo25-80987-developing-a-dead-code-elimination-pass-with-rtl-ssa", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8H8U3C/", "title": "Developing a dead code elimination pass with RTL SSA", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "The RTL SSA framework is a relatively new component of GCC that enables SSA-based analysis on RTL. In this talk, I will present a dead code elimination (DCE) implementation built on top of this framework, intended to replace the existing UD-chain based DCE.", "description": "For my bachelor\u2019s thesis, I implemented a dead code elimination (DCE) pass using the RTL SSA framework in GCC. This talk aims to explain the SSA based DCE algorithm in detail, outline key aspects of the implementation and highlight the challenges and decisions encountered during development.", "recording_license": "", "do_not_record": false, "persons": [{"code": "XCWGMK", "name": "Ond\u0159ej Machota", "avatar": null, "biography": null, "public_name": "Ond\u0159ej Machota", "guid": "6c65aff9-7da3-574e-ae6e-357a569369e3", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/XCWGMK/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/Wibb-XPGJqQ", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8H8U3C/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/8H8U3C/", "attachments": [{"title": "Presentation", "url": "/media/opo25/submissions/8H8U3C/resources/Cauldron_6RRhCpq.pdf", "type": "related"}]}, {"guid": "5b828caa-4f37-5d9b-a7f9-453432d0289a", "code": "MSLAKP", "id": 80933, "logo": null, "date": "2025-09-28T11:00:00+01:00", "start": "11:00", "duration": "00:15", "room": "Auditorium B002 (170)", "slug": "opo25-80933-bringing-autofdo-to-aarch64-low-overhead-profile-guided-optimization-for-aarch64", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/MSLAKP/", "title": "Bringing AutoFDO to AARCH64: Low-Overhead, Profile Guided Optimization for AArch64", "subtitle": "", "track": null, "type": "Lightning Talks", "language": "en", "abstract": "Profile-Guided Optimization (PGO) is a powerful technique for achieving performance gains, yet its instrumentation-based implementation imposes a high overhead that limits its adoption in production environments. AutoFDO solves this by using low-overhead hardware based sampling to gather profile data, making it an ideal approach for continuous, real-world optimization. \r\nThis presentation details the work required to enable AutoFDO for  AArch64 within the GNU toolchain and a state of the world for AutoFDO. We will cover the key architectural features that make efficient, sampling-based profiling possible. We cover the hardware pre-requisites and implications of using the various hardware units available on the AArch64 architecture (namely SPE and BRBE).\r\nWe will discuss the specific technical challenges encountered, including the crucial task of accurately annotating the pre-optimization IR representation using a profile gathered from an already optimized binary. We will detail the fixes implemented in the AutoFDO tools and GCC to handle the discrepancies that arise from this process. This ensures that the profile data correctly drives optimizations like inlining and block reordering, even with significant", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "NXPFSL", "name": "Kugan Vivekanandarajah", "avatar": null, "biography": "Kugan Vivekanandarajah is a CPU Compiler Engineer at NVIDIA. His work is primarily focused on implementing and enhancing optimizations for the AArch64 architecture.", "public_name": "Kugan Vivekanandarajah", "guid": "c3118cbe-a26f-564d-b067-66c08db50689", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/NXPFSL/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/h18BaMo6DJs", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/MSLAKP/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/MSLAKP/", "attachments": []}, {"guid": "3ce593bd-5afd-517e-bb10-7ca10b551531", "code": "SNB8BU", "id": 80932, "logo": null, "date": "2025-09-28T11:15:00+01:00", "start": "11:15", "duration": "00:15", "room": "Auditorium B002 (170)", "slug": "opo25-80932-ci-and-fuzzing-for-risc-v", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SNB8BU/", "title": "CI and Fuzzing for RISC-V", "subtitle": "", "track": null, "type": "Lightning Talks", "language": "en", "abstract": "In this talk, I will give a quick overview of some of the current existing RISC-V testing infrastructure, focusing on our pre/post commit CI and automated fuzzing system. I will briefly show how these tools have helped identify regressions early and provide faster feedback to developers.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "GAJBZB", "name": "Edwin Lu", "avatar": null, "biography": "Toolchain engineer at Rivos", "public_name": "Edwin Lu", "guid": "daf8c857-7c0a-5c11-9878-c3680eb66465", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/GAJBZB/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/CbImcdym7Jo", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SNB8BU/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SNB8BU/", "attachments": [{"title": "slides", "url": "/media/opo25/submissions/SNB8BU/resources/GNU_Cauldron_2025_CI_IpxduDn.pdf", "type": "related"}]}, {"guid": "fa2ce04a-666e-596f-8693-2994d508e288", "code": "SBAG78", "id": 78097, "logo": null, "date": "2025-09-28T11:30:00+01:00", "start": "11:30", "duration": "01:00", "room": "Auditorium B002 (170)", "slug": "opo25-78097-sourceware-forge-contribution-workflows-with-forgejo", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBAG78/", "title": "Sourceware Forge: contribution workflows with Forgejo", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "The session starts with a brief (15-20 min) presentation on\r\n- the motivations and requirements people have communicated for using a forge\r\n- what forgejo provides and what's missing\r\n- an overview of how existing workflows can gradually migrate to the forge\r\n\r\nThe majority of time will be used to gather feedback from the community.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "TR7W7Z", "name": "Claudio Bantaloukas", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/TR7W7Z_vamUFGX.webp", "biography": "Dad, software generalist, stiltwalker, choose any three.\r\nLongtime GNU/Linux user, working in the GNU Tools team in Arm for the past year and a half.", "public_name": "Claudio Bantaloukas", "guid": "e7b96be9-38c5-516b-b0b6-cd92a87e3f43", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/TR7W7Z/"}, {"code": "HTCF3G", "name": "Mark J. Wielaard", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/HTCF3G_UjS1EoP.webp", "biography": "Red Hat, Senior Principal Software Engineer, Platform Tools\r\nHe / Him / His\r\n\r\nDebugedit, Elfutils, Valgrind maintainer\r\nSourceware Project Leadership Committee Member\r\nDWARF Debugging Information Format Committee Member", "public_name": "Mark J. Wielaard", "guid": "17b8f34e-db85-548e-9a4b-7e4f57fd7b65", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/HTCF3G/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/7rBGuBDBTLM?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBAG78/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SBAG78/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/SBAG78/resources/Sourceware_Forge_Cau_uoIQuCr.pdf", "type": "related"}]}, {"guid": "93ba44f9-e782-57d8-9388-f188904812f6", "code": "9NFAJJ", "id": 80831, "logo": null, "date": "2025-09-28T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B002 (170)", "slug": "opo25-80831-risc-v-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9NFAJJ/", "title": "RISC-V BoF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "The annual opportunity to review and discuss anything about the RISC-V backend.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "EFWZWB", "name": "Jeremy Bennett", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/EFWZWB_smQ5FUD.webp", "biography": "Jeremy Bennett is Chief of Executive of Embecosm, a specialist open source consultancy, best known for its work with compiler and AI tool chains.  He is author of the standard textbook \"Introduction to Compiling Techniques\" (McGraw-Hill 1990, 1995, 2003).  Jeremy has attended every GNU Tools Cauldron and is a director of the GNU Tools Cauldron Community Interest Company.", "public_name": "Jeremy Bennett", "guid": "e1e15f02-9ddd-5e84-9117-00ea0825615a", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/EFWZWB/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/cHh10Urud6U", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9NFAJJ/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9NFAJJ/", "attachments": []}], "Auditorium B003 (170)": [{"guid": "3d051afb-d3b4-5043-b7cf-e4aa0da62857", "code": "3SXARL", "id": 75062, "logo": null, "date": "2025-09-28T10:30:00+01:00", "start": "10:30", "duration": "01:00", "room": "Auditorium B003 (170)", "slug": "opo25-75062-vectorizer-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3SXARL/", "title": "Vectorizer BOF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "After short updates on vectorizer work from contributors this is the chance to discuss larger work going forward.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "YS8A8C", "name": "Richard Biener", "avatar": null, "biography": "Working in SUSE Labs on Toolchain.  Release manager, vectorizer, and middle-end maintainer, global reviewer.", "public_name": "Richard Biener", "guid": "ff01b5fa-9fbb-5946-99b7-4796bd11fe90", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/YS8A8C/"}, {"code": "78SWQU", "name": "Tamar Christina", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/78SWQU_AFByjxu.webp", "biography": "Compiler Engineer at Arm Holdings", "public_name": "Tamar Christina", "guid": "1e0da0f9-cb5f-5501-86bc-3df35a0bcaa2", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/78SWQU/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/hCZI7b7m9IA?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3SXARL/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/3SXARL/", "attachments": [{"title": "Slides from the BOF", "url": "/media/opo25/submissions/3SXARL/resources/Vectorizer_BOF_oj507vy.pdf", "type": "related"}]}, {"guid": "e32d9a2f-a13a-53e8-a14f-b68bfaaa29f3", "code": "SPUUDV", "id": 79595, "logo": null, "date": "2025-09-28T11:30:00+01:00", "start": "11:30", "duration": "01:00", "room": "Auditorium B003 (170)", "slug": "opo25-79595-source-code-analysis-and-navigation-the-metadatabase", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SPUUDV/", "title": "Source Code Analysis and Navigation: the metadatabase", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "A proof-of-concept demonstration of a language-independent metadata database to support source-code interrogation and navigation.  Such a database could support little-understood source-code analysis and functionality that is not available today at any price.  \r\n\r\nI propose that GCC be extended to produce such a database, probably from the gimple tree, as an affordance to tool developers.", "description": "Tool development for C++ in particular died on the vine in the 1990s, a victim of industry factors and perception.  Today, commonly used tools like *cscope* and *etags* cannot distinguish between `std::find` and `std::map::find`.  The *etags* file format was last updated in 1998 and in the introduction to its manual lists _support for C++_ as a desirable feature.  \r\n\r\nEven if these broken tools worked on their own terms, they would still be inadequate.  Static analysis can show, for example, everywhere a variable is modified, and where its address is taken so that it _could_ be modified, and the code paths by which that modification is effected.  Static analysis can _prove_ that a variable is not modified or a function is not called from some arbitrary module.  \r\n\r\nBut no tool does those things.  A moment's consideration reveals why: to _analyze_, say, C++, a tool must first _parse_ C++, a famously difficult proposition.  For GCC, though, that is a solved problem.  Let's externalize what the gcc parsers do, so tool developers can exploit them.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TQFVKJ", "name": "James K. Lowden", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/TQFVKJ_QZsQuOq.webp", "biography": "James worked for many years on Wall Street on quantitative research systems, implementing algorithms and designing databases to support them.  For a decade he was the maintainer for FreeTDS (www.freetds.org), a client library for SQL Server.  For the last several years, he's been extending gcc to recognize COBOL, with the (so far) secret ambition of enticing mainframe shops to embrace GCC and Linux.", "public_name": "James K. Lowden", "guid": "a6dea919-b698-5a39-82e6-9416c4b204f2", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/TQFVKJ/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/Fyii9rnMXu4", "type": "related"}, {"title": "Video of the talk", "url": "https://youtu.be/Fyii9rnMXu4?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SPUUDV/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/SPUUDV/", "attachments": []}, {"guid": "64022eb5-0edb-5db7-85a3-0670c33f0189", "code": "B97ARA", "id": 75645, "logo": null, "date": "2025-09-28T13:30:00+01:00", "start": "13:30", "duration": "01:00", "room": "Auditorium B003 (170)", "slug": "opo25-75645-arm-aarch64-bof", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/B97ARA/", "title": "Arm/AArch64 BoF", "subtitle": "", "track": null, "type": "Birds of a Feather (BoF)", "language": "en", "abstract": "A chance to discus upcoming and future work in the GNU toolchain for Arm platforms", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "78SWQU", "name": "Tamar Christina", "avatar": "https://conf.gnu-tools-cauldron.org/media/avatars/78SWQU_AFByjxu.webp", "biography": "Compiler Engineer at Arm Holdings", "public_name": "Tamar Christina", "guid": "1e0da0f9-cb5f-5501-86bc-3df35a0bcaa2", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/78SWQU/"}, {"code": "QKPW98", "name": "Alex Coplan", "avatar": null, "biography": null, "public_name": "Alex Coplan", "guid": "291f0757-16d6-5296-b537-382320db5fcc", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/QKPW98/"}, {"code": "TVMEWF", "name": "Wilco Dijkstra", "avatar": null, "biography": ".", "public_name": "Wilco Dijkstra", "guid": "9ba24f43-5387-552e-9844-7570487f8759", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/TVMEWF/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/p-e4J1zE7hE?list=PL_GiHdX17WtxuKn7QYme8EfbBS-RKSn0w", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/B97ARA/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/B97ARA/", "attachments": [{"title": "Slides", "url": "/media/opo25/submissions/B97ARA/resources/ArmAArch64_BoF_LJDmSvd.pdf", "type": "related"}]}, {"guid": "f3b461ed-2891-5e4f-9d91-f9a3ce95606b", "code": "9NWN9S", "id": 80298, "logo": null, "date": "2025-09-28T14:30:00+01:00", "start": "14:30", "duration": "00:30", "room": "Auditorium B003 (170)", "slug": "opo25-80298-notes-about-mte-implementation", "url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9NWN9S/", "title": "Notes about MTE implementation", "subtitle": "", "track": null, "type": "Talk (Short)", "language": "en", "abstract": "The Memory Tagging Extension (MTE) is a feature of the ARM v8.5 architecture that introduces several hardware capabilities:\r\n    - Each aligned 16-byte region of application memory can be assigned a 4-bit memory tag.\r\n    - Every pointer can include a 4-bit address tag in its most significant byte.\r\n    - An exception is triggered if the address tag differs from the memory tag.\r\n    - A set of special instructions is provided for efficient tag manipulation.\r\n\r\nMTE aims to tackle two major issues: buffer overflows and use-after-free errors. It is the responsibility of tools such as compilers, libraries, and assemblers to emit MTE instructions that instrument the code to prevent these errors.\r\n\r\nThis talk outlines the current support (and work in progress) for MTE instructions in the latest GNU tools, including GCC, binutils, and glibc.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "D97YBF", "name": "Claudiu Zissulescu", "avatar": null, "biography": "I am a toolchain engineer in Oracle Linux-Toolchain team.", "public_name": "Claudiu Zissulescu", "guid": "d95a3e76-1fb7-50af-ba54-4e0907736ad6", "url": "https://conf.gnu-tools-cauldron.org/opo25/speaker/D97YBF/"}], "links": [{"title": "Video of the talk", "url": "https://youtu.be/s_rsoe65a64", "type": "related"}], "feedback_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9NWN9S/feedback/", "origin_url": "https://conf.gnu-tools-cauldron.org/opo25/talk/9NWN9S/", "attachments": [{"title": "Presentation", "url": "/media/opo25/submissions/9NWN9S/resources/mte_SYXki6G.pdf", "type": "related"}]}]}}]}}}