
How to improve application security using _FORTIFY_SOURCE=3
Discover how to improve application and library security at the source with _FORTIFY_SOURCE macro defined to 3 and how it impacts performance.
Discover how to improve application and library security at the source with _FORTIFY_SOURCE macro defined to 3 and how it impacts performance.
The GCC compiler is expanding range tracking in optimizations.
Learn how internal architectural changes in the new libabigail 2.2 release allow the framework to support multiple debugging formats in addition to DWARF.
It's very common on Linux for a binary application to be invoked by a shell script. This article explains how you can debug such binaries using GDB.
The C++ standard library gained some new concurrency features with C++20 . This article will cover the implementation approach for atomic wait/notify, as these are basis operations required to implement the remaining coordination primitives introduced with C++20.
As we head into Thanksgiving, we want to share some of the top tutorials, announcements, and guides that our developer community has engaged with the most.
Learn about the new features from OpenMP 5.1 and OpenMP 5.2 which are implemented in GCC 12.
Could your perfectly running program blow up someday? Learn different types of behavior in the standard and what helps make a correct C or C++ program.
Breakpoints are the most commonly used (and underused) debugging event in a debugger. This article discusses the breakpoint features that GDB offers developers, and shows how to use breakpoints effectively.
Discover how flexible array members offer convenience and improve performance, and how compiler complexities are mitigated.
Learn techniques to create a binding to make a library written in Rust accessible to Python programs. (Part 3 of 4)
Learn how to implement 3 practices for writing Linux system libraries: backward compatibility, event-driven asynchronous programming, and logging. (Part 1 of 4)
Use a Python API for GDB Text User Interface (TUI) to retrieve content from GDB and display the content in a scrolling window.
The GDB Text User Interface (TUI) has a Python API to retrieve content of your choice dynamically from GDB and display it in a custom window.
This page helps you get started with Red Hat OpenShift Dev Spaces.
Learn the commands that let you move up and down the stack when debugging C and C++ programs.
Smash-stacking attacks are common, but the GCC and Clang compilers have a number of flags that can help defend against them. Read on for more info.
A trip through Red Hat Developer's content for the month, with articles on GCC 12, Java in containers, Red Hat's SSO technology, and much more.
Version 12 of GCC implements much of the recent C++ standard, allows a number of previously prohibited constructs, and fixes some problematic behaviors.
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.