1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
Index: kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c
===================================================================
--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-elf-rel-arm.c 2008-02-24 14:15:46.934825202 +0100
+++ kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c 2008-02-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-1.101/kexec/arch/arm/kexec-zImage-arm.c
===================================================================
--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2008-02-24 14:15:46.982825391 +0100
+++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2008-07-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
#include <stdio.h>
#include <string.h>
@@ -110,13 +114,13 @@
}
fread(buf, sizeof(buf[1]), BOOT_PARAMS_SIZE, fp);
- if (ferror(fp)) {
+/* if (ferror(fp)) {
fprintf(stderr, "Cannot read %s: %s\n",
fn, strerror(errno));
fclose(fp);
return NULL;
}
-
+*/
fclose(fp);
return (struct tag *) buf;
}
Index: kexec-tools-1.101/kexec/ifdown.c
===================================================================
--- kexec-tools-1.101.orig/kexec/ifdown.c 2008-02-24 14:15:34.025828340 +0100
+++ kexec-tools-1.101/kexec/ifdown.c 2008-02-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>
Index: kexec-tools-1.101/purgatory/Makefile
===================================================================
--- kexec-tools-1.101.orig/purgatory/Makefile 2008-02-24 14:15:34.037827479 +0100
+++ kexec-tools-1.101/purgatory/Makefile 2008-02-24 14:15:47.022825503 +0100
@@ -13,7 +13,7 @@
PCFLAGS += $(call cc-option, -ffreestanding)
PCFLAGS += $(call cc-option, -fnobuiltin)
-PCFLAGS += $(call cc-option, -fnostdinc)
+PCFLAGS += $(call cc-option, -nostdinc)
PCFLAGS += $(call cc-option, -fno-zero-initialized-in-bss)
PURGATORY_C_SRCS:=
Index: kexec-tools-1.101/kexec/kexec-elf-rel.c
===================================================================
--- kexec-tools-1.101.orig/kexec/kexec-elf-rel.c 2008-02-24 14:15:34.025828340 +0100
+++ kexec-tools-1.101/kexec/kexec-elf-rel.c 2008-02-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-1.101/kexec/kexec-syscall.h
===================================================================
--- kexec-tools-1.101.orig/kexec/kexec-syscall.h 2008-02-24 14:15:46.950825917 +0100
+++ kexec-tools-1.101/kexec/kexec-syscall.h 2008-02-24 14:15:47.030825302 +0100
@@ -2,7 +2,7 @@
#define KEXEC_SYSCALL_H
#define __LIBRARY__
-#include <syscall.h>
+/*#include <syscall.h>*/
#include <sys/syscall.h>
#include <unistd.h>
@@ -21,7 +21,7 @@
#define LINUX_REBOOT_CMD_KEXEC_OLD 0x81726354
#define LINUX_REBOOT_CMD_KEXEC_OLD2 0x18263645
#define LINUX_REBOOT_CMD_KEXEC 0x45584543
-
+/*
#ifdef __i386__
#define __NR_kexec_load 283
#endif
@@ -43,18 +43,19 @@
#ifndef __NR_kexec_load
#error Unknown processor architecture. Needs a kexec_load syscall number.
#endif
-
+*/
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);
}
Index: kexec-tools-1.101/kexec/kexec.c
===================================================================
--- kexec-tools-1.101.orig/kexec/kexec.c 2008-02-24 14:15:46.950825917 +0100
+++ kexec-tools-1.101/kexec/kexec.c 2008-07-26 01:58:53.545624148 +0200
@@ -29,9 +29,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <getopt.h>
-#ifdef HAVE_ZLIB_H
-#include <zlib.h>
-#endif
+#include "zlib.h"
#include <sha256.h>
#include "kexec.h"
#include "kexec-syscall.h"
@@ -383,7 +381,7 @@
return buf;
}
-#if HAVE_ZLIB_H
+#if 1
char *slurp_decompress_file(const char *filename, off_t *r_size)
{
gzFile fp;
|