Adhemerval Zanella

@zatrazz
22 Followers
43 Following
27 Posts
Toolchain Software Engineer at Linaro
@pinskia we added a bunch of math optimizations on glibc (libm and libmvec). I summarized most of them my Cauldron presentation.

GNU Tools Weekly News Week 14 (November 30, 2025)

Release updates for GNU toolchain:
* GDB 17.1 release update -- 2025-11-29
* https://inbox.sourceware.org/gdb-patches/aSwsj%[email protected]/T/#u

General/big GNU toolchain news (including sourceware news):
* The GCC Steering Committee has a wiki page detailing their mission
and current requests are listed
** https://gcc.gnu.org/wiki/gcc-steering-committee
* GDB: Christina Schimpe added as a x86-64 and i386 maintainer
* Office Hours for the GNU Toolchain was held Thursday 2025-11-27
* Notes can be found at https://gcc.gnu.org/wiki/OfficeHours
* Next office hours is 2025-12-18 @ 1100h EST5EDT
* Sourceware HW service migration successfully happened Friday 2025-11-28
* Please report if you notice anything wrong to @sourceware

GCC commits:
* The Algol 68 front-end
* Change the default C++ dialect to gnu++20
* c: Add _Maxof and _Minof operators
* New g++ option --compile-std-module to compile the std module
without any extra invocation of gcc
* RISC-V profiles support was removed from GCC 16 due to issues
* aarch64: Enable parsing of user-provided AArch64 CPU tuning parameters
* aarch64: Better code generation for SVE/Adv. SIMD early break vectorization
* libstdc++: Implement LWG 4366 for std::expected comparisons
* libstdc++: Implement LWG 4370 for std::optional comparisons
* gccrs: 12 commit sync
* ada: 15 commit sync
* RISC-V: Add Andes 23 and 45 series pipeline descriptions
* RISC-V: Add SpacemiT extension xsmtvdot

GCC discussion:
* decimal floating point
** Moved from glibc discussion
* https://inbox.sourceware.org/gcc/CAH6e[email protected]/T/#m2e0d4dd4a417da002fbbc32a50486d1ae6f9d1ca
* Refining _DEFAULT_SOURCE and _GNU_SOURCE
** Also glibc discussion
* https://inbox.sourceware.org/gcc/8926a[email protected]/T/#m796bfe7a1c918d55a87995df11747975d71fcba2

GCC bugzilla stats
* 113 new issues filed
* 97 issues closed

glibc commits:
* math: New generic fmaf and fma implementation
** Also https://zatrazz.substack.com/p/the-recent-glibc-fma-optimization
* math: Sync atanh from CORE-MATH
* Define C23 header version macros
* stdlib: Remove longlong.h (usage and header)

glibc discussion:
* See gcc discussion too
* glibc SFrame support for newer versions
* https://inbox.sourceware.org/libc-alpha/[email protected]/T/
* Is hppa64-linux-gnu an supported target?
* https://inbox.sourceware.org/libc-alpha/CAMe9rOqVupum3dknCOpTNYgmBn6=yHVgCjh+kARqph5ezCWXrw@mail.gmail.com/T/

binutils/gdb commits:
* Obsolete support for Solaris < 10

gdb discussion:
* What bugs/issues should I work on?
* https://inbox.sourceware.org/gdb/CAB9P[email protected]/T/#u

GDB 17.1 release update -- 2025-11-29

@josh @bugaevc @llvm The lldtree has some shortcomings where it does no implement all the glibc loader semantics like glibc-hwcap, default system dirs for some ABIs (like risc-v that uses ilp32d/lp64d), it parses the ld.so.conf instead of the binary cache.

I also tried to mimic other loader behavior with rldd, like ld hints on openbsd/freebsd, and some android behavior.

@llvm @bugaevc It depends of what you want to accomplish. If the idea is just to map the required DT_NEEDED libraries you can do by mimics the loader behavior (PT_INTERP), like the rldd.

You will need to add more loader logic to get things like bindings, relocations processing, and symbols.

Kernel support is required to get more complete mapping information (like if kernel will add some gappings between PT_LOAD), and it is subject to configurations like page size, THP, etc.

@llvm sometime ago I wrote https://github.com/zatrazz/rldd trying to as faithful as possible to glibc loader process. It does not load the binary as ld.so (so no hits or addresses, or if vDSO will be used), but at least it does work regardless of the architecture.

It supports parsing ld.so.cache, glibc-hwcaps, ld.preload, and some arch-specific idiosyncrasies (like some mips/arm stuff).

GitHub - zatrazz/rldd: ldd print shared object dependencies rust clone

ldd print shared object dependencies rust clone. Contribute to zatrazz/rldd development by creating an account on GitHub.

GitHub
Not so obvious I must say, but it is still interesting - https://zatrazz.substack.com/p/not-so-obvious-in-fact
Not so obvious in fact

Although the Twitter post is clear bait for discussion, the topic is interesting for discussion:

Adhemerval Zanella

https://inbox.sourceware.org/gcc/CAHt=[email protected]/

GNU Tools Weekly News Update Week 8 (October 19, 2025)

General/big GNU toolchain news (including sourceware news):
* notes from Sourceware Open Office was held on Friday October 10th
** https://inbox.sourceware.org/gcc/20251[email protected]/

GCC discussion:
* New GCC maintainers/reviews
** Tamar Christina is co-maintainer of the vectorizer
*** https://inbox.sourceware.org/gcc/CAGWv[email protected]/T/#u
** Robin Dapp is a reviewer of the vectorizer
*** https://inbox.sourceware.org/gcc/CAGWv[email protected]/T/#u
** tree-if-conv.cc is officially part of the vectorizer maintainership area
*** https://inbox.sourceware.org/gcc/CAGWv[email protected]/T/#u
* Patches for adding Algol 68 to GCC were posted
** https://inbox.sourceware.org/gcc-patches/[email protected]/T/#t
* How to write/read tree contains ssa_name in lto
** https://inbox.sourceware.org/gcc/CAPt2[email protected]/
** Turned into a discussion on how to handle recording if 2 memory allocations happen how to mark if one is loaded from; the other does not trap too
* plans for gcobol 16
** https://inbox.sourceware.org/gcc/20251[email protected]/
* Discussion around patches from the sourceware forge
** https://inbox.sourceware.org/gcc/CAPS5[email protected]/T/#m86a67388fed189739518ee1314f3e8736bbf0833
* Add btf_decl_tag and btf_type_tag C attributes for GCC v11 of the patches
** https://inbox.sourceware.org/gcc-patches/[email protected]/T/#m0812b326872ebae48b935274726e5ec1f1a18b46

GCC commits:
* Enable constant propagation to OpenMP kernels
** New first time contributor
** big improvement for openmp
* Allow target to chose address-space for artificial rodata
** Improves AVR target size requirements when dealing with conversion of switch tables to constant lookup tables and CRC lookup tables
** https://gcc.gnu.org/cgit/gcc/commit/?h=trunk&id=e347e2b81ac7daa7382c611a62d54ec0b761bee8
** 7 years from the initial patch to the current pushed one
* Initial support for Intel Wildcat Lake processors
* Implement P1494 and P3641 Partial program correctness (c++ and library)
* Enable runtime thread detection with -ftree-parallelize-loops
* libstdc++: Implement P2835R7 Expose std::atomic_ref's object address

GCC bugzilla stats
* 77 new issues filed
* 60 issues closed

glibc commits:
* Implement C23 memalignment
* aarch64: clear ZA state of SME before clone and clone3 syscalls

glibc discussion:
* compiling with clang patches posted
** https://inbox.sourceware.org/libc-alpha/[email protected]/

gdb/binutils commits:
* binutils: Add a position statement about LLM generated content
** https://sourceware.org/cgit/binutils-gdb/commit/?id=c0316a54b489d68e30de718aee69ab441799aad2

binutils discussion:
* continued GNU Tools Cauldron SFrame talk notes
** https://inbox.sourceware.org/binutils/[email protected]/

GNU Tools Weekly News Week 8 (October 19, 2025) - GNU Tools weekly

GNU Tools Weekly News Update Week 6  (October 6, 2025)

https://inbox.sourceware.org/gcc/CAHt=[email protected]/T/#u

Summary below:

General/big GNU toolchain news (including sourceware news):
* Last week was the GNU tools 2025 cauldron
** Will post and update when the videos and pdfs on cauldron available
** Thanks again to the host (Faculty of Engineering of the University of Porto) and organizers for a wonderful and productive cauldron

GCC discussion:
* Followup from the cauldron about  "bugzilla keyword for beginner issues to work on"
** https://inbox.sourceware.org/gcc/0ef5e[email protected]/T/#m99b5395361ece1d1c3f294e2d5b1582e6d11a39b

* Link to the GCC Steering Committee overview on the wiki was posted
** https://gcc.gnu.org/wiki/gcc-steering-committee

* How to build a cross compiler for NVPTX backend
** The instructions can be found at https://gcc.gnu.org/wiki/Offloading#For_Nvidia_PTX:

* `Regarding vectorize pattern recognition for [generic] vector [extension] code`
** https://inbox.sourceware.org/gcc/pro8s[email protected]/T/#me17225d58ef3e998e5897ebd6c9c0bc3b344f49e

GCC commits:
* Removal of the fold_builtin (fab) pass
** Merged functionality into other passes
* Function multi-version (FMV) support was improved to now follow ARM's ACLE
** Support was added to the C front-end also
** AARCH64 support is no longer beta
* libstdc++: Implement Philox Engine, c++26 P2075R6
** First time contributor; https://github.com/1nfocalypse
* Improvements for AutoFDO and profiling in general
* toplevel: unify the GCC and GDB/binutils .editorconfig files
* C: Add -Wmultiple-parameter-fwd-decl-lists new warning
* C++: Implement C++26 P2795R5 - Erroneous behavior for uninitialized reads
* Ada: Availability of the Extended_Access aspect.
** https://gcc.gnu.org/onlinedocs/gnat_rm/Aspect-Extended_005fAccess.html

GCC bugzilla stats (includes previous week too):
* 149 new issues filed
* 113 issues closed

glibc commits:
* C23: Implement memset_explicit
* AArch64: Implement AdvSIMD and SVE log2p1(f) and log10p1(f) routines
* C23: Add once_flag, ONCE_FLAG_INIT and call_once to stdlib.h
* Optimize flt-32 and dbl-64 remainder implementation

glibc/binutils discussions:
* LLM-generated or assisted contributions
** https://inbox.sourceware.org/libc-alpha/[email protected]/T/#m150c261c0efeec12da4b0b193ba79f45ddbb9d37
** https://inbox.sourceware.org/binutils/[email protected]/T/#mb0cdf5c6e1a626a19a1470137e5a731058064cce

gdb/binutils commits:
* aarch64: Update and fix some of the system registers
* Add the ability to find the clang LTO plugin with ar/ld/ranlib.
* Many gdb cleanups

gdb discussion:
* gdb does not stop at printf for ppc
** https://inbox.sourceware.org/gdb/87wm5[email protected]/T/#m6b827501a18f4b1006fcfe390815e818107a1c47

GNU Tools Weekly News Week 2 (September 7, 2025)

Our engineers will be presenting at this year’s GNU Tools Cauldron, bringing expertise in both glibc math optimizations and open-source community processes.

Here’s the 2 key sessions you don’t want to miss:

→ Adhemerval Zanella’s talk on Latest glibc math improvements and the future (Sep 27, 9 AM GMT+1)
→ A Q&A session with Maxim Kuvyrkov on Process and Barriers (Sep 28, 4PM GMT+1)

Full schedule can be found here: https://lnkd.in/eWvYantU

#Linaro #OpenSource #GNUToolCauldron #Tech

LinkedIn

This link will take you to a page that’s not on LinkedIn

GNU Tools Weekly News Update Week 3  (September 14, 2025)

General/big GNU toolchain news (including sourceware news):
The GNU tools Cauldron 2025 schedule is now live: https://conf.gnu-tools-cauldron.org/opo25/schedule/
Sourceware Together; Open Office was held on Friday September 12th
gccrs August 2025 Monthly report: https://inbox.sourceware.org/gcc/1a8ba[email protected]/T/#u

GCC discussion:
* Should the forge-bot send patches to the gcc-patches mailing list? https://inbox.sourceware.org/overseers/[email protected]/T/
* Attribute for custom memset function: https://inbox.sourceware.org/gcc/CAH6e[email protected]/T/
* RISC-V nightly performance testing of GCC on SPEC CPU 2017: https://inbox.sourceware.org/gcc/4ED89[email protected]/T/
* Clarification about RTL shifts semantics: https://inbox.sourceware.org/gcc/87y0q[email protected]/T/

GCC commits:
* Improve the malloc+memset->calloc optimization (not doing as much and doing more)
* C++26: libstdc++: Implement constant_wrapper, cw from P2781R9.
* C++26: libstdc++: Adjust span/mdspan CTAD for P2781R9.
* C++26: libstdc++: Apply LWG4351 to CTAD of span/mdspan.
* c++: Fix mangling of _Float16 template args
* c, c++: Allow &__real__ static_var in constant expressions
* c++20: Change mangling of Intel/Motorola extended long double literals ** ABI CHANGE**
* c: Warn when returning nested functions that require a non-local context.
* new fabs(a+0.0) -> fabs(a) pattern (From a first time contributor)
* c2y:: Implement N3517 array subscripting without decay
* ~70 commits to the Ada front-end

GCC bugzilla stats:
* 97 new issues filed
* 64 issues closed

glibc commits:
* Fix build for -Os for a few targets
*  AArch64: add optimised strspn/strcspn
* Use builtin atomics more
* benchtests: Add lgamma, asinh, and acosh benchmarks

gdb/binutils discussion:
* gdb XML type for SME ZA storage: https://inbox.sourceware.org/gdb/CANnS[email protected]/T/
* GDB 17 pre-release (first prelease for GDB 17 before RCs) for testing: https://inbox.sourceware.org/gdb-patches/[email protected]/T/
* Removal of stabs debug info support in GDB: https://inbox.sourceware.org/gdb-patches/[email protected]/T/

GNU Tools Cauldron 2025

Schedule, talks and talk submissions for GNU Tools Cauldron 2025