auto-import changelog data from crash-3.7-5.src.rpm

Mon Sep 22 2003 Dave Anderson <anderson@redhat.com> 3.7-5
- make bt recovery code start fix-up only upon reaching first faulting
    frame
Fri Sep 19 2003 Dave Anderson <anderson@redhat.com> 3.7-4
- fix "bt -e" and bt recovery code to recognize new __KERNEL_CS and DS
Wed Sep 10 2003 Dave Anderson <anderson@redhat.com> 3.7-3
- patch to recognize per-cpu GDT changes that redefine __KERNEL_CS and DS
Wed Sep 10 2003 Dave Anderson <anderson@redhat.com> 3.7-2
- patches for netdump active_set determination and slab info gathering
Wed Aug 20 2003 Dave Anderson <anderson@redhat.com> 3.7-1
- updated source package to crash-3.7.tar.gz
Wed Jul 23 2003 Dave Anderson <anderson@redhat.com> 3.6-1
- removed Packager, Distribution, and Vendor tags
- updated source package to crash-3.6.tar.gz
Fri Jul 18 2003 Jay Fenlason <fenlason@redhat.com> 3.5-2
- remove ppc from arch list, since it doesn't work with ppc64 kernels
- remove alpha from the arch list since we don't build it any more
Fri Jul 18 2003 Matt Wilson <msw@redhat.com> 3.5-1
- use %defattr(-,root,root)
Tue Jul 15 2003 Jay Fenlason <fenlason@redhat.com>
- Updated spec file as first step in turning this into a real RPM for
    taroon.
- Wrote man page.
This commit is contained in:
cvsdist 2004-09-09 03:56:49 +00:00
parent 8bbe768ca3
commit d298941397
4 changed files with 237 additions and 0 deletions

View File

@ -0,0 +1 @@
crash-3.7.tar.gz

162
crash.patch Normal file
View File

@ -0,0 +1,162 @@
--- crash/memory.c.orig 2003-09-10 14:06:01.000000000 -0400
+++ crash/memory.c 2003-09-10 14:06:46.000000000 -0400
@@ -6170,6 +6170,7 @@
si->flags &= ~SLAB_WALKTHROUGH;
si->cpucached_cache = 0;
si->num_slabs = si->inuse = 0;
+ gather_cpudata_list(si);
slab_s_buf = GETBUF(SIZE(slab_s));
@@ -6204,7 +6205,9 @@
tmp = INT(slab_s_buf + OFFSET(slab_s_inuse));
si->inuse += tmp;
- gather_cpudata_list(si);
+ if (ACTIVE())
+ gather_cpudata_list(si);
+
si->s_mem = ULONG(slab_s_buf +
OFFSET(slab_s_s_mem));
gather_slab_cached_count(si);
--- crash/task.c.orig 2003-09-10 14:06:05.000000000 -0400
+++ crash/task.c 2003-09-10 14:06:50.000000000 -0400
@@ -3921,7 +3921,7 @@
cnt++;
}
} else if (VALID_MEMBER(runqueue_cpu)) {
- for (i = 0; i < NR_CPUS; i++) {
+ for (i = 0; i < kt->cpus; i++) {
runqaddr = runq + (SIZE(runqueue) * rq_idx(i));
readmem(runqaddr, KVADDR, runqbuf,
SIZE(runqueue), "runqueues curr",
--- crash/lkcd_x86_trace.c.orig 2003-09-19 10:32:11.000000000 -0400
+++ crash/lkcd_x86_trace.c 2003-09-22 14:19:44.000000000 -0400
@@ -891,6 +891,19 @@
#define KERNEL_EFRAME_SZ 13 /* no ss and esp */
#define USER_EFRAME_SZ 15
+#ifdef REDHAT
+#undef __KERNEL_CS
+#undef __KERNEL_DS
+#undef __USER_CS
+#undef __USER_DS
+
+#define __KERNEL_CS 0x10
+#define __KERNEL_DS 0x18
+
+#define __USER_CS 0x23
+#define __USER_DS 0x2B
+#endif
+
/*
* Check if the exception frame is of kernel or user type
* Is checking only DS and CS values sufficient ?
@@ -900,6 +913,11 @@
if (((regs->xcs & 0xffff) == __KERNEL_CS) &&
((regs->xds & 0xffff) == __KERNEL_DS))
return KERNEL_EFRAME;
+#ifdef REDHAT
+ else if (((regs->xcs & 0xffff) == 0x60) &&
+ ((regs->xds & 0xffff) == 0x68))
+ return KERNEL_EFRAME;
+#endif
else if (((regs->xcs & 0xffff) == __USER_CS) &&
((regs->xds & 0xffff) == __USER_DS))
return USER_EFRAME;
@@ -1100,7 +1118,9 @@
* a valid RA at a higher stack address.
*/
if ((bt->flags & BT_SPECULATE) &&
- !STREQ(funcname, "context_switch"))
+ !STREQ(funcname, "context_switch") &&
+ !STREQ(funcname, "die") &&
+ !(bt->frameptr && ((bp+4) < bt->frameptr)))
SEEK_VALID_RA();
}
#else
@@ -1188,7 +1208,7 @@
ra, sp, bp, asp, 0, 0, 0, 0);
return(trace->nframes);
#ifdef REDHAT
- } else if (strstr(func_name, "cpu_idle")) {
+ } else if (STREQ(func_name, "cpu_idle")) {
ra = 0;
bp = sp = saddr - 4;
asp = curframe->asp;
@@ -1634,8 +1654,12 @@
if ((frmp = trace->frame)) {
do {
- if (frmp->error)
+ if (frmp->error) {
errcnt++;
+ if (!(bt->flags & BT_SPECULATE) &&
+ !bt->frameptr)
+ bt->frameptr = frmp->fp;
+ }
if (BT_REFERENCE_CHECK(bt))
do_bt_reference_check(bt, frmp);
frmp = frmp->next;
--- crash/defs.h.orig 2003-09-22 10:40:29.000000000 -0400
+++ crash/defs.h 2003-09-19 15:10:42.000000000 -0400
@@ -503,6 +503,7 @@
struct stack_hook *hp;
struct stack_hook *textlist;
struct reference *ref;
+ ulong frameptr;
ulong debug;
};
--- crash/x86.c.orig 2003-09-19 10:32:26.000000000 -0400
+++ crash/x86.c 2003-09-19 10:28:17.000000000 -0400
@@ -1401,15 +1401,28 @@
/* check for kernel exception frame */
- if (INSTACK(pt->reg_value[INT_EFRAME_EBP], bt) &&
- ((short)pt->reg_value[INT_EFRAME_CS] == 0x10) &&
+ if (((short)pt->reg_value[INT_EFRAME_CS] == 0x10) &&
((short)pt->reg_value[INT_EFRAME_DS] == 0x18) &&
((short)pt->reg_value[INT_EFRAME_ES] == 0x18) &&
IS_KVADDR(pt->reg_value[INT_EFRAME_EIP])) {
+ if (!(machdep->flags & OMIT_FRAME_PTR) &&
+ !INSTACK(pt->reg_value[INT_EFRAME_EBP], bt))
+ continue;
rv = bt->stackbase + sizeof(ulong) * (first - stack);
break;
}
+ if (((short)pt->reg_value[INT_EFRAME_CS] == 0x60) &&
+ ((short)pt->reg_value[INT_EFRAME_DS] == 0x68) &&
+ ((short)pt->reg_value[INT_EFRAME_ES] == 0x68) &&
+ IS_KVADDR(pt->reg_value[INT_EFRAME_EIP])) {
+ if (!(machdep->flags & OMIT_FRAME_PTR) &&
+ !INSTACK(pt->reg_value[INT_EFRAME_EBP], bt))
+ continue;
+ rv = bt->stackbase + sizeof(ulong) * (first - stack);
+ break;
+ }
+
/* check for user exception frame */
if (((short)pt->reg_value[INT_EFRAME_CS] == 0x23) &&
@@ -1417,8 +1430,7 @@
((short)pt->reg_value[INT_EFRAME_ES] == 0x2b) &&
((short)pt->reg_value[INT_EFRAME_SS] == 0x2b) &&
IS_UVADDR(pt->reg_value[INT_EFRAME_EIP], bt->tc) &&
- IS_UVADDR(pt->reg_value[INT_EFRAME_ESP], bt->tc) &&
- IS_UVADDR(pt->reg_value[INT_EFRAME_EBP], bt->tc)) {
+ IS_UVADDR(pt->reg_value[INT_EFRAME_ESP], bt->tc)) {
rv = bt->stackbase + sizeof(ulong) * (first - stack);
break;
}
@@ -1454,7 +1466,7 @@
cs = pt->reg_value[INT_EFRAME_CS];
if (cs == 0x23) {
mode = "USER-MODE";
- } else if (cs == 0x10) {
+ } else if ((cs == 0x10) || (cs == 0x60)) {
mode = "KERNEL-MODE";
} else {
mode = "UNKNOWN-MODE";

73
crash.spec Normal file
View File

@ -0,0 +1,73 @@
#
# crash core analysis suite
#
Summary: crash utility for live systems and netdump, LKCD or mcore dumpfiles
Name: crash
Version: 3.7
Release: 5
License: GPL
Group: Development/Debuggers
Source: %{name}-%{version}.tar.gz
URL: ftp://people.redhat.com/anderson/%{name}-%{version}.tar.gz
ExclusiveOS: Linux
ExclusiveArch: i386 ia64
Buildroot: %{_tmppath}/%{name}-root
BuildRequires: ncurses-devel zlib-devel
Patch0: crash.patch
%description
The core analysis suite is a self-contained tool that can be used to
investigate either live systems, kernel core dumps created from the
netdump package from Red Hat Linux, the mcore kernel patch offered by
Mission Critical Linux, or the LKCD kernel patch.
%prep
%setup -n %{name}-%{version}
%patch0 -p1 -b crash.patch
%build
make RPMPKG="%{version}-%{release}"
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/usr/bin
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}%{_mandir}/man8
cp crash.8 %{buildroot}%{_mandir}/man8/crash.8
%files
%defattr(-,root,root)
/usr/bin/crash
%{_mandir}/man8/crash.8*
%doc README
%changelog
* Mon Sep 22 2003 Dave Anderson <anderson@redhat.com> 3.7-5
- make bt recovery code start fix-up only upon reaching first faulting frame
* Fri Sep 19 2003 Dave Anderson <anderson@redhat.com> 3.7-4
- fix "bt -e" and bt recovery code to recognize new __KERNEL_CS and DS
* Wed Sep 10 2003 Dave Anderson <anderson@redhat.com> 3.7-3
- patch to recognize per-cpu GDT changes that redefine __KERNEL_CS and DS
* Wed Sep 10 2003 Dave Anderson <anderson@redhat.com> 3.7-2
- patches for netdump active_set determination and slab info gathering
* Wed Aug 20 2003 Dave Anderson <anderson@redhat.com> 3.7-1
- updated source package to crash-3.7.tar.gz
* Wed Jul 23 2003 Dave Anderson <anderson@redhat.com> 3.6-1
- removed Packager, Distribution, and Vendor tags
- updated source package to crash-3.6.tar.gz
* Fri Jul 18 2003 Jay Fenlason <fenlason@redhat.com> 3.5-2
- remove ppc from arch list, since it doesn't work with ppc64 kernels
- remove alpha from the arch list since we don't build it any more
* Fri Jul 18 2003 Matt Wilson <msw@redhat.com> 3.5-1
- use %%defattr(-,root,root)
* Tue Jul 15 2003 Jay Fenlason <fenlason@redhat.com>
- Updated spec file as first step in turning this into a real RPM for taroon.
- Wrote man page.

View File

@ -0,0 +1 @@
b2f1bed9d006586a763e7f34c8a7801f crash-3.7.tar.gz