adding ET_DYN patch
This commit is contained in:
parent
e4d1e9a9be
commit
dd745f41c0
44
kexec-tools-1.101-et-dyn.patch
Normal file
44
kexec-tools-1.101-et-dyn.patch
Normal file
@ -0,0 +1,44 @@
|
||||
--- kexec-tools-1.101/kexec/kexec-elf.h.orig 2006-07-31 10:41:57.000000000 -0400
|
||||
+++ kexec-tools-1.101/kexec/kexec-elf.h 2006-07-31 10:42:09.000000000 -0400
|
||||
@@ -89,7 +89,7 @@ extern int build_elf_info(const char *bu
|
||||
extern int build_elf_exec_info(const char *buf, off_t len, struct mem_ehdr *ehdr);
|
||||
extern int build_elf_rel_info(const char *buf, off_t len, struct mem_ehdr *ehdr);
|
||||
|
||||
-extern int elf_exec_load(const struct mem_ehdr *ehdr, struct kexec_info *info);
|
||||
+extern int elf_exec_load(struct mem_ehdr *ehdr, struct kexec_info *info);
|
||||
extern int elf_rel_load(struct mem_ehdr *ehdr, struct kexec_info *info,
|
||||
unsigned long min, unsigned long max, int end);
|
||||
|
||||
--- kexec-tools-1.101/kexec/kexec-elf-exec.c.orig 2006-07-31 10:14:20.000000000 -0400
|
||||
+++ kexec-tools-1.101/kexec/kexec-elf-exec.c 2006-07-31 10:18:25.000000000 -0400
|
||||
@@ -47,7 +47,7 @@ int build_elf_exec_info(const char *buf,
|
||||
}
|
||||
|
||||
|
||||
-int elf_exec_load(const struct mem_ehdr *ehdr, struct kexec_info *info)
|
||||
+int elf_exec_load(struct mem_ehdr *ehdr, struct kexec_info *info)
|
||||
{
|
||||
unsigned long base;
|
||||
int result;
|
||||
@@ -79,8 +79,8 @@ int elf_exec_load(const struct mem_ehdr
|
||||
}
|
||||
start = phdr->p_paddr;
|
||||
stop = start + phdr->p_memsz;
|
||||
- if (start > first) {
|
||||
- start = first;
|
||||
+ if (first > start) {
|
||||
+ first = start;
|
||||
}
|
||||
if (last < stop) {
|
||||
last = stop;
|
||||
@@ -126,6 +126,10 @@ int elf_exec_load(const struct mem_ehdr
|
||||
phdr->p_data, size,
|
||||
phdr->p_paddr + base, phdr->p_memsz);
|
||||
}
|
||||
+
|
||||
+ /* Update entry point to reflect new load address*/
|
||||
+ ehdr->e_entry += base;
|
||||
+
|
||||
result = 0;
|
||||
out:
|
||||
return result;
|
@ -1,6 +1,6 @@
|
||||
Name: kexec-tools
|
||||
Version: 1.101
|
||||
Release: 31%{dist}.1
|
||||
Release: 32%{dist}.1
|
||||
License: GPL
|
||||
Group: Applications/System
|
||||
Summary: The kexec/kdump userspace component.
|
||||
@ -50,6 +50,7 @@ Patch501: kexec-tools-1.101-ppc-fixup.patch
|
||||
#
|
||||
Patch601: kexec-tools-1.101-Makefile.patch
|
||||
Patch602: kexec-tools-1.101-Makefile-kcp.patch
|
||||
Patch603: kexec-tools-1.101-et-dyn.patch
|
||||
|
||||
%description
|
||||
kexec-tools provides /sbin/kexec binary that facilitates a new
|
||||
@ -69,6 +70,7 @@ rm -f ../kexec-tools-1.101.spec
|
||||
%patch501 -p1
|
||||
%patch601 -p1
|
||||
%patch602 -p1
|
||||
%patch603 -p1
|
||||
|
||||
cp $RPM_SOURCE_DIR/kdump.init .
|
||||
cp $RPM_SOURCE_DIR/kdump.sysconfig .
|
||||
@ -127,6 +129,9 @@ exit 0
|
||||
%doc TODO
|
||||
|
||||
%changelog
|
||||
* Mon Jul 31 2006 Neil Horman <nhorman@redhat.com> - 1.101-32%{dist}.1
|
||||
- added et-dyn patch to allow loading of relocatable kernels
|
||||
|
||||
* Thu Jul 27 2006 Neil Horman <nhorman@redhat.com> - 1.101-30%{dist}.1
|
||||
- fixing up missing patch to kdump.init
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user