developer toolset

Introducing debuginfod, the elfutils debuginfo server

Introducing debuginfod, the elfutils debuginfo server

Because bugs are inevitable, developers need quick and easy access to the artifacts that debugging tools like Systemtap and GDB depend on, which are typically DWARF (Debugging With Attributed Record Formats) debuginfo or source files. Accessing these resources should not be an issue when debugging your own local build tree, but all too often they are not readily available.

For example, your distro might package debuginfo and source files separately from the executable you’re trying to debug and you may lack the permissions to install these packages. Or, perhaps you’re debugging within a container that was not built with these resources, or maybe you simply don’t want these files taking up space on your machine.

Debuginfo files are notorious for taking up large amounts of space, and it is not unusual for their size to be five to fifteen times that of the corresponding executable. debuginfod aims to resolve these problems.

Continue reading “Introducing debuginfod, the elfutils debuginfo server”

Share
Developer Toolset 8.1 and GCC 8.3 now available for Red Hat Enterprise Linux  7

Developer Toolset 8.1 and GCC 8.3 now available for Red Hat Enterprise Linux 7

Red Hat Developer Toolset delivers GCC, GDB, and a set of complementary development tools for Red Hat Enterprise Linux via two release trains per year. We are pleased to share that Developer Toolset 8.1 with GCC 8.3 is now available and supported on Red Hat Enterprise Linux 7.

Continue reading “Developer Toolset 8.1 and GCC 8.3 now available for Red Hat Enterprise Linux 7”

Share
How to install GCC 8 and Clang/LLVM 6 on Red Hat Enterprise Linux 7

How to install GCC 8 and Clang/LLVM 6 on Red Hat Enterprise Linux 7

There has been a lot of work to improve C/C++ compilers in recent years. A number of articles have been posted by Red Hat engineers working on the compilers themselves covering usability improvements, features to detect possible bugs, and security issues in your code.

Red Hat Enterprise Linux 8 Beta ships with GCC 8 as the default compiler. This article shows you how to install GCC 8 as well as Clang/LLVM 6 on Red Hat Enterprise Linux 7. You’ll be able to use the same updated (and supported) compilers from Red Hat on both RHEL 7 and 8.

If you want your default gcc to always be GCC 8, or you want clang to always be in your path, this article shows how to permanently enable a software collection by adding it to the profile (dot files) for your user account. A number of common questions about software collections are also answered.

Continue reading “How to install GCC 8 and Clang/LLVM 6 on Red Hat Enterprise Linux 7”

Share
GCC 8.2 now GA for Red Hat Enterprise Linux

GCC 8.2 now GA for Red Hat Enterprise Linux

We are pleased to announce general availability of Red Hat Developer Toolset 8 for Red Hat Enterprise Linux 6 and 7.  The key new components for this release are:

  • GCC 8.2.1
  • GDB 8.2
  • Updated components such as SystemTap, Valgrind, OProfile, and many more

See the “New Features” section below for more details.

Like other tools, these are easily installable via yum, see How to install GCC 8 on Red Hat Enterprise LinuxRed Hat Developer Toolset and Red Hat Software Collections are included in the no-cost developer subscription for Red Hat Enterprise Linux.

Continue reading “GCC 8.2 now GA for Red Hat Enterprise Linux”

Share
GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7

GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7

We are pleased to announce the immediate availability of Red Hat Developer Toolset 8 beta for Red Hat Enterprise Linux 6 and 7.  The key new components for this release are:

  • GCC 8.2.1
  • GDB 8.2
  • Updated components such as SystemTap, Valgrind, OProfile, and many more

To get started, see: How to install GCC 8 on Red Hat Enterprise Linux.  For more details, see the “New Features” section below.

Continue reading “GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7”

Share

What Does the New JBoss EAP CD Release Stream Mean for Developers?

A new release stream of Red Hat JBoss Enterprise Application Platform is now available: JBoss EAP continuous delivery (JBoss EAP CD).

JBoss EAP CD provides rapid incremental releases of new JBoss EAP capabilities approximately every quarter and is delivered only in Red Hat OpenShift image format.

What does this new JBoss EAP CD release stream mean for developers?

Continue reading “What Does the New JBoss EAP CD Release Stream Mean for Developers?”

Share
SystemTap’s BPF Backend Introduces Tracepoint Support

SystemTap’s BPF Backend Introduces Tracepoint Support

This blog is the third in a series on stapbpf, SystemTap’s BPF (Berkeley Packet Filter) backend. In the first post, Introducing stapbpf – SystemTap’s new BPF backend, I explain what BPF is and what features it brings to SystemTap. In the second post, What are BPF Maps and how are they used in stapbpf, I examine BPF maps, one of BPF’s key components, and their role in stapbpf’s implementation.

In this post, I introduce stapbpf’s recently added support for tracepoint probes. Tracepoints are statically-inserted hooks in the Linux kernel onto which user-defined probes can be attached. Tracepoints can be found in a variety of locations throughout the Linux kernel, including performance-critical subsystems such as the scheduler. Therefore, tracepoint probes must terminate quickly in order to avoid significant performance penalties or unusual behavior in these subsystems. BPF’s lack of loops and limit of 4k instructions means that it’s sufficient for this task.

Continue reading “SystemTap’s BPF Backend Introduces Tracepoint Support”

Share
Expanding architectural choices to better arm Red Hat Enterprise Linux developers

Expanding architectural choices to better arm Red Hat Enterprise Linux developers

Red Hat Enterprise Linux continues to deliver the best possible experience for enterprise system administrators and developers, as well as provide a solid foundation for moving workloads into both public and private clouds. One of the ways to enable such ubiquity is Red Hat’s multi-architecture initiative, which focuses on bringing Red Hat’s software portfolio to different hardware architectures.

Last week, Red Hat Enterprise Linux 7.5 went live. It brought forward several improvements relevant to developers and system administrators such as advanced GUI system management via the Cockpit console, which should help new Linux administrators, developers, and Windows users to perform expert tasks without having to get into the command line.

This release also marks a new milestone for Red Hat Enterprise Linux: all supported architectures are now simultaneously enabled. The list of supported architectures includes x86_64, PowerPC Big Endian and Little Endian, s390x, and the more recently introduced 64-bit Arm and IBM POWER9 architectures.

Continue reading “Expanding architectural choices to better arm Red Hat Enterprise Linux developers”

Share
New Red Hat compilers toolsets in beta: Clang and LLVM, GCC, Go, Rust

New Red Hat compilers toolsets in beta: Clang and LLVM, GCC, Go, Rust

Twice a year, Red Hat distributes new versions of compiler toolsets, scripting languages, open source databases, and/or web tools, etc. so that application developers will have access to the latest, stable versions. These Red Hat supported offerings are packaged as Red Hat Software Collections (scripting languages, open source databases, web tools, etc.), Red Hat Developer Toolset (GCC), and the recently added compiler toolsets Clang/LLVM, Go, and Rust. All are yum installable, and are included in most Red Hat Enterprise Linux subscriptions and all Red Hat Enterprise Linux Developer Subscriptions. Most Red Hat Software Collections and Red Hat Developer Toolset components are also available as Linux container images for hybrid cloud development across Red Hat Enterprise Linux, Red Hat OpenShift Container Platform, etc.

The new/updated compiler toolsets are:

Continue reading “New Red Hat compilers toolsets in beta: Clang and LLVM, GCC, Go, Rust”

Share
Recommended compiler and linker flags for GCC

Recommended compiler and linker flags for GCC

Did you know that when you compile your C or C++ programs, GCC will not enable all exceptions by default?  Do you know which build flags you need to specify in order to obtain the same level of security hardening that GNU/Linux distributions use (such as Red Hat Enterprise Linux and Fedora)? This article walks through a list of recommended build flags.

The GNU-based toolchain in Red Hat Enterprise Linux and Fedora (consisting of GCC programs such as gcc, g++, and Binutils programs such as as and ld)  are very close to upstream defaults in terms of build flags. For historical reasons, the GCC and Binutils upstream projects do not enable optimization or any security hardening by default. While some aspects of the default settings can be changed when building GCC and Binutils from source, the toolchain we supply in our RPM builds does not do this. We only align the architecture selection to the minimum architecture level required by the distribution.

Consequently, developers need to pay attention to build flags, and manage them according to the needs of their project for optimization, level of warning and error detection, and security hardening.

Continue reading “Recommended compiler and linker flags for GCC”

Share