Accepting request 412328 from Kernel:kdump
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/412328 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/makedumpfile?expand=0&rev=61
This commit is contained in:
commit
597c9a1264
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47d16312b3226f6d1a1e6548e22c33d00e8851fedab793d97da8d3c0a6205d4a
|
||||
size 166881
|
3
makedumpfile-1.6.0.tar.gz
Normal file
3
makedumpfile-1.6.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e3147abc52df2ceac1e9affef45bf37e2f2e1d9979bc94a761ee11e4044072ac
|
||||
size 175080
|
102
makedumpfile-_count-_refcount-rename.patch
Normal file
102
makedumpfile-_count-_refcount-rename.patch
Normal file
@ -0,0 +1,102 @@
|
||||
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
Date: Fri, 17 Jun 2016 18:41:26 +0900
|
||||
Subject: [PATCH v2] Support _count -> _refcount rename in struct page
|
||||
Patch-mainline: Released-1-6-1?
|
||||
Git-commit: 2c21d4656e8d3c2af2b1e14809d076941ae69e96
|
||||
|
||||
_count member was renamed to _refcount in linux commit 0139aa7b7fa12
|
||||
("mm: rename _count, field of the struct page, to _refcount") and this
|
||||
broke makedumpfile. The reason for making the change was to find all users
|
||||
accessing it directly and not through the recommended API. I tried
|
||||
suggesting to revert the change but failed, I see no other choice than to
|
||||
start supporting both _count and _refcount in makedumpfile.
|
||||
|
||||
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
||||
|
||||
---
|
||||
makedumpfile.c | 26 +++++++++++++++++++++-----
|
||||
makedumpfile.h | 3 ++-
|
||||
2 files changed, 23 insertions(+), 6 deletions(-)
|
||||
|
||||
--- a/makedumpfile.c
|
||||
+++ b/makedumpfile.c
|
||||
@@ -1579,7 +1579,14 @@ get_structure_info(void)
|
||||
*/
|
||||
SIZE_INIT(page, "page");
|
||||
OFFSET_INIT(page.flags, "page", "flags");
|
||||
- OFFSET_INIT(page._count, "page", "_count");
|
||||
+ OFFSET_INIT(page._refcount, "page", "_refcount");
|
||||
+ if (OFFSET(page._refcount) == NOT_FOUND_STRUCTURE) {
|
||||
+ info->flag_use_count = TRUE;
|
||||
+ OFFSET_INIT(page._refcount, "page", "_count");
|
||||
+ } else {
|
||||
+ info->flag_use_count = FALSE;
|
||||
+ }
|
||||
+
|
||||
OFFSET_INIT(page.mapping, "page", "mapping");
|
||||
OFFSET_INIT(page._mapcount, "page", "_mapcount");
|
||||
OFFSET_INIT(page.private, "page", "private");
|
||||
@@ -2044,7 +2051,7 @@ get_mem_type(void)
|
||||
|
||||
if ((SIZE(page) == NOT_FOUND_STRUCTURE)
|
||||
|| (OFFSET(page.flags) == NOT_FOUND_STRUCTURE)
|
||||
- || (OFFSET(page._count) == NOT_FOUND_STRUCTURE)
|
||||
+ || (OFFSET(page._refcount) == NOT_FOUND_STRUCTURE)
|
||||
|| (OFFSET(page.mapping) == NOT_FOUND_STRUCTURE)) {
|
||||
ret = NOT_FOUND_MEMTYPE;
|
||||
} else if ((((SYMBOL(node_data) != NOT_FOUND_SYMBOL)
|
||||
@@ -2151,7 +2158,10 @@ write_vmcoreinfo_data(void)
|
||||
* write the member offset of 1st kernel
|
||||
*/
|
||||
WRITE_MEMBER_OFFSET("page.flags", page.flags);
|
||||
- WRITE_MEMBER_OFFSET("page._count", page._count);
|
||||
+ if (info->flag_use_count)
|
||||
+ WRITE_MEMBER_OFFSET("page._count", page._refcount);
|
||||
+ else
|
||||
+ WRITE_MEMBER_OFFSET("page._refcount", page._refcount);
|
||||
WRITE_MEMBER_OFFSET("page.mapping", page.mapping);
|
||||
WRITE_MEMBER_OFFSET("page.lru", page.lru);
|
||||
WRITE_MEMBER_OFFSET("page._mapcount", page._mapcount);
|
||||
@@ -2491,7 +2501,13 @@ read_vmcoreinfo(void)
|
||||
|
||||
|
||||
READ_MEMBER_OFFSET("page.flags", page.flags);
|
||||
- READ_MEMBER_OFFSET("page._count", page._count);
|
||||
+ READ_MEMBER_OFFSET("page._refcount", page._refcount);
|
||||
+ if (OFFSET(page._refcount) == NOT_FOUND_STRUCTURE) {
|
||||
+ info->flag_use_count = TRUE;
|
||||
+ READ_MEMBER_OFFSET("page._count", page._refcount);
|
||||
+ } else {
|
||||
+ info->flag_use_count = FALSE;
|
||||
+ }
|
||||
READ_MEMBER_OFFSET("page.mapping", page.mapping);
|
||||
READ_MEMBER_OFFSET("page.lru", page.lru);
|
||||
READ_MEMBER_OFFSET("page._mapcount", page._mapcount);
|
||||
@@ -5615,7 +5631,7 @@ __exclude_unnecessary_pages(unsigned lon
|
||||
pcache = page_cache + (index_pg * SIZE(page));
|
||||
|
||||
flags = ULONG(pcache + OFFSET(page.flags));
|
||||
- _count = UINT(pcache + OFFSET(page._count));
|
||||
+ _count = UINT(pcache + OFFSET(page._refcount));
|
||||
mapping = ULONG(pcache + OFFSET(page.mapping));
|
||||
|
||||
if (OFFSET(page.compound_order) != NOT_FOUND_STRUCTURE) {
|
||||
--- a/makedumpfile.h
|
||||
+++ b/makedumpfile.h
|
||||
@@ -1100,6 +1100,7 @@ struct DumpInfo {
|
||||
int flag_nospace; /* the flag of "No space on device" error */
|
||||
int flag_vmemmap; /* kernel supports vmemmap address space */
|
||||
int flag_excludevm; /* -e - excluding unused vmemmap pages */
|
||||
+ int flag_use_count; /* _refcount is named _count in struct page */
|
||||
unsigned long vaddr_for_vtop; /* virtual address for debugging */
|
||||
long page_size; /* size of page */
|
||||
long page_shift;
|
||||
@@ -1483,7 +1484,7 @@ struct size_table {
|
||||
struct offset_table {
|
||||
struct page {
|
||||
long flags;
|
||||
- long _count;
|
||||
+ long _refcount;
|
||||
long mapping;
|
||||
long lru;
|
||||
long _mapcount;
|
32
makedumpfile-override-libtinfo.patch
Normal file
32
makedumpfile-override-libtinfo.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From: Petr Tesarik <ptesarik@suse.com>
|
||||
Subject: Allow to override the tinfo library used for eppic
|
||||
Patch-mainline: never; only needed for compatibility with older ncurses
|
||||
|
||||
Allow to override the "-ltinfo" linker option with a make variable.
|
||||
|
||||
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
|
||||
|
||||
---
|
||||
Makefile | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -67,6 +67,8 @@ LIBS := -lsnappy $(LIBS)
|
||||
CFLAGS += -DUSESNAPPY
|
||||
endif
|
||||
|
||||
+TINFOLIB = -ltinfo
|
||||
+
|
||||
LIBS := -lpthread $(LIBS)
|
||||
|
||||
all: makedumpfile
|
||||
@@ -90,7 +92,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(
|
||||
gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
|
||||
|
||||
eppic_makedumpfile.so: extension_eppic.c
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic ${TINFOLIB}
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz
|
1
makedumpfile-rpmlintrc
Normal file
1
makedumpfile-rpmlintrc
Normal file
@ -0,0 +1 @@
|
||||
addFilter("devel-file-in-non-devel-package .*/usr/share/makedumpfile-1\.6\.0/eppic_scripts/.*\.c")
|
@ -1,3 +1,46 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 12 15:56:04 UTC 2016 - ptesarik@suse.com
|
||||
|
||||
- Rename Support-_count-_refcount-rename-in-struct-p.patch to
|
||||
makedumpfile-_count-_refcount-rename.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 12 12:16:40 UTC 2016 - ptesarik@suse.com
|
||||
|
||||
- Silence rpmlint errors about devel files in non-devel package;
|
||||
despite their .c suffix, the provided eppic scripts are intended
|
||||
for production, not development.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 12 10:08:41 UTC 2016 - ptesarik@suse.com
|
||||
|
||||
- Build and install the eppic extension.
|
||||
- makedumpfile-override-libtinfo.patch: Allow to override the tinfo
|
||||
library used for eppic.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 12 09:13:25 UTC 2016 - ptesarik@suse.com
|
||||
|
||||
- Update to 1.6.0
|
||||
* Exclude page structures of non-dumped pages.
|
||||
- Drop upstreamed patch
|
||||
* Looking-for-page.compound_order-compound_dtor-.patch
|
||||
* Skip-examining-compound-tail-pages.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 8 08:50:40 UTC 2016 - mkubecek@suse.cz
|
||||
|
||||
- Looking-for-page.compound_order-compound_dtor-.patch:
|
||||
fix excluding hugepages (kernel 4.4 compatibility)
|
||||
- Skip-examining-compound-tail-pages.patch
|
||||
fix excluding compound tail pages (kernel 4.5 compatibility)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 8 05:57:04 UTC 2016 - mkubecek@suse.cz
|
||||
|
||||
- Support-_count-_refcount-rename-in-struct-p.patch:
|
||||
support 4.7 kernel (page._count renamed to page._refcount)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 14 08:11:59 UTC 2016 - mpluskal@suse.com
|
||||
|
||||
|
@ -23,23 +23,33 @@
|
||||
%define have_snappy 0
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} < 1310 && 0%{?sles_version} < 12
|
||||
%define ncurses_make_opts TINFOLIB=-lncurses
|
||||
%endif
|
||||
|
||||
Name: makedumpfile
|
||||
Version: 1.5.9
|
||||
Version: 1.6.0
|
||||
Release: 0
|
||||
Summary: Partial kernel dump
|
||||
License: GPL-2.0
|
||||
Group: System/Kernel
|
||||
Url: https://sourceforge.net/projects/makedumpfile/
|
||||
Source: https://sourceforge.net/projects/makedumpfile/files/makedumpfile/%{version}/%{name}-%{version}.tar.gz
|
||||
Source99: %{name}-rpmlintrc
|
||||
Patch0: %{name}-coptflags.diff
|
||||
Patch1: %{name}-_count-_refcount-rename.patch
|
||||
Patch2: %{name}-override-libtinfo.patch
|
||||
BuildRequires: libdw-devel
|
||||
BuildRequires: libebl-devel
|
||||
BuildRequires: libelf-devel
|
||||
BuildRequires: libeppic-devel
|
||||
BuildRequires: lzo-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: xz-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
ExclusiveArch: %ix86 x86_64 ia64 ppc ppc64 ppc64le s390x %arm aarch64
|
||||
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 ppc64le s390x %{arm} aarch64
|
||||
%if 0%{?suse_version} >= 1140 || 0%{?sles_version} >= 11
|
||||
BuildRequires: libbz2-devel
|
||||
%else
|
||||
@ -58,18 +68,24 @@ via gdb or crash utility.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
%if %{have_snappy}
|
||||
export USESNAPPY=on
|
||||
%endif
|
||||
make %{?_smp_mflags} COPTFLAGS="%{optflags}" USELZO=on LINKTYPE=dynamic
|
||||
export USELZO=on
|
||||
export LINKTYPE=dynamic
|
||||
make %{?_smp_mflags} COPTFLAGS="%{optflags}" LDFLAGS="-Wl,-rpath,%{_libdir}/%{name}-%{version}"
|
||||
make %{?_smp_mflags} COPTFLAGS="%{optflags}" eppic_makedumpfile.so %{?ncurses_make_opts}
|
||||
|
||||
%install
|
||||
install -D -m 0755 makedumpfile %{buildroot}%{_bindir}/makedumpfile
|
||||
install -D -m 0755 makedumpfile-R.pl %{buildroot}%{_bindir}/makedumpfile-R.pl
|
||||
install -D -m 0644 makedumpfile.8 %{buildroot}%{_mandir}/man8/makedumpfile.8
|
||||
install -D -m 0644 makedumpfile.conf.5 %{buildroot}%{_mandir}/man5/makedumpfile.conf.5
|
||||
install -D -m 0755 eppic_makedumpfile.so %{buildroot}%{_libdir}/%{name}-%{version}/eppic_makedumpfile.so
|
||||
install -d -m 0755 %{buildroot}%{_datadir}/%{name}-%{version}/eppic_scripts
|
||||
install -m 0644 -t %{buildroot}%{_datadir}/%{name}-%{version}/eppic_scripts/ eppic_scripts/*
|
||||
|
||||
@ -78,6 +94,8 @@ install -m 0644 -t %{buildroot}%{_datadir}/%{name}-%{version}/eppic_scripts/ epp
|
||||
%doc README COPYING IMPLEMENTATION
|
||||
%{_mandir}/man?/*
|
||||
%{_bindir}/*
|
||||
%dir %{_libdir}/%{name}-%{version}
|
||||
%{_libdir}/%{name}-%{version}/eppic_makedumpfile.so
|
||||
%dir %{_datadir}/%{name}-%{version}
|
||||
%{_datadir}/%{name}-%{version}/eppic_scripts/
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user