Volunteering/Consulting for libm Development in glibc

Sam James sam@gentoo.org
Wed Feb 19 18:11:53 GMT 2025


Ayan Shafqat <ayan.x.shafqat@gmail.com> writes:

> On Tue, Feb 18, 2025 at 05:35:19PM +0000, Joseph Myers wrote:
>> On Tue, 18 Feb 2025, Ayan Shafqat wrote:
>> 
>> I think these projects are not very suitable for people who are beginners 
>> to glibc development, since they are much more about a thorough 
>> understanding of how all the pieces in glibc fit together and the issues 
>> associated with the many different configurations supported by glibc (and 
>> ABI considerations, support for different compiler versions for building 
>> code with glibc, ...), than about floating-point function implementation.  
>> Improvements to individual functions (that are already present in glibc) 
>> are more suitable for people familiar with floating point but not more 
>> broadly with the full range of glibc configurations and development 
>> principles.
>> 
>> <tgmath.h> is another example of something tricky involved with _Float16 
>> support - where there are at least four different cases to test and 
>> consider (GCC <= 6, GCC 7, GCC 8 to 12, GCC >= 13) - though Arm __fp16 was 
>> too restricted to be usable in place of _Float16 so the GCC <= 6 case may 
>> not actually be relevant for _Float16.
>> 
>
> Joseph:
>
> I understand your point about the need for a broader understanding of
> glibc's architecture and configuration management.  While my initial
> interest was floating-point math and aspects of C23, I am definitely
> keen to contribute in a way that is both helpful and allows me to learn
> the necessary broader context of glibc development.
>
> I would be grateful if you could suggest specific areas or functions
> where contributions from someone with my background (in DSP, AI/ML, HPC,
> and floating-point) could be beneficial and less encumbered by the
> overall glibc configuration complexities at the outset.

I suggest doing what I mentioned on IRC -- going over old libm bugs like
the one you found and where you suspect it's fixed, investigate it, find
what commit (if any) fixed it, and add a testcase.



More information about the Libc-alpha mailing list