[Crash-utility] [ANNOUNCE] crash-7.0.0 is available

Dave Anderson anderson at redhat.com
Fri May 10 20:19:35 UTC 2013


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 at redhat.com)

 - Continued incremental steps for support of the ARM64 architecture. 
   (anderson at redhat.com)

 - 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 at cn.fujitsu.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at us.ibm.com) 

 - 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 at redhat.com, ataufer at us.ibm.com) 

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - gdb-7.6 has reworked its do_cleanups() functionality, which requires
   the gdb_error_hook() function to pass all_cleanups() as an argument.
   (anderson at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)

 - 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 at redhat.com)






More information about the Crash-utility mailing list