commit crash for openSUSE:Factory
Hello community, here is the log from the commit of package crash for openSUSE:Factory checked in at 2012-03-29 13:50:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/crash (Old) and /work/SRC/openSUSE:Factory/.crash.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "crash", Maintainer is "PTesarik@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/crash/crash.changes 2012-03-16 13:10:18.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.crash.new/crash.changes 2012-03-29 13:50:51.000000000 +0200 @@ -1,0 +2,106 @@ +Tue Mar 27 16:30:23 UTC 2012 - dmair@suse.com + +- Update to crash 6.0.5 from upstream and adjust patch positions + to match current crash source. + 6.0.5 changelog is: + o Enhancement to the "foreach" command to allow any of the "name" + arguments to be POSIX extended regular expressions. The + expression string must be encompassed by "'" characters, and + will be matched against the names of all tasks. + o Fix for the embedded gdb module's "ptype" command, and by + extension, the crash utility's "struct" command, to be able to + fully display embedded structure or union members of a + structure/union. Without the patch, if a structure or union is + a member of a structure or union that is a member of a + structure or union, then it is displayed as "struct {...}" or + "union {...}". + o Extend the "ps -l" output to also display the task state next + to its last_run/timestamp value. + o Enhancement to the "foreach" command which adds a new "state" + task-indentifier argument that filters tasks by their task + state. The state argument may be any of the task states + displayed by the "ps" command: RU, IN, UN, ST, ZO, SW or DE. + o Implemented a new pc->cmd_cleanup function pointer and an + optional pc->cmd_cleanup_arg argument that will allow any + command to register a function and an optional argument that + will be called after a command has completed successfully, or + more likely, unsuccessfully. Normally the only cleanup required + for a command is the freeing of buffers that were allocated + with GETBUF(), but that is performed automatically after each + command is run. However, with the introduction of the new + POSIX regular expression functionality of the "foreach" + command, there needed to be a way to call regfree() in the case + where where regcomp() was called successfully, but then the + command later encountered one of several fatal error + conditions. This facility is also available for use by + extension module commands. + o Enforce the usage of a kernel thread's pgd from its active_mm + for the ARM "vtop -c" command; if its active_mm is NULL, make + the command fail similarly to the other architectures, + displaying the error message "vtop: no active_mm for this + kernel thread". + o Fix for the x86_64 "bt" command running against recent kernels + if an active task was operating on its IRQ stack when the crash + occurred. Without the patch, the determination of the IRQ + exception frame was off-by-8, displaying invalid register data + and the error message "bt: WARNING: possibly bogus exception + frame". + o Update to handle the vfsmount structure change in 3.3 kernels, + in which most members of the vfsmount structure have been moved + into a new "struct mount", and the vfsmount structure has been + embedded in the new mount structure. Without the patch, the + following commands will fail, displaying the following error + messages: + + mount: "mount: invalid structure member offset: vfsmount_mnt_list" + files: "files: invalid structure member offset: dentry_d_covers" + vm: "vm: invalid structure member offset: dentry_d_covers" + swap: "swap: invalid structure member offset: dentry_d_covers + fuser: "files: invalid structure member offset: dentry_d_covers" + + The "fuser" command generates the above error because it uses + the "files" command behind the scenes. + o Fix for the "ps" command to prevent the display of "??" under + the ST (task state) column. Without the patch, in more recent + kernels, if more than one bit were set in the task_struct.state + field, the state would display "??". With the fix, the primary + state will always be displayed. + o Update to the output of the "set" command when it displays a + task's state. Without the patch, if more than one bit was set + in the task_struct.state field, "STATE: (unknown)" would be + displayed. With the fix, all bits in both the task_struct.state + and task_struct.exit_state fields are translated. + o Implemented a new "vm -P <vma-address>" option, which is similar + to "vm -p", but only does the page translations of the specified + VM area of a context. + o Add support for the Freescale PowerPC e500mc version of the E500 + processor chipset, and rework the PPC platform-specific code in + order to more easily support new processors. + o Implemented a new "gdb" crash environment variable that can be + used to alter a crash session's behavior such that all commands + are passed directly to the embedded gdb module. The new mode + is turned on and off by entering "set gdb on" and "set gdb off". + When running in this mode, the command prompt will be "gdb>". + In order to execute native crash commands while running in this + mode, precede the command with the "crash" directive, for + example, "crash ps". + o Fix for a "*** stack smashing detected ***: crash terminated" + failure during the initial system banner display on a 32-bit + PPC platform. + o Redesigned/simplified the internal read_string() function to + prevent a potential segmentation violation. + o Updates for the 32-bit PPC "vtop" command output: + + (1) Translate kernel virtual addresses for FSL BOOKE by using + the TLBCAM setting + (2) Remove the PMD line from the display + (3) Fix the displayed PHYSICAL values of FSL BOOKE PTE format + + o Fix for crash invocation failure on 3.3-era kernels in which + the former standalone "xtime" timespec structure has been moved + into the "timekeeper" structure. Without the patch, the crash + session would fail early on with the message "crash: cannot + resolve: xtime". The patch also prevents the crash session + failure in the unlikely event that the timespec access fails. + +------------------------------------------------------------------- Old: ---- crash-6.0.4.tar.gz New: ---- crash-6.0.5.tar.gz crash-foreach-match-running.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ crash.spec ++++++ --- /var/tmp/diff_new_pack.wkur2t/_old 2012-03-29 13:50:54.000000000 +0200 +++ /var/tmp/diff_new_pack.wkur2t/_new 2012-03-29 13:50:54.000000000 +0200 @@ -16,7 +16,7 @@ # -%define crash_version 6.0.4 +%define crash_version 6.0.5 %define whitepaper_version 2003 %define scripts_version 2008-02-08 %define gcore_version 2011-09-22 @@ -57,6 +57,7 @@ Patch7: %{name}-rl_digit_loop-return.patch Patch8: %{name}-missing-declarations.patch Patch9: %{name}-debuginfo-compressed.patch +Patch10: %{name}-foreach-match-running.patch Patch90: %{name}-sial-ps-2.6.29.diff BuildRequires: bison BuildRequires: flex @@ -212,6 +213,7 @@ %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 ## SIAL patches cd sial-scripts-%{scripts_version} %patch90 -p1 ++++++ crash-6.0.4.tar.gz -> crash-6.0.5.tar.gz ++++++ /work/SRC/openSUSE:Factory/crash/crash-6.0.4.tar.gz /work/SRC/openSUSE:Factory/.crash.new/crash-6.0.5.tar.gz differ: char 5, line 1 ++++++ crash-crosscrash-hint.diff ++++++ --- /var/tmp/diff_new_pack.wkur2t/_old 2012-03-29 13:50:54.000000000 +0200 +++ /var/tmp/diff_new_pack.wkur2t/_new 2012-03-29 13:50:54.000000000 +0200 @@ -15,7 +15,7 @@ --- a/tools.c +++ b/tools.c -@@ -4728,7 +4728,12 @@ machine_type_mismatch(char *file, char * +@@ -4783,7 +4783,12 @@ machine_type_mismatch(char *file, char * fprintf(fp, " crash utility: %s\n", MACHINE_TYPE); fprintf(fp, " %s: %s%s%s\n\n", file, e_machine, alt ? " or " : "", alt ? alt : ""); ++++++ crash-debuginfo-compressed.patch ++++++ --- /var/tmp/diff_new_pack.wkur2t/_old 2012-03-29 13:50:54.000000000 +0200 +++ /var/tmp/diff_new_pack.wkur2t/_new 2012-03-29 13:50:54.000000000 +0200 @@ -14,7 +14,7 @@ --- a/symbols.c +++ b/symbols.c -@@ -182,9 +182,9 @@ symtab_init(void) +@@ -183,9 +183,9 @@ symtab_init(void) * Pull a bait-and-switch on st->bfd if we've got a separate * .gnu_debuglink file that matches the CRC. Not done for kerntypes. */ @@ -27,7 +27,7 @@ no_debugging_data(FATAL); } -@@ -243,13 +243,16 @@ check_gnu_debuglink(bfd *bfd) +@@ -244,13 +244,16 @@ check_gnu_debuglink(bfd *bfd) char *contents; int crc_offset; unsigned long crc32; @@ -45,7 +45,7 @@ return FALSE; } -@@ -270,14 +273,14 @@ check_gnu_debuglink(bfd *bfd) +@@ -271,14 +274,14 @@ check_gnu_debuglink(bfd *bfd) contents, crc32); if ((pc->debuginfo_file = (char *) ++++++ crash-foreach-match-running.patch ++++++ Fix From: Dave Anderson <anderson@redhat.com> Subject: Re: [Crash-utility] 6.0.5 foreach problem with state RU References: Report from Bob Montgomery <bob.montgomery@hp.com>
Changelog:
- Enhancement to the "foreach" command which adds a new "state" task-indentifier argument that filters tasks by their task state. The state argument may be any of the task states displayed by the "ps" command: RU, IN, UN, ST, ZO, SW or DE. (rabin@rab.in, anderson@redhat.com)
This doesn't work for RU on my system because _RUNNING_ is 0x0 and (0x0 & 0x0) is 0x0 in this line in task.c: 5603 if ((fd->flags & FOREACH_STATE) && !(task_state(tc->task) & fd->state)) Acked-by: David Mair <dmair@suse.com> --- task.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) --- a/task.c +++ b/task.c @@ -5611,8 +5611,13 @@ foreach(struct foreach_data *fd) if ((fd->flags & FOREACH_KERNEL) && !is_kernel_thread(tc->task)) continue; - if ((fd->flags & FOREACH_STATE) && !(task_state(tc->task) & fd->state)) - continue; + if (fd->flags & FOREACH_STATE) { + if (fd->state == _RUNNING_) { + if (task_state(tc->task) != _RUNNING_) + continue; + } else if (!(task_state(tc->task) & fd->state)) + continue; + } if (specified) { for (j = 0; j < fd->tasks; j++) { ++++++ crash-make-emacs-default.diff ++++++ --- /var/tmp/diff_new_pack.wkur2t/_old 2012-03-29 13:50:54.000000000 +0200 +++ /var/tmp/diff_new_pack.wkur2t/_new 2012-03-29 13:50:54.000000000 +0200 @@ -4,7 +4,7 @@ --- a/main.c +++ b/main.c -@@ -1007,12 +1007,6 @@ setup_environment(int argc, char **argv) +@@ -1022,12 +1022,6 @@ setup_environment(int argc, char **argv) pc->flags |= READLINE; pc->editing_mode = "no_mode"; @@ -17,7 +17,7 @@ /* * Resolve $HOME .rc file first, then the one in the local directory. -@@ -1062,7 +1056,7 @@ setup_environment(int argc, char **argv) +@@ -1077,7 +1071,7 @@ setup_environment(int argc, char **argv) } if (STREQ(pc->editing_mode, "no_mode")) ++++++ crash-sles9-time.patch ++++++ --- /var/tmp/diff_new_pack.wkur2t/_old 2012-03-29 13:50:54.000000000 +0200 +++ /var/tmp/diff_new_pack.wkur2t/_new 2012-03-29 13:50:54.000000000 +0200 @@ -16,7 +16,7 @@ --- a/defs.h +++ b/defs.h -@@ -614,6 +614,7 @@ struct kernel_table { +@@ -619,6 +619,7 @@ struct kernel_table { ulong p2m_missing; } pvops_xen; int highest_irq; @@ -24,7 +24,7 @@ #define IKCONFIG_AVAIL 0x1 /* kernel contains ikconfig data */ #define IKCONFIG_LOADED 0x2 /* ikconfig data is currently loaded */ int ikconfig_flags; -@@ -5215,6 +5216,13 @@ extern struct lkcd_environment *lkcd; +@@ -5270,6 +5271,13 @@ extern struct lkcd_environment *lkcd; #endif /* LKCD_COMMON */ @@ -40,7 +40,7 @@ */ --- a/kernel.c +++ b/kernel.c -@@ -212,6 +212,12 @@ kernel_init() +@@ -214,6 +214,12 @@ kernel_init() verify_version(); @@ -53,7 +53,7 @@ if (symbol_exists("__per_cpu_offset")) { if (LKCD_KERNTYPES()) i = get_cpus_possible(); -@@ -4205,7 +4211,7 @@ get_uptime(char *buf, ulonglong *j64p) +@@ -4207,7 +4213,7 @@ get_uptime(char *buf, ulonglong *j64p) if (symbol_exists("jiffies_64")) { get_symbol_data("jiffies_64", sizeof(ulonglong), &jiffies_64); @@ -62,7 +62,7 @@ wrapped = (jiffies_64 & 0xffffffff00000000ULL); if (wrapped) { wrapped -= 0x100000000ULL; -@@ -4739,6 +4745,7 @@ no_cpu_flags: +@@ -4741,6 +4747,7 @@ no_cpu_flags: fprintf(fp, " p2m_top: %lx\n", kt->pvops_xen.p2m_top); fprintf(fp, " p2m_top_entries: %d\n", kt->pvops_xen.p2m_top_entries); fprintf(fp, " p2m_missing: %lx\n", kt->pvops_xen.p2m_missing); @@ -72,7 +72,7 @@ /* --- a/task.c +++ b/task.c -@@ -3547,6 +3547,12 @@ start_time_timespec(void) +@@ -3553,6 +3553,12 @@ start_time_timespec(void) default: break; } @@ -85,7 +85,7 @@ tt->flags |= NO_TIMESPEC; -@@ -3578,6 +3584,11 @@ convert_start_time(ulonglong start_time, +@@ -3584,6 +3590,11 @@ convert_start_time(ulonglong start_time, ulong tmp1, tmp2; ulonglong wrapped; -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de