Delve is now available on Red Hat Enterprise Linux (RHEL). Starting in the RHEL 8.2 and
devtools-2020.2 releases, the Go language debugger Delve will be installed with the Go toolchain itself via the
Continue reading Using Delve to debug Go programs on Red Hat Enterprise Linux
Writing assembly code is straightforward when you are familiar with the targeted architecture’s instruction set, but what if you need to write the code for more than one architecture? For example, you might want to test whether a particular assembler feature is available, or generate an object file for use with another tool. Writing assembly source code that can work on multiple architectures is not so simple.
Continue reading Tips for writing portable assembler with GNU Assembler (GAS)
It’s been about a year since our last update about
debuginfod, an HTTP file server that serves debugging resources to debugger-like tools. Since then, we’ve been busy integrating clients across a range of developer tools and improving the server’s available metrics. This article covers the features and improvements we’ve added to
debuginfod since our last update.
Continue reading Debuginfod project update: New clients and metrics
A few weeks ago, we announced the new, no-cost Red Hat Enterprise Linux (RHEL) subscription. Here’s a quick guide for developers who want to set up a subscription and start using it right away.
Continue reading How to activate your no-cost Red Hat Enterprise Linux subscription
Many people have approached us asking about how we will publish the CentOS sources and if we are making changes because of the announcements on 8 December 2020 that we are focusing on CentOS Stream. In short, we are not making any changes to this process.
Continue reading A guide for using CentOS Project code
It has been quite a year for Arm Ltd., the firm that designs reduced instruction set computing (RISC) architectures for computer processors. The news that Arm-based computers will be important for the foreseeable future has even reached the mainstream media. At the end of 2019, Amazon Web Services announced Arm-based Graviton2 servers. In June 2020, Apple announced its plans to move Macintosh computers over to Apple silicon—which means Arm.
Continue reading How Red Hat ported OpenJDK to 64-bit Arm: A community history
I work at Red Hat on the GNU Compiler Collection (GCC). In GCC 10, I added the new
-fanalyzer option, a static analysis pass for identifying various problems at compile-time, rather than at runtime. The initial implementation was aimed at early adopters, who found a few bugs, including a security vulnerability: CVE-2020-1967. Bernd Edlinger, who discovered the issue, had to wade through many false positives accompanying the real issue. Other users also managed to get the analyzer to crash on their code.
I’ve been rewriting the analyzer to address these issues in the next major release, GCC 11. In this article, I describe the steps I’m taking to reduce the number of false positives and make this static analysis tool more robust.
Continue reading “Static analysis updates in GCC 11”
Disclaimer: In most cases, we don’t recommend editing files in a container. However, in rare cases, you might need to reproduce and slightly modify a file in a production container, especially when debugging. (In this case, the vim method I’m using works on Fedora 32 on my laptop and it is the base of my Red Hat OpenShift container image.)
Continue reading Use vim in a production Red Hat OpenShift container in 6 easy steps
Operators are one of the ways to package, deploy, and manage application distribution on Red Hat OpenShift. After a developer creates an Operator, the next step is to get the Operator published on OperatorHub.io. Doing this allows users to install and deploy the Operator in their OpenShift clusters. The Operator is installed, updated, and the management lifecycle is handled by the Operator Lifecycle Manager (OLM).
In this article, we explore the steps required to test the Operator’s OLM integration. For demonstration, we use a simple Operator that prints a test message to the shell. The Operator is packaged in the recently introduced Bundle Format.
Continue reading “Operator integration testing for Operator Lifecycle Manager”
In my previous article about nsswitch.conf I talked about how simple, perhaps too simple, this config file is to use. What I didn’t cover then was how simplistic its internal implementation is. Specifically, an application only loads this file once—the first time it’s needed.
Continue reading Coming in glibc 2.33: Reloadable nsswitch.conf