mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-06 03:10:01 +00:00
kexec-tools-klibc: import from meta-zaurus layer
* http://git.shr-project.org/git/?p=meta-smartphone.git;a=commit;h=437022644822e16804537e42ecfaa011f9e61bc6 * V2: reset PR (meta-zaurus users have to downgrade or reflash) * V2: += used in EXTRA_OECONF, just in case for future changes Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
Index: kexec-tools-2.0.2/kexec/kexec-elf-rel.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/kexec-elf-rel.c 2009-09-24 14:15:34.025828340 +0100
|
||||
+++ kexec-tools-2.0.2/kexec/kexec-elf-rel.c 2009-09-24 14:15:47.030825302 +0100
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
-#include "elf.h"
|
||||
+#include "../include/elf.h"
|
||||
#include <boot/elf_boot.h>
|
||||
#include "kexec.h"
|
||||
#include "kexec-elf.h"
|
||||
Index: kexec-tools-2.0.2/kexec/crashdump.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/crashdump.c 2008-10-31 03:00:38.000000000 +0100
|
||||
+++ kexec-tools-2.0.2/kexec/crashdump.c 2009-09-26 11:16:27.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
-#include <elf.h>
|
||||
+#include "../../../include/elf.h"
|
||||
#include "kexec.h"
|
||||
#include "crashdump.h"
|
||||
#include "kexec-syscall.h"
|
||||
|
||||
Index: kexec-tools-2.0.2/kexec/crashdump-xen.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/crashdump-xen.c 2008-07-15 02:46:43.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/kexec/crashdump-xen.c 2009-09-26 11:16:41.000000000 +0200
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
-#include <elf.h>
|
||||
+#include "../../../include/elf.h"
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
Index: kexec-tools-2.0.2/kexec/arch/arm/kexec-elf-rel-arm.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/arch/arm/kexec-elf-rel-arm.c 2009-04-24 14:15:46.934825202 +0100
|
||||
+++ kexec-tools-2.0.2/kexec/arch/arm/kexec-elf-rel-arm.c 2009-09-24 14:15:47.014827381 +0100
|
||||
@@ -1,5 +1,5 @@
|
||||
#include <stdio.h>
|
||||
-#include <elf.h>
|
||||
+#include "../../../include/elf.h"
|
||||
#include "../../kexec.h"
|
||||
#include "../../kexec-elf.h"
|
||||
|
||||
Index: kexec-tools-2.0.2/kexec/kexec-elf-boot.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/kexec-elf-boot.c 2009-05-16 13:28:19.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/kexec/kexec-elf-boot.c 2009-09-16 11:13:28.000000000 +0200
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
-#include <elf.h>
|
||||
+#include "../include/elf.h"
|
||||
#include <boot/elf_boot.h>
|
||||
#include <ip_checksum.h>
|
||||
#include <x86/x86-linux.h>
|
||||
|
||||
Index: kexec-tools-2.0.2/kdump/kdump.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kdump/kdump.c 2009-05-16 13:28:19.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/kdump/kdump.c 2009-09-16 11:13:08.000000000 +0200
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <endian.h>
|
||||
-#include <elf.h>
|
||||
+#include "../include/elf.h"
|
||||
|
||||
#if !defined(__BYTE_ORDER) || !defined(__LITTLE_ENDIAN) || !defined(__BIG_ENDIAN)
|
||||
#error Endian defines missing
|
||||
|
||||
Index: kexec-tools-2.0.2/kexec/arch/arm/crashdump-arm.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.old/kexec/arch/arm/crashdump-arm.c 2010-08-01 15:07:47.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/kexec/arch/arm/crashdump-arm.c 2010-07-29 06:19:59.000000000 +0200
|
||||
@@ -20,7 +20,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
-#include <elf.h>
|
||||
+#include "../../../include/elf.h"
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
Index: kexec-tools-2.0.2/kexec/ifdown.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/ifdown.c 2009-09-24 14:15:34.025828340 +0100
|
||||
+++ kexec-tools-2.0.2/kexec/ifdown.c 2009-09-24 14:15:47.014827381 +0100
|
||||
@@ -14,7 +14,7 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/time.h>
|
||||
-#include <sys/errno.h>
|
||||
+#include <errno.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
@@ -0,0 +1,97 @@
|
||||
Index: kexec-tools-2.0.2/kexec/crashdump-elf.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/crashdump-elf.c 2008-10-31 03:00:38.000000000 +0100
|
||||
+++ kexec-tools-2.0.2/kexec/crashdump-elf.c 2009-09-26 11:17:57.000000000 +0200
|
||||
@@ -47,7 +47,8 @@
|
||||
if (xen_present())
|
||||
nr_cpus = xen_get_nr_phys_cpus();
|
||||
else
|
||||
- nr_cpus = sysconf(_SC_NPROCESSORS_CONF);
|
||||
+ /*nr_cpus = sysconf(_SC_NPROCESSORS_CONF);*/
|
||||
+ nr_cpus = 1;
|
||||
|
||||
if (nr_cpus < 0) {
|
||||
return -1;
|
||||
|
||||
Index: kexec-tools-2.0.2/kexec/arch/arm/kexec-zImage-arm.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/arch/arm/kexec-zImage-arm.c 2009-04-24 14:15:46.982825391 +0100
|
||||
+++ kexec-tools-2.0.2/kexec/arch/arm/kexec-zImage-arm.c 2009-09-26 01:58:20.838624318 +0200
|
||||
@@ -2,6 +2,10 @@
|
||||
* - 08/21/2007 ATAG support added by Uli Luckas <u.luckas@road.de>
|
||||
*
|
||||
*/
|
||||
+
|
||||
+/* work around for linux header files */
|
||||
+#define __deprecated
|
||||
+
|
||||
#define _GNU_SOURCE
|
||||
#define _XOPEN_SOURCE
|
||||
#include <stdio.h>
|
||||
|
||||
Index: kexec-tools-2.0.2/kexec/kexec.h
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/kexec.h 2008-05-16 13:28:19.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/kexec/kexec.h 2009-09-16 17:32:15.000000000 +0200
|
||||
@@ -204,7 +204,7 @@
|
||||
extern char *slurp_file(const char *filename, off_t *r_size);
|
||||
extern char *slurp_file_len(const char *filename, off_t size);
|
||||
extern char *slurp_decompress_file(const char *filename, off_t *r_size);
|
||||
-extern unsigned long virt_to_phys(unsigned long addr);
|
||||
+/* extern unsigned long virt_to_phys(unsigned long addr); */
|
||||
extern void add_segment(struct kexec_info *info,
|
||||
const void *buf, size_t bufsz, unsigned long base, size_t memsz);
|
||||
extern void add_segment_phys_virt(struct kexec_info *info,
|
||||
|
||||
Index: kexec-tools-2.0.2/Makefile.in
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/Makefile.in 2009-09-29 23:49:47.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/Makefile.in 2009-09-29 23:49:09.000000000 +0200
|
||||
@@ -46,7 +46,7 @@
|
||||
# where necessary.
|
||||
CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \
|
||||
-Iinclude/
|
||||
-CFLAGS = @CFLAGS@ -fno-strict-aliasing -Wall -Wstrict-prototypes
|
||||
+CFLAGS = @CFLAGS@ -static -fno-strict-aliasing -Wall -Wstrict-prototypes
|
||||
PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@
|
||||
ASFLAGS = @ASFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
|
||||
Index: kexec-tools-2.0.2/util_lib/include/sha256.h
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/util_lib/include/sha256.h 2008-07-15 02:46:43.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/util_lib/include/sha256.h 2009-10-02 18:28:45.000000000 +0200
|
||||
@@ -1,7 +1,8 @@
|
||||
#ifndef SHA256_H
|
||||
#define SHA256_H
|
||||
|
||||
-#include <sys/types.h>
|
||||
+//#include <sys/types.h>
|
||||
+#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct
|
||||
|
||||
Index: kexec-tools-2.0.2/purgatory/Makefile
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/purgatory/Makefile 2008-10-09 00:32:14.000000000 +0200
|
||||
+++ kexec-tools-2.0.2.orig/purgatory/Makefile 2009-10-03 00:28:45.000000000 +0200
|
||||
@@ -47,7 +47,7 @@
|
||||
$(PURGATORY): CC=$(TARGET_CC)
|
||||
$(PURGATORY): CFLAGS+=$(PURGATORY_EXTRA_CFLAGS) \
|
||||
$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
|
||||
- -Os -fno-builtin -ffreestanding
|
||||
+ -Os -fno-builtin -ffreestanding -nostdinc
|
||||
|
||||
$(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
|
||||
-I$(srcdir)/purgatory/include \
|
||||
@@ -61,7 +61,8 @@
|
||||
|
||||
$(PURGATORY): $(PURGATORY_OBJS)
|
||||
$(MKDIR) -p $(@D)
|
||||
- $(CC) $(LDFLAGS) -o $@ $^
|
||||
+# $(CC) $(LDFLAGS) -o $@ $^
|
||||
+ $(LD) $(LDFLAGS) -o $@ $^
|
||||
|
||||
# $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Index: kexec-tools-2.0.2/purgatory/string.c
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/purgatory/string.c 2008-05-16 13:28:19.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/purgatory/string.c 2009-09-16 17:49:04.000000000 +0200
|
||||
@@ -1,5 +1,5 @@
|
||||
#include <stddef.h>
|
||||
-#include <string.h>
|
||||
+/* #include <string.h> */
|
||||
|
||||
size_t strnlen(const char *s, size_t max)
|
||||
{
|
||||
@@ -0,0 +1,46 @@
|
||||
Index: kexec-tools-2.0.2/kexec/kexec-syscall.h
|
||||
===================================================================
|
||||
--- kexec-tools-2.0.2.orig/kexec/kexec-syscall.h 2010-07-29 06:19:59.000000000 +0200
|
||||
+++ kexec-tools-2.0.2/kexec/kexec-syscall.h 2010-08-02 00:13:39.000000000 +0200
|
||||
@@ -2,7 +2,7 @@
|
||||
#define KEXEC_SYSCALL_H
|
||||
|
||||
#define __LIBRARY__
|
||||
-#include <syscall.h>
|
||||
+/*#include <syscall.h>*/
|
||||
#include <sys/syscall.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#define LINUX_REBOOT_CMD_KEXEC 0x45584543
|
||||
|
||||
#ifndef __NR_kexec_load
|
||||
+/*
|
||||
#ifdef __i386__
|
||||
#define __NR_kexec_load 283
|
||||
#endif
|
||||
@@ -61,19 +62,21 @@
|
||||
#ifndef __NR_kexec_load
|
||||
#error Unknown processor architecture. Needs a kexec_load syscall number.
|
||||
#endif
|
||||
+*/
|
||||
#endif /*ifndef __NR_kexec_load*/
|
||||
|
||||
struct kexec_segment;
|
||||
-
|
||||
+/*
|
||||
static inline long kexec_load(void *entry, unsigned long nr_segments,
|
||||
struct kexec_segment *segments, unsigned long flags)
|
||||
{
|
||||
return (long) syscall(__NR_kexec_load, entry, nr_segments, segments, flags);
|
||||
}
|
||||
-
|
||||
+*/
|
||||
static inline long kexec_reboot(void)
|
||||
{
|
||||
- return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
|
||||
+ //return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
|
||||
+ return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# the binaries are statically linked against klibc
|
||||
require recipes-kernel/kexec/kexec-tools.inc
|
||||
SRC_URI[md5sum] = "bc401cf3262b25ff7c9a51fc76c8ab91"
|
||||
SRC_URI[sha256sum] = "549ab65c18a2229b6bf21b6875ca6bbe0e579bca08c3543ce6aaf8287a0b4188"
|
||||
|
||||
inherit klibc
|
||||
|
||||
FILESPATH =. "${FILE_DIRNAME}/kexec-tools-${PV}:"
|
||||
|
||||
SRC_URI += "file://elf.patch \
|
||||
file://errno.patch \
|
||||
file://string.patch \
|
||||
file://syscall.patch \
|
||||
file://other.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/kexec-tools-${PV}"
|
||||
|
||||
EXTRA_OECONF += "--without-zlib"
|
||||
|
||||
PACKAGES =+ "kexec-klibc kdump-klibc"
|
||||
|
||||
CFLAGS += "-I${STAGING_DIR_HOST}${base_libdir}/klibc/include -I${STAGING_DIR_HOST}${base_libdir}/klibc/include/bits32"
|
||||
|
||||
FILES_kexec-klibc = "${sbindir}/kexec"
|
||||
FILES_kdump-klibc = "${sbindir}/kdump"
|
||||
Reference in New Issue
Block a user