The upgrade from gdb-7.3.1 to gdb-7.6 has been accomplished with this release. It was painful as usual, and as history has proven in the past, there are going to be regressions. I've addressed several of them, but it's highly likely that others will crop up. Most notably, the eppic extension module no longer builds, but that needs to be addressed in the eppic git tree. Download from: http://people.redhat.com/anderson Changelog: - Updated the embedded gdb version to FSF gdb-7.6, which was officially released by the Free Software Foundation on http://www.gnu.org on 4/26/13. The primary motivation for upgrading from gdb-7.3.1 is for future ARM64 support, but there are also issues with respect to kernels built with gcc-4.8.0. The relevant pieces of gdb-7.3.1.patch were forward-ported to the gdb-7.6.patch, and the GDB_7_6 #define has been applied in the top-level sources where appropriate. (anderson@xxxxxxxxxx) - Continued incremental steps for support of the ARM64 architecture. (anderson@xxxxxxxxxx) - Fix for the "struct name.member <address>" option if the "member" name is also coincidentally a member of an embedded structure that is located before the targeted member. Without the patch, the value of the embedded structure's member is displayed instead of the targeted member. (qiaonuohan@xxxxxxxxxxxxxx) - Expose a heretofore unadvertised "kmem -[sS] -I slab[,slab]" option that specifies one or more slab cache names in a comma-separated list that the "kmem -[sS]" option should ignore. This can be helpful in cases where a corrupted slab cache may never complete, or in very large memory systems where one or more caches take an inordinate amount of time to complete. (anderson@xxxxxxxxxx) - Fix for the "kmem -i" option on Linux 3.9 and later kernels. Without the patch, the "TOTAL SWAP", "SWAP USED" and "SWAP FREE" lines are not displayed because the kernel's former "swapper_space" singular address_space structure has has been changed into a "swapper_spaces" array of address_space structures, with one for each swap partition. (anderson@xxxxxxxxxx) - Support for the PPC64 BOOK3E processor family, whose virtual memory layout and PTE format are significantly different. Without the patch, the crash session fails to initialize properly. (ataufer@xxxxxxxxxx) - Fix for the PPC64 "sys", "mach" and initial system banner display of of the processor speed in more recent kernels. Without the patch, the "MACHINE" line in the initial banner and in the "sys" command display may show "MACHINE: ppc64 (unknown Mhz)", and the "mach" command may show "PROCESSOR SPEED: (unknown)". (anderson@xxxxxxxxxx, ataufer@xxxxxxxxxx) - Since the libgdb.a file no longer exists in gdb-7.6, the Makefile does not check for it as a determining factor for whether a build has succeeded. (anderson@xxxxxxxxxx) - gdb-7.6 requires that the bfd library's "config.h" file be #include'd before the "bfd.h" file by the top-level symbols.c file. (anderson@xxxxxxxxxx) - gdb-7.6 has replaced/moved the gnu_debuglink_crc32() utility function to bfd_calc_gnu_debuglink_crc32(); the call in symbols.c has been configured based upon the gdb version. (anderson@xxxxxxxxxx) - gdb-7.6 has reworked its do_cleanups() functionality, which requires the gdb_error_hook() function to pass all_cleanups() as an argument. (anderson@xxxxxxxxxx) - gdb-7.6 causes the anon_member_offset() function to fail due to a change in the output string; the function has been changed to work with both old and new gdb versions. (anderson@xxxxxxxxxx) - gdb-7.6 required changes to vm_stat_init() and vm_event_state_init() functions because enum lists get displayed differently on the S390X and PPC64 architectures, which in turn caused failures of "kmem -i", "kmem -z" and "kmem -V" on those two machine types. (anderson@xxxxxxxxxx) - Adjusted the alignment of the "kmem -V" and "kmem -z" display of the items in the vm_stat[] array based upon the longest enumerator name string. (anderson@xxxxxxxxxx) - Adjusted the alignment of the "kmem -V" display of the cumulative totals of the per-cpu "vm_event_states" items based upon the longest enumerator name string. (anderson@xxxxxxxxxx) - Modified the top-level Makefile such that if the tar.gz file of the configured gdb version does not exist in the build directory, try to wget the file from http://ftp.gnu.org/gnu/gdb. This is normally not necessary because the most recent gdb tar.gz file is bundled with the the crash utility tar.gz and src.rpm files. However, it will allow the use of the gdb-less crash.tar.gz file created via "make tar" to be copied to another location, or perhaps copied to a git tree, and then built without containing the the gdb tar.gz file. (anderson@xxxxxxxxxx) - Fix for the s390x.c file to handle a gcc-4.8.0 compiler warning when building crash with "make warn", or compiler failures when building with "make Warn" on an S390x machine. Without the patch, gcc-4.8.0 generates the message "error: variable ‘psw_addr’ set but not used [-Werror=unused-but-set-variable]". (anderson@xxxxxxxxxx) - Fixes for the s390dbf.c file to handle gcc-4.8.0 compiler warnings when building crash with "make warn", or compiler failures when building with "make Warn" on an S390X machine. Without the patch, gcc-4.8.0 generates three "error: variable ‘<variable>’ set but not used [-Werror=unused-but-set-variable]" messages. (anderson@xxxxxxxxxx) - Fix for an X86_64 warning message that gets displayed during session initialization when running against Linux 3.9 kernels that were compiled with gcc-4.8.0. Without the patch, the warning message "crash: cannot determine thread return address" is displayed prior to the system information. (anderson@xxxxxxxxxx) - Fix for lack of kernel text line number information by the "dis -l" and "sym <text-symbol or address>" options on Linux 3.9 kernels that were compiled with gcc-4.8.0. Without the patch, the line number information for kernel text symbols of type "(T)" may not be able to be determined and displayed. (anderson@xxxxxxxxxx) -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility