Making memcpy(NULL, NULL, 0) well-defined
C2y makes memcpy(NULL, NULL, 0) and other zero-length operations on null pointers well defined. This removes a source of bugs that may result in security issues.
C2y makes memcpy(NULL, NULL, 0) and other zero-length operations on null pointers well defined. This removes a source of bugs that may result in security issues.
Find out what's new in Red Hat Enterprise Linux (RHEL) 9.5, including enhancements for workloads, container management and security, and Identity Management.
Explore new features related to Valgrind's file descriptor and learn how to use them to track the file descriptors your program is using—or misusing.
A brief look at the changes needed to allow Valgrind Memcheck to produce correct diagnostics for memory issues in conjunction with x86-64-v3 instructions.
Part 3 in a series about improving Clang's constant expression interpreter.
A popular technique modern compilers use to improve the runtime performance of compiled code is to perform computations at compile time instead of at runtime. However, constant expressions need to be evaluated at compile time for a variety of reasons. To help resolve this problem, I've been working on improving the Clang's constant interpreter.
Timm Baeder explains the upstream work he has been doing on a new constant expression interpreter for Clang.
This short guide explains how to choose a GPU framework and library (e.g., CUDA vs. OpenCL), as well as how to design accurate benchmarks.
Learn how to write a GPU-accelerated quicksort procedure using the algorithm for prefix sum/scan and explore other GPU algorithms, such as Reduce and Game of Life.
This article provides a quick tutorial, explaining how to use GDB's reverse debugging facility, also known as time travel debugging. This will show the basic commands to use this facility.
The first of a four-part series on introductory GPU programming, this article provides a basic overview of the GPU programming model.
Learn how to use a linker's section ordering feature to experiment with the layout of code and data in memory, without the need to write full linker scripts.
Printing the value of errno when debugging with GDB should be easy, but sometimes it doesn't work. Learn why this can happen and what you can do about it.
Explore Rust features that can help you write more secure code, along with techniques and tips to help make software more resilient to attacks.
What happens when you mix a decade-old ABI comparison tool and a public Git server? The ability to preview compatibility against distributions/versions you haven't even installed.
Discover new features and enhancements in the C++ front end in GCC 14, the next major version of the GNU Compiler Collection.
Learn about the upcoming new library features in GCC 14's libstdc++.
In this lab, you will perform the installation of the GNU Compiler Collection 12...
Check out the top 10 Linux articles we published for developers in 2023, covering new features in Red Hat Enterprise Linux, containers, GCC 13, and more.
A technical deep-dive into single-iteration InstCombine, one of the compile-time improvements implemented in LLVM 18.
In this quick tutorial, learn how to install GCC 12 and build a Hello World application on RHEL 8.
In this quick tutorial, learn how to install GCC 12 and build a Hello World application on RHEL 9.
An update on progress from the first meeting of the C++26 cycle.
Get the highlights from the February 2023 ISO C++ standards committee meeting