chiark / gitweb /
klibc: update to version 1.1.1
authorKay Sievers <kay.sievers@suse.de>
Tue, 6 Sep 2005 20:57:07 +0000 (22:57 +0200)
committerKay Sievers <kay.sievers@suse.de>
Tue, 6 Sep 2005 20:57:07 +0000 (22:57 +0200)
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
13 files changed:
klibc/MCONFIG
klibc/include/klibc/compiler.h
klibc/include/klibc/extern.h
klibc/include/malloc.h [new file with mode: 0644]
klibc/include/stdlib.h
klibc/include/string.h
klibc/include/sys/inotify.h [new file with mode: 0644]
klibc/klibc.spec.in
klibc/klibc/SYSCALLS.def
klibc/klibc/execvpe.c
klibc/klibc/strchr.c
klibc/klibc/strrchr.c
klibc/version

index 1141b78..450e5c7 100644 (file)
@@ -33,7 +33,7 @@ KRNLOBJ = $(SRCROOT)/linux
 KLIBCVER = -D__KLIBC__=$(shell cut -d. -f1 < $(SRCROOT)/version) \
           -D__KLIBC_MINOR__=$(shell cut -d. -f2 < $(SRCROOT)/version)
 
-ARCH    = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
+ARCH    = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/parisc.*/parisc/)
 CC     = $(CROSS)gcc
 LD      = $(CROSS)ld
 KLIBSRC = $(SRCROOT)/klibc
@@ -42,7 +42,7 @@ INCLUDE = -I$(SRCROOT)/include/arch/$(ARCH) \
          -I$(SRCROOT)/include/bits$(BITSIZE) \
          -I$(SRCROOT)/include \
          -I$(KRNLOBJ)/include -I$(KRNLOBJ)/include2 -I$(KRNLSRC)/include
-REQFLAGS = $(ARCHREQFLAGS) $(KLIBCVER) -nostdinc -iwithprefix include \
+REQFLAGS = $(ARCHREQFLAGS) $(KLIBCVER) -nostdlib -nostdinc -iwithprefix include \
           $(INCLUDE)
 LDFLAGS =
 AR      = $(CROSS)ar
index ee697ad..7ff6ff7 100644 (file)
 # define __bitwise
 #endif
 
+/* Compiler pragma to make an alias symbol */
+#define __ALIAS(__t, __f, __p, __a) \
+  __t __f __p __attribute__((weak, alias(#__a)));
+
 #endif
index f9c3467..8a73d19 100644 (file)
@@ -11,4 +11,6 @@
 #define __extern extern
 #endif
 
+#define __alias(x) __attribute__((weak, alias(x)))
+
 #endif /* _KLIBC_EXTERN_H */
diff --git a/klibc/include/malloc.h b/klibc/include/malloc.h
new file mode 100644 (file)
index 0000000..5beca8d
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * malloc.h
+ *
+ * Apparently people haven't caught on to use <stdlib.h>, which is the
+ * standard place for this crap since the 1980's...
+ */
+
+#ifndef _MALLOC_H
+#define _MALLOC_H
+
+#include <klibc/extern.h>
+#include <klibc/compiler.h>
+#include <stddef.h>
+
+__extern void free(void *);
+
+__extern __mallocfunc void *malloc(size_t);
+__extern __mallocfunc void *calloc(size_t, size_t);
+__extern __mallocfunc void *realloc(void *, size_t);
+
+#endif /* _MALLOC_H */
index 54d4504..17efc30 100644 (file)
@@ -9,6 +9,8 @@
 #include <klibc/compiler.h>
 #include <stddef.h>
 
+#include <malloc.h>
+
 #define EXIT_FAILURE 1
 #define EXIT_SUCCESS 0
 
@@ -28,7 +30,6 @@ __extern int atoi(const char *);
 __extern long atol(const char *);
 __extern long long atoll(const char *);
 __extern __noreturn exit(int);
-__extern void free(void *);
 static __inline__ long labs(long __n) {
   return (__n < 0L) ? -__n : __n;
 }
@@ -37,9 +38,6 @@ static __inline__ long long llabs(long long __n) {
   return (__n < 0LL) ? -__n : __n;
 }
 
-__extern __mallocfunc void *malloc(size_t);
-__extern __mallocfunc void *calloc(size_t, size_t);
-__extern __mallocfunc void *realloc(void *, size_t);
 __extern long strtol(const char *, char **, int);
 __extern long long strtoll(const char *, char **, int);
 __extern unsigned long strtoul(const char *, char **, int);
index 5608a3c..319be4e 100644 (file)
@@ -21,7 +21,9 @@ __extern int strcasecmp(const char *, const char *);
 __extern int strncasecmp(const char *, const char *, size_t);
 __extern char *strcat(char *, const char *);
 __extern char *strchr(const char *, int);
+__extern char *index(const char *, int);
 __extern char *strrchr(const char *, int);
+__extern char *rindex(const char *, int);
 __extern int strcmp(const char *, const char *);
 __extern char *strcpy(char *, const char *);
 __extern size_t strcspn(const char *, const char *);
diff --git a/klibc/include/sys/inotify.h b/klibc/include/sys/inotify.h
new file mode 100644 (file)
index 0000000..74fc714
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+ * sys/inotify.h
+ */
+
+#ifndef _SYS_INOTIFY_H
+#define _SYS_INOTIFY_H
+
+#include <sys/types.h>
+#include <linux/inotify.h>
+#include <klibc/extern.h>
+
+__extern int inotify_init(void);
+__extern int inotify_add_watch(int, const char *, __u32);
+__extern int inotify_rm_watch(int, __u32);
+
+#endif /* _SYS_INOTIFY_H */
index cab496b..eef5dbf 100644 (file)
@@ -7,7 +7,7 @@ Group: Development/Libraries
 URL: http://www.zytor.com/mailman/listinfo/klibc
 Source: http://www.kernel.org/pub/linux/libs/klibc-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
-BuildRequires: kernel >= 2.6.0
+BuildRequires: kernel >= 2.6.0, kernel-devel
 Packager: H. Peter Anvin <hpa@zytor.com>
 Prefix: /usr
 Vendor: Starving Linux Artists
@@ -44,7 +44,7 @@ embedded systems.
 
 %prep
 %setup -q
-cp -dRs /lib/modules/`uname -r`/build ./linux
+cp -dRs /lib/modules/`uname -r`/build/ ./linux
 # Shouldn't need this when getting the build tree from /lib/modules
 # make -C linux defconfig ARCH=%{_target_cpu}
 # make -C linux prepare ARCH=%{_target_cpu}
index 11d8c9a..b78919b 100644 (file)
@@ -114,6 +114,9 @@ int lchown32,lchown::lchown(const char *, uid_t, gid_t)
 int getcwd::__getcwd(char *, size_t)
 <?> int utime(const char *, const struct utimbuf *)
 <?> int utimes(const char *, const struct timeval *)
+<?> int inotify_init(void)
+<?> int inotify_add_watch(int, const char *, __u32)
+<?> int inotify_rm_watch(int, __u32)
 
 ;
 ; I/O operations
index afd791a..fcd5b6f 100644 (file)
@@ -9,7 +9,9 @@
  * Since execlpe() and execvpe() aren't in POSIX, nor in glibc,
  * I have followed QNX precedent in the implementation of the PATH:
  * the PATH that is used is the one in the current environment, not
- * in the new environment.
+ * in the new environment.  Otherwise it would be impossible to pass
+ * a different PATH to the new process than the one one would want to
+ * use to search.
  */
 
 #include <errno.h>
index 192f836..f657095 100644 (file)
@@ -3,6 +3,7 @@
  */
 
 #include <string.h>
+#include <klibc/compiler.h>
 
 char *strchr(const char *s, int c)
 {
@@ -14,3 +15,5 @@ char *strchr(const char *s, int c)
 
   return (char *)s;
 }
+
+__ALIAS(char *, index, (const char *, int), strchr)
index 3b42464..5a0cbe3 100644 (file)
@@ -3,6 +3,7 @@
  */
 
 #include <string.h>
+#include <klibc/compiler.h>
 
 char *strrchr(const char *s, int c)
 {
@@ -16,3 +17,5 @@ char *strrchr(const char *s, int c)
 
   return (char *)found;
 }
+
+__ALIAS(char *, rindex, (const char *, int), strrchr)
index 5b09c67..45a1b3f 100644 (file)
@@ -1 +1 @@
-1.0.14
+1.1.2