diff --git a/.crash.metadata b/.crash.metadata new file mode 100644 index 0000000..761b71a --- /dev/null +++ b/.crash.metadata @@ -0,0 +1 @@ +355afc05e5564ffceec6425eb992f461a353ac35 SOURCES/crash-7.1.9.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..732da4a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/crash-7.1.9.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/github_87179026_to_ad3b8476.patch b/SOURCES/github_87179026_to_ad3b8476.patch new file mode 100644 index 0000000..ed80966 --- /dev/null +++ b/SOURCES/github_87179026_to_ad3b8476.patch @@ -0,0 +1,274 @@ +commit 8717902685706faf48d2c27eb943822ae8829ccc +Author: Dave Anderson +Date: Mon May 1 15:14:36 2017 -0400 + + Fix for the "snap.so" extension module to pass the KASLR relocation + offset value in the dumpfile header for kernels that are compiled + with CONFIG_RANDOMIZE_BASE. Without the patch, it is necessary to + use the "--kaslr=" command line option, or the session + fails with the message "WARNING: cannot read linux_banner string", + followed by "crash: vmlinux and vmcore do not match!". + (anderson@redhat.com) + +diff --git a/extensions/snap.c b/extensions/snap.c +index 91af859..7c94618 100644 +--- a/extensions/snap.c ++++ b/extensions/snap.c +@@ -1,7 +1,7 @@ + /* snap.c - capture live memory into a kdump or netdump dumpfile + * +- * Copyright (C) 2009, 2013 David Anderson +- * Copyright (C) 2009, 2013 Red Hat, Inc. All rights reserved. ++ * Copyright (C) 2009, 2013, 2014, 2017 David Anderson ++ * Copyright (C) 2009, 2013, 2014, 2017 Red Hat, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -423,7 +423,10 @@ generate_elf_header(int type, int fd, char *filename) + ushort e_machine; + int num_segments; + struct node_table *nt; +- ulonglong task_struct; ++ struct SNAP_info { ++ ulonglong task_struct; ++ ulonglong relocate; ++ } SNAP_info; + + num_segments = vt->numnodes; + +@@ -606,9 +609,10 @@ generate_elf_header(int type, int fd, char *filename) + notes->p_filesz += len; + + /* NT_TASKSTRUCT note */ +- task_struct = CURRENT_TASK(); ++ SNAP_info.task_struct = CURRENT_TASK(); ++ SNAP_info.relocate = kt->relocate; + len = dump_elf_note (ptr, NT_TASKSTRUCT, "SNAP", +- (char *)&task_struct, sizeof(ulonglong)); ++ (char *)&SNAP_info, sizeof(struct SNAP_info)); + offset += len; + ptr += len; + notes->p_filesz += len; +diff --git a/netdump.c b/netdump.c +index 409bc43..0772e02 100644 +--- a/netdump.c ++++ b/netdump.c +@@ -1172,8 +1172,9 @@ netdump_memory_dump(FILE *fp) + netdump_print(" nt_prpsinfo: %lx\n", nd->nt_prpsinfo); + netdump_print(" nt_taskstruct: %lx\n", nd->nt_taskstruct); + netdump_print(" task_struct: %lx\n", nd->task_struct); +- netdump_print(" page_size: %d\n", nd->page_size); ++ netdump_print(" relocate: %lx\n", nd->relocate); + netdump_print(" switch_stack: %lx\n", nd->switch_stack); ++ netdump_print(" page_size: %d\n", nd->page_size); + dump_xen_kdump_data(fp); + netdump_print(" num_prstatus_notes: %d\n", nd->num_prstatus_notes); + netdump_print(" num_qemu_notes: %d\n", nd->num_qemu_notes); +@@ -1912,8 +1913,6 @@ dump_Elf32_Nhdr(Elf32_Off offset, int store) + if (store) { + nd->nt_taskstruct = (void *)note; + nd->task_struct = *((ulong *)(ptr + note->n_namesz)); +- nd->switch_stack = *((ulong *) +- (ptr + note->n_namesz + sizeof(ulong))); + } + break; + case NT_DISKDUMP: +@@ -2160,8 +2159,19 @@ dump_Elf64_Nhdr(Elf64_Off offset, int store) + if (store) { + nd->nt_taskstruct = (void *)note; + nd->task_struct = *((ulong *)(ptr + note->n_namesz)); +- nd->switch_stack = *((ulong *) +- (ptr + note->n_namesz + sizeof(ulong))); ++ if (pc->flags2 & SNAP) { ++ if (note->n_descsz == 16) { ++ nd->relocate = *((ulong *) ++ (ptr + note->n_namesz + sizeof(ulong))); ++ if (nd->relocate) { ++ kt->relocate = nd->relocate; ++ kt->flags |= RELOC_SET; ++ kt->flags2 |= KASLR; ++ } ++ } ++ } else if (machine_type("IA64")) ++ nd->switch_stack = *((ulong *) ++ (ptr + note->n_namesz + sizeof(ulong))); + } + break; + case NT_DISKDUMP: +diff --git a/netdump.h b/netdump.h +index b63eed7..ec6691c 100644 +--- a/netdump.h ++++ b/netdump.h +@@ -1,7 +1,7 @@ + /* netdump.h + * +- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 David Anderson +- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Red Hat, Inc. All rights reserved. ++ * Copyright (C) 2002-2009, 2017 David Anderson ++ * Copyright (C) 2002-2009, 2017 Red Hat, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -77,6 +77,7 @@ struct vmcore_data { + ulonglong backup_src_start; + ulong backup_src_size; + ulonglong backup_offset; ++ ulong relocate; + }; + + #define DUMP_ELF_INCOMPLETE 0x1 /* dumpfile is incomplete */ + +commit c85a70ba752ac31e729a753a03b836dc5591714b +Author: Dave Anderson +Date: Mon May 1 15:40:21 2017 -0400 + + The native gdb "disassemble" command fails if the kernel has been + compiled with CONFIG_RANDOMIZE_BASE because the embedded gdb module + still operates under the assumption that the (non-relocated) text + locations in the vmlinux file are correct. The error message that + is issued is somewhat confusing, indicating "No function contains + specified address". This patch simply clarifies the error message + to indicate "crash: the gdb "disassemble" command is prohibited + because the kernel text was relocated by KASLR; use the crash "dis" + command instead." + (anderson@redhat.com) + +diff --git a/gdb_interface.c b/gdb_interface.c +index 2f7f30d..873787b 100644 +--- a/gdb_interface.c ++++ b/gdb_interface.c +@@ -737,6 +737,13 @@ is_restricted_command(char *cmd, ulong flags) + newline, newline, pc->program_name); + } + } ++ ++ if (kt->relocate && ++ STRNEQ("disassemble", cmd) && STRNEQ(cmd, "disas")) ++ error(FATAL, ++ "the gdb \"disassemble\" command is prohibited because the kernel text\n" ++ "%swas relocated%s; use the crash \"dis\" command instead.\n", ++ space(strlen(pc->curcmd)+2), kt->flags2 & KASLR ? " by KASLR" : ""); + + return FALSE; + } + +commit 14cbcd58c14cbb34912ebce75c99e8bf35d39aef +Author: Dave Anderson +Date: Tue May 2 15:45:23 2017 -0400 + + Fix for the "mach -m" command in Linux 4.9 and later kernels that + contain commit 475339684ef19e46f4702e2d185a869a5c454688, titled + "x86/e820: Prepare e280 code for switch to dynamic storage", in + which the "e820" symbol was changed from a static e820map structure + to a pointer to an e820map structure. Without the patch, the + command either displays just the header, or the header with several + nonsensical entries. + (anderson@redhat.com) + +diff --git a/x86_64.c b/x86_64.c +index fbef125..74a0268 100644 +--- a/x86_64.c ++++ b/x86_64.c +@@ -5332,7 +5332,10 @@ x86_64_display_memmap(void) + ulonglong addr, size; + uint type; + +- e820 = symbol_value("e820"); ++ if (get_symbol_type("e820", NULL, NULL) == TYPE_CODE_PTR) ++ get_symbol_data("e820", sizeof(void *), &e820); ++ else ++ e820 = symbol_value("e820"); + if (CRASHDEBUG(1)) + dump_struct("e820map", e820, RADIX(16)); + buf = (char *)GETBUF(SIZE(e820map)); + +commit a4a538caca140a8e948bbdae2be311168db7a1eb +Author: Dave Anderson +Date: Tue May 2 16:51:53 2017 -0400 + + Fix for Linux 4.10 and later kdump dumpfiles, or kernels that have + backported commit 401721ecd1dcb0a428aa5d6832ee05ffbdbffbbe, titled + "kexec: export the value of phys_base instead of symbol address". + Without the patch, if the x86_64 "phys_base" value in the VMCOREINFO + note is a negative negative decimal number, the crash session fails + during session intialization with a "page excluded" or "seek error" + when reading "page_offset_base". + (anderson@redhat.com) + +diff --git a/x86_64.c b/x86_64.c +index 74a0268..04364f9 100644 +--- a/x86_64.c ++++ b/x86_64.c +@@ -6219,11 +6219,14 @@ x86_64_calc_phys_base(void) + * Linux 4.10 exports it in VMCOREINFO (finally). + */ + if ((p1 = pc->read_vmcoreinfo("NUMBER(phys_base)"))) { +- machdep->machspec->phys_base = dtol(p1, QUIET, NULL); +- free(p1); ++ if (*p1 == '-') ++ machdep->machspec->phys_base = dtol(p1+1, QUIET, NULL) * -1; ++ else ++ machdep->machspec->phys_base = dtol(p1, QUIET, NULL); + if (CRASHDEBUG(1)) +- fprintf(fp, "VMCOREINFO: phys_base: %lx\n", +- machdep->machspec->phys_base); ++ fprintf(fp, "VMCOREINFO: NUMBER(phys_base): %s -> %lx\n", ++ p1, machdep->machspec->phys_base); ++ free(p1); + return; + } + + +commit ad3b84766beefedcfaa191dfd597f136f660a5b6 +Author: Dave Anderson +Date: Wed May 3 10:29:37 2017 -0400 + + Fix for the PPC64 "pte" command. Without the patch, if the target + PTE references a present page, the physical address is incorrect. + (anderson@redhat.com) + +diff --git a/ppc64.c b/ppc64.c +index 15025d5..84cec09 100644 +--- a/ppc64.c ++++ b/ppc64.c +@@ -1,7 +1,7 @@ + /* ppc64.c -- core analysis suite + * +- * Copyright (C) 2004-2015 David Anderson +- * Copyright (C) 2004-2015 Red Hat, Inc. All rights reserved. ++ * Copyright (C) 2004-2015,2017 David Anderson ++ * Copyright (C) 2004-2015,2017 Red Hat, Inc. All rights reserved. + * Copyright (C) 2004, 2006 Haren Myneni, IBM Corporation + * + * This program is free software; you can redistribute it and/or modify +@@ -1507,6 +1507,8 @@ ppc64_translate_pte(ulong pte, void *physaddr, ulonglong pte_rpn_shift) + char *arglist[MAXARGS]; + ulong paddr; + ++ if (STREQ(pc->curcmd, "pte")) ++ pte_rpn_shift = machdep->machspec->pte_rpn_shift; + paddr = PTOB(pte >> pte_rpn_shift); + page_present = !!(pte & _PAGE_PRESENT); + +@@ -1517,12 +1519,12 @@ ppc64_translate_pte(ulong pte, void *physaddr, ulonglong pte_rpn_shift) + + sprintf(ptebuf, "%lx", pte); + len1 = MAX(strlen(ptebuf), strlen("PTE")); +- fprintf(fp, "%s ", mkstring(buf, len1, CENTER|LJUST, "PTE")); + + if (!page_present && pte) { + swap_location(pte, buf); + if ((c = parse_line(buf, arglist)) != 3) + error(FATAL, "cannot determine swap location\n"); ++ fprintf(fp, "%s ", mkstring(buf2, len1, CENTER|LJUST, "PTE")); + + len2 = MAX(strlen(arglist[0]), strlen("SWAP")); + len3 = MAX(strlen(arglist[2]), strlen("OFFSET")); +@@ -1541,6 +1543,7 @@ ppc64_translate_pte(ulong pte, void *physaddr, ulonglong pte_rpn_shift) + return page_present; + } + ++ fprintf(fp, "%s ", mkstring(buf, len1, CENTER|LJUST, "PTE")); + sprintf(physbuf, "%lx", paddr); + len2 = MAX(strlen(physbuf), strlen("PHYSICAL")); + fprintf(fp, "%s ", mkstring(buf, len2, CENTER|LJUST, "PHYSICAL")); diff --git a/SOURCES/lzo_snappy.patch b/SOURCES/lzo_snappy.patch new file mode 100644 index 0000000..61af0cc --- /dev/null +++ b/SOURCES/lzo_snappy.patch @@ -0,0 +1,22 @@ +--- crash-7.1.5/diskdump.c.orig ++++ crash-7.1.5/diskdump.c +@@ -23,6 +23,8 @@ + * GNU General Public License for more details. + */ + ++#define LZO ++#define SNAPPY + #include "defs.h" + #include "diskdump.h" + #include "xen_dom0.h" +--- crash-7.1.5/Makefile.orig ++++ crash-7.1.5/Makefile +@@ -228,7 +228,7 @@ all: make_configure + gdb_merge: force + @if [ ! -f ${GDB}/README ]; then \ + make --no-print-directory gdb_unzip; fi +- @echo "${LDFLAGS} -lz -ldl -rdynamic" > ${GDB}/gdb/mergelibs ++ @echo "${LDFLAGS} -lz -llzo2 -lsnappy -ldl -rdynamic" > ${GDB}/gdb/mergelibs + @echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj + @rm -f ${PROGRAM} + @if [ ! -f ${GDB}/config.status ]; then \ diff --git a/SOURCES/next_online_node.patch b/SOURCES/next_online_node.patch new file mode 100644 index 0000000..638b4bd --- /dev/null +++ b/SOURCES/next_online_node.patch @@ -0,0 +1,14 @@ +--- crash-7.1.9/memory.c.orig ++++ crash-7.1.9/memory.c +@@ -17198,10 +17198,8 @@ next_online_node(int first) + int i, j, node; + ulong mask, *maskptr; + +- if ((first/BITS_PER_LONG) >= vt->node_online_map_len) { +- error(INFO, "next_online_node: %d is too large!\n", first); ++ if ((first/BITS_PER_LONG) >= vt->node_online_map_len) + return -1; +- } + + maskptr = (ulong *)vt->node_online_map; + for (i = node = 0; i < vt->node_online_map_len; i++, maskptr++) { diff --git a/SOURCES/ppc64le_vmalloc.patch b/SOURCES/ppc64le_vmalloc.patch new file mode 100644 index 0000000..01f4ea0 --- /dev/null +++ b/SOURCES/ppc64le_vmalloc.patch @@ -0,0 +1,14 @@ +--- crash-7.1.9/defs.h.orig ++++ crash-7.1.9/defs.h +@@ -3884,8 +3884,9 @@ struct efi_memory_desc_t { + #define PMD_MASKED_BITS_64K_4_6 0xc0000000000000ffUL + + #define PTE_RPN_MASK_DEFAULT 0xffffffffffffffffUL +-#define PTE_RPN_SIZE_L4_4_6 (PAGESIZE() == PPC64_64K_PAGE_SIZE ? 41 : 45) +-#define PTE_RPN_MASK_L4_4_6 (((1UL << PTE_RPN_SIZE_L4_4_6) - 1) << PAGESHIFT()) ++#define PAGE_PA_MAX_L4_4_6 (THIS_KERNEL_VERSION >= LINUX(4,11,0) ? 53 : 57) ++#define PTE_RPN_MASK_L4_4_6 \ ++ (((1UL << PAGE_PA_MAX_L4_4_6) - 1) & ~((1UL << PAGESHIFT()) - 1)) + #define PTE_RPN_SHIFT_L4_4_6 PAGESHIFT() + + #define PGD_MASKED_BITS_4_7 0xc0000000000000ffUL diff --git a/SPECS/crash.spec b/SPECS/crash.spec new file mode 100644 index 0000000..9b1945a --- /dev/null +++ b/SPECS/crash.spec @@ -0,0 +1,508 @@ +# +# crash core analysis suite +# +Summary: Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles +Name: crash +Version: 7.1.9 +Release: 2.p2%{?dist} +License: GPLv3 +Group: Development/Debuggers +Source: http://people.redhat.com/anderson/crash-%{version}.tar.gz +URL: http://people.redhat.com/anderson +ExclusiveOS: Linux +ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n) +BuildRequires: ncurses-devel zlib-devel lzo-devel bison snappy-devel +Requires: binutils +Patch0: lzo_snappy.patch +Patch1: github_87179026_to_ad3b8476.patch +Patch2: ppc64le_vmalloc.patch +Patch3: next_online_node.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, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch +offered by Mission Critical Linux, or the LKCD kernel patch. + +%package devel +Requires: %{name} = %{version}, zlib-devel lzo-devel snappy-devel +Summary: kernel crash analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles +Group: Development/Debuggers + +%description devel +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, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch +offered by Mission Critical Linux, or the LKCD kernel patch. + +%prep +%setup -n %{name}-%{version} -q +%patch0 -p1 -b lzo_snappy.patch +%patch1 -p1 -b github_87179026_to_ad3b8476.patch +%patch2 -p1 -b ppc64le_vmalloc.patch +%patch3 -p1 -b next_online_node.patch + +%build +make RPMPKG="%{version}-%{release}" CFLAGS="%{optflags}" + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}%{_bindir} +make DESTDIR=%{buildroot} install +mkdir -p %{buildroot}%{_mandir}/man8 +cp -p crash.8 %{buildroot}%{_mandir}/man8/crash.8 +mkdir -p %{buildroot}%{_includedir}/crash +chmod 0644 defs.h +cp -p defs.h %{buildroot}%{_includedir}/crash + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%{_bindir}/crash +%{_mandir}/man8/crash.8* +%doc README COPYING3 + +%files devel +%defattr(-,root,root,-) +%{_includedir}/* + +%changelog +* Thu Oct 12 2017 Dave Anderson - 7.1.9-2.p2 +- Remove harmless/useless message from next_online_node(). + Resolves: rhbz#1442738 + +* Fri Aug 25 2017 Dave Anderson - 7.1.9-2.p1 +- Fix ppc64le vmalloc address translation + Resolves: rhbz#1483934 + +* Wed May 3 2017 Dave Anderson - 7.1.9-2 +- Rebase to github commits 87179026 to ad3b8476 + Resolves: rhbz#1393534 +- Prohibit native gdb disassemble command when KASLR + Resolves: rhbz#1445649 + +* Mon Apr 24 2017 Dave Anderson - 7.1.9-1 +- Rebase to upstream version 7.1.9 + Resolves: rhbz#1393534 +- Fix gdb "set scope" option for KASLR kernels. + Resolves: rhbz#1440725 +- Fix for the determination of the x86_64 "phys_base" value when it is + not passed in the VMCOREINFO data of ELF vmcores + Resolves: rhbz#1439170 + +* Wed Mar 8 2017 Dave Anderson - 7.1.8-2 +- mod [-sS] command may erroneously reassign module symbol addresses + Resolves: rhbz#1430091 + +* Fri Feb 24 2017 Dave Anderson - 7.1.8-1 +- Rebase to upstream version 7.1.8 + Resolves: rhbz#1393534 +- POWER9 - Power ISA 3.0 related support for crash utility + Resolves: rhbz#1368711 +- crash package update - ppc64/ppc64le + Resolves: rhbz#1384944 +- exception RIP: unknown or invalid address + Resolves: rhbz#1350457 +- Crash does not always parse correctly the modules symbol tables + Resolves: rhbz#1360415 +- ARM64: crash live system from: WARNING: cannot read linux_banner string + Resolves: rhbz#1392007 +- kmem: invalid structure member offset: page_count + Resolves: rhbz#1392011 +- Kernel address space randomization [KASLR] support + Resolves: rhbz#1392658 +- invalid structure size: tnt + Resolves: rhbz#1420653 + +* Wed Sep 14 2016 Dave Anderson - 7.1.5-2 +- Fix for kernel module symbol gathering when the ordering of module + symbol name strings does not match the order of the kernel_symbol + structures. +- Resolves: rhbz#1375130 + +* Thu Apr 28 2016 Dave Anderson - 7.1.5-1 +- Rebase to upstream version 7.1.5 + Resolves: rhbz#1292566 +- Decode clflushopt instruction + Resolves: rhbz#1262479 +- Support AArch64 QEMU generated dumps + Resolves: rhbz#1299873 +- crash: zero-size memory allocation (aarch64) + Resolves: rhbz#1312738 + +* Tue Apr 5 2016 Dave Anderson - 7.1.2-4 +- crash: fails to read excluded pages by default on sadump-related format + Resolves: rhbz#1304260 + +* Mon Nov 23 2015 Dave Anderson - 7.1.2-3 +- crash fails to read or wrongly reads some parts of memory in sadump vmcore format + Resolves: rhbz#1282997 + +* Tue Aug 4 2015 Dave Anderson - 7.1.2-2 +- Fix "kmem -s
", "bt -F[F]", and "rd -S[S]" options in kernels + configured with CONFIG_SLUB having multiple-page slabs. + Resolves: rhbz#1244003 +- Fix for SIGSEGV generated by "bt -[f|F]" in ARM64 kernels. + Resolves: rhbz#1248859 + +* Mon Jul 13 2015 Dave Anderson - 7.1.2-1 +- Rebase to upstream version 7.1.2 + Resolves: rhbz#1207696 +- Fix several ppc64 backtrace issues + Resolves: rhbz#1235447 + +* Fri Jun 05 2015 Dave Anderson - 7.1.1-2 +- ARM64 backtrace enhancements + Resolves: rhbz#1227508 + +* Thu May 28 2015 Dave Anderson - 7.1.1-1 +- Rebase to upstream version 7.1.1 + Resolves: rhbz#1207696 +- Display s390x vector registers from a kernel dump. + Resolves: rhbz#1182161 +- Fix date displayed on initial system banner and by the "sys" command on ARM64. + Resolves: rhbz#1223044 +- Fix ARM64 page size calculation on 4.1 and later kernels. + Resolves: rhbz#1222645 + +* Tue Apr 21 2015 Dave Anderson - 7.0.9-6 +- Calculate ARM64 virtual memory layout based upon struct page size + Resolves: rhbz#1204941 + +* Tue Apr 7 2015 Dave Anderson - 7.0.9-5 +- Support new sadump format that can represent more than 16 TB physical memory space + Resolves: rhbz#1182383 + +* Mon Jan 26 2015 Dave Anderson - 7.0.9-4 + Fix ppc64 "bt" command for active tasks in compressed kdumps. + Resolves: rhbz#1184401 + +* Mon Jan 12 2015 Dave Anderson - 7.0.9-3 + Fix "bt" command mislabeling errors. + Resolves: rhbz#1179476 + +* Mon Dec 08 2014 Dave Anderson - 7.0.9-2 +- Use registers from QEMU-generated ELF and compressed kdump headers + for active task backtraces. +- Resolves: rhbz#1169555 + +* Fri Nov 14 2014 Dave Anderson - 7.0.9-1 +- Rebase to upstream version 7.0.9. +- Resolves: rhbz#1110513 + +* Tue Sep 23 2014 Dave Anderson - 7.0.8-2 +- Fix ps performance patch regression on live systems. +- Resolves: rhbz#1134177 +- Minor build-related fixes for ppc64le. +- Resolves: rhbz#1123991 + +* Fri Sep 12 2014 Dave Anderson - 7.0.8-1 +- Rebase to upstream version 7.0.8. +- Resolves: rhbz#1110513 +- Fix to calculate the physical base address of dumpfiles created + by a "virsh dump" of an OVMF guest. +- Resolves: rhbz#1080698 +- Support for aarch64 architecture. +- Resolves: rhbz#1110551 +- Fix to prevent crash from spinning endlessly on a corrupted/truncated + dumpfile whose bitmap data is not wholly contained within the file. +- Resolves: rhbz#1114088 +- Support for ppc64le architecture. +- Resolves: rhbz#1123991 + +* Tue Jan 28 2014 Daniel Mach - 7.0.2-6 +- Mass rebuild 2014-01-24 + +* Fri Jan 24 2014 Dave Anderson - 7.0.2-5 +- Fix for a missing kernel-mode exception frame dump by the x86_64 + "bt" command if a page fault was generated by a bogus RIP. +- Resolves: rhbz#1057353 +- Fix for the x86_64 "bt" command to prevent an unwarranted message + indicating "WARNING: possibly bogus exception frame" generated + from a blocked kernel thread that was in the process of exec'ing + a user process via the call_usermodehelper() facility. +- Resolves: rhbz#1057357 + +* Fri Jan 10 2014 Dave Anderson - 7.0.2-4 +- Fixes for "kmem -S" command for CONFIG_SLUB. +- Resolves: rhbz#1045591 +- Increase S390X NR_CPUS +- Resolves: rhbz#1051156 + +* Fri Dec 27 2013 Daniel Mach - 7.0.2-3 +- Mass rebuild 2013-12-27 + +* Tue Oct 29 2013 Dave Anderson - 7.0.2-2 +- Compressed kdump 46-bit physical memory support + Resolves: rhbz#1015250 +- Fix incorrect backtrace for dumps taken with "virsh dump --memory-only" + Resolves: rhbz#1020469 +- Fix cpu number display on systems with more than 254 cpus + Resolves: rhbz#1020536 + +* Wed Sep 04 2013 Dave Anderson - 7.0.2-1 +- Update to latest upstream release +- Fix for ppc64 embedded gdb NULL pointer translation sigsegv +- Fix for bt -F failure + +* Fri Jul 26 2013 Dave Anderson - 7.0.1-4 +- Add lzo-devel and snappy-devel to crash-devel Requires line + +* Tue Jul 23 2013 Dave Anderson - 7.0.1-3 +- Build with snappy compression support + +* Tue Jul 9 2013 Dave Anderson - 7.0.1-2 +- Fix for ppc64 Linux 3.10 vmalloc/user-space virtual address translation + +* Tue Jun 18 2013 Dave Anderson - 7.0.1-1 +- Update to latest upstream release +- Build with LZO support + +* Tue Apr 9 2013 Dave Anderson - 6.1.6-1 +- Update to latest upstream release + +* Tue Feb 19 2013 Dave Anderson - 6.1.4-1 +- Update to latest upstream release + +* Wed Feb 13 2013 Fedora Release Engineering - 6.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 9 2013 Dave Anderson - 6.1.2-1 +- Update to latest upstream release + +* Tue Nov 27 2012 Dave Anderson - 6.1.1-1 +- Update to latest upstream release + +* Mon Sep 1 2012 Dave Anderson - 6.1.0-1 +- Add ppc to ExclusiveArch list +- Update to latest upstream release + +* Tue Aug 21 2012 Dave Anderson - 6.0.9-1 +- Update to latest upstream release + +* Wed Jul 18 2012 Fedora Release Engineering - 6.0.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jul 1 2012 Dave Anderson - 6.0.8-1 +- Update to latest upstream release. +- Replace usage of "struct siginfo" with "siginfo_t". + +* Mon Apr 30 2012 Dave Anderson - 6.0.6-1 +- Update to latest upstream release + +* Mon Mar 26 2012 Dave Anderson - 6.0.5-1 +- Update to latest upstream release + +* Wed Jan 4 2012 Dave Anderson - 6.0.2-1 +- Update to latest upstream release + +* Wed Oct 26 2011 Dave Anderson - 6.0.0-1 +- Update to latest upstream release + +* Tue Sep 20 2011 Dave Anderson - 5.1.8-1 +- Update to latest upstream release +- Additional fixes for gcc-4.6 -Werror compile failures for ARM architecture. + +* Thu Sep 1 2011 Dave Anderson - 5.1.7-2 +- Fixes for gcc-4.6 -Werror compile failures for ARM architecture. + +* Wed Aug 17 2011 Dave Anderson - 5.1.7-1 +- Update to latest upstream release +- Fixes for gcc-4.6 -Werror compile failures for ppc64/ppc. + +* Tue May 31 2011 Peter Robinson - 5.1.5-1 +- Update to latest upstream release +- Add ARM to the Exclusive arch + +* Wed Feb 25 2011 Dave Anderson - 5.1.2-2 +- Fixes for gcc-4.6 -Werror compile failures in gdb module. + +* Wed Feb 23 2011 Dave Anderson - 5.1.2-1 +- Upstream version. + +* Tue Feb 08 2011 Fedora Release Engineering - 5.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jul 20 2010 Dave Anderson - 5.0.6-2 +- Bump version. + +* Tue Jul 20 2010 Dave Anderson - 5.0.6-1 +- Update to upstream version. + +* Fri Sep 11 2009 Dave Anderson - 4.0.9-2 + Bump version. + +* Fri Sep 11 2009 Dave Anderson - 4.0.9-1 +- Update to upstream release, which allows the removal of the + Revision tag workaround, the crash-4.0-8.11-dwarf3.patch and + the crash-4.0-8.11-optflags.patch + +* Sun Aug 05 2009 Lubomir Rintel - 4.0.8.11-2 +- Fix reading of dwarf 3 DW_AT_data_member_location +- Use proper compiler flags + +* Wed Aug 05 2009 Lubomir Rintel - 4.0.8.11-1 +- Update to later upstream release +- Fix abuse of Revision tag + +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild +* Fri Jul 24 2009 Fedora Release Engineering - 4.0-9.7.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Feb 24 2009 Fedora Release Engineering - 4.0-8.7.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Feb 19 2009 Dave Anderson - 4.0-7.7.2 +- Replace exclusive arch i386 with ix86. + +* Thu Feb 19 2009 Dave Anderson - 4.0-7.7.1 +- Updates to this file per crash merge review +- Update to upstream version 4.0-7.7. Full changelog viewable in: + http://people.redhat.com/anderson/crash.changelog.html + +* Tue Jul 15 2008 Tom "spot" Callaway 4.0-7 +- fix license tag + +* Tue Apr 29 2008 Dave Anderson - 4.0-6.3 +- Added crash-devel subpackage +- Updated crash.patch to match upstream version 4.0-6.3 + +* Wed Feb 20 2008 Dave Anderson - 4.0-6.0.5 +- Second attempt at addressing the GCC 4.3 build, which failed due + to additional ptrace.h includes in the lkcd vmdump header files. + +* Wed Feb 20 2008 Dave Anderson - 4.0-6.0.4 +- First attempt at addressing the GCC 4.3 build, which failed on x86_64 + because ptrace-abi.h (included by ptrace.h) uses the "u32" typedef, + which relies on , and include/asm-x86_64/types.h + does not not typedef u32 as done in include/asm-x86/types.h. + +* Mon Feb 18 2008 Fedora Release Engineering - 4.0-6.0.3 +- Autorebuild for GCC 4.3 + +* Wed Jan 23 2008 Dave Anderson - 4.0-5.0.3 +- Updated crash.patch to match upstream version 4.0-5.0. + +* Wed Aug 29 2007 Dave Anderson - 4.0-4.6.2 +- Updated crash.patch to match upstream version 4.0-4.6. + +* Wed Sep 13 2006 Dave Anderson - 4.0-3.3 +- Updated crash.patch to match upstream version 4.0-3.3. +- Support for x86_64 relocatable kernels. BZ #204557 + +* Mon Aug 7 2006 Dave Anderson - 4.0-3.1 +- Updated crash.patch to match upstream version 4.0-3.1. +- Added kdump reference to description. +- Added s390 and s390x to ExclusiveArch list. BZ #199125 +- Removed LKCD v1 pt_regs references for s390/s390x build. +- Removed LKCD v2_v3 pt_regs references for for s390/s390x build. + +* Fri Jul 14 2006 Jesse Keating - 4.0-3 +- rebuild + +* Mon May 15 2006 Dave Anderson - 4.0-2.26.4 +- Updated crash.patch such that is not #include'd + by s390_dump.c; IBM did not make the file s390[s] only; BZ #192719 + +* Mon May 15 2006 Dave Anderson - 4.0-2.26.3 +- Updated crash.patch such that is not #include'd + by vas_crash.h; only ia64 build complained; BZ #191719 + +* Mon May 15 2006 Dave Anderson - 4.0-2.26.2 +- Updated crash.patch such that is not #include'd + by lkcd_x86_trace.c; also for BZ #191719 + +* Mon May 15 2006 Dave Anderson - 4.0-2.26.1 +- Updated crash.patch to bring it up to 4.0-2.26, which should + address BZ #191719 - "crash fails to build in mock" + +* Tue Feb 07 2006 Jesse Keating - 4.0-2.18.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Wed Jan 04 2006 Dave Anderson 4.0-2.18 +- Updated source package to crash-4.0.tar.gz, and crash.patch + to bring it up to 4.0-2.18. + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Thu Mar 03 2005 Dave Anderson 3.10-13 +- Compiler error- and warning-related fixes for gcc 4 build. +- Update to enhance x86 and x86_64 gdb disassembly output so as to + symbolically display call targets from kernel module text without + requiring module debuginfo data. +- Fix hole where an ia64 vmcore could be mistakenly accepted as a + usable dumpfile on an x86_64 machine, leading eventually to a + non-related error message. +* Wed Mar 02 2005 Dave Anderson 3.10-12 +- rebuild (gcc 4) +* Thu Feb 10 2005 Dave Anderson 3.10-9 +- Updated source package to crash-3.10.tar.gz, containing + IBM's final ppc64 processor support for RHEL4 +- Fixes potential "bt -a" hang on dumpfile where netdump IPI interrupted + an x86 process while executing the instructions just after it had entered + the kernel for a syscall, but before calling the handler. BZ #139437 +- Update to handle backtraces in dumpfiles generated on IA64 with the + INIT switch (functionality intro'd in RHEL3-U5 kernel). BZ #139429 +- Fix for handling ia64 and x86_64 machines booted with maxcpus=1 on + an SMP kernel. BZ #139435 +- Update to handle backtraces in dumpfiles generated on x86_64 from the + NMI exception stack (functionality intro'd in RHEL3-U5 kernel). +- "kmem -[sS]" beefed up to more accurately verify slab cache chains + and report errors found. +- Fix for ia64 INIT switch-generated backtrace handling when + init_handler_platform() is inlined into ia64_init_handler(); + properly handles both RHEL3 and RHEL4 kernel patches. + BZ #138350 +- Update to enhance ia64 gdb disassembly output so as to + symbolically display call targets from kernel module + text without requiring module debuginfo data. + +* Wed Jul 14 2004 Dave Anderson 3.8-5 +- bump release for fc3 + +* Tue Jul 13 2004 Dave Anderson 3.8-4 +- Fix for gcc 3.4.x/gdb issue where vmlinux was mistakenly presumed non-debug + +* Fri Jun 25 2004 Dave Anderson 3.8-3 +- remove (harmless) error message during ia64 diskdump invocation when + an SMP system gets booted with maxcpus=1 +- several 2.6 kernel specific updates + +* Thu Jun 17 2004 Dave Anderson 3.8-2 +- updated source package to crash-3.8.tar.gz +- diskdump support +- x86_64 processor support + +* Mon Sep 22 2003 Dave Anderson 3.7-5 +- make bt recovery code start fix-up only upon reaching first faulting frame + +* Fri Sep 19 2003 Dave Anderson 3.7-4 +- fix "bt -e" and bt recovery code to recognize new __KERNEL_CS and DS + +* Wed Sep 10 2003 Dave Anderson 3.7-3 +- patch to recognize per-cpu GDT changes that redefine __KERNEL_CS and DS + +* Wed Sep 10 2003 Dave Anderson 3.7-2 +- patches for netdump active_set determination and slab info gathering + +* Wed Aug 20 2003 Dave Anderson 3.7-1 +- updated source package to crash-3.7.tar.gz + +* Wed Jul 23 2003 Dave Anderson 3.6-1 +- removed Packager, Distribution, and Vendor tags +- updated source package to crash-3.6.tar.gz + +* Fri Jul 18 2003 Jay Fenlason 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 3.5-1 +- use %%defattr(-,root,root) + +* Tue Jul 15 2003 Jay Fenlason +- Updated spec file as first step in turning this into a real RPM for taroon. +- Wrote man page.