Elektrine lite

← Feed

Carlos O'Donell

codonell@fosstodon.org

<p>Free software volunteer. Maintainer for the GNU C Library. GNU Toolchain Fund trustee <span class="h-card" translate="no"><a href="https://fosstodon.org/@gnutools" class="u-url mention">@<span>gnutools</span></a></span>. Distinguished Developer @RedHat.</p>

Posts

  • Post #3038158

    &amp;quot;The GNU libc atanh is correctly rounded.&amp;quot; (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.

  • Post #3038157

    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.

  • Post #3038156

    Where did my file go?! git stash apply. Oh right :/

  • Post #3038155

    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.

  • Post #3038154

    Someone said &amp;quot;It&amp;#39;s mentors all the way down.&amp;quot; and made my day 😃

  • Post #3038153

    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.

  • Post #543709

    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.