Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools@fosstodon.org. Distinguished Developer @RedHat.
Posts
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Hot take: All computer programmers should learn rhetorical analysis. Computer programming is philosophy for hardware. It can take any shape, but certain structures yield indelible advantages over time.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Someone said "It's mentors all the way down." and made my day 😃
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
If you use RTLD_DEEPBIND you can create a nested lookup scope, and in that scope you can define your own allocator and bind locally to it... but if you leak pointers from that allocator to another scope, say via function return, it results in undefined behaviour when you try to free the pointer in a scope where it was not allocated. glibc lets you do this because it is the semantics of RTLD_DEEPBIND. This is a non-modular feature and because of these semantics it is incompatible with ASAN.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Where did my file go?! git stash apply. Oh right :/
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
My father assures me that when he studied engineering in Argentina the exams were oral, his instructors were German, and it was all in front of the class and public. He notes that it was structurally impossible to cheat in such a venue except by clever falsification of physical identity. Which apparently happened once or twice, but the class usually had a good laugh at that.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
"The GNU libc atanh is correctly rounded." (https://inria.hal.science/hal-05591661) That simple phrase is so exceedingly hard to prove, and yet we chase the goal because some workloads require it and we can achieve this goal in some cases without worst case performance loss. For glibc 2.43 the project has integrated 32 of the CORE-MATH library functions.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee @gnutools. Distinguished Developer @RedHat.
Linux system calls are not full memory barriers, and so while data in buffers written via writev() or sendto() may be synchronized between threads, that random memory increment for a global might not be, and you still need synchronization for that. Hardware being what it is today you might not see the problem because the syscall masks the issue.