Fix ET_DYN vmlinux namespace support
Signed-off-by: Čestmír Kalina <ckalina@redhat.com>
This commit is contained in:
parent
0f7f085098
commit
e0cca855e9
35
fix-ns-on-ET_DYN.patch
Normal file
35
fix-ns-on-ET_DYN.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
--- kabi-dw-973fee0f575cc530347bac7f906e7967d4399735.orig/ksymtab.c 2022-01-10 16:09:27.000000000 +0100
|
||||||
|
+++ kabi-dw-973fee0f575cc530347bac7f906e7967d4399735.new/ksymtab.c 2022-01-31 17:34:13.122000000 +0100
|
||||||
|
@@ -155,6 +155,20 @@
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ switch (ehdr->e_type) {
|
||||||
|
+ case ET_EXEC:
|
||||||
|
+ case ET_DYN:
|
||||||
|
+ case ET_REL:
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ printf("Unsupported object filetype of %s: %d\n", filename,
|
||||||
|
+ ehdr->e_type);
|
||||||
|
+ free(ehdr);
|
||||||
|
+ (void) elf_end(elf);
|
||||||
|
+ (void) close(fd);
|
||||||
|
+ goto out;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Get section index of the string table associated with the section
|
||||||
|
* headers in the ELF file.
|
||||||
|
@@ -427,7 +441,10 @@
|
||||||
|
|
||||||
|
name += strlen(STRTAB_NS_PREFIX);
|
||||||
|
ns = (char *) ctx->ksymtab_raw;
|
||||||
|
- ns += (ctx->e_type == ET_EXEC) ? value - ctx->sh_addr : value;
|
||||||
|
+ if (ctx->e_type == ET_EXEC || ctx->e_type == ET_DYN)
|
||||||
|
+ ns += value - ctx->sh_addr;
|
||||||
|
+ else if (ctx->e_type == ET_REL)
|
||||||
|
+ ns += value;
|
||||||
|
|
||||||
|
if (!strlen(ns))
|
||||||
|
return;
|
12
kabi-dw.spec
12
kabi-dw.spec
@ -7,11 +7,12 @@
|
|||||||
|
|
||||||
Name: kabi-dw
|
Name: kabi-dw
|
||||||
Version: 0
|
Version: 0
|
||||||
Release: 0.23%{?dist}
|
Release: 0.24%{?dist}
|
||||||
Summary: Detect changes in the ABI between kernel builds
|
Summary: Detect changes in the ABI between kernel builds
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: %{forgeurl}
|
URL: %{forgeurl}
|
||||||
Source0: %{forgesource}
|
Source0: %{forgesource}
|
||||||
|
Patch0: fix-ns-on-ET_DYN.patch
|
||||||
|
|
||||||
BuildRequires: elfutils-devel
|
BuildRequires: elfutils-devel
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
@ -29,6 +30,7 @@ later comparing the text files.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%forgesetup
|
%forgesetup
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
LDFLAGS+=" -pie "
|
LDFLAGS+=" -pie "
|
||||||
@ -49,6 +51,14 @@ install -m 0755 %{name} %{buildroot}%{_bindir}/
|
|||||||
%license COPYING
|
%license COPYING
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jan 18 2022 Cestmir Kalina <ckalina@redhat.com> - 0.24
|
||||||
|
- Fix annocheck failures
|
||||||
|
- Fix osci tier0 test reference
|
||||||
|
- Fix ET_DYN vmlinux namespace support
|
||||||
|
- Resolves: rhbz#2038913
|
||||||
|
- Resolves: rhbz#2045976
|
||||||
|
- Resolves: rhbz#2038892
|
||||||
|
|
||||||
* Mon Jan 10 2022 Cestmir Kalina <ckalina@redhat.com> - 0.23
|
* Mon Jan 10 2022 Cestmir Kalina <ckalina@redhat.com> - 0.23
|
||||||
- Add support for ET_EXEC
|
- Add support for ET_EXEC
|
||||||
- Add support for DW_TAG_restrict_type
|
- Add support for DW_TAG_restrict_type
|
||||||
|
Loading…
Reference in New Issue
Block a user