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