diff options
| author | Andrea Adami <andrea.adami@gmail.com> | 2013-05-13 01:22:23 +0200 |
|---|---|---|
| committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-05-13 09:50:24 +0100 |
| commit | 97957e5cee9a797d3e05c1a8848338a033f40770 (patch) | |
| tree | 59351568b51e711b80ca3fff348e61d9079eaf01 | |
| parent | 06318f320803814ac7f2827473a8e46a8eb0d8cb (diff) | |
| download | meta-openembedded-97957e5cee9a797d3e05c1a8848338a033f40770.tar.gz | |
kexec-tools-klibc_2.0.2: refactor and extend patches for building
* some old patches apparently unneeded have been removed
* patches are now better split
* fix build for x86 and x86-64
* tested with qemuarm, qemuppc, qemumips, qemux86, qemux86-64
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
19 files changed, 265 insertions, 228 deletions
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/arm_crashdump.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/arm_crashdump.patch new file mode 100644 index 0000000000..0ff61e543e --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/arm_crashdump.patch | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | --- a/kexec/arch/arm/crashdump-arm.c | ||
| 2 | +++ b/kexec/arch/arm/crashdump-arm.c | ||
| 3 | @@ -20,7 +20,7 @@ | ||
| 4 | * along with this program; if not, write to the Free Software | ||
| 5 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 6 | */ | ||
| 7 | -#include <elf.h> | ||
| 8 | +#include "../../../include/elf.h" | ||
| 9 | #include <errno.h> | ||
| 10 | #include <stdio.h> | ||
| 11 | #include <stdlib.h> | ||
| 12 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/cflags_static.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/cflags_static.patch new file mode 100644 index 0000000000..35100a3b49 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/cflags_static.patch | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | --- a/Makefile.in | ||
| 2 | +++ b/Makefile.in | ||
| 3 | @@ -46,7 +46,7 @@ | ||
| 4 | # where necessary. | ||
| 5 | CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \ | ||
| 6 | -Iinclude/ | ||
| 7 | -CFLAGS = @CFLAGS@ -fno-strict-aliasing -Wall -Wstrict-prototypes | ||
| 8 | +CFLAGS = @CFLAGS@ -static -fno-strict-aliasing -Wall -Wstrict-prototypes | ||
| 9 | PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@ | ||
| 10 | ASFLAGS = @ASFLAGS@ | ||
| 11 | LDFLAGS = @LDFLAGS@ | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/elf.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/elf.patch deleted file mode 100644 index 0eef4b4f54..0000000000 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/elf.patch +++ /dev/null | |||
| @@ -1,94 +0,0 @@ | |||
| 1 | Index: kexec-tools-2.0.2/kexec/kexec-elf-rel.c | ||
| 2 | =================================================================== | ||
| 3 | --- kexec-tools-2.0.2.orig/kexec/kexec-elf-rel.c 2009-09-24 14:15:34.025828340 +0100 | ||
| 4 | +++ kexec-tools-2.0.2/kexec/kexec-elf-rel.c 2009-09-24 14:15:47.030825302 +0100 | ||
| 5 | @@ -4,7 +4,7 @@ | ||
| 6 | #include <stdio.h> | ||
| 7 | #include <errno.h> | ||
| 8 | #include <stdlib.h> | ||
| 9 | -#include "elf.h" | ||
| 10 | +#include "../include/elf.h" | ||
| 11 | #include <boot/elf_boot.h> | ||
| 12 | #include "kexec.h" | ||
| 13 | #include "kexec-elf.h" | ||
| 14 | Index: kexec-tools-2.0.2/kexec/crashdump.c | ||
| 15 | =================================================================== | ||
| 16 | --- kexec-tools-2.0.2.orig/kexec/crashdump.c 2008-10-31 03:00:38.000000000 +0100 | ||
| 17 | +++ kexec-tools-2.0.2/kexec/crashdump.c 2009-09-26 11:16:27.000000000 +0200 | ||
| 18 | @@ -26,7 +26,7 @@ | ||
| 19 | #include <sys/types.h> | ||
| 20 | #include <sys/stat.h> | ||
| 21 | #include <unistd.h> | ||
| 22 | -#include <elf.h> | ||
| 23 | +#include "../../../include/elf.h" | ||
| 24 | #include "kexec.h" | ||
| 25 | #include "crashdump.h" | ||
| 26 | #include "kexec-syscall.h" | ||
| 27 | |||
| 28 | Index: kexec-tools-2.0.2/kexec/crashdump-xen.c | ||
| 29 | =================================================================== | ||
| 30 | --- kexec-tools-2.0.2.orig/kexec/crashdump-xen.c 2008-07-15 02:46:43.000000000 +0200 | ||
| 31 | +++ kexec-tools-2.0.2/kexec/crashdump-xen.c 2009-09-26 11:16:41.000000000 +0200 | ||
| 32 | @@ -3,7 +3,7 @@ | ||
| 33 | #include <stdarg.h> | ||
| 34 | #include <string.h> | ||
| 35 | #include <stdlib.h> | ||
| 36 | -#include <elf.h> | ||
| 37 | +#include "../../../include/elf.h" | ||
| 38 | #include <errno.h> | ||
| 39 | #include <limits.h> | ||
| 40 | #include <sys/types.h> | ||
| 41 | |||
| 42 | Index: kexec-tools-2.0.2/kexec/arch/arm/kexec-elf-rel-arm.c | ||
| 43 | =================================================================== | ||
| 44 | --- kexec-tools-2.0.2.orig/kexec/arch/arm/kexec-elf-rel-arm.c 2009-04-24 14:15:46.934825202 +0100 | ||
| 45 | +++ kexec-tools-2.0.2/kexec/arch/arm/kexec-elf-rel-arm.c 2009-09-24 14:15:47.014827381 +0100 | ||
| 46 | @@ -1,5 +1,5 @@ | ||
| 47 | #include <stdio.h> | ||
| 48 | -#include <elf.h> | ||
| 49 | +#include "../../../include/elf.h" | ||
| 50 | #include "../../kexec.h" | ||
| 51 | #include "../../kexec-elf.h" | ||
| 52 | |||
| 53 | Index: kexec-tools-2.0.2/kexec/kexec-elf-boot.c | ||
| 54 | =================================================================== | ||
| 55 | --- kexec-tools-2.0.2.orig/kexec/kexec-elf-boot.c 2009-05-16 13:28:19.000000000 +0200 | ||
| 56 | +++ kexec-tools-2.0.2/kexec/kexec-elf-boot.c 2009-09-16 11:13:28.000000000 +0200 | ||
| 57 | @@ -22,7 +22,7 @@ | ||
| 58 | #include <string.h> | ||
| 59 | #include <stdlib.h> | ||
| 60 | #include <errno.h> | ||
| 61 | -#include <elf.h> | ||
| 62 | +#include "../include/elf.h" | ||
| 63 | #include <boot/elf_boot.h> | ||
| 64 | #include <ip_checksum.h> | ||
| 65 | #include <x86/x86-linux.h> | ||
| 66 | |||
| 67 | Index: kexec-tools-2.0.2/kdump/kdump.c | ||
| 68 | =================================================================== | ||
| 69 | --- kexec-tools-2.0.2.orig/kdump/kdump.c 2009-05-16 13:28:19.000000000 +0200 | ||
| 70 | +++ kexec-tools-2.0.2/kdump/kdump.c 2009-09-16 11:13:08.000000000 +0200 | ||
| 71 | @@ -8,7 +8,7 @@ | ||
| 72 | #include <sys/stat.h> | ||
| 73 | #include <fcntl.h> | ||
| 74 | #include <endian.h> | ||
| 75 | -#include <elf.h> | ||
| 76 | +#include "../include/elf.h" | ||
| 77 | |||
| 78 | #if !defined(__BYTE_ORDER) || !defined(__LITTLE_ENDIAN) || !defined(__BIG_ENDIAN) | ||
| 79 | #error Endian defines missing | ||
| 80 | |||
| 81 | Index: kexec-tools-2.0.2/kexec/arch/arm/crashdump-arm.c | ||
| 82 | =================================================================== | ||
| 83 | --- kexec-tools-2.0.2.old/kexec/arch/arm/crashdump-arm.c 2010-08-01 15:07:47.000000000 +0200 | ||
| 84 | +++ kexec-tools-2.0.2/kexec/arch/arm/crashdump-arm.c 2010-07-29 06:19:59.000000000 +0200 | ||
| 85 | @@ -20,7 +20,7 @@ | ||
| 86 | * along with this program; if not, write to the Free Software | ||
| 87 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 88 | */ | ||
| 89 | -#include <elf.h> | ||
| 90 | +#include "../../../include/elf.h" | ||
| 91 | #include <errno.h> | ||
| 92 | #include <stdio.h> | ||
| 93 | #include <stdlib.h> | ||
| 94 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/errno.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/errno.patch deleted file mode 100644 index c56b5a9807..0000000000 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/errno.patch +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | Index: kexec-tools-2.0.2/kexec/ifdown.c | ||
| 2 | =================================================================== | ||
| 3 | --- kexec-tools-2.0.2.orig/kexec/ifdown.c 2009-09-24 14:15:34.025828340 +0100 | ||
| 4 | +++ kexec-tools-2.0.2/kexec/ifdown.c 2009-09-24 14:15:47.014827381 +0100 | ||
| 5 | @@ -14,7 +14,7 @@ | ||
| 6 | #include <sys/ioctl.h> | ||
| 7 | #include <sys/socket.h> | ||
| 8 | #include <sys/time.h> | ||
| 9 | -#include <sys/errno.h> | ||
| 10 | +#include <errno.h> | ||
| 11 | |||
| 12 | #include <net/if.h> | ||
| 13 | #include <netinet/in.h> \ No newline at end of file | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ifdown_errno.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ifdown_errno.patch new file mode 100644 index 0000000000..7f8cddd354 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ifdown_errno.patch | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | --- a/kexec/ifdown.c | ||
| 2 | +++ b/kexec/ifdown.c | ||
| 3 | @@ -14,7 +14,7 @@ | ||
| 4 | #include <sys/ioctl.h> | ||
| 5 | #include <sys/socket.h> | ||
| 6 | #include <sys/time.h> | ||
| 7 | -#include <sys/errno.h> | ||
| 8 | +#include <errno.h> | ||
| 9 | |||
| 10 | #include <net/if.h> | ||
| 11 | #include <netinet/in.h> | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-elf-rel.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-elf-rel.patch new file mode 100644 index 0000000000..c666afcac6 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-elf-rel.patch | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | --- a/kexec/kexec-elf-rel.c | ||
| 2 | +++ b/kexec/kexec-elf-rel.c | ||
| 3 | @@ -4,7 +4,7 @@ | ||
| 4 | #include <stdio.h> | ||
| 5 | #include <errno.h> | ||
| 6 | #include <stdlib.h> | ||
| 7 | -#include "elf.h" | ||
| 8 | +#include "../include/elf.h" | ||
| 9 | #include <boot/elf_boot.h> | ||
| 10 | #include "kexec.h" | ||
| 11 | #include "kexec-elf.h" | ||
| 12 | |||
| 13 | --- a/kexec/arch/arm/kexec-elf-rel-arm.c | ||
| 14 | +++ b/kexec/arch/arm/kexec-elf-rel-arm.c | ||
| 15 | @@ -1,5 +1,5 @@ | ||
| 16 | #include <stdio.h> | ||
| 17 | -#include <elf.h> | ||
| 18 | +#include "../../../include/elf.h" | ||
| 19 | #include "../../kexec.h" | ||
| 20 | #include "../../kexec-elf.h" | ||
| 21 | |||
| 22 | |||
| 23 | --- a/kexec/arch/i386/kexec-elf-rel-x86.c | ||
| 24 | +++ b/kexec/arch/i386/kexec-elf-rel-x86.c | ||
| 25 | @@ -1,5 +1,5 @@ | ||
| 26 | #include <stdio.h> | ||
| 27 | -#include <elf.h> | ||
| 28 | +#include "../../../include/elf.h" | ||
| 29 | #include "../../kexec.h" | ||
| 30 | #include "../../kexec-elf.h" | ||
| 31 | |||
| 32 | |||
| 33 | --- a/kexec/arch/ppc/kexec-elf-rel-ppc.c | ||
| 34 | +++ b/kexec/arch/ppc/kexec-elf-rel-ppc.c | ||
| 35 | @@ -1,5 +1,5 @@ | ||
| 36 | #include <stdio.h> | ||
| 37 | -#include <elf.h> | ||
| 38 | +#include "../../../include/elf.h" | ||
| 39 | #include "../../kexec.h" | ||
| 40 | #include "../../kexec-elf.h" | ||
| 41 | |||
| 42 | |||
| 43 | --- a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c | ||
| 44 | +++ b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c | ||
| 45 | @@ -1,5 +1,5 @@ | ||
| 46 | #include <stdio.h> | ||
| 47 | -#include <elf.h> | ||
| 48 | +#include "../../../include/elf.h" | ||
| 49 | #include <string.h> | ||
| 50 | #include "../../kexec.h" | ||
| 51 | #include "../../kexec-elf.h" | ||
| 52 | |||
| 53 | --- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c | ||
| 54 | +++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c | ||
| 55 | @@ -1,5 +1,5 @@ | ||
| 56 | #include <stdio.h> | ||
| 57 | -#include <elf.h> | ||
| 58 | +#include "../../../include/elf.h" | ||
| 59 | #include "../../kexec.h" | ||
| 60 | #include "../../kexec-elf.h" | ||
| 61 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/syscall.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-syscall.patch index ae2e3f6a66..081de1bb51 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/syscall.patch +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/kexec-syscall.patch | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | Index: kexec-tools-2.0.2/kexec/kexec-syscall.h | 1 | --- a/kexec/kexec-syscall.h |
| 2 | =================================================================== | 2 | +++ b/kexec/kexec-syscall.h |
| 3 | --- kexec-tools-2.0.2.orig/kexec/kexec-syscall.h 2010-07-29 06:19:59.000000000 +0200 | ||
| 4 | +++ kexec-tools-2.0.2/kexec/kexec-syscall.h 2010-08-02 00:13:39.000000000 +0200 | ||
| 5 | @@ -2,7 +2,7 @@ | 3 | @@ -2,7 +2,7 @@ |
| 6 | #define KEXEC_SYSCALL_H | 4 | #define KEXEC_SYSCALL_H |
| 7 | 5 | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/other.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/other.patch deleted file mode 100644 index f6efaebc4c..0000000000 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/other.patch +++ /dev/null | |||
| @@ -1,97 +0,0 @@ | |||
| 1 | Index: kexec-tools-2.0.2/kexec/crashdump-elf.c | ||
| 2 | =================================================================== | ||
| 3 | --- kexec-tools-2.0.2.orig/kexec/crashdump-elf.c 2008-10-31 03:00:38.000000000 +0100 | ||
| 4 | +++ kexec-tools-2.0.2/kexec/crashdump-elf.c 2009-09-26 11:17:57.000000000 +0200 | ||
| 5 | @@ -47,7 +47,8 @@ | ||
| 6 | if (xen_present()) | ||
| 7 | nr_cpus = xen_get_nr_phys_cpus(); | ||
| 8 | else | ||
| 9 | - nr_cpus = sysconf(_SC_NPROCESSORS_CONF); | ||
| 10 | + /*nr_cpus = sysconf(_SC_NPROCESSORS_CONF);*/ | ||
| 11 | + nr_cpus = 1; | ||
| 12 | |||
| 13 | if (nr_cpus < 0) { | ||
| 14 | return -1; | ||
| 15 | |||
| 16 | Index: kexec-tools-2.0.2/kexec/arch/arm/kexec-zImage-arm.c | ||
| 17 | =================================================================== | ||
| 18 | --- kexec-tools-2.0.2.orig/kexec/arch/arm/kexec-zImage-arm.c 2009-04-24 14:15:46.982825391 +0100 | ||
| 19 | +++ kexec-tools-2.0.2/kexec/arch/arm/kexec-zImage-arm.c 2009-09-26 01:58:20.838624318 +0200 | ||
| 20 | @@ -2,6 +2,10 @@ | ||
| 21 | * - 08/21/2007 ATAG support added by Uli Luckas <u.luckas@road.de> | ||
| 22 | * | ||
| 23 | */ | ||
| 24 | + | ||
| 25 | +/* work around for linux header files */ | ||
| 26 | +#define __deprecated | ||
| 27 | + | ||
| 28 | #define _GNU_SOURCE | ||
| 29 | #define _XOPEN_SOURCE | ||
| 30 | #include <stdio.h> | ||
| 31 | |||
| 32 | Index: kexec-tools-2.0.2/kexec/kexec.h | ||
| 33 | =================================================================== | ||
| 34 | --- kexec-tools-2.0.2.orig/kexec/kexec.h 2008-05-16 13:28:19.000000000 +0200 | ||
| 35 | +++ kexec-tools-2.0.2/kexec/kexec.h 2009-09-16 17:32:15.000000000 +0200 | ||
| 36 | @@ -204,7 +204,7 @@ | ||
| 37 | extern char *slurp_file(const char *filename, off_t *r_size); | ||
| 38 | extern char *slurp_file_len(const char *filename, off_t size); | ||
| 39 | extern char *slurp_decompress_file(const char *filename, off_t *r_size); | ||
| 40 | -extern unsigned long virt_to_phys(unsigned long addr); | ||
| 41 | +/* extern unsigned long virt_to_phys(unsigned long addr); */ | ||
| 42 | extern void add_segment(struct kexec_info *info, | ||
| 43 | const void *buf, size_t bufsz, unsigned long base, size_t memsz); | ||
| 44 | extern void add_segment_phys_virt(struct kexec_info *info, | ||
| 45 | |||
| 46 | Index: kexec-tools-2.0.2/Makefile.in | ||
| 47 | =================================================================== | ||
| 48 | --- kexec-tools-2.0.2.orig/Makefile.in 2009-09-29 23:49:47.000000000 +0200 | ||
| 49 | +++ kexec-tools-2.0.2/Makefile.in 2009-09-29 23:49:09.000000000 +0200 | ||
| 50 | @@ -46,7 +46,7 @@ | ||
| 51 | # where necessary. | ||
| 52 | CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \ | ||
| 53 | -Iinclude/ | ||
| 54 | -CFLAGS = @CFLAGS@ -fno-strict-aliasing -Wall -Wstrict-prototypes | ||
| 55 | +CFLAGS = @CFLAGS@ -static -fno-strict-aliasing -Wall -Wstrict-prototypes | ||
| 56 | PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@ | ||
| 57 | ASFLAGS = @ASFLAGS@ | ||
| 58 | LDFLAGS = @LDFLAGS@ | ||
| 59 | |||
| 60 | Index: kexec-tools-2.0.2/util_lib/include/sha256.h | ||
| 61 | =================================================================== | ||
| 62 | --- kexec-tools-2.0.2.orig/util_lib/include/sha256.h 2008-07-15 02:46:43.000000000 +0200 | ||
| 63 | +++ kexec-tools-2.0.2/util_lib/include/sha256.h 2009-10-02 18:28:45.000000000 +0200 | ||
| 64 | @@ -1,7 +1,8 @@ | ||
| 65 | #ifndef SHA256_H | ||
| 66 | #define SHA256_H | ||
| 67 | |||
| 68 | -#include <sys/types.h> | ||
| 69 | +//#include <sys/types.h> | ||
| 70 | +#include <stddef.h> | ||
| 71 | #include <stdint.h> | ||
| 72 | |||
| 73 | typedef struct | ||
| 74 | |||
| 75 | Index: kexec-tools-2.0.2/purgatory/Makefile | ||
| 76 | =================================================================== | ||
| 77 | --- kexec-tools-2.0.2.orig/purgatory/Makefile 2008-10-09 00:32:14.000000000 +0200 | ||
| 78 | +++ kexec-tools-2.0.2.orig/purgatory/Makefile 2009-10-03 00:28:45.000000000 +0200 | ||
| 79 | @@ -47,7 +47,7 @@ | ||
| 80 | $(PURGATORY): CC=$(TARGET_CC) | ||
| 81 | $(PURGATORY): CFLAGS+=$(PURGATORY_EXTRA_CFLAGS) \ | ||
| 82 | $($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ | ||
| 83 | - -Os -fno-builtin -ffreestanding | ||
| 84 | + -Os -fno-builtin -ffreestanding -nostdinc | ||
| 85 | |||
| 86 | $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ | ||
| 87 | -I$(srcdir)/purgatory/include \ | ||
| 88 | @@ -61,7 +61,8 @@ | ||
| 89 | |||
| 90 | $(PURGATORY): $(PURGATORY_OBJS) | ||
| 91 | $(MKDIR) -p $(@D) | ||
| 92 | - $(CC) $(LDFLAGS) -o $@ $^ | ||
| 93 | +# $(CC) $(LDFLAGS) -o $@ $^ | ||
| 94 | + $(LD) $(LDFLAGS) -o $@ $^ | ||
| 95 | |||
| 96 | # $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) | ||
| 97 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ppc__lshrdi3.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ppc__lshrdi3.patch new file mode 100644 index 0000000000..56cdfb08d8 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/ppc__lshrdi3.patch | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | --- a/purgatory/arch/ppc/crt.S | ||
| 2 | +++ b/purgatory/arch/ppc/crt.S | ||
| 3 | @@ -249,6 +249,7 @@ | ||
| 4 | * | ||
| 5 | */ | ||
| 6 | |||
| 7 | +/* already defined in misc.S | ||
| 8 | _GLOBAL(__lshrdi3) | ||
| 9 | subfic 6,5,32 | ||
| 10 | srw 4,4,5 # LSW = count > 31 ? 0 : LSW >> count | ||
| 11 | @@ -259,5 +260,7 @@ | ||
| 12 | srw 3,3,5 # MSW = MSW >> count | ||
| 13 | or 4,4,7 # LSW |= t2 | ||
| 14 | blr | ||
| 15 | +*/ | ||
| 16 | + | ||
| 17 | #endif | ||
| 18 | #endif | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_flags.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_flags.patch new file mode 100644 index 0000000000..41fc1168fb --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_flags.patch | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | --- a/purgatory/Makefile | ||
| 2 | +++ b/purgatory/Makefile | ||
| 3 | @@ -47,7 +47,7 @@ | ||
| 4 | $(PURGATORY): CC=$(TARGET_CC) | ||
| 5 | $(PURGATORY): CFLAGS+=$(PURGATORY_EXTRA_CFLAGS) \ | ||
| 6 | $($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ | ||
| 7 | - -Os -fno-builtin -ffreestanding | ||
| 8 | + -Os -fno-builtin -ffreestanding -nostdinc | ||
| 9 | |||
| 10 | $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ | ||
| 11 | -I$(srcdir)/purgatory/include \ | ||
| 12 | @@ -61,7 +61,8 @@ | ||
| 13 | |||
| 14 | $(PURGATORY): $(PURGATORY_OBJS) | ||
| 15 | $(MKDIR) -p $(@D) | ||
| 16 | - $(CC) $(LDFLAGS) -o $@ $^ | ||
| 17 | +# $(CC) $(LDFLAGS) -o $@ $^ | ||
| 18 | + $(LD) $(LDFLAGS) -o $@ $^ | ||
| 19 | |||
| 20 | # $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) | ||
| 21 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_string.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_string.patch new file mode 100644 index 0000000000..5710561b16 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/purgatory_string.patch | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | --- a/purgatory/string.c | ||
| 2 | +++ b/purgatory/string.c | ||
| 3 | @@ -1,5 +1,5 @@ | ||
| 4 | #include <stddef.h> | ||
| 5 | -#include <string.h> | ||
| 6 | +/* #include <string.h> */ | ||
| 7 | |||
| 8 | size_t strnlen(const char *s, size_t max) | ||
| 9 | { | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sha256.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sha256.patch new file mode 100644 index 0000000000..85bf7aa4f4 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sha256.patch | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --- a/util_lib/include/sha256.h | ||
| 2 | +++ b/util_lib/include/sha256.h | ||
| 3 | @@ -1,7 +1,8 @@ | ||
| 4 | #ifndef SHA256_H | ||
| 5 | #define SHA256_H | ||
| 6 | |||
| 7 | -#include <sys/types.h> | ||
| 8 | +//#include <sys/types.h> | ||
| 9 | +#include <stddef.h> | ||
| 10 | #include <stdint.h> | ||
| 11 | |||
| 12 | typedef struct | ||
| 13 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/string.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/string.patch deleted file mode 100644 index 7d27e3998f..0000000000 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/string.patch +++ /dev/null | |||
| @@ -1,11 +0,0 @@ | |||
| 1 | Index: kexec-tools-2.0.2/purgatory/string.c | ||
| 2 | =================================================================== | ||
| 3 | --- kexec-tools-2.0.2.orig/purgatory/string.c 2008-05-16 13:28:19.000000000 +0200 | ||
| 4 | +++ kexec-tools-2.0.2/purgatory/string.c 2009-09-16 17:49:04.000000000 +0200 | ||
| 5 | @@ -1,5 +1,5 @@ | ||
| 6 | #include <stddef.h> | ||
| 7 | -#include <string.h> | ||
| 8 | +/* #include <string.h> */ | ||
| 9 | |||
| 10 | size_t strnlen(const char *s, size_t max) | ||
| 11 | { | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sysconf_nrprocessors.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sysconf_nrprocessors.patch new file mode 100644 index 0000000000..04a97e6bc8 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/sysconf_nrprocessors.patch | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --- a/kexec/crashdump-elf.c | ||
| 2 | +++ b/kexec/crashdump-elf.c | ||
| 3 | @@ -47,7 +47,8 @@ | ||
| 4 | if (xen_present()) | ||
| 5 | nr_cpus = xen_get_nr_phys_cpus(); | ||
| 6 | else | ||
| 7 | - nr_cpus = sysconf(_SC_NPROCESSORS_CONF); | ||
| 8 | + /*nr_cpus = sysconf(_SC_NPROCESSORS_CONF);*/ | ||
| 9 | + nr_cpus = 1; | ||
| 10 | |||
| 11 | if (nr_cpus < 0) { | ||
| 12 | return -1; | ||
| 13 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch new file mode 100644 index 0000000000..200fb1dd9e --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | --- a/kexec/arch/i386/x86-linux-setup.c | ||
| 2 | +++ b/kexec/arch/i386/x86-linux-setup.c | ||
| 3 | @@ -280,9 +280,9 @@ static int add_edd_entry(struct x86_linu | ||
| 4 | memset(edd_info, 0, sizeof(struct edd_info)); | ||
| 5 | |||
| 6 | /* extract the device number */ | ||
| 7 | - if (sscanf(basename(sysfs_name), "int13_dev%hhx", &devnum) != 1) { | ||
| 8 | + if (sscanf(strrchr(sysfs_name,'/') + 1, "int13_dev%hhx", &devnum) != 1) { | ||
| 9 | fprintf(stderr, "Invalid format of int13_dev dir " | ||
| 10 | - "entry: %s\n", basename(sysfs_name)); | ||
| 11 | + "entry: %s\n", strrchr(sysfs_name,'/') + 1); | ||
| 12 | return -1; | ||
| 13 | } | ||
| 14 | \ No newline at end of file | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_kexec_test.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_kexec_test.patch new file mode 100644 index 0000000000..9500bd6048 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_kexec_test.patch | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --- a/Makefile.in | ||
| 2 | +++ b/Makefile.in | ||
| 3 | @@ -106,8 +106,8 @@ | ||
| 4 | |||
| 5 | MAN_PAGES:= kexec/kexec.8 | ||
| 6 | MAN_PAGES+= kdump/kdump.8 | ||
| 7 | -BINARIES_i386:= $(SBINDIR)/kexec $(PKGLIBDIR)/kexec_test | ||
| 8 | -BINARIES_x86_64:=$(SBINDIR)/kexec $(PKGLIBDIR)/kexec_test | ||
| 9 | +BINARIES_i386:= $(SBINDIR)/kexec | ||
| 10 | +BINARIES_x86_64:=$(SBINDIR)/kexec | ||
| 11 | BINARIES:=$(SBINDIR)/kexec $(SBINDIR)/kdump $(BINARIES_$(ARCH)) | ||
| 12 | |||
| 13 | TARGETS:=$(BINARIES) $(MAN_PAGES) | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_sys_io.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_sys_io.patch new file mode 100644 index 0000000000..a497c9a63d --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_sys_io.patch | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | --- a/purgatory/arch/i386/pic.c | ||
| 2 | +++ b/purgatory/arch/i386/pic.c | ||
| 3 | @@ -16,7 +16,7 @@ | ||
| 4 | * along with this program; if not, write to the Free Software | ||
| 5 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 6 | */ | ||
| 7 | -#include <sys/io.h> | ||
| 8 | +#include "include/arch/io.h" | ||
| 9 | #include <purgatory.h> | ||
| 10 | #include "purgatory-x86.h" | ||
| 11 | |||
| 12 | |||
| 13 | --- a/purgatory/arch/i386/vga.c | ||
| 14 | +++ b/purgatory/arch/i386/vga.c | ||
| 15 | @@ -1,4 +1,4 @@ | ||
| 16 | -#include <sys/io.h> | ||
| 17 | +#include "include/arch/io.h" | ||
| 18 | #include <purgatory.h> | ||
| 19 | #include "purgatory-x86.h" | ||
| 20 | |||
| 21 | |||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch new file mode 100644 index 0000000000..14f4d2ada9 --- /dev/null +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | --- a/kexec/arch/i386/x86-linux-setup.c | ||
| 2 | +++ b/kexec/arch/i386/x86-linux-setup.c | ||
| 3 | @@ -176,6 +176,8 @@ static int file_scanf(const char *dir, c | ||
| 4 | FILE *fp; | ||
| 5 | int retno; | ||
| 6 | char filename[PATH_MAX]; | ||
| 7 | + long line_size = MAX_LINE; | ||
| 8 | + char *line; | ||
| 9 | |||
| 10 | snprintf(filename, PATH_MAX, "%s/%s", dir, file); | ||
| 11 | filename[PATH_MAX-1] = 0; | ||
| 12 | @@ -186,7 +188,14 @@ static int file_scanf(const char *dir, c | ||
| 13 | } | ||
| 14 | |||
| 15 | va_start(argptr, scanf_line); | ||
| 16 | - retno = vfscanf(fp, scanf_line, argptr); | ||
| 17 | + | ||
| 18 | + line = xmalloc(sizeof(line) * line_size); | ||
| 19 | + while(fgets(line, sizeof(line), fp) != 0 ) { | ||
| 20 | + line_size += MAX_LINE; | ||
| 21 | + line = xrealloc(line,line_size); | ||
| 22 | + } | ||
| 23 | + retno = vsscanf(line, scanf_line, argptr); | ||
| 24 | + | ||
| 25 | va_end(argptr); | ||
| 26 | |||
| 27 | fclose(fp); | ||
diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb index 90b876cdde..eedcaa557c 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc_2.0.2.bb | |||
| @@ -7,20 +7,30 @@ inherit klibc | |||
| 7 | 7 | ||
| 8 | FILESPATH =. "${FILE_DIRNAME}/kexec-tools-${PV}:" | 8 | FILESPATH =. "${FILE_DIRNAME}/kexec-tools-${PV}:" |
| 9 | 9 | ||
| 10 | SRC_URI += "file://elf.patch \ | 10 | SRC_URI += " \ |
| 11 | file://errno.patch \ | 11 | file://kexec-elf-rel.patch \ |
| 12 | file://string.patch \ | 12 | file://kexec-syscall.patch \ |
| 13 | file://syscall.patch \ | 13 | file://cflags_static.patch \ |
| 14 | file://other.patch \ | 14 | file://ifdown_errno.patch \ |
| 15 | " | 15 | file://purgatory_flags.patch \ |
| 16 | file://purgatory_string.patch \ | ||
| 17 | file://sha256.patch \ | ||
| 18 | file://sysconf_nrprocessors.patch \ | ||
| 19 | " | ||
| 20 | |||
| 21 | SRC_URI_append_arm = " file://arm_crashdump.patch" | ||
| 22 | SRC_URI_append_powerpc = " file://ppc__lshrdi3.patch" | ||
| 23 | SRC_URI_append_x86 = " file://x86_sys_io.patch file://x86_basename.patch file://x86_vfscanf.patch file://x86_kexec_test.patch" | ||
| 24 | SRC_URI_append_x86-64 = " file://x86_sys_io.patch file://x86_basename.patch file://x86_vfscanf.patch file://x86_kexec_test.patch" | ||
| 16 | 25 | ||
| 17 | S = "${WORKDIR}/kexec-tools-${PV}" | 26 | S = "${WORKDIR}/kexec-tools-${PV}" |
| 18 | 27 | ||
| 19 | EXTRA_OECONF += "--without-zlib" | 28 | EXTRA_OECONF += "--without-zlib --without-lzma --without-xen" |
| 20 | |||
| 21 | PACKAGES =+ "kexec-klibc kdump-klibc" | ||
| 22 | 29 | ||
| 23 | CFLAGS += "-I${STAGING_DIR_HOST}${base_libdir}/klibc/include -I${STAGING_DIR_HOST}${base_libdir}/klibc/include/bits32" | 30 | CFLAGS += "-I${STAGING_DIR_HOST}${base_libdir}/klibc/include -I${STAGING_DIR_HOST}${base_libdir}/klibc/include/bits32" |
| 31 | CFLAGS_x86-64 += "-I${STAGING_DIR_HOST}${base_libdir}/klibc/include -I${STAGING_DIR_HOST}${base_libdir}/klibc/include/bits64" | ||
| 32 | |||
| 33 | PACKAGES =+ "kexec-klibc kdump-klibc" | ||
| 24 | 34 | ||
| 25 | FILES_kexec-klibc = "${sbindir}/kexec" | 35 | FILES_kexec-klibc = "${sbindir}/kexec" |
| 26 | FILES_kdump-klibc = "${sbindir}/kdump" | 36 | FILES_kdump-klibc = "${sbindir}/kdump" |
