Questo contenuto non è disponibile nella lingua selezionata.
Appendix A. Changes in Version 10.0
The sections below document features and compatibility changes introduced Red Hat Developer Toolset 10.0.
A.1. Changes in GCC Copia collegamentoCollegamento copiato negli appunti!
Red Hat Developer Toolset 10.0 is distributed with GCC 10.2.1.
The following features have been added or modified since the previous release of Red Hat Developer Toolset:
General improvements
New built-in functions:
-
The
__has_builtinbuilt-in preprocessor operator can now be used to query support for built-in GCC functions. -
The
__builtin_roundevenfunction has been added for the corresponding function from ISO/IEC TS 18661.
-
The
New command-line options:
-
-fallocation-dceremoves unnecessary pairs of thenewanddeleteoperators. -
-fprofile-partial-traininginforms the compiler that it should optimize only the size of code paths that are covered by the training run. -
-fprofile-reproduciblecontrols the level of reproducibility of profiles gathered by-fprofile-generate. Using this option you can rebuild a program with the same outcome. It is useful for distribution packages, for example. -
Experimental: the new
-fanalyzeroption enables a new static analysis pass and associated warnings. This pass examines paths in the code to detect various common errors, for example, double-free bugs. Note that this option is available only for code written in C.
-
Interprocedural optimization improvements:
- The interprocedural scalar replacement of aggregates (IPA-SRA) pass was re-implemented to work at link time. It can now also remove computing and returning unused return values.
-
The
-finline-functionsoption is now enabled at the optimization level-O2. This option now reduces code size better. Inliner heuristics now work faster to avoid negative impact on-flto-O2compile times. - Inliner heuristics and function cloning can now use value-range information to predict the effectiveness of individual transformations.
- During link-time optimization the C++ One Definition Rule is now used to increase precision of type-based alias analysis.
Link-time optimization improvements:
-
The parallel phase of the Link Time Optimization (LTO) can now automatically detect a running
jobserverof themaketool.
-
The parallel phase of the Link Time Optimization (LTO) can now automatically detect a running
Profile-driven optimization improvements:
- Profile maintenance during compilation and hot or cold code partitioning have been improved.
-
When GCC prints a warning, the option that controls the warning is now displayed as a hyperlink which you can click and see the documentation for the particular warning. To control this behavior, use the
-fdiagnostics-urlsoption.
Language-specific improvements
-
Several newly implemented OpenMP 5.0 features have been added. For example, the
conditional lastprivateclause,scanandloopdirectives,order(concurrent)anduse_device_addrclauses support,ifclauses onsimdconstructs or partial support for thedeclare variantdirective.
Notable changes related to languages include:
C family
New attributes:
-
The
accessfunction and type attribute has been added. It describes how a function accesses objects passed to it by a pointer or reference and associates such arguments with integer arguments that denote the objects' sizes. You can also use this attribute to enable the detection of invalid accesses by user-defined functions, such as those diagnosed by the-Wstringop-overflowoption.
-
The
New warnings:
-
-Wstring-compare, enabled by the-Wextraoption, warns about equality and inequality expressions between zero and the result of a call tostrcmporstrncmpwhen such expressions evaluate to a constant because the length of one argument is greater than the size of the array pointed to by the other argument. -
-Wzero-length-bounds, enabled by the-Warray-boundsoption, warns about accesses to elements of zero-length arrays that might overlap with other members of the same object.
-
Enhancements to existing warnings:
-
-Warray-boundsnow detects more out-of-bounds accesses to member arrays and elements of zero-length arrays. -
-Wformat-overflownow fully uses string length information calculated by thestrlenoptimization pass. -
-Wrestrictdetects overlapping accesses to dynamically allocated objects. -
-Wreturn-local-addrdiagnoses more instances of return statements returning addresses of automatic variables. -
-Wstringop-overflowdetects more out-of-bounds stores to member arrays including zero-length arrays, dynamically allocated objects, and variable length arrays. It now also detects more instances of reads of unterminated character arrays by the built-in string functions. In addition, the warning now detects out-of-bounds accesses by calls to user-defined functions declared with the new attribute access. -
-Warith-conversionre-enables warnings from-Wconversion,-Wfloat-conversion, and-Wsign-conversion. These warnings are now disabled by default for expressions where the result of an arithmetic operation will not fit into the target type because of promotion, but where the operands of the expressions fit into the target type.
-
C
Several new features from the upcoming C2X revision of the ISO C standard are now supported. To enable them, use
-std=c2xand-std=gnu2x. Some of these features are also supported as extensions when you compile with earlier C versions. Some features were previously supported as extensions and now have been added to the C standard. They are enabled by default in C2X mode and not diagnosed with-std=c2x-Wpedantic.-
The
[[]]attribute syntax is now supported. - In C2X mode, empty parentheses in a function definition give that function a type with a prototype for subsequent calls. Other old-style function definitions are diagnosed by default in C2X mode.
-
The
-
GCC now defaults to
-fno-common. As a result, global variable accesses are more efficient on various targets. However, in the C language, global variables with multiple tentative definitions now cause linker errors. With the-fcommonoption such definitions are silently merged during linking.
C++
The following C++20 features have been implemented:
- Concepts, including the P0734R0, P0857R0, P1084R2, P1141R2, P0848R3, P1616R1, and P1452R2 proposals
-
P1668R1: Permitting unevaluated inline-assembly in
constexprfunctions -
P1161R3: Deprecate
a[b,c] - P0848R3: Conditionally trivial special member functions
- P1091R3: Structured binding extensions
-
P1143R2: Adding the
constinitkeyword -
P1152R4: Deprecating
volatile - P0388R4: Permit conversions to arrays of unknown bound
-
P0784R7: More
constexprcontainers (constexpr new) -
P1301R4:
[[nodiscard("with reason")]] - P1814R0: Class template argument deduction for alias templates
- P1816R0: Class template argument deduction for aggregates
- P0960R3: Parenthesized initialization of aggregates
-
P1331R2: Permitting trivial default initialization in
constexprcontexts -
P1327R1: Allowing
dynamic_castand polymorphictypeidin constant expressions P0912R5: Coroutines. The
-fcoroutinesoption enables the support for coroutinesTo learn more about the above-mentioned proposals, see C++ Standards Support in GCC.
- Several C++ defect reports have been resolved. You can find the overall defect report status on the C++ Defect Report Support in GCC page.
New warnings:
-
G++ can now detect modifying constant objects in the
constexprevaluation, which is undefined behavior. -
Memory consumption of the compiler, when performing the
constexprevaluation, has been reduced. -
The
noexceptspecifier is now properly treated as a complete-class context. -
You can now use the
deprecatedattribute on namespaces.
-
G++ can now detect modifying constant objects in the
Runtime library libstdc++
The following experimental C++2a support features have been improved:
-
Library concepts in
<concepts>and<iterator> -
Constrained algorithms in
<ranges>,<algorithm>, and<memory> -
New algorithms
shift_leftandshift_right -
The
std::spanclass template -
Three-way comparisons in
<compare>and throughout the library -
Constexprsupport in<algorithm>and other places -
<stop_token>andstd::jthread -
std::atomic_refandstd::atomic<floating point> -
Integer comparison functions (for example,
cmp_equal,cmp_less, and other functions) -
std::ssizeandstd::to_array -
std::construct_at,std::destroy, andconstexprstd::allocator -
Mathematical constants in
<numbers>
-
Library concepts in
-
The random number generator
std::random_devicenow supports RDSEED.
Fortran
-
The compiler now rejects mismatches between actual and dummy argument lists in a single file and prints an error. To turn these errors into warnings, use the new
-fallow-argument-mismatchoption. This option is implied withstd=legacy. The-Wargument-mismatchoption has been removed. -
The binary, octal, and hexadecimal (BOZ) literal constants have been improved and now conform better to the Fortran 2008 and 2018 standards. In these Fortran standards, BOZ literal constants do not have types or kinds. With this enhancement, documented and undocumented extensions to the Fortran standards now emit errors during compilation. You can enable some of these extensions with the
-fallow-invalid-bozoption, which turns errors into warnings and the code is compiled as with the earlier GFortran.
Target-specific improvements
Changes to architecture and processor support include:
AMD64 and Intel 64
-
GCC now supports the Cooper Lake Intel CPU. To enable it, use the
-march=cooperlakeoption, which enables the AVX512BF16 ISA extensions. -
GCC now supports the Tiger Lake Intel CPU. To enable it, use the
-march=tigerlakeoption, which enables the MOVDIRI MOVDIR64B AVX512VP2INTERSECT ISA extensions.
A.2. Changes in binutils Copia collegamentoCollegamento copiato negli appunti!
Red Hat Developer Toolset 10.0 is distributed with binutils 2.35.
The following features have been added or modified since the previous release of Red Hat Developer Toolset:
The assembler
-
The
.symverdirective has been extended to update the visibility of the original symbol and assign one original symbol to different versioned symbols. - The Intel SERIALIZE and TSXLDTRK instructions are now supported.
-
The
-mlfence-after-load=,-mlfence-before-indirect-branch=, and-mlfence-before-ret=options have been added to the x86 assembler to help mitigate CVE-2020-0551. -
The
--gdwarf-5option has been added to the assembler to generate DWARF 5 debug output if such output is generated. Also, it is now possible to generate version 5.debug_linesections. -
The
-malign-branch-boundary=NUM,-malign-branch=TYPE[+TYPE…],-malign-branch-prefix-size=NUM, and-mbranches-within-32B-boundariesoptions have been added to the x86 assembler to align branches within a fixed boundary with segment prefixes or the NOP instructions. -
The
--gdwarf-cie-versioncommand-line flag has been added. This flag controls which version of DWARF CIE (Common Information Entries) the assembler creates.
The linker
-
The command-line options
--export-dynamic-symboland--export-dynamic-symbol-listhave been added to make symbols dynamic. -
The
-Map=filenamecommand-line option has been extended. Iffilenameis a directory, the linker will create thefilename/output-filename.mapfile. -
The
--warn-textrelcommand-line option has been added to warn aboutDT_TEXTRELbeing set in a position-independent executable or shared object. -
The command-line options
--enable-non-contiguous-regionsand--enable-non-contiguous-regions-warningshave been added. -
Relative path names in
INPUT()andGROUP()directives in linker scripts are now searched in relation to the directory of the linker script before other search paths. -
The
-z start-stop-visibility=…command-line option has been added to control the visibility of synthetic__start_SECNAMEand__stop_SECNAMEsymbols. -
The
--dependency-filecommand-line option has been added to write a Make-style dependency file listing the input files consulted by the linker, like the files written by the compiler-Mand-MPoptions. -
The
ldcheck for thePHDR segment not covered by LOAD segmenterror is more effective now. The check now catches cases that earlier versions ofldincorrectly allowed. If you see this error, it is likely you are linking with a bad linker script or the binary you are building is not intended to be loaded by a dynamic loader. In the latter case, the--no-dynamic-linkeroption is appropriate. -
The
--no-print-map-discardedcommand-line option has been added.
Other binary utilities
-
The readelf tool now displays symbol names differently when wide mode is not enabled. If the name is too long, it will be shortened and the last five characters replaced with "[…]". You can restore the old behaviour with the
-Tor--silent-truncationoption. -
The readelf tool now has the
-Lor--lintor--enable-checksoption, which enables warning messages about possible problems with the file(s) being examined. For example, with this option enabled, readelf will check for zero-sized sections, which are allowed by the ELF standard but might be potentially dangerous if the user was expecting them to actually contain something. -
Binutils now supports
debuginfod, an HTTP server for distributing ELF/DWARF debugging information as well as source code. When built withdebuginfod, readelf and objdump can automatically querydebuginfodservers for separate debugging files when such files otherwise cannot be found. To build binutils withdebuginfod, pass the--with-debuginfodconfigure option. This requireslibdebuginfod, thedebuginfodclient library.debuginfodis distributed with elfutils, starting with version 0.178. For more information, see https://sourceware.org/elfutils. -
The
--outputoption has been added to the ar program. This option can be used to specify the output directory when extracting members from an archive. -
The
--keep-sectionoption has been added to objcopy and strip. This option keeps the specified section from being removed. -
The
--source-comment[=<txt>]option has been added to objdump. It provides a prefix to source code lines displayed in a disassembly. -
The
--set-section-alignment <section-name>=<align>option has been added to objcopy to allow the changing of section alignments. -
The
--verilog-data-widthoption has been added to objcopy for Verilog targets to control the width of data elements in the Verilog hexadecimal format. The separate debug information file options of readelf (
--debug-dump=linksand--debug-dump=follow) and objdump (--dwarf=linksand--dwarf=follow-links) will now display or follow (or both) multiple links if a file has more than one such link. This usually happens when the GCC-gsplit-dwarfoption is used.In addition, the
--dwarf=follow-linksoption for objdump now also affects its other display options. For example, when combined with the--symsoption, it will cause the symbol tables in any linked debug information files to also be displayed. When combined with the--disassembleoption, the--dwarf= follow-linksoption will ensure that any symbol tables in the linked files are read and used when disassembling code in the main file.- Dumping types encoded in the Compact Type Format are now supported in objdump and readelf.
A.3. Changes in elfutils Copia collegamentoCollegamento copiato negli appunti!
Red Hat Developer Toolset 10.0 is distributed with elfutils 0.180.
The following features have been added or modified since the previous release of Red Hat Developer Toolset:
-
The new
eu-elfclassifytool has been added to analyze ELF objects. -
The new
debuginfodserver with a client tool and library has been added.debuginfodindexes and automatically fetches ELF, DWARF, and source from files and RPM archives through HTTP. -
libeblis now directly compiled intolibdw.so. -
eu-readelfnow has multiple new flags for notes, section numbering, and symbol tables. -
libdwhas improved multithreading support. -
libdwnow supports additional GNU DWARF extensions. -
Better support for debug info for code built with GCC LTO (link time optimization). The
eu-readelfandlibdwutilities can now read and handle.gnu.debuglto_sections, and correctly resolve file names for functions that are defined across compile units (CUs). -
The
eu-nmutility now explicitly identifies weak objects asVand common symbols asC.
A.4. Changes in GDB Copia collegamentoCollegamento copiato negli appunti!
Red Hat Developer Toolset 10.0 is distributed with GDB 9.2.
The following features have been added or modified since the previous release of Red Hat Developer Toolset:
New features
-
The
debuginfodserver is now supported. This is an HTTP server for distributing ELF and DWARF debugging information and source code.
New convenience variables and functions
$_gdb_major$_gdb_minorWith these new convenience variables for testing the running version of GDB, you can run newer commands and syntaxes without breaking legacy scripts.
$_gdb_setting$_gdb_setting_str$_gdb_maint_setting$_gdb_maint_setting_strWith these new convenience functions for accessing GDB settings, you can change the logic of user-defined commands depending on current GDB settings.
$_cimag$_crealWith these new convenience functions, you can get the imaginary and real parts of an imaginary number.
$_shell_exitcode$_shell_exitsignalWith these new convenience variables, you can access the exit code or exit status of shell commands executed by the GDB
shell,pipe, andmakecommands.
New and improved commands
-
New command options infrastructure has been provided to better support completion, for example,
CMD -[TAB]will now show a completion of available command options for CMD. -
Command names can now use the
.character.
New commands
define-prefixWith this command, you can define your own prefix commands, for example,
abc defandabc def ghican now be entirely separate commands.| [command] | shell_command(another name of this command ispipe)This command executes a given GDB command, sending its output to the given shell_command.
with setting [value] [-- command]This command temporarily sets the given setting to value (if specified) and runs the optional command, resetting setting when complete.
Changed commands
helpaproposThe commands now use new title styling.
printfevalThe commands can now print C-style and Ada-style string convenience variables without the need for a running process, for example, when debugging core dumps.
info sources [-dirname | -basename] [--] [regexp]New filtering options have been added. Using them, users can limit results to file, directory, or base names matching a given regular expressions.
focuswinheight+,-,>, and<These TUI commands are now case-sensitive.
backtraceThe command now supports new options which can override global display preferences (
set backtraceandset printsettings). New options include:-entry-values,frame-arguments,-raw-frame-arguments,-frame-info,-past-main,-past-entry,-full,-no-filters, and-hide.frame applytfaasfaasThe commands now support the new
-past-mainand-past-entrycommand options.info typesThe command now support the new
-qoption to disable printing of some header information similar toinfo variablesandinfo functions.info variablesinfo functionswhereisThe commands now support the new
-noption to exclude non-debugging symbols from the output.
Settings
set may-call-functionsshow may-call-functionsThe default value is
on. These new commands control whether GDB will attempt to call functions in the program during command execution, for example, theprint expressioncommand.set print finishshow print finishIf these commands are set to
on, GDB will print the value returned by the current function when thefinishcommand is used.set print max-depthshow print max-depthThese new commands limit the display of deeply nested structures to the set number of levels. The default limit of nesting levels is 20.
set print raw-valuesshow print raw-valuesThese new commands globally override the use of pretty-printers when printing a value. The default value is
off.set style title foregroundset style title backgroundset style title intensityset style highlight foregroundset style highlight backgroundset style highlight intensityWith these new commands, you can customize the display styling of the title and highlight styles.
maint set worker-threadsmaint show worker-threadsExperimental: if these commands are set to
unlimited, GDB will use multi-threaded symbol loading for better performance.set style tui-border foregroundset style tui-border backgroundset style tui-border intensityset style tui-active-border foregroundset style tui-active-border backgroundset style tui-active-border intensityThese new commands set the display styling of various TUI borders.
set print frame-infoshow print frame-infoThese new commands control what frame information is printed by commands that print a frame, for example,
backtrace,frame, andstepi.set tui compact-sourceshow tui compact-sourceThese new commands enable a new
compactdisplay style for the TUI source window.set debug remote-packet-max-charsshow debug remote-packet-max-charsThese new commands control the number of characters to output in a remote packet when using
set debug remote. The default value is 512 bytes.show styleThis new command now styles the output of all subcommands using their own styling.
set print frame-argumentsA new value
presencehas been added. It will display only the presence of arguments with…instead of printing the actual argument names and values.set print-raw-frame-argumentsshow print-raw-frame-argumentsThese two commands replace deprecated
set/show print raw frame-argumentscommands.
Language-specific improvements
Fortran
-
GDB can now set breakpoints on a nested function or subroutine using the
::operator. info modules [-q] [regexp]This new command returns a list of modules that match regexp. If regexp is not provided, the command returns a list of all modules.
info module functions [-q] [-m module_regexp] [-t type_regexp] [regexp]info module variables [-q] [-m module_regexp] [-t type_regexp] [regexp]These new commands return a list of functions or variables within all modules, grouped by module. Results may be limited by module regular expressions, function or variable type signature regular expressions, or name regular expressions.
Python API
gdb.Value.format_stringThis new method returns a string representation of the Value object.
gdb.TypeobjfileThis new property returns the
objfilein which the type was defined.gdb.lookup_static_symbolgdb.lookup_static_symbolsThese new functions support the lookup of symbols with static linkage. The first function returns the first matching symbol. The second one returns all matching symbols.
gdb.Objfile.lookup_global_symbolgdb.Objfile.lookup_static_symbolThese new functions support lookup of symbols in an
Objfile: global symbols and symbols with static linkage respectively.gdb.BlockThis function now supports Python dictionary syntax, for example:
symbol = some_block[variable], where symbol is of typegdb.Symbol.
Machine Interface (MI) improvements
A new default MI version 3 has been introduced (
-i=mi3).- The output of multi-location breakpoint locations has been corrected.
-
The new
-fix-multi-location-breakpoint-outputcommand has been added to correct syntax errors in older MI versions.
All new commands are MI implementations of CLI equivalents:
-
-complete LINE -
-catch-throw -
-catch-rethrow -
-catch-catch -
-symbol-info-functions -
-symbol-info-types -
-symbol-info-variables -
-symbol-info-modules -
-symbol-info-module-functions -
-symbol-info-module-variables
-
A.5. Changes in strace Copia collegamentoCollegamento copiato negli appunti!
Red Hat Developer Toolset 10.0 is distributed with strace 5.7.
The following features have been added or modified since the previous release of Red Hat Developer Toolset:
Changes in behavior
The
%processclass now contains system calls associated with the process life cycle (creation, execution, termination):-
kill,tkill,tgkill,pidfd_send_signal, andrt_sigqueueinfohave been added. -
arch_prctlandunsharehave been removed.
-
-
Messages about unknown tracees are now subject to the strace quietness setting
-q(--quiet). -
A new warning has been added. It occurs when the
-A(--output-append-mode) option is used without-o(--output) or the-S(--summary-sort-by) option without-c/-C(--summary-only/--summary).
Improvements
Every short option now has a long option alias. This change brings the following improvements:
-
The ability to use human-readable settings for the
-I(--interruptible) option. -
The ability to silence specific messages using the
-e quiet(--quiet) qualifier (which is an alias for the-qoption), including messages that could not be silenced previously, for example path resolution messages and messages about process being superseded byexecve. -
The ability to specify selected flexible data (FD) decoding features using the
-e decode-fds(--decode-fds) qualifier, which is an alias for the-yoption. -
The ability to set precision for the absolute timestamp, relative timestamp, and system call time output. Use the
--absolute-timestamps,--relative-timestamps, and--syscall-timesoptions, respectively.
-
The ability to use human-readable settings for the
System call return status filtering has been implemented with the
-e status=setoption and its aliases:-
The
-z(--successful-only) option limits system call printing to successful system calls only. -
The
-Z(--failed-only) option limits system call printing to failed system calls only.
-
The
-
The
--pidns-translationoption for PID (process ID) namespace translation has been added. This improvement addresses the Fedora bug BZ#1035433. -
Seccomp-BPF can now be used to stop tracees only for filtered system calls. Use the
--seccomp-bpfoption to enable this feature. -
Two new extensions to the
-D(--daemonize) option have been implemented. They move strace into a separate process group (-DDor--daemonize=pgroup) and session (-DDDor--daemonize=session). -
Interval specification in the
when=subexpression of the system call tampering expressions has been implemented. -
It is now possible to select the set of displayed columns in the call summary output using the
-U(--summary-columns) option. - It is now possible to sort on any summary column.
- System call count statistics have been enhanced: overhead is now applied per call.
- It is now possible to show information about minimum and maximum call duration in the call summary output.
- The system call delay injection and overhead values can now be supplied with a time measure unit suffix and provided in the IEEE 754 floating-point format. Please refer to the “Time specification format description” section of the strace manual page (available via the “scl enable devtoolset-10 — man strace” command) for details.
-
Printing of PIDs associated with process file descriptors (pidfds) in
-yy(--decode-fds=pidfd) mode has been implemented. -
Performance of the
libdw-basedstack traces printing has been improved by implementing a symbol-to-address cache. -
The
-e trace=%clockoption has been added for tracing system calls reading of modifying system clocks. -
The
-e trace=%credsoption has been added for tracing system calls related to process credentials. -
Decoding of the following system calls has been implemented:
clone3,fsconfig,fsmount,fsopen,fspick,open_tree,openat2,move_mount,pidfd_getfd, andpidfd_open. -
Decoding of the following system calls has been enhanced:
arch_prctl,bpf,clone,inotify_init,io_cancel,io_submit,io_uring_register,io_uring_setup,keyctl,mbind,perf_event_open,prctl,s390_sthyi,sched_getattr,sched_setattr,set_mempolicy,syscall, andsyslog. -
Decoding of the following
ioctlcommands has been implemented:PTP_CLOCK_GETCAPS2,PTP_EXTTS_REQUEST2,PTP_PEROUT_REQUEST2,PTP_ENABLE_PPS2,PTP_SYS_OFFSET2,RTC_VL_READ, andWDIOC_*. -
The
HIDIOCGRAWUNIQ()ioctlcommand number printing has been implemented. -
Decoding of the
NETLINK_ROUTEnetlink protocol has been enhanced. -
Decoding of the following netlink attributes has been implemented:
IFLA_*,TCA_ACT_FLAGS,TCA_STATS_PKT64, andUNIX_DIAG_UID. -
Lists of the following constants have been updated:
AT_*,AUDIT_*,BPF_*,BTRFS_*,CAN_*,CLONE_*,ETH_*,FAN_*,GRND_*,IFLA_*,IORING_*,IPPROTO_*,KEXEC_*,KEY_*,KEYCTL_*,KVM_*,LWTUNNEL_*,MADV_*,*_MAGIC,MAP_*,MPOL_*,MREMAP_*,MSG_*,P_*,PERF_*,PPC_PTRACE_*,PR_*,PTP_*,RTM_F_*,SCHED_*,SCTP_*,SECCOMP_*,SO_*,STATX_*,TCP_*,TIPC_*,UFFDIO_*,V4L2_*, andXDP_*. -
The strace manual page and the strace
--helpcommand output have been enhanced.
Bug fixes
-
The
statxsystem call has been added to the%fstattrace class. -
Decoding of
getdentsandgetdents64system calls has been fixed in cases when they return many directory entries. -
The pathtrace matching of the
openat2system call has been fixed. -
Various minor fixes in
VIDIOC_*ioctloutput formatting have been made. -
Stack trace printing has been fixed for early system calls when strace is configured to use
libdwback end for stack tracing. This improvement addresses the Fedora bug BZ#1788636 -
Decoding of the
NDA_LLADDRnetlink neighbor table attribute has been fixed. -
Decoding of the
BPF_PROG_LOADBPF system call command has been fixed. -
The
evdevioctlbitset decoding has been fixed.
A.6. Changes in SystemTap Copia collegamentoCollegamento copiato negli appunti!
Red Hat Developer Toolset 10.0 is distributed with SystemTap 4.3.
The following features have been added or modified since the previous release of Red Hat Developer Toolset:
-
Userspace probes can be targeted by the hexadecimal
buildidfromreadelf -n. This alternative to a path name enables matching binaries to be probed under any name, and thus allows a single script to target a range of different versions. This feature works well in conjunction with the elfutilsdebuginfodserver. -
Script functions can use probe
$contextvariables to access variables in the probed location, which allows the SystemTap scripts to use common logic to work with a variety of probes.
For further information about notable changes, see the upstream SystemTap 4.3 release notes before updating SystemTap.
A.7. Changes in Valgrind Copia collegamentoCollegamento copiato negli appunti!
Red Hat Developer Toolset 10.0 is distributed with Valgrind 3.16.1.
The following features have been added or modified since the previous release of Red Hat Developer Toolset:
-
It is now possible to dynamically change the value of many command-line options while your program is running under Valgrind: through
vgdb, throughgdbconnected to the Valgrindgdbserver, or through program client requests. To get a list of dynamically changeable options, run thevalgrind --help-dyn-optionscommand. -
For the Cachegrind (
cg_annotate) and Callgrind (callgrind_annotate) tools the--autoand--show-percsoptions now default toyes. -
The Memcheck tool produces fewer false positive errors on optimized code. In particular, Memcheck now better handles the case when the compiler transformed an
A && Bcheck intoB && A, whereBcould be undefined andAwas false. Memcheck also better handles integer equality checks and non-equality checks on partially defined values. -
The experimental Stack and Global Array Checking tool (
exp-sgcheck) has been removed. An alternative for detecting stack and global array overruns is using the AddressSanitizer (ASAN) facility of GCC, which requires you to rebuild your code with the-fsanitize=addressoption.