- GCC 8.2.1
- GDB 8.2
- Updated components such as SystemTap, Valgrind, OProfile, and many more
Continue reading “GCC 8.2 now GA for Red Hat Enterprise Linux”
Continue reading “GCC 8.2 now GA for Red Hat Enterprise Linux”
Continue reading “GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7”
The Summer 2018 ISO C++ standards committee meeting this year was back in Rapperswil, Switzerland. The new features for C++2a are coming fast now; the Core language working group had very little time for issue processing because of all the proposal papers coming to us from the Evolution working group.
Red Hat sent three of us to the meeting, to cover different tracks: myself (Core), Jonathan Wakely (Library), and Torvald Riegel (Parallelism/Concurrency). Overall, I thought the meeting was very successful; we made significant progress in a lot of areas.
Continue reading “June 2018 ISO C++ Meeting Trip Report (Core Language)”
We are pleased to announce the general availability of:
Continue reading “Announcing GA for latest Software Collections, Developer Toolset, Compilers”
This year’s Winter ISO C++ Standard Committee meeting was held in March in Jacksonville, Florida. A number of larger features, for which there is substantial interest but which are also difficult to get right, were discussed:
Jason Merrill’s recently published trip report covers the core language topics. This report focuses on the topics of interest to the Concurrency and Parallelism Study Group (SG1). The “big ticket” items discussed in SG1 during the week were:
Continue reading “March 2018 ISO C++ Meeting Trip Report (SG1: Concurrency and Parallelism)”
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”
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”
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.
Continue reading “New Red Hat compilers toolsets in beta: Clang and LLVM, GCC, Go, Rust”
The March C++ ISO Standard meeting this year was back in Jacksonville, Florida. As usual, Red Hat sent three of us to the meeting: Torvald Riegel, Thomas Rodgers, and myself. Jonathan Wakely attended via speakerphone. There were 121 people attending the plenary meeting at the beginning of the week.
This meeting was mostly about new features for C++20, particularly when and how to merge Technical Specifications into the draft standard. In the core language, the ones trying to make C++20 are Concepts (already partially merged), Coroutines, and Modules. There was a lot of discussion around all three.
Continue reading “March 2018 ISO C++ Meeting Trip Report (Core Language)”
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
g++, and Binutils programs such as
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”