此内容没有您所选择的语言版本。

13. Compiler and Tools


13.1. SystemTap

SystemTap is a tracing and probing tool that allows users to study and monitor the activities of the operating system (particularly, the kernel) in fine detail. It provides information similar to the output of tools like netstat, ps, top, and iostat; however, SystemTap is designed to provide more filtering and analysis options for collected information.
Red Hat Enterprise Linux 6 features SystemTap version 1.1, which introduces many new features and enhancements, including:
  • Improved support for user-space probing.
  • Support for probing C++ programs with native C++ syntax.
  • A more secure script-compile server.
  • The new unprivileged mode, allowing non-root users to use SystemTap.

Important

Unprivileged mode is new and experimental. The stap-server facility on which it relies is undergoing work for security improvements and should be deployed with care on a trustworthy network.

13.2. OProfile

OProfile is a system-wide profiler for Linux systems. The profiling runs transparently in the background and profile data can be collected at any time.
Red Hat Enterprise Linux 6 features version 0.9.5 of OProfile, adding support for new Intel and AMD processors.

13.3. GNU Compiler Collection (GCC)

The GNU Compiler Collection (GCC) includes, among others, C, C++, and Java GNU compilers and related support libraries. Red Hat Enterprise Linux 6 features version 4.4 of GCC, which includes the following features and enhancements:
  • Conformance to version 3.0 of the Open Multi-Processing (OpenMP) application programming interface (API).
  • Additional C++ libraries to utilize OpenMP threads
  • Futher implementations of the next ISO C++ standard draft (C++0x)
  • Introduction of variable tracking assignments to improve debugging using the GNU Project Debugger (GDB) and SystemTap.
More information about the improvements implemented in GCC 4.4 is available from the GCC website.

13.4. GNU C Library (glibc)

The GNU C Library (glibc) packages contain the standard C libraries used by multiple programs on Red Hat Enterprise Linux. These packages contains the standard C and the standard math libraries. Without these two libraries, the Linux system cannot function properly.
Red Hat Enterprise Linux 6 features version 2.11 of glibc, providing many features and enhancements, including:
  • An enhanced dynamic memory allocation (malloc) behaviour enabling higher scalability across many sockets and cores. This is achieved by assigning threads their own memory pools and by avoiding locking in some situations. The amount of additional memory used for the memory pools (if any) can be controlled using the environment variables MALLOC_ARENA_TEST and MALLOC_ARENA_MAX. MALLOC_ARENA_TEST specifies that a test for the number of cores is performed once the number of memory pools reaches this value. MALLOC_ARENA_MAX sets the maximum number of memory pools used, regardless of the number of cores.
  • Improved efficiency when using condition variables (condvars) with priority inheritance (PI) mutual exclusion (mutex) operations by utilizing support in the kernel for PI fast userspace mutexes.
  • Optimized string operations on the x86_64 architecture.
  • The getaddrinfo() function now has support for the Datagram Congestion Control Protocol (DCCP) and the UDP-Lite protocol. Additionally, getaddrinfo() now has the ability to look up IPv4 and IPv6 addresses simultaneously.

13.5. GNU Project debugger (GDB)

The GNU Project debugger (normally referred to as GDB) debugs programs written in C, C++, and other languages by executing them in a controlled fashion, and then printing out their data. Red Hat Enterprise Linux 6 features version 7.0 of GDB.
Python Scripting

This updated version of GDB introduces the new Python API, allowing GDB to be automated using scripts written in the Python Programming Language.

One notable feature of the Python API is the ability to format GDB output (normally referred to as pretty-printing) using Python scripts. Previously, pretty-printing in GDB was configured using a standard set of print settings. The ability to create custom pretty-printer scripts gives the user control of the way GDB displays information for specific applications. Red Hat Enterprise Linux will ship with a complete suite of pretty-printer scripts for the GNU Standard C++ Library (libstdc++).
Enhanced C++ support

Support for the C++ programming language in GDB has been improved. Notable improvements include:

  • Many improvements to expression parsing.
  • Better handling of type names.
  • The need for extraneous quoting has nearly been eliminated
  • "next" and other stepping commands work properly even when the inferior throws an exception.
  • GDB has a new "catch syscall" command. This can be used to stop the inferior whenever it makes a system call.

Independent thread debugging

Thread execution now permits debugging threads individually and independently of each other; enabled by new settings "set target-async" and "set non-stop".

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.