The state of static analysis in the GCC 12 compiler
New features and a substantial reduction in false positives bring GCC's static analysis closer to being production-ready for C code.
New features and a substantial reduction in false positives bring GCC's static analysis closer to being production-ready for C code.
Get an overview of what core language changes are coming to C++23 and what proposals are in the pipeline.
Many C/C++ programs create their own memory allocators. Valgrind provides special macros for using Memcheck to debug memory under these conditions.
Get started with clang-format, an LLVM tool that you can use to set and maintain a consistent code style in your open source C and C++ projects.
Discover how Red Hat protects GCC 12 code from Trojan Source attacks. Learn how we defend our customers against this recent software vulnerability.
Find out what debugging information is, where it's stored, and how to inspect it. This article is the second of a three-part series about using GNU Debugger.
Find out what's new in Libabigail 2.0, including updates to the symbol table reader component, ABIXML format, and moving to the Apache 2 license.
Consolidation of libraries in the GNU C library, glibc, means more error-free builds, but there are consequences for developers and system administrators.
Complete your introduction to using virtual print statements in the GDB debugger with tips for running program functions and automating GDB behavior.
Our one-stop guide to all the best RHEL content we published this year, featuring C# 9, Go on Linux, Universal Base Image, Podman, and debugging tips.
Discover the latest versions of Red Hat Software Collections and Red Hat Developer Toolset. Enjoy an efficient and consistent developer experience.
RHEL 9 Beta features GCC 11, glibc 2.34, updated compilers, enhanced application streams, Python 3.9, and more. Plus, it's built from CentOS Stream!
Discover little-known Valgrind and GDB commands that can help you resolve memory leaks, buffer overflows, and similar bugs in your C and C++ code.
Implementing a minor tree optimization was a great way to get started with GCC internals while contributing to the community.
When the LLVM package build with the Clang compiler's link-time optimization activated failed, the LLVM packaging team knew they had a mystery to solve.
Learn how to use virtual print statements in the GDB debugger. This second article in the series shows how to save commands and output for later use.
Download Red Hat Software Collections 3.8 and Developer Toolset for Red Hat Enterprise Linux 7. New collections include Nginx 1.20, Redis 6, and JMC 8.0.1
You can use the GDB debugger to understand program behavior without any source code changes. In Part 1, learn how to run virtual print statements.
SystemTap allows access to low-level Linux kernel features. Explore enhancements to context variables, alias syntax, and BPF features in version 4.5.0.
C++17 is now the default version in the GNU Compiler Collection. Find out what you need to know when updating your code to C++17 with GCC 11.
Do you need a quick way to solve bugs in foreign library code? Learn how to use SystemTap for statement tracing and differential analysis in any library.
Easily switch between GCC and Clang for your RPM package. Learn the necessary changes and best practices to allow a spec file to build with both GCC and Clang.
Help GCC detect buffer overflows by using source-level annotations. This article describes three simple annotation types to detect out-of-bounds accesses.
Debugging memory errors can be challenging, and having the right tool helps. See how Valgrind and Sanitizers compare for common C and C++ memory errors.