Annotation of /trunk/mkinitrd/patches/mkinitrd-6.3.5-klibc-1.5.22.patch
Parent Directory | Revision Log
Revision 1730 -
(hide annotations)
(download)
Wed Apr 4 08:05:16 2012 UTC (12 years, 5 months ago) by niro
File size: 48224 byte(s)
Wed Apr 4 08:05:16 2012 UTC (12 years, 5 months ago) by niro
File size: 48224 byte(s)
-update to klibc-1.5.22
1 | niro | 1730 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/klcc/klcc.in mkinitrd-magellan/klibc/klcc/klcc.in |
2 | --- ../tags/mkinitrd-6_3_5/klibc/klcc/klcc.in 2011-11-24 01:38:55.000000000 +0100 | ||
3 | +++ mkinitrd-magellan/klibc/klcc/klcc.in 2011-11-24 01:44:48.000000000 +0100 | ||
4 | @@ -159,6 +159,9 @@ | ||
5 | # gcc options, that force preprocessing mode | ||
6 | push(@ccopt, $a); | ||
7 | $operation = 'E'; | ||
8 | + } elsif ( $a eq '--param' ) { | ||
9 | + push(@ccopt, $a); | ||
10 | + push(@ccopt, shift(@ARGV)); | ||
11 | } elsif ( $a =~ /^-[gp]/ || $a eq '-p' ) { | ||
12 | # Debugging options to gcc | ||
13 | push(@ccopt, $a); | ||
14 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/klibc.spec mkinitrd-magellan/klibc/klibc.spec | ||
15 | --- ../tags/mkinitrd-6_3_5/klibc/klibc.spec 2011-11-24 01:38:54.000000000 +0100 | ||
16 | +++ mkinitrd-magellan/klibc/klibc.spec 2011-11-24 01:44:48.000000000 +0100 | ||
17 | @@ -1,6 +1,6 @@ | ||
18 | Summary: A minimal libc subset for use with initramfs. | ||
19 | Name: klibc | ||
20 | -Version: 1.5.19 | ||
21 | +Version: 1.5.22 | ||
22 | Release: 1 | ||
23 | License: BSD/GPL | ||
24 | Group: Development/Libraries | ||
25 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/Makefile mkinitrd-magellan/klibc/Makefile | ||
26 | --- ../tags/mkinitrd-6_3_5/klibc/Makefile 2011-11-24 01:38:55.000000000 +0100 | ||
27 | +++ mkinitrd-magellan/klibc/Makefile 2011-11-24 01:44:48.000000000 +0100 | ||
28 | @@ -91,7 +91,7 @@ | ||
29 | .PHONY: all klcc klibc | ||
30 | all: klcc klibc | ||
31 | |||
32 | -$(objtree)/.config: $(srctree)/defconfig $(KLIBCKERNELOBJ) | ||
33 | +$(objtree)/.config: $(srctree)/defconfig | ||
34 | @echo "defconfig has changed, please remove or edit .config" | ||
35 | @false | ||
36 | |||
37 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/scripts/basic/fixdep.c mkinitrd-magellan/klibc/scripts/basic/fixdep.c | ||
38 | --- ../tags/mkinitrd-6_3_5/klibc/scripts/basic/fixdep.c 2011-11-24 01:38:54.000000000 +0100 | ||
39 | +++ mkinitrd-magellan/klibc/scripts/basic/fixdep.c 2011-11-24 01:44:48.000000000 +0100 | ||
40 | @@ -364,10 +364,11 @@ | ||
41 | void traps(void) | ||
42 | { | ||
43 | static char test[] __attribute__((aligned(sizeof(int)))) = "CONF"; | ||
44 | + int *p = (int *)test; | ||
45 | |||
46 | - if (*(int *)test != INT_CONF) { | ||
47 | + if (*p != INT_CONF) { | ||
48 | fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianess? %#x\n", | ||
49 | - *(int *)test); | ||
50 | + *p); | ||
51 | exit(2); | ||
52 | } | ||
53 | } | ||
54 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/scripts/Kbuild.klibc mkinitrd-magellan/klibc/scripts/Kbuild.klibc | ||
55 | --- ../tags/mkinitrd-6_3_5/klibc/scripts/Kbuild.klibc 2011-11-24 01:38:55.000000000 +0100 | ||
56 | +++ mkinitrd-magellan/klibc/scripts/Kbuild.klibc 2011-11-24 01:44:48.000000000 +0100 | ||
57 | @@ -93,11 +93,16 @@ | ||
58 | KLIBCLD := $(LD) | ||
59 | KLIBCCC := $(CC) | ||
60 | KLIBCAR := $(AR) | ||
61 | -KLIBCRANLIB := $(RANLIB) | ||
62 | + | ||
63 | +# klibc-ar is a macro that invokes KLIBCAR and takes 2 arguments of ar commands. | ||
64 | +# The second will be used for reproducible builds, the first otherwise. | ||
65 | +klibc-ar = $(KLIBCAR) $(if $(KBUILD_REPRODUCIBLE),$(2),$(1)) | ||
66 | + | ||
67 | +KLIBCRANLIB := $(call klibc-ar,s,Ds) | ||
68 | KLIBCSTRIP := $(STRIP) | ||
69 | KLIBCNM := $(NM) | ||
70 | -KLIBCOBJCOPY := $(OBJCOPY) | ||
71 | -KLIBCOBJDUMP := $(OBJDUMP) | ||
72 | +KLIBCOBJCOPY := $(OBJCOPY) | ||
73 | +KLIBCOBJDUMP := $(OBJDUMP) | ||
74 | |||
75 | # klibc include paths | ||
76 | KLIBCCPPFLAGS := -nostdinc -iwithprefix include \ | ||
77 | @@ -265,8 +270,8 @@ | ||
78 | quiet_cmd_link_o_target = LD $@ | ||
79 | # If the list of objects to link is empty, just create an empty lib.a | ||
80 | cmd_link_o_target = $(if $(strip $(lib-y)),\ | ||
81 | - rm -f $@; $(KLIBCAR) cru $@ $(filter $(lib-y), $^),\ | ||
82 | - rm -f $@; $(KLIBCAR) crs $@) | ||
83 | + rm -f $@; $(call klibc-ar,cru,Dcr) $@ $(filter $(lib-y), $^),\ | ||
84 | + rm -f $@; $(call klibc-ar,crs,Dcrs) $@) | ||
85 | |||
86 | $(lib-target): $(lib-y) FORCE | ||
87 | $(call if_changed,link_o_target) | ||
88 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/scripts/Makefile.host mkinitrd-magellan/klibc/scripts/Makefile.host | ||
89 | --- ../tags/mkinitrd-6_3_5/klibc/scripts/Makefile.host 2011-11-24 01:38:54.000000000 +0100 | ||
90 | +++ mkinitrd-magellan/klibc/scripts/Makefile.host 2011-11-24 01:44:48.000000000 +0100 | ||
91 | @@ -5,7 +5,7 @@ | ||
92 | # | ||
93 | # Both C and C++ is supported, but preferred language is C for such utilities. | ||
94 | # | ||
95 | -# Samle syntax (see Documentation/kbuild/makefile.txt for reference) | ||
96 | +# Sample syntax (see Documentation/kbuild/makefile.txt for reference) | ||
97 | # hostprogs-y := bin2hex | ||
98 | # Will compile bin2hex.c and create an executable named bin2hex | ||
99 | # | ||
100 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/arch/arm/klibc/archconfig.h mkinitrd-magellan/klibc/usr/include/arch/arm/klibc/archconfig.h | ||
101 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/arch/arm/klibc/archconfig.h 2011-11-24 01:38:47.000000000 +0100 | ||
102 | +++ mkinitrd-magellan/klibc/usr/include/arch/arm/klibc/archconfig.h 2011-11-24 01:44:45.000000000 +0100 | ||
103 | @@ -9,6 +9,10 @@ | ||
104 | #ifndef _KLIBC_ARCHCONFIG_H | ||
105 | #define _KLIBC_ARCHCONFIG_H | ||
106 | |||
107 | -/* All defaults */ | ||
108 | +/* newer arm arch support bx instruction */ | ||
109 | +#if (!defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__) \ | ||
110 | + && !defined(__ARM_ARCH_3M__) && !defined(__ARM_ARCH_4__)) | ||
111 | +# define _KLIBC_ARM_USE_BX 1 | ||
112 | +#endif | ||
113 | |||
114 | #endif /* _KLIBC_ARCHCONFIG_H */ | ||
115 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/arch/arm/klibc/asmmacros.h mkinitrd-magellan/klibc/usr/include/arch/arm/klibc/asmmacros.h | ||
116 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/arch/arm/klibc/asmmacros.h 2011-11-24 01:38:47.000000000 +0100 | ||
117 | +++ mkinitrd-magellan/klibc/usr/include/arch/arm/klibc/asmmacros.h 2011-11-24 01:44:45.000000000 +0100 | ||
118 | @@ -7,24 +7,10 @@ | ||
119 | #ifndef _KLIBC_ASMMACROS_H | ||
120 | #define _KLIBC_ASMMACROS_H | ||
121 | |||
122 | -/* An immediate in ARM can be any 8-bit value rotated by an even number of bits */ | ||
123 | - | ||
124 | -#define ARM_VALID_IMM(x) \ | ||
125 | - ((((x) & ~0x000000ff) == 0) || \ | ||
126 | - (((x) & ~0x000003fc) == 0) || \ | ||
127 | - (((x) & ~0x00000ff0) == 0) || \ | ||
128 | - (((x) & ~0x00003fc0) == 0) || \ | ||
129 | - (((x) & ~0x0000ff00) == 0) || \ | ||
130 | - (((x) & ~0x0003fc00) == 0) || \ | ||
131 | - (((x) & ~0x000ff000) == 0) || \ | ||
132 | - (((x) & ~0x003fc000) == 0) || \ | ||
133 | - (((x) & ~0x00ff0000) == 0) || \ | ||
134 | - (((x) & ~0x03fc0000) == 0) || \ | ||
135 | - (((x) & ~0x0ff00000) == 0) || \ | ||
136 | - (((x) & ~0x3fc00000) == 0) || \ | ||
137 | - (((x) & ~0xff000000) == 0) || \ | ||
138 | - (((x) & ~0xfc000003) == 0) || \ | ||
139 | - (((x) & ~0xf000000f) == 0) || \ | ||
140 | - (((x) & ~0xc000003f) == 0)) | ||
141 | +#if _KLIBC_ARM_USE_BX | ||
142 | +# define BX(x) bx x | ||
143 | +#else | ||
144 | +# define BX(x) mov pc, x | ||
145 | +#endif | ||
146 | |||
147 | #endif /* _KLIBC_ASMMACROS_H */ | ||
148 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/arch/i386/klibc/archconfig.h mkinitrd-magellan/klibc/usr/include/arch/i386/klibc/archconfig.h | ||
149 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/arch/i386/klibc/archconfig.h 2011-11-24 01:38:47.000000000 +0100 | ||
150 | +++ mkinitrd-magellan/klibc/usr/include/arch/i386/klibc/archconfig.h 2011-11-24 01:44:45.000000000 +0100 | ||
151 | @@ -9,7 +9,7 @@ | ||
152 | #ifndef _KLIBC_ARCHCONFIG_H | ||
153 | #define _KLIBC_ARCHCONFIG_H | ||
154 | |||
155 | -/* On i386, only half the signals are accessible using the legacy calls. */ | ||
156 | -#define _KLIBC_USE_RT_SIG 1 | ||
157 | +/* The i386 <asm/signal.h> is still not clean enough for this... */ | ||
158 | +#define _KLIBC_USE_RT_SIG 0 | ||
159 | |||
160 | #endif /* _KLIBC_ARCHCONFIG_H */ | ||
161 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/ctype.h mkinitrd-magellan/klibc/usr/include/ctype.h | ||
162 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/ctype.h 2011-11-24 01:38:49.000000000 +0100 | ||
163 | +++ mkinitrd-magellan/klibc/usr/include/ctype.h 2011-11-24 01:44:46.000000000 +0100 | ||
164 | @@ -133,7 +133,7 @@ | ||
165 | __extern int X(int); | ||
166 | #else | ||
167 | #define __CTYPEFUNC(X) \ | ||
168 | - __extern inline int X(int __c) \ | ||
169 | + __extern_inline int X(int __c) \ | ||
170 | { \ | ||
171 | return __ctype_##X(__c); \ | ||
172 | } | ||
173 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/klibc/compiler.h mkinitrd-magellan/klibc/usr/include/klibc/compiler.h | ||
174 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/klibc/compiler.h 2011-11-24 01:38:49.000000000 +0100 | ||
175 | +++ mkinitrd-magellan/klibc/usr/include/klibc/compiler.h 2011-11-24 01:44:46.000000000 +0100 | ||
176 | @@ -20,16 +20,38 @@ | ||
177 | # define __cdecl /* Meaningless on non-i386 */ | ||
178 | #endif | ||
179 | |||
180 | +/* | ||
181 | + * How to declare a function which should be inlined or instantiated locally | ||
182 | + */ | ||
183 | +#ifdef __GNUC__ | ||
184 | +# ifdef __GNUC_STDC_INLINE__ | ||
185 | +# define __static_inline static __inline__ __attribute__((__gnu_inline__)) | ||
186 | +# else | ||
187 | +# define __static_inline static __inline__ | ||
188 | +# endif | ||
189 | +#else | ||
190 | +# define __static_inline inline /* Just hope this works... */ | ||
191 | +#endif | ||
192 | + | ||
193 | +/* | ||
194 | + * How to declare a function which should be inlined or have a call to | ||
195 | + * an external module | ||
196 | + */ | ||
197 | +#ifdef __GNUC__ | ||
198 | +# ifdef __GNUC_STDC_INLINE__ | ||
199 | +# define __extern_inline extern __inline__ __attribute__((__gnu_inline__)) | ||
200 | +# else | ||
201 | +# define __extern_inline extern __inline__ | ||
202 | +# endif | ||
203 | +#else | ||
204 | +# define __extern_inline inline /* Just hope this works... */ | ||
205 | +#endif | ||
206 | + | ||
207 | /* How to declare a function that *must* be inlined */ | ||
208 | /* Use "extern inline" even in the gcc3+ case to avoid warnings in ctype.h */ | ||
209 | #ifdef __GNUC__ | ||
210 | # if __GNUC__ >= 3 | ||
211 | -# ifdef __GNUC_STDC_INLINE__ | ||
212 | -# define __must_inline extern __inline__ \ | ||
213 | - __attribute__((__gnu_inline__,__always_inline__)) | ||
214 | -# else | ||
215 | -# define __must_inline extern __inline__ __attribute__((__always_inline__)) | ||
216 | -# endif | ||
217 | +# define __must_inline __extern_inline __attribute__((__always_inline__)) | ||
218 | # else | ||
219 | # define __must_inline extern __inline__ | ||
220 | # endif | ||
221 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/klibc/sysconfig.h mkinitrd-magellan/klibc/usr/include/klibc/sysconfig.h | ||
222 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/klibc/sysconfig.h 2011-11-24 01:38:49.000000000 +0100 | ||
223 | +++ mkinitrd-magellan/klibc/usr/include/klibc/sysconfig.h 2011-11-24 01:44:46.000000000 +0100 | ||
224 | @@ -169,7 +169,7 @@ | ||
225 | * | ||
226 | * mips has it's own definition of statfs, which is | ||
227 | * different from any other 32 bit arch. | ||
228 | - */ | ||
229 | + */ | ||
230 | #ifndef _KLIBC_STATFS_F_TYPE_32B | ||
231 | # define _KLIBC_STATFS_F_TYPE_32B 0 | ||
232 | #endif | ||
233 | @@ -196,4 +196,13 @@ | ||
234 | # define _KLIBC_SYS_SOCKETCALL 0 | ||
235 | #endif | ||
236 | |||
237 | +/* | ||
238 | + * _KLIBC_ARM_USE_BX | ||
239 | + * | ||
240 | + * This arm architecture supports bx instruction. | ||
241 | + */ | ||
242 | +#ifndef _KLIBC_ARM_USE_BX | ||
243 | +# define _KLIBC_ARM_USE_BX 0 | ||
244 | +#endif | ||
245 | + | ||
246 | #endif /* _KLIBC_SYSCONFIG_H */ | ||
247 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/stdio.h mkinitrd-magellan/klibc/usr/include/stdio.h | ||
248 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/stdio.h 2011-11-24 01:38:49.000000000 +0100 | ||
249 | +++ mkinitrd-magellan/klibc/usr/include/stdio.h 2011-11-24 01:44:45.000000000 +0100 | ||
250 | @@ -49,22 +49,22 @@ | ||
251 | |||
252 | __extern FILE *fopen(const char *, const char *); | ||
253 | |||
254 | -static __inline__ FILE *fdopen(int __fd, const char *__m) | ||
255 | +__static_inline FILE *fdopen(int __fd, const char *__m) | ||
256 | { | ||
257 | (void)__m; | ||
258 | return __create_file(__fd); | ||
259 | } | ||
260 | -static __inline__ int fclose(FILE * __f) | ||
261 | +__static_inline int fclose(FILE * __f) | ||
262 | { | ||
263 | extern int close(int); | ||
264 | return close(fileno(__f)); | ||
265 | } | ||
266 | -static __inline__ int fseek(FILE * __f, off_t __o, int __w) | ||
267 | +__static_inline int fseek(FILE * __f, off_t __o, int __w) | ||
268 | { | ||
269 | extern off_t lseek(int, off_t, int); | ||
270 | return (lseek(fileno(__f), __o, __w) == (off_t) - 1) ? -1 : 0; | ||
271 | } | ||
272 | -static __inline__ off_t ftell(FILE * __f) | ||
273 | +__static_inline off_t ftell(FILE * __f) | ||
274 | { | ||
275 | extern off_t lseek(int, off_t, int); | ||
276 | return lseek(fileno(__f), 0, SEEK_CUR); | ||
277 | @@ -85,12 +85,13 @@ | ||
278 | __extern size_t _fwrite(const void *, size_t, FILE *); | ||
279 | |||
280 | #ifndef __NO_FREAD_FWRITE_INLINES | ||
281 | -extern __inline__ size_t fread(void *__p, size_t __s, size_t __n, FILE * __f) | ||
282 | +__extern_inline size_t | ||
283 | +fread(void *__p, size_t __s, size_t __n, FILE * __f) | ||
284 | { | ||
285 | return _fread(__p, __s * __n, __f) / __s; | ||
286 | } | ||
287 | |||
288 | -extern __inline__ size_t | ||
289 | +__extern_inline size_t | ||
290 | fwrite(const void *__p, size_t __s, size_t __n, FILE * __f) | ||
291 | { | ||
292 | return _fwrite(__p, __s * __n, __f) / __s; | ||
293 | @@ -109,14 +110,14 @@ | ||
294 | __extern int vasprintf(char **, const char *, va_list); | ||
295 | |||
296 | /* No buffering, so no flushing needed */ | ||
297 | -static __inline__ int fflush(FILE * __f) | ||
298 | +__static_inline int fflush(FILE * __f) | ||
299 | { | ||
300 | (void)__f; | ||
301 | return 0; | ||
302 | } | ||
303 | |||
304 | /* stream errors are not kept track of by klibc implementation */ | ||
305 | -static __inline__ int ferror(FILE * __f) | ||
306 | +__static_inline int ferror(FILE * __f) | ||
307 | { | ||
308 | (void)__f; | ||
309 | return 0; | ||
310 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/include/sys/socket.h mkinitrd-magellan/klibc/usr/include/sys/socket.h | ||
311 | --- ../tags/mkinitrd-6_3_5/klibc/usr/include/sys/socket.h 2011-11-24 01:38:49.000000000 +0100 | ||
312 | +++ mkinitrd-magellan/klibc/usr/include/sys/socket.h 2011-11-24 01:44:46.000000000 +0100 | ||
313 | @@ -5,6 +5,7 @@ | ||
314 | #ifndef _SYS_SOCKET_H | ||
315 | #define _SYS_SOCKET_H | ||
316 | |||
317 | +#include <sys/types.h> | ||
318 | #include <klibc/extern.h> | ||
319 | #include <klibc/compiler.h> | ||
320 | #include <klibc/sysconfig.h> | ||
321 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/do_mounts.c mkinitrd-magellan/klibc/usr/kinit/do_mounts.c | ||
322 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/do_mounts.c 2011-11-24 01:38:47.000000000 +0100 | ||
323 | +++ mkinitrd-magellan/klibc/usr/kinit/do_mounts.c 2011-11-24 01:44:45.000000000 +0100 | ||
324 | @@ -1,4 +1,3 @@ | ||
325 | -#include <ctype.h> | ||
326 | #include <errno.h> | ||
327 | #include <fcntl.h> | ||
328 | #include <sys/mount.h> | ||
329 | @@ -7,7 +6,6 @@ | ||
330 | #include <stdlib.h> | ||
331 | #include <string.h> | ||
332 | #include <unistd.h> | ||
333 | -#include <alloca.h> | ||
334 | #include <inttypes.h> | ||
335 | |||
336 | #include "do_mounts.h" | ||
337 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/do_mounts_md.c mkinitrd-magellan/klibc/usr/kinit/do_mounts_md.c | ||
338 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/do_mounts_md.c 2011-11-24 01:38:46.000000000 +0100 | ||
339 | +++ mkinitrd-magellan/klibc/usr/kinit/do_mounts_md.c 2011-11-24 01:44:45.000000000 +0100 | ||
340 | @@ -14,7 +14,6 @@ | ||
341 | #include <stdlib.h> | ||
342 | #include <string.h> | ||
343 | #include <unistd.h> | ||
344 | -#include <alloca.h> | ||
345 | #include <inttypes.h> | ||
346 | #include <sys/sysmacros.h> | ||
347 | #include <sys/md.h> | ||
348 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/fstype/main.c mkinitrd-magellan/klibc/usr/kinit/fstype/main.c | ||
349 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/fstype/main.c 2011-11-24 01:38:47.000000000 +0100 | ||
350 | +++ mkinitrd-magellan/klibc/usr/kinit/fstype/main.c 2011-11-24 01:44:45.000000000 +0100 | ||
351 | @@ -16,7 +16,6 @@ | ||
352 | #include <fcntl.h> | ||
353 | #include <unistd.h> | ||
354 | #include <string.h> | ||
355 | -#include <errno.h> | ||
356 | #include <stdlib.h> | ||
357 | #include "fstype.h" | ||
358 | |||
359 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/fstype/reiser4_fs.h mkinitrd-magellan/klibc/usr/kinit/fstype/reiser4_fs.h | ||
360 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/fstype/reiser4_fs.h 2011-11-24 01:38:47.000000000 +0100 | ||
361 | +++ mkinitrd-magellan/klibc/usr/kinit/fstype/reiser4_fs.h 2011-11-24 01:44:45.000000000 +0100 | ||
362 | @@ -8,7 +8,7 @@ | ||
363 | * Master super block structure. It is the same for all reiser4 filesystems, | ||
364 | * so, we can declare it here. It contains common for all format fields like | ||
365 | * block size etc. | ||
366 | - */ | ||
367 | + */ | ||
368 | struct reiser4_master_sb { | ||
369 | /* Master super block magic. */ | ||
370 | char ms_magic[SS_MAGIC_SIZE]; | ||
371 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/bootp_proto.c mkinitrd-magellan/klibc/usr/kinit/ipconfig/bootp_proto.c | ||
372 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/bootp_proto.c 2011-11-24 01:38:46.000000000 +0100 | ||
373 | +++ mkinitrd-magellan/klibc/usr/kinit/ipconfig/bootp_proto.c 2011-11-24 01:44:45.000000000 +0100 | ||
374 | @@ -169,9 +169,9 @@ | ||
375 | }; | ||
376 | int ret; | ||
377 | |||
378 | - ret = packet_recv(iov, 3); | ||
379 | + ret = packet_recv(dev, iov, 3); | ||
380 | if (ret <= 0) | ||
381 | - return -1; | ||
382 | + return ret; | ||
383 | |||
384 | if (ret < sizeof(struct bootp_hdr) || | ||
385 | bootp.op != BOOTP_REPLY || /* RFC951 7.5 */ | ||
386 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/dhcp_proto.c mkinitrd-magellan/klibc/usr/kinit/ipconfig/dhcp_proto.c | ||
387 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/dhcp_proto.c 2011-11-24 01:38:46.000000000 +0100 | ||
388 | +++ mkinitrd-magellan/klibc/usr/kinit/ipconfig/dhcp_proto.c 2011-11-24 01:44:45.000000000 +0100 | ||
389 | @@ -147,9 +147,9 @@ | ||
390 | }; | ||
391 | int ret; | ||
392 | |||
393 | - ret = packet_recv(iov, 3); | ||
394 | - if (ret == 0) | ||
395 | - return -1; | ||
396 | + ret = packet_recv(dev, iov, 3); | ||
397 | + if (ret <= 0) | ||
398 | + return ret; | ||
399 | |||
400 | dprintf("\n dhcp xid %08x ", dev->bootp.xid); | ||
401 | |||
402 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/main.c mkinitrd-magellan/klibc/usr/kinit/ipconfig/main.c | ||
403 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/main.c 2011-11-24 01:38:47.000000000 +0100 | ||
404 | +++ mkinitrd-magellan/klibc/usr/kinit/ipconfig/main.c 2011-11-24 01:44:45.000000000 +0100 | ||
405 | @@ -1,4 +1,3 @@ | ||
406 | -#include <errno.h> | ||
407 | #include <poll.h> | ||
408 | #include <limits.h> | ||
409 | #include <setjmp.h> | ||
410 | @@ -96,6 +95,30 @@ | ||
411 | dev->hostname, dev->name); | ||
412 | } | ||
413 | |||
414 | +/* | ||
415 | + * Escape shell varialbes in git style: | ||
416 | + * Always start with a single quote ('), then leave all characters | ||
417 | + * except ' and ! unchanged. | ||
418 | + */ | ||
419 | +static void write_option(FILE* f, const char* name, const char* chr) | ||
420 | +{ | ||
421 | + | ||
422 | + fprintf(f, "%s='", name); | ||
423 | + while (*chr) { | ||
424 | + switch (*chr) { | ||
425 | + case '!': | ||
426 | + case '\'': | ||
427 | + fprintf(f, "'\\%c'", *chr); | ||
428 | + break; | ||
429 | + default: | ||
430 | + fprintf(f, "%c", *chr); | ||
431 | + break; | ||
432 | + } | ||
433 | + ++chr; | ||
434 | + } | ||
435 | + fprintf(f, "'\n"); | ||
436 | +} | ||
437 | + | ||
438 | static void dump_device_config(struct netdev *dev) | ||
439 | { | ||
440 | char fn[40]; | ||
441 | @@ -104,22 +127,26 @@ | ||
442 | snprintf(fn, sizeof(fn), "/tmp/net-%s.conf", dev->name); | ||
443 | f = fopen(fn, "w"); | ||
444 | if (f) { | ||
445 | - fprintf(f, "DEVICE=%s\n", dev->name); | ||
446 | - fprintf(f, "IPV4ADDR=%s\n", my_inet_ntoa(dev->ip_addr)); | ||
447 | - fprintf(f, "IPV4BROADCAST=%s\n", | ||
448 | - my_inet_ntoa(dev->ip_broadcast)); | ||
449 | - fprintf(f, "IPV4NETMASK=%s\n", my_inet_ntoa(dev->ip_netmask)); | ||
450 | - fprintf(f, "IPV4GATEWAY=%s\n", my_inet_ntoa(dev->ip_gateway)); | ||
451 | - fprintf(f, "IPV4DNS0=%s\n", | ||
452 | - my_inet_ntoa(dev->ip_nameserver[0])); | ||
453 | - fprintf(f, "IPV4DNS1=%s\n", | ||
454 | - my_inet_ntoa(dev->ip_nameserver[1])); | ||
455 | - fprintf(f, "HOSTNAME=%s\n", dev->hostname); | ||
456 | - fprintf(f, "DNSDOMAIN=%s\n", dev->dnsdomainname); | ||
457 | - fprintf(f, "NISDOMAIN=%s\n", dev->nisdomainname); | ||
458 | - fprintf(f, "ROOTSERVER=%s\n", my_inet_ntoa(dev->ip_server)); | ||
459 | - fprintf(f, "ROOTPATH=%s\n", dev->bootpath); | ||
460 | - fprintf(f, "filename=\"%s\"\n", dev->filename); | ||
461 | + write_option(f, "DEVICE", dev->name); | ||
462 | + write_option(f, "IPV4ADDR", | ||
463 | + my_inet_ntoa(dev->ip_addr)); | ||
464 | + write_option(f, "IPV4BROADCAST", | ||
465 | + my_inet_ntoa(dev->ip_broadcast)); | ||
466 | + write_option(f, "IPV4NETMASK", | ||
467 | + my_inet_ntoa(dev->ip_netmask)); | ||
468 | + write_option(f, "IPV4GATEWAY", | ||
469 | + my_inet_ntoa(dev->ip_gateway)); | ||
470 | + write_option(f, "IPV4DNS0", | ||
471 | + my_inet_ntoa(dev->ip_nameserver[0])); | ||
472 | + write_option(f, "IPV4DNS1", | ||
473 | + my_inet_ntoa(dev->ip_nameserver[1])); | ||
474 | + write_option(f, "HOSTNAME", dev->hostname); | ||
475 | + write_option(f, "DNSDOMAIN", dev->dnsdomainname); | ||
476 | + write_option(f, "NISDOMAIN", dev->nisdomainname); | ||
477 | + write_option(f, "ROOTSERVER", | ||
478 | + my_inet_ntoa(dev->ip_server)); | ||
479 | + write_option(f, "ROOTPATH", dev->bootpath); | ||
480 | + write_option(f, "filename", dev->filename); | ||
481 | fclose(f); | ||
482 | } | ||
483 | } | ||
484 | @@ -171,7 +198,7 @@ | ||
485 | |||
486 | /* | ||
487 | * Returns: | ||
488 | - * 0 = Not handled, the packet is still in the queue | ||
489 | + * 0 = Not handled, try again later | ||
490 | * 1 = Handled | ||
491 | */ | ||
492 | static int process_receive_event(struct state *s, time_t now) | ||
493 | @@ -179,12 +206,20 @@ | ||
494 | int handled = 1; | ||
495 | |||
496 | switch (s->state) { | ||
497 | + case DEVST_ERROR: | ||
498 | + return 0; /* Not handled */ | ||
499 | + case DEVST_COMPLETE: | ||
500 | + return 0; /* Not handled as already configured */ | ||
501 | + | ||
502 | case DEVST_BOOTP: | ||
503 | s->restart_state = DEVST_BOOTP; | ||
504 | switch (bootp_recv_reply(s->dev)) { | ||
505 | case -1: | ||
506 | s->state = DEVST_ERROR; | ||
507 | break; | ||
508 | + case 0: | ||
509 | + handled = 0; | ||
510 | + break; | ||
511 | case 1: | ||
512 | s->state = DEVST_COMPLETE; | ||
513 | dprintf("\n bootp reply\n"); | ||
514 | @@ -198,6 +233,9 @@ | ||
515 | case -1: | ||
516 | s->state = DEVST_ERROR; | ||
517 | break; | ||
518 | + case 0: | ||
519 | + handled = 0; | ||
520 | + break; | ||
521 | case DHCPOFFER: /* Offer received */ | ||
522 | s->state = DEVST_DHCPREQ; | ||
523 | dhcp_send_request(s->dev); | ||
524 | @@ -211,6 +249,9 @@ | ||
525 | case -1: /* error */ | ||
526 | s->state = DEVST_ERROR; | ||
527 | break; | ||
528 | + case 0: | ||
529 | + handled = 0; | ||
530 | + break; | ||
531 | case DHCPACK: /* ACK received */ | ||
532 | s->state = DEVST_COMPLETE; | ||
533 | break; | ||
534 | @@ -297,28 +338,17 @@ | ||
535 | |||
536 | /* | ||
537 | * Returns: | ||
538 | - * 0 = Error, packet not received or discarded | ||
539 | + * 0 = No dhcp/bootp packet was received | ||
540 | * 1 = A packet was received and handled | ||
541 | */ | ||
542 | static int do_pkt_recv(int pkt_fd, time_t now) | ||
543 | { | ||
544 | - int ifindex, ret; | ||
545 | + int ret; | ||
546 | struct state *s; | ||
547 | |||
548 | - ret = packet_peek(&ifindex); | ||
549 | - if (ret == 0) | ||
550 | - return ret; | ||
551 | - | ||
552 | for (s = slist; s; s = s->next) { | ||
553 | - if (s->dev->ifindex == ifindex) { | ||
554 | - ret = process_receive_event(s, now); | ||
555 | - break; | ||
556 | - } | ||
557 | + ret |= process_receive_event(s, now); | ||
558 | } | ||
559 | - | ||
560 | - if (ret == 0) | ||
561 | - packet_discard(); | ||
562 | - | ||
563 | return ret; | ||
564 | } | ||
565 | |||
566 | @@ -328,7 +358,7 @@ | ||
567 | struct pollfd fds[NR_FDS]; | ||
568 | struct state *s; | ||
569 | int pkt_fd; | ||
570 | - int nr = 0; | ||
571 | + int nr = 0, rc = 0; | ||
572 | struct timeval now, prev; | ||
573 | time_t start; | ||
574 | |||
575 | @@ -393,6 +423,7 @@ | ||
576 | now.tv_sec - start >= loop_timeout) { | ||
577 | printf("IP-Config: no response after %d " | ||
578 | "secs - giving up\n", loop_timeout); | ||
579 | + rc = -1; | ||
580 | goto bail; | ||
581 | } | ||
582 | |||
583 | @@ -407,7 +438,7 @@ | ||
584 | bail: | ||
585 | packet_close(); | ||
586 | |||
587 | - return 0; | ||
588 | + return rc; | ||
589 | } | ||
590 | |||
591 | static int add_one_dev(struct netdev *dev) | ||
592 | @@ -480,7 +511,7 @@ | ||
593 | static int parse_device(struct netdev *dev, const char *ip) | ||
594 | { | ||
595 | char *cp; | ||
596 | - int i, opt; | ||
597 | + int opt; | ||
598 | int is_ip = 0; | ||
599 | |||
600 | dprintf("IP-Config: parse_device: \"%s\"\n", ip); | ||
601 | @@ -502,7 +533,7 @@ | ||
602 | dev->name = ip; | ||
603 | } | ||
604 | } else { | ||
605 | - for (i = opt = 0; ip && *ip; ip = cp, opt++) { | ||
606 | + for (opt = 0; ip && *ip; ip = cp, opt++) { | ||
607 | if ((cp = strchr(ip, ':'))) { | ||
608 | *cp++ = '\0'; | ||
609 | } | ||
610 | @@ -533,7 +564,7 @@ | ||
611 | case 4: | ||
612 | strncpy(dev->hostname, ip, SYS_NMLN - 1); | ||
613 | dev->hostname[SYS_NMLN - 1] = '\0'; | ||
614 | - memcpy(dev->reqhostname, dev->hostname, | ||
615 | + memcpy(dev->reqhostname, dev->hostname, | ||
616 | SYS_NMLN); | ||
617 | break; | ||
618 | case 5: | ||
619 | @@ -721,7 +752,7 @@ | ||
620 | { | ||
621 | struct netdev *dev; | ||
622 | int c, port; | ||
623 | - int err; | ||
624 | + int err = 0; | ||
625 | |||
626 | /* If progname is set we're invoked from another program */ | ||
627 | if (!progname) { | ||
628 | @@ -799,8 +830,8 @@ | ||
629 | "dest to %d\n", | ||
630 | cfg_local_port, cfg_remote_port); | ||
631 | } | ||
632 | - loop(); | ||
633 | + err = loop(); | ||
634 | } | ||
635 | |||
636 | - return 0; | ||
637 | + return err; | ||
638 | } | ||
639 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/packet.c mkinitrd-magellan/klibc/usr/kinit/ipconfig/packet.c | ||
640 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/packet.c 2011-11-24 01:38:46.000000000 +0100 | ||
641 | +++ mkinitrd-magellan/klibc/usr/kinit/ipconfig/packet.c 2011-11-24 01:44:45.000000000 +0100 | ||
642 | @@ -166,47 +166,14 @@ | ||
643 | return sendmsg(pkt_fd, &msg, 0); | ||
644 | } | ||
645 | |||
646 | -/* | ||
647 | - * Fetches a bootp packet, but doesn't remove it. | ||
648 | - * Returns: | ||
649 | - * 0 = Error | ||
650 | - * >0 = A packet of size "ret" is available for interface ifindex | ||
651 | - */ | ||
652 | -int packet_peek(int *ifindex) | ||
653 | -{ | ||
654 | - struct sockaddr_ll sll; | ||
655 | - struct iphdr iph; | ||
656 | - int ret, sllen = sizeof(struct sockaddr_ll); | ||
657 | - | ||
658 | - /* | ||
659 | - * Peek at the IP header. | ||
660 | - */ | ||
661 | - ret = recvfrom(pkt_fd, &iph, sizeof(struct iphdr), | ||
662 | - MSG_PEEK, (struct sockaddr *)&sll, &sllen); | ||
663 | - if (ret == -1) | ||
664 | - return 0; | ||
665 | - | ||
666 | - if (sll.sll_family != AF_PACKET) | ||
667 | - goto discard_pkt; | ||
668 | - | ||
669 | - if (iph.ihl < 5 || iph.version != IPVERSION) | ||
670 | - goto discard_pkt; | ||
671 | - | ||
672 | - *ifindex = sll.sll_ifindex; | ||
673 | - | ||
674 | - return ret; | ||
675 | - | ||
676 | -discard_pkt: | ||
677 | - packet_discard(); | ||
678 | - return 0; | ||
679 | -} | ||
680 | - | ||
681 | -void packet_discard(void) | ||
682 | +void packet_discard(struct netdev *dev) | ||
683 | { | ||
684 | struct iphdr iph; | ||
685 | struct sockaddr_ll sll; | ||
686 | socklen_t sllen = sizeof(sll); | ||
687 | |||
688 | + sll.sll_ifindex = dev->ifindex; | ||
689 | + | ||
690 | recvfrom(pkt_fd, &iph, sizeof(iph), 0, | ||
691 | (struct sockaddr *)&sll, &sllen); | ||
692 | } | ||
693 | @@ -215,10 +182,11 @@ | ||
694 | * Receive a bootp packet. The options are listed in iov[1...iov_len]. | ||
695 | * iov[0] must point to the bootp packet header. | ||
696 | * Returns: | ||
697 | - * 0 = Error, try again later | ||
698 | + * -1 = Error, try again later | ||
699 | +* 0 = Discarded packet (non-DHCP/BOOTP traffic) | ||
700 | * >0 = Size of packet | ||
701 | */ | ||
702 | -int packet_recv(struct iovec *iov, int iov_len) | ||
703 | +int packet_recv(struct netdev* dev, struct iovec *iov, int iov_len) | ||
704 | { | ||
705 | struct iphdr *ip, iph; | ||
706 | struct udphdr *udp; | ||
707 | @@ -232,11 +200,17 @@ | ||
708 | .msg_flags = 0 | ||
709 | }; | ||
710 | int ret, iphl; | ||
711 | + struct sockaddr_ll sll; | ||
712 | + socklen_t sllen = sizeof(sll); | ||
713 | + | ||
714 | + sll.sll_ifindex = dev->ifindex; | ||
715 | + msg.msg_name = &sll; | ||
716 | + msg.msg_namelen = sllen; | ||
717 | |||
718 | ret = recvfrom(pkt_fd, &iph, sizeof(struct iphdr), | ||
719 | - MSG_PEEK, NULL, NULL); | ||
720 | + MSG_PEEK, (struct sockaddr *)&sll, &sllen); | ||
721 | if (ret == -1) | ||
722 | - return 0; | ||
723 | + return -1; | ||
724 | |||
725 | if (iph.ihl < 5 || iph.version != IPVERSION) | ||
726 | goto discard_pkt; | ||
727 | @@ -292,6 +266,6 @@ | ||
728 | |||
729 | discard_pkt: | ||
730 | dprintf("discarded\n"); | ||
731 | - packet_discard(); | ||
732 | + packet_discard(dev); | ||
733 | return 0; | ||
734 | } | ||
735 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/packet.h mkinitrd-magellan/klibc/usr/kinit/ipconfig/packet.h | ||
736 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ipconfig/packet.h 2011-11-24 01:38:47.000000000 +0100 | ||
737 | +++ mkinitrd-magellan/klibc/usr/kinit/ipconfig/packet.h 2011-11-24 01:44:45.000000000 +0100 | ||
738 | @@ -6,8 +6,7 @@ | ||
739 | int packet_open(void); | ||
740 | void packet_close(void); | ||
741 | int packet_send(struct netdev *dev, struct iovec *iov, int iov_len); | ||
742 | -int packet_peek(int *ifindex); | ||
743 | -void packet_discard(void); | ||
744 | -int packet_recv(struct iovec *iov, int iov_len); | ||
745 | +void packet_discard(struct netdev *dev); | ||
746 | +int packet_recv(struct netdev *dev, struct iovec *iov, int iov_len); | ||
747 | |||
748 | #endif /* IPCONFIG_PACKET_H */ | ||
749 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/name_to_dev.c mkinitrd-magellan/klibc/usr/kinit/name_to_dev.c | ||
750 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/name_to_dev.c 2011-11-24 01:38:47.000000000 +0100 | ||
751 | +++ mkinitrd-magellan/klibc/usr/kinit/name_to_dev.c 2011-11-24 01:44:45.000000000 +0100 | ||
752 | @@ -1,5 +1,4 @@ | ||
753 | #include <ctype.h> | ||
754 | -#include <errno.h> | ||
755 | #include <fcntl.h> | ||
756 | #include <sys/stat.h> | ||
757 | #include <stdio.h> | ||
758 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/nfsmount/dummypmap.c mkinitrd-magellan/klibc/usr/kinit/nfsmount/dummypmap.c | ||
759 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/nfsmount/dummypmap.c 2011-11-24 01:38:47.000000000 +0100 | ||
760 | +++ mkinitrd-magellan/klibc/usr/kinit/nfsmount/dummypmap.c 2011-11-24 01:44:45.000000000 +0100 | ||
761 | @@ -249,6 +249,7 @@ | ||
762 | if (errno == EINVAL || errno == EADDRINUSE) | ||
763 | return 0; /* Assume not needed */ | ||
764 | else { | ||
765 | + fclose(portmap_filep); | ||
766 | fprintf(stderr, "%s: portmap spoofing failed\n", | ||
767 | progname); | ||
768 | return -1; | ||
769 | @@ -257,6 +258,7 @@ | ||
770 | |||
771 | spoof_portmap = fork(); | ||
772 | if (spoof_portmap == -1) { | ||
773 | + fclose(portmap_filep); | ||
774 | fprintf(stderr, "%s: cannot fork\n", progname); | ||
775 | return -1; | ||
776 | } else if (spoof_portmap == 0) { | ||
777 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/nfsmount/mount.c mkinitrd-magellan/klibc/usr/kinit/nfsmount/mount.c | ||
778 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/nfsmount/mount.c 2011-11-24 01:38:47.000000000 +0100 | ||
779 | +++ mkinitrd-magellan/klibc/usr/kinit/nfsmount/mount.c 2011-11-24 01:44:45.000000000 +0100 | ||
780 | @@ -44,6 +44,11 @@ | ||
781 | |||
782 | #define MNT_REPLY_MINSIZE (sizeof(struct rpc_reply) + sizeof(uint32_t)) | ||
783 | |||
784 | +#ifndef MNTPROC_MNT | ||
785 | +# define MNTPROC_MNT 1 | ||
786 | +# define MNTPROC_UMNT 3 | ||
787 | +#endif /* MNTPROC_MNT */ | ||
788 | + | ||
789 | static int get_ports(uint32_t server, const struct nfs_mount_data *data) | ||
790 | { | ||
791 | uint32_t nfs_ver, mount_ver; | ||
792 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/nfsmount/sunrpc.c mkinitrd-magellan/klibc/usr/kinit/nfsmount/sunrpc.c | ||
793 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/nfsmount/sunrpc.c 2011-11-24 01:38:47.000000000 +0100 | ||
794 | +++ mkinitrd-magellan/klibc/usr/kinit/nfsmount/sunrpc.c 2011-11-24 01:44:45.000000000 +0100 | ||
795 | @@ -1,7 +1,6 @@ | ||
796 | #include <sys/types.h> | ||
797 | #include <sys/socket.h> | ||
798 | #include <netinet/in.h> | ||
799 | -#include <errno.h> | ||
800 | #include <poll.h> | ||
801 | #include <stdio.h> | ||
802 | #include <string.h> | ||
803 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ramdisk_load.c mkinitrd-magellan/klibc/usr/kinit/ramdisk_load.c | ||
804 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/ramdisk_load.c 2011-11-24 01:38:46.000000000 +0100 | ||
805 | +++ mkinitrd-magellan/klibc/usr/kinit/ramdisk_load.c 2011-11-24 01:44:45.000000000 +0100 | ||
806 | @@ -1,4 +1,3 @@ | ||
807 | -#include <ctype.h> | ||
808 | #include <errno.h> | ||
809 | #include <fcntl.h> | ||
810 | #include <stdio.h> | ||
811 | @@ -243,6 +242,8 @@ | ||
812 | (fssize == 0 && !(is_gzip = !strcmp(fstype, "gzip")))) { | ||
813 | fprintf(stderr, | ||
814 | "Failure loading ramdisk: unknown filesystem type\n"); | ||
815 | + close(rfd); | ||
816 | + fclose(wfd); | ||
817 | return 0; | ||
818 | } | ||
819 | |||
820 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/resume/resumelib.c mkinitrd-magellan/klibc/usr/kinit/resume/resumelib.c | ||
821 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/resume/resumelib.c 2011-11-24 01:38:47.000000000 +0100 | ||
822 | +++ mkinitrd-magellan/klibc/usr/kinit/resume/resumelib.c 2011-11-24 01:44:45.000000000 +0100 | ||
823 | @@ -2,7 +2,6 @@ | ||
824 | * Handle resume from suspend-to-disk | ||
825 | */ | ||
826 | |||
827 | -#include <errno.h> | ||
828 | #include <fcntl.h> | ||
829 | #include <stdio.h> | ||
830 | #include <stdlib.h> | ||
831 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/kinit/run-init/runinitlib.c mkinitrd-magellan/klibc/usr/kinit/run-init/runinitlib.c | ||
832 | --- ../tags/mkinitrd-6_3_5/klibc/usr/kinit/run-init/runinitlib.c 2011-11-24 01:38:47.000000000 +0100 | ||
833 | +++ mkinitrd-magellan/klibc/usr/kinit/run-init/runinitlib.c 2011-11-24 01:44:45.000000000 +0100 | ||
834 | @@ -40,7 +40,6 @@ | ||
835 | * On failure, returns a human-readable error message. | ||
836 | */ | ||
837 | |||
838 | -#include <alloca.h> | ||
839 | #include <assert.h> | ||
840 | #include <dirent.h> | ||
841 | #include <errno.h> | ||
842 | @@ -157,7 +156,7 @@ | ||
843 | const char *run_init(const char *realroot, const char *console, | ||
844 | const char *init, char **initargs) | ||
845 | { | ||
846 | - struct stat rst, cst, ist; | ||
847 | + struct stat rst, cst; | ||
848 | struct statfs sfs; | ||
849 | int confd; | ||
850 | |||
851 | @@ -176,10 +175,6 @@ | ||
852 | if (rst.st_dev == cst.st_dev) | ||
853 | return "current directory on the same filesystem as the root"; | ||
854 | |||
855 | - /* The initramfs should have /init */ | ||
856 | - if (stat("/init", &ist) || !S_ISREG(ist.st_mode)) | ||
857 | - return "can't find /init on initramfs"; | ||
858 | - | ||
859 | /* Make sure we're on a ramfs */ | ||
860 | if (statfs("/", &sfs)) | ||
861 | return "statfs /"; | ||
862 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/arch/arm/setjmp.S mkinitrd-magellan/klibc/usr/klibc/arch/arm/setjmp.S | ||
863 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/arch/arm/setjmp.S 2011-11-24 01:38:51.000000000 +0100 | ||
864 | +++ mkinitrd-magellan/klibc/usr/klibc/arch/arm/setjmp.S 2011-11-24 01:44:46.000000000 +0100 | ||
865 | @@ -4,6 +4,8 @@ | ||
866 | # setjmp/longjmp for the ARM architecture | ||
867 | # | ||
868 | |||
869 | +#include <klibc/asmmacros.h> | ||
870 | + | ||
871 | #ifndef __thumb__ | ||
872 | |||
873 | # | ||
874 | @@ -29,7 +31,7 @@ | ||
875 | setjmp: | ||
876 | stmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} | ||
877 | mov r0, #0 | ||
878 | - mov pc, lr | ||
879 | + BX(lr) | ||
880 | .size setjmp,.-setjmp | ||
881 | |||
882 | .text | ||
883 | @@ -39,7 +41,7 @@ | ||
884 | longjmp: | ||
885 | ldmia r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr} | ||
886 | mov r0, r1 | ||
887 | - mov pc, lr | ||
888 | + BX(lr) | ||
889 | .size longjmp,.-longjmp | ||
890 | |||
891 | #else /* __thumb__ */ | ||
892 | @@ -75,7 +77,7 @@ | ||
893 | mov r7, sp | ||
894 | stmia r0!, {r3, r4, r5, r6, r7} | ||
895 | mov r0, #0 | ||
896 | - mov pc, lr | ||
897 | + BX(lr) | ||
898 | .size setjmp,.-setjmp | ||
899 | |||
900 | .text | ||
901 | @@ -96,7 +98,7 @@ | ||
902 | mov r0, r1 | ||
903 | bne 1f | ||
904 | mov r0, #1 | ||
905 | -1: mov pc, r3 | ||
906 | +1: BX(r3) | ||
907 | .size longjmp,.-longjmp | ||
908 | |||
909 | #endif /* __thumb__ */ | ||
910 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/arch/arm/sysstub.ph mkinitrd-magellan/klibc/usr/klibc/arch/arm/sysstub.ph | ||
911 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/arch/arm/sysstub.ph 2011-11-24 01:38:51.000000000 +0100 | ||
912 | +++ mkinitrd-magellan/klibc/usr/klibc/arch/arm/sysstub.ph 2011-11-24 01:44:46.000000000 +0100 | ||
913 | @@ -52,7 +52,7 @@ | ||
914 | |||
915 | print OUT "#endif /* __thumb__*/\n"; | ||
916 | |||
917 | - print OUT " .size __syscall${i},.-__syscall${i}\n"; | ||
918 | + print OUT " .size ${fname},.-${fname}\n"; | ||
919 | } | ||
920 | |||
921 | 1; | ||
922 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/arch/arm/vfork.S mkinitrd-magellan/klibc/usr/klibc/arch/arm/vfork.S | ||
923 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/arch/arm/vfork.S 2011-11-24 01:38:51.000000000 +0100 | ||
924 | +++ mkinitrd-magellan/klibc/usr/klibc/arch/arm/vfork.S 2011-11-24 01:44:46.000000000 +0100 | ||
925 | @@ -4,6 +4,7 @@ | ||
926 | * vfork - nasty system call which must not use the stack. | ||
927 | */ | ||
928 | |||
929 | +#include <klibc/asmmacros.h> | ||
930 | #include <asm/unistd.h> | ||
931 | |||
932 | .type vfork,#function | ||
933 | @@ -25,7 +26,7 @@ | ||
934 | ldrcs r3, 1f | ||
935 | mvncs r0, #0 | ||
936 | strcs r2, [r3] | ||
937 | - mov pc, lr | ||
938 | + BX(lr) | ||
939 | |||
940 | .balign 4 | ||
941 | 1: | ||
942 | @@ -49,7 +50,7 @@ | ||
943 | str r2, [r1] | ||
944 | neg r0, r0 | ||
945 | 1: | ||
946 | - mov pc, lr | ||
947 | + BX(lr) | ||
948 | |||
949 | .balign 4 | ||
950 | 2: | ||
951 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/CAVEATS mkinitrd-magellan/klibc/usr/klibc/CAVEATS | ||
952 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/CAVEATS 2011-11-24 01:38:54.000000000 +0100 | ||
953 | +++ mkinitrd-magellan/klibc/usr/klibc/CAVEATS 2011-11-24 01:44:48.000000000 +0100 | ||
954 | @@ -1,5 +1,5 @@ | ||
955 | ------------------------------------------------- | ||
956 | - Please note the following caveats to using klibc: | ||
957 | + Please note the following caveats when using klibc: | ||
958 | ------------------------------------------------- | ||
959 | |||
960 | optimization: | ||
961 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/execv.c mkinitrd-magellan/klibc/usr/klibc/execv.c | ||
962 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/execv.c 2011-11-24 01:38:51.000000000 +0100 | ||
963 | +++ mkinitrd-magellan/klibc/usr/klibc/execv.c 2011-11-24 01:44:46.000000000 +0100 | ||
964 | @@ -2,7 +2,6 @@ | ||
965 | * execv.c | ||
966 | */ | ||
967 | |||
968 | -#include <stdarg.h> | ||
969 | #include <unistd.h> | ||
970 | |||
971 | int execv(const char *path, char *const *argv) | ||
972 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/execvp.c mkinitrd-magellan/klibc/usr/klibc/execvp.c | ||
973 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/execvp.c 2011-11-24 01:38:53.000000000 +0100 | ||
974 | +++ mkinitrd-magellan/klibc/usr/klibc/execvp.c 2011-11-24 01:44:48.000000000 +0100 | ||
975 | @@ -2,7 +2,6 @@ | ||
976 | * execvp.c | ||
977 | */ | ||
978 | |||
979 | -#include <stdarg.h> | ||
980 | #include <unistd.h> | ||
981 | |||
982 | int execvp(const char *path, char *const *argv) | ||
983 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/fgetc.c mkinitrd-magellan/klibc/usr/klibc/fgetc.c | ||
984 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/fgetc.c 2011-11-24 01:38:51.000000000 +0100 | ||
985 | +++ mkinitrd-magellan/klibc/usr/klibc/fgetc.c 2011-11-24 01:44:46.000000000 +0100 | ||
986 | @@ -9,7 +9,6 @@ | ||
987 | #include <stdio.h> | ||
988 | #include <unistd.h> | ||
989 | #include <stdlib.h> | ||
990 | -#include <errno.h> | ||
991 | |||
992 | int fgetc(FILE *f) | ||
993 | { | ||
994 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/getpt.c mkinitrd-magellan/klibc/usr/klibc/getpt.c | ||
995 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/getpt.c 2011-11-24 01:38:53.000000000 +0100 | ||
996 | +++ mkinitrd-magellan/klibc/usr/klibc/getpt.c 2011-11-24 01:44:47.000000000 +0100 | ||
997 | @@ -9,7 +9,6 @@ | ||
998 | #include <unistd.h> | ||
999 | #include <termios.h> | ||
1000 | #include <fcntl.h> | ||
1001 | -#include <sys/ioctl.h> | ||
1002 | |||
1003 | int getpt(void) | ||
1004 | { | ||
1005 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/Kbuild mkinitrd-magellan/klibc/usr/klibc/Kbuild | ||
1006 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/Kbuild 2011-11-24 01:38:53.000000000 +0100 | ||
1007 | +++ mkinitrd-magellan/klibc/usr/klibc/Kbuild 2011-11-24 01:44:47.000000000 +0100 | ||
1008 | @@ -109,7 +109,7 @@ | ||
1009 | targets += libc.a __static_init.o | ||
1010 | quiet_cmd_libc = KLIBCAR $@ | ||
1011 | cmd_libc = rm -f $@; \ | ||
1012 | - $(KLIBCAR) cq $@ \ | ||
1013 | + $(call klibc-ar,cq,Dcq) $@ \ | ||
1014 | $(call objectify,__static_init.o) $(klib-o-files); \ | ||
1015 | $(KLIBCRANLIB) $@ | ||
1016 | |||
1017 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/posix_openpt.c mkinitrd-magellan/klibc/usr/klibc/posix_openpt.c | ||
1018 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/posix_openpt.c 2011-11-24 01:38:54.000000000 +0100 | ||
1019 | +++ mkinitrd-magellan/klibc/usr/klibc/posix_openpt.c 2011-11-24 01:44:48.000000000 +0100 | ||
1020 | @@ -7,7 +7,6 @@ | ||
1021 | #include <unistd.h> | ||
1022 | #include <termios.h> | ||
1023 | #include <fcntl.h> | ||
1024 | -#include <sys/ioctl.h> | ||
1025 | |||
1026 | int posix_openpt(int oflag) | ||
1027 | { | ||
1028 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/README.klibc mkinitrd-magellan/klibc/usr/klibc/README.klibc | ||
1029 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/README.klibc 2011-11-24 01:38:54.000000000 +0100 | ||
1030 | +++ mkinitrd-magellan/klibc/usr/klibc/README.klibc 2011-11-24 01:44:48.000000000 +0100 | ||
1031 | @@ -1,6 +1,6 @@ | ||
1032 | This is klibc, what is intended to be a minimalistic libc subset for | ||
1033 | use with initramfs. It is deliberately written for small size, | ||
1034 | -minimal entaglement, and portability, not speed. It is definitely a | ||
1035 | +minimal entanglement, and portability, not speed. It is definitely a | ||
1036 | work in progress, and a lot of things are still missing. | ||
1037 | |||
1038 | |||
1039 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/socketcalls/Kbuild mkinitrd-magellan/klibc/usr/klibc/socketcalls/Kbuild | ||
1040 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/socketcalls/Kbuild 2011-11-24 01:38:51.000000000 +0100 | ||
1041 | +++ mkinitrd-magellan/klibc/usr/klibc/socketcalls/Kbuild 2011-11-24 01:44:46.000000000 +0100 | ||
1042 | @@ -48,3 +48,5 @@ | ||
1043 | $(obj)/SOCKETCALLS.i \ | ||
1044 | $(src)/socketcommon.h | ||
1045 | $(call cmd,socketcalls) | ||
1046 | + | ||
1047 | +PHONY += FORCE | ||
1048 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/syscalls/Kbuild mkinitrd-magellan/klibc/usr/klibc/syscalls/Kbuild | ||
1049 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/syscalls/Kbuild 2011-11-24 01:38:53.000000000 +0100 | ||
1050 | +++ mkinitrd-magellan/klibc/usr/klibc/syscalls/Kbuild 2011-11-24 01:44:47.000000000 +0100 | ||
1051 | @@ -95,3 +95,5 @@ | ||
1052 | $(src)/syscommon.h $(obj)/syscalls.nrs \ | ||
1053 | $(obj)/typesize.bin FORCE | ||
1054 | $(call if_changed,syscalls) | ||
1055 | + | ||
1056 | +PHONY += FORCE | ||
1057 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/system.c mkinitrd-magellan/klibc/usr/klibc/system.c | ||
1058 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/system.c 2011-11-24 01:38:53.000000000 +0100 | ||
1059 | +++ mkinitrd-magellan/klibc/usr/klibc/system.c 2011-11-24 01:44:48.000000000 +0100 | ||
1060 | @@ -7,7 +7,6 @@ | ||
1061 | * present. | ||
1062 | */ | ||
1063 | |||
1064 | -#include <errno.h> | ||
1065 | #include <stdlib.h> | ||
1066 | #include <unistd.h> | ||
1067 | #include <signal.h> | ||
1068 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/fcntl.c mkinitrd-magellan/klibc/usr/klibc/tests/fcntl.c | ||
1069 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/fcntl.c 2011-11-24 01:38:53.000000000 +0100 | ||
1070 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/fcntl.c 2011-11-24 01:44:47.000000000 +0100 | ||
1071 | @@ -5,7 +5,6 @@ | ||
1072 | #include <stdio.h> | ||
1073 | #include <unistd.h> | ||
1074 | #include <fcntl.h> | ||
1075 | -#include <errno.h> | ||
1076 | #include <stdlib.h> | ||
1077 | #include <string.h> | ||
1078 | |||
1079 | @@ -46,5 +45,6 @@ | ||
1080 | |||
1081 | /* Eventually, fork and try to conflict with this lock... */ | ||
1082 | |||
1083 | + close(fd); | ||
1084 | return 0; | ||
1085 | } | ||
1086 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/fnmatch.c mkinitrd-magellan/klibc/usr/klibc/tests/fnmatch.c | ||
1087 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/fnmatch.c 2011-11-24 01:38:53.000000000 +0100 | ||
1088 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/fnmatch.c 2011-11-24 01:44:47.000000000 +0100 | ||
1089 | @@ -11,5 +11,3 @@ | ||
1090 | |||
1091 | return match; | ||
1092 | } | ||
1093 | - | ||
1094 | - | ||
1095 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/getoptlong.c mkinitrd-magellan/klibc/usr/klibc/tests/getoptlong.c | ||
1096 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/getoptlong.c 2011-11-24 01:38:52.000000000 +0100 | ||
1097 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/getoptlong.c 2011-11-24 01:44:47.000000000 +0100 | ||
1098 | @@ -11,7 +11,7 @@ | ||
1099 | #include <getopt.h> | ||
1100 | |||
1101 | static int foo = 0; | ||
1102 | - | ||
1103 | + | ||
1104 | static const struct option long_options[] = { | ||
1105 | { "first", 1, NULL, 'f' }, | ||
1106 | { "second", 0, NULL, 's' }, | ||
1107 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/select.c mkinitrd-magellan/klibc/usr/klibc/tests/select.c | ||
1108 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/select.c 2011-11-24 01:38:52.000000000 +0100 | ||
1109 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/select.c 2011-11-24 01:44:47.000000000 +0100 | ||
1110 | @@ -42,7 +42,7 @@ | ||
1111 | FD_SET(fdz, &readset); | ||
1112 | |||
1113 | rv = select(FD_SETSIZE, &readset, NULL, NULL, &timeout); | ||
1114 | - | ||
1115 | + | ||
1116 | if (rv != 1 || !FD_ISSET(fdz, &readset) || | ||
1117 | FD_ISSET(fdn, &readset)) { | ||
1118 | fprintf(stderr, | ||
1119 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/socket.c mkinitrd-magellan/klibc/usr/klibc/tests/socket.c | ||
1120 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/socket.c 2011-11-24 01:38:53.000000000 +0100 | ||
1121 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/socket.c 2011-11-24 01:44:47.000000000 +0100 | ||
1122 | @@ -16,4 +16,3 @@ | ||
1123 | |||
1124 | return 0; | ||
1125 | } | ||
1126 | - | ||
1127 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/stat.c mkinitrd-magellan/klibc/usr/klibc/tests/stat.c | ||
1128 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/stat.c 2011-11-24 01:38:52.000000000 +0100 | ||
1129 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/stat.c 2011-11-24 01:44:47.000000000 +0100 | ||
1130 | @@ -1,6 +1,5 @@ | ||
1131 | #include <stdio.h> | ||
1132 | #include <stdlib.h> | ||
1133 | -#include <errno.h> | ||
1134 | #include <sys/stat.h> | ||
1135 | #include <sys/sysmacros.h> | ||
1136 | #include <sys/types.h> | ||
1137 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/statfs.c mkinitrd-magellan/klibc/usr/klibc/tests/statfs.c | ||
1138 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/statfs.c 2011-11-24 01:38:52.000000000 +0100 | ||
1139 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/statfs.c 2011-11-24 01:44:47.000000000 +0100 | ||
1140 | @@ -1,6 +1,5 @@ | ||
1141 | #include <stdio.h> | ||
1142 | #include <stdlib.h> | ||
1143 | -#include <errno.h> | ||
1144 | #include <sys/vfs.h> | ||
1145 | |||
1146 | static void do_statfs(const char *path) | ||
1147 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/testvsnp.c mkinitrd-magellan/klibc/usr/klibc/tests/testvsnp.c | ||
1148 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/tests/testvsnp.c 2011-11-24 01:38:53.000000000 +0100 | ||
1149 | +++ mkinitrd-magellan/klibc/usr/klibc/tests/testvsnp.c 2011-11-24 01:44:47.000000000 +0100 | ||
1150 | @@ -1,5 +1,4 @@ | ||
1151 | #include <assert.h> | ||
1152 | -#include <stdarg.h> | ||
1153 | #include <stddef.h> | ||
1154 | #include <stdint.h> | ||
1155 | #include <string.h> | ||
1156 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/klibc/version mkinitrd-magellan/klibc/usr/klibc/version | ||
1157 | --- ../tags/mkinitrd-6_3_5/klibc/usr/klibc/version 2011-11-24 01:38:53.000000000 +0100 | ||
1158 | +++ mkinitrd-magellan/klibc/usr/klibc/version 2011-11-24 01:44:48.000000000 +0100 | ||
1159 | @@ -1 +1 @@ | ||
1160 | -1.5.19 | ||
1161 | +1.5.22 | ||
1162 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/cat.c mkinitrd-magellan/klibc/usr/utils/cat.c | ||
1163 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/cat.c 2011-11-24 01:38:51.000000000 +0100 | ||
1164 | +++ mkinitrd-magellan/klibc/usr/utils/cat.c 2011-11-24 01:44:46.000000000 +0100 | ||
1165 | @@ -39,13 +39,6 @@ | ||
1166 | #define __RCSID(arg) | ||
1167 | #endif | ||
1168 | |||
1169 | -#if HAVE_NBTOOL_CONFIG_H | ||
1170 | -#include "nbtool_config.h" | ||
1171 | -#endif | ||
1172 | - | ||
1173 | -#ifndef __KLIBC__ | ||
1174 | -#include <sys/cdefs.h> | ||
1175 | -#endif | ||
1176 | #if !defined(lint) | ||
1177 | __COPYRIGHT("@(#) Copyright (c) 1989, 1993\n\ | ||
1178 | The Regents of the University of California. All rights reserved.\n"); | ||
1179 | @@ -60,14 +53,8 @@ | ||
1180 | #include <sys/stat.h> | ||
1181 | |||
1182 | #include <ctype.h> | ||
1183 | -#ifndef __KLIBC__ | ||
1184 | -#include <err.h> | ||
1185 | -#endif | ||
1186 | #include <errno.h> | ||
1187 | #include <fcntl.h> | ||
1188 | -#ifndef __KLIBC__ | ||
1189 | -#include <locale.h> | ||
1190 | -#endif | ||
1191 | #include <stdio.h> | ||
1192 | #include <stdlib.h> | ||
1193 | #include <string.h> | ||
1194 | @@ -88,11 +75,6 @@ | ||
1195 | int ch; | ||
1196 | struct flock stdout_lock; | ||
1197 | |||
1198 | -#ifndef __KLIBC__ | ||
1199 | - setprogname(argv[0]); | ||
1200 | - (void)setlocale(LC_ALL, ""); | ||
1201 | -#endif | ||
1202 | - | ||
1203 | while ((ch = getopt(argc, argv, "beflnstuv")) != -1) | ||
1204 | switch (ch) { | ||
1205 | case 'b': | ||
1206 | @@ -117,9 +99,7 @@ | ||
1207 | tflag = vflag = 1; /* -t implies -v */ | ||
1208 | break; | ||
1209 | case 'u': | ||
1210 | -#ifndef __KLIBC__ | ||
1211 | - setbuf(stdout, NULL); | ||
1212 | -#endif | ||
1213 | + /* unimplemented */ | ||
1214 | break; | ||
1215 | case 'v': | ||
1216 | vflag = 1; | ||
1217 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/cpio.c mkinitrd-magellan/klibc/usr/utils/cpio.c | ||
1218 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/cpio.c 2011-11-24 01:38:51.000000000 +0100 | ||
1219 | +++ mkinitrd-magellan/klibc/usr/utils/cpio.c 2011-11-24 01:44:46.000000000 +0100 | ||
1220 | @@ -104,7 +104,7 @@ | ||
1221 | char *c_tar_linkname; | ||
1222 | }; | ||
1223 | |||
1224 | -/* Total number of bytes read and written for all files. | ||
1225 | +/* Total number of bytes read and written for all files. | ||
1226 | * Now that many tape drives hold more than 4Gb we need more than 32 | ||
1227 | * bits to hold input_bytes and output_bytes. | ||
1228 | */ | ||
1229 | @@ -157,7 +157,7 @@ | ||
1230 | descriptor OUT_DES and reset `output_size' and `out_buff'. | ||
1231 | If `swapping_halfwords' or `swapping_bytes' is set, | ||
1232 | do the appropriate swapping first. Our callers have | ||
1233 | - to make sure to only set these flags if `output_size' | ||
1234 | + to make sure to only set these flags if `output_size' | ||
1235 | is appropriate (a multiple of 4 for `swapping_halfwords', | ||
1236 | 2 for `swapping_bytes'). The fact that DISK_IO_BLOCK_SIZE | ||
1237 | must always be a multiple of 4 helps us (and our callers) | ||
1238 | @@ -365,8 +365,7 @@ | ||
1239 | for (i = 0; i < hash_num; i++) | ||
1240 | hash_insert(old_table[i]); | ||
1241 | |||
1242 | - if (old_table != NULL) | ||
1243 | - free(old_table); | ||
1244 | + free(old_table); | ||
1245 | } | ||
1246 | |||
1247 | /* Insert the new record and increment the count of elements in the | ||
1248 | @@ -407,7 +406,7 @@ | ||
1249 | return NULL; | ||
1250 | } | ||
1251 | |||
1252 | -/* Try and create a hard link from FILE_NAME to another file | ||
1253 | +/* Try and create a hard link from FILE_NAME to another file | ||
1254 | with the given major/minor device number and inode. If no other | ||
1255 | file with the same major/minor/inode numbers is known, add this file | ||
1256 | to the list of known files and associated major/minor/inode numbers | ||
1257 | @@ -482,10 +481,10 @@ | ||
1258 | return 0; | ||
1259 | } | ||
1260 | |||
1261 | -/* The newc and crc formats store multiply linked copies of the same file | ||
1262 | - in the archive only once. The actual data is attached to the last link | ||
1263 | - in the archive, and the other links all have a filesize of 0. When a | ||
1264 | - file in the archive has multiple links and a filesize of 0, its data is | ||
1265 | +/* The newc and crc formats store multiply linked copies of the same file | ||
1266 | + in the archive only once. The actual data is attached to the last link | ||
1267 | + in the archive, and the other links all have a filesize of 0. When a | ||
1268 | + file in the archive has multiple links and a filesize of 0, its data is | ||
1269 | probably "attatched" to another file in the archive, so we can't create | ||
1270 | it right away. We have to "defer" creating it until we have created | ||
1271 | the file that has the data "attatched" to it. We keep a list of the | ||
1272 | @@ -680,8 +679,8 @@ | ||
1273 | |||
1274 | tape_skip_padding(in_file_des, file_hdr->c_filesize); | ||
1275 | if (file_hdr->c_nlink > 1) { | ||
1276 | - /* (see comment above for how the newc and crc formats | ||
1277 | - store multiple links). Now that we have the data | ||
1278 | + /* (see comment above for how the newc and crc formats | ||
1279 | + store multiple links). Now that we have the data | ||
1280 | for this file, create any other links to it which | ||
1281 | we defered. */ | ||
1282 | create_defered_links(file_hdr); | ||
1283 | @@ -914,8 +913,7 @@ | ||
1284 | ah += 8; | ||
1285 | } | ||
1286 | /* Read file name from input. */ | ||
1287 | - if (file_hdr->c_name != NULL) | ||
1288 | - free(file_hdr->c_name); | ||
1289 | + free(file_hdr->c_name); | ||
1290 | file_hdr->c_name = (char *)xmalloc(file_hdr->c_namesize); | ||
1291 | tape_buffered_read(file_hdr->c_name, in_des, | ||
1292 | (long)file_hdr->c_namesize); | ||
1293 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/dd.c mkinitrd-magellan/klibc/usr/utils/dd.c | ||
1294 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/dd.c 2011-11-24 01:38:51.000000000 +0100 | ||
1295 | +++ mkinitrd-magellan/klibc/usr/utils/dd.c 2011-11-24 01:44:46.000000000 +0100 | ||
1296 | @@ -486,6 +486,7 @@ | ||
1297 | wr_fd = open(OPT_OF->str, flags, 0666); | ||
1298 | if (wr_fd == -1) { | ||
1299 | perror("open output file"); | ||
1300 | + close(rd_fd); | ||
1301 | return 1; | ||
1302 | } | ||
1303 | } | ||
1304 | @@ -493,14 +494,20 @@ | ||
1305 | /* | ||
1306 | * Skip obs-sized blocks of output file. | ||
1307 | */ | ||
1308 | - if (OPT_SEEK->str && skip_blocks(wr_fd, out_buf, seek, obs)) | ||
1309 | + if (OPT_SEEK->str && skip_blocks(wr_fd, out_buf, seek, obs)) { | ||
1310 | + close(rd_fd); | ||
1311 | + close(wr_fd); | ||
1312 | return 1; | ||
1313 | + } | ||
1314 | |||
1315 | /* | ||
1316 | * Skip ibs-sized blocks of input file. | ||
1317 | */ | ||
1318 | - if (OPT_SKIP->str && skip_blocks(rd_fd, in_buf, skip, ibs)) | ||
1319 | + if (OPT_SKIP->str && skip_blocks(rd_fd, in_buf, skip, ibs)) { | ||
1320 | + close(rd_fd); | ||
1321 | + close(wr_fd); | ||
1322 | return 1; | ||
1323 | + } | ||
1324 | |||
1325 | memset(&stats, 0, sizeof(stats)); | ||
1326 | |||
1327 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/dmesg.c mkinitrd-magellan/klibc/usr/utils/dmesg.c | ||
1328 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/dmesg.c 2011-11-24 01:38:51.000000000 +0100 | ||
1329 | +++ mkinitrd-magellan/klibc/usr/utils/dmesg.c 2011-11-24 01:44:46.000000000 +0100 | ||
1330 | @@ -1,5 +1,4 @@ | ||
1331 | #include <unistd.h> | ||
1332 | -#include <errno.h> | ||
1333 | #include <stdio.h> | ||
1334 | #include <ctype.h> | ||
1335 | #include <stdlib.h> | ||
1336 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/losetup.c mkinitrd-magellan/klibc/usr/utils/losetup.c | ||
1337 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/losetup.c 2011-11-24 01:38:51.000000000 +0100 | ||
1338 | +++ mkinitrd-magellan/klibc/usr/utils/losetup.c 2011-11-24 01:44:46.000000000 +0100 | ||
1339 | @@ -17,6 +17,7 @@ | ||
1340 | #include <sys/stat.h> | ||
1341 | #include <sys/mman.h> | ||
1342 | #include <sys/sysmacros.h> | ||
1343 | +#include <stdarg.h> | ||
1344 | #include <string.h> | ||
1345 | |||
1346 | #include "loop.h" | ||
1347 | @@ -339,6 +340,7 @@ | ||
1348 | } | ||
1349 | if (ioctl (fd, LOOP_CLR_FD, 0) < 0) { | ||
1350 | perror ("ioctl: LOOP_CLR_FD"); | ||
1351 | + close (fd); | ||
1352 | return 1; | ||
1353 | } | ||
1354 | close (fd); | ||
1355 | @@ -348,9 +350,6 @@ | ||
1356 | } | ||
1357 | |||
1358 | |||
1359 | -#include <getopt.h> | ||
1360 | -#include <stdarg.h> | ||
1361 | - | ||
1362 | int verbose = 0; | ||
1363 | char *progname; | ||
1364 | |||
1365 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/mkfifo.c mkinitrd-magellan/klibc/usr/utils/mkfifo.c | ||
1366 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/mkfifo.c 2011-11-24 01:38:51.000000000 +0100 | ||
1367 | +++ mkinitrd-magellan/klibc/usr/utils/mkfifo.c 2011-11-24 01:44:46.000000000 +0100 | ||
1368 | @@ -1,6 +1,5 @@ | ||
1369 | #include <sys/stat.h> | ||
1370 | #include <sys/types.h> | ||
1371 | -#include <errno.h> | ||
1372 | #include <fcntl.h> | ||
1373 | #include <signal.h> | ||
1374 | #include <stdio.h> | ||
1375 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/mknod.c mkinitrd-magellan/klibc/usr/utils/mknod.c | ||
1376 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/mknod.c 2011-11-24 01:38:51.000000000 +0100 | ||
1377 | +++ mkinitrd-magellan/klibc/usr/utils/mknod.c 2011-11-24 01:44:46.000000000 +0100 | ||
1378 | @@ -20,6 +20,8 @@ | ||
1379 | dev_t dev; | ||
1380 | |||
1381 | progname = *argv++; | ||
1382 | + if (argc == 1) | ||
1383 | + usage(); | ||
1384 | |||
1385 | if (argv[0][0] == '-' && argv[0][1] == 'm' && !argv[0][2]) { | ||
1386 | mode_set = strtoul(argv[1], &endp, 8); | ||
1387 | @@ -36,7 +38,7 @@ | ||
1388 | typec = type[0]; | ||
1389 | |||
1390 | mode = 0; | ||
1391 | - switch (type[0]) { | ||
1392 | + switch (typec) { | ||
1393 | case 'c': | ||
1394 | mode = S_IFCHR; | ||
1395 | break; | ||
1396 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/nuke.c mkinitrd-magellan/klibc/usr/utils/nuke.c | ||
1397 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/nuke.c 2011-11-24 01:38:51.000000000 +0100 | ||
1398 | +++ mkinitrd-magellan/klibc/usr/utils/nuke.c 2011-11-24 01:44:46.000000000 +0100 | ||
1399 | @@ -32,7 +32,6 @@ | ||
1400 | * do anything. | ||
1401 | */ | ||
1402 | |||
1403 | -#include <alloca.h> | ||
1404 | #include <assert.h> | ||
1405 | #include <dirent.h> | ||
1406 | #include <errno.h> | ||
1407 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/usr/utils/umount.c mkinitrd-magellan/klibc/usr/utils/umount.c | ||
1408 | --- ../tags/mkinitrd-6_3_5/klibc/usr/utils/umount.c 2011-11-24 01:38:51.000000000 +0100 | ||
1409 | +++ mkinitrd-magellan/klibc/usr/utils/umount.c 2011-11-24 01:44:46.000000000 +0100 | ||
1410 | @@ -2,7 +2,6 @@ | ||
1411 | * by rmk | ||
1412 | */ | ||
1413 | #include <sys/mount.h> | ||
1414 | -#include <errno.h> | ||
1415 | #include <stdio.h> | ||
1416 | #include <stdlib.h> | ||
1417 | #include <string.h> | ||
1418 | diff -Naur ../tags/mkinitrd-6_3_5/klibc/VERSION mkinitrd-magellan/klibc/VERSION | ||
1419 | --- ../tags/mkinitrd-6_3_5/klibc/VERSION 2011-11-24 01:38:55.000000000 +0100 | ||
1420 | +++ mkinitrd-magellan/klibc/VERSION 2011-11-24 01:44:48.000000000 +0100 | ||
1421 | @@ -1 +1 @@ | ||
1422 | -1.5.19 | ||
1423 | +1.5.22 |