Principal Software Engineer

Siddhesh Poyarekar

Siddhesh is one of the maintainers of the GNU C Library and contributes to various Open Source toolchain projects. At Red Hat his focus is primarily on toolchain security.

Siddhesh Poyarekar's contributions

Featured image for: Value range propagation in GCC with Project Ranger.
Article

GCC's new fortification level: The gains and costs

Siddhesh Poyarekar

Discover the gains and costs of GCC’s enhanced runtime buffer overflow protection. Level 3 _FORTIFY_SOURCE preprocessor macro may detect more buffer overflows, but there’s a cost.

            Article
       Thumbnail
Article

Malloc systemtap probes: an example

Siddhesh Poyarekar

One feedback I got from my blog post on Understanding malloc behavior using Systemtap userspace probes was that I should have included an example script to explain how this works. Well, better late than never, so here's an example script. This script prints some diagnostic information during a program run and also logs some information to print out a summary at the end. I'll go through the script a few related probes at a time. global sbrk, waits, arenalist, mmap_threshold...

            Article
       Thumbnail
Article

Improving math performance in glibc

Siddhesh Poyarekar

Update: Vincent Lefèvre helpfully pointed out that I had linked to the incorrect Worst Cases paper. That link is now fixed. Update 2: Dan Courcy pointed out that my equation in the "Multiplying zeroes" section had an error, which I have now fixed. Mathematical function implementations usually have to trade off between speed of computation and the accuracy of the result. This is especially true for transcendentals (i.e. the exponential and trigonometric functions), where results often have to be computed...

            Article
       Thumbnail
Article

Understanding malloc behavior using Systemtap userspace probes

Siddhesh Poyarekar

The malloc family of functions are critical for almost every serious application program. Its performance characteristics often have a big impact on the performance of applications. Given that the default malloc implementation needs to have consistent performance for all general cases, it makes available a number of tunables that can help developers tweak its behavior to suit their programs. About two years ago I had written an article on the Red Hat Customer Portal that described the high level design...