]> err.no Git - systemd/commitdiff
[PATCH] klibc v0.199
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Thu, 24 Feb 2005 18:54:47 +0000 (19:54 +0100)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 06:36:14 +0000 (23:36 -0700)
23 files changed:
klibc/MCONFIG
klibc/include/arch/parisc/klibc/archsetjmp.h [new file with mode: 0644]
klibc/klibc.spec
klibc/klibc/arch/alpha/MCONFIG
klibc/klibc/arch/arm/MCONFIG
klibc/klibc/arch/ia64/MCONFIG
klibc/klibc/arch/ia64/setjmp.S
klibc/klibc/arch/ia64/vfork.S
klibc/klibc/arch/m32r/MCONFIG
klibc/klibc/arch/mips/MCONFIG
klibc/klibc/arch/mips64/MCONFIG
klibc/klibc/arch/parisc/setjmp.S
klibc/klibc/arch/parisc/sysstub.ph
klibc/klibc/arch/ppc/MCONFIG
klibc/klibc/arch/ppc64/MCONFIG
klibc/klibc/arch/s390/MCONFIG
klibc/klibc/arch/s390x/MCONFIG
klibc/klibc/arch/sparc/MCONFIG
klibc/klibc/arch/sparc64/MCONFIG
klibc/klibc/arch/sparc64/crt0.S
klibc/klibc/memmem.c
klibc/klibc/strncat.c
klibc/version

index 7da150d03189270c61936c0584f4fff4d0e852ec..3fae2898c6fdf3a56f531c9ab6411145134220a8 100644 (file)
@@ -62,5 +62,10 @@ ERRLIST = 1
 #
 include $(KLIBSRC)/arch/$(ARCH)/MCONFIG
 
+ifeq ($(DEBUG),y)
+STRIP     = /bin/true -Since_we_are_debugging
+OPTFLAGS += -O1 -g
+endif
+
 # How to tell the linker main() is the entrypoint
 EMAIN ?= -e main
diff --git a/klibc/include/arch/parisc/klibc/archsetjmp.h b/klibc/include/arch/parisc/klibc/archsetjmp.h
new file mode 100644 (file)
index 0000000..e744498
--- /dev/null
@@ -0,0 +1,14 @@
+/*
+ * arch/parisc/include/klibc/archsetjmp.h
+ */
+
+#ifndef _KLIBC_ARCHSETJMP_H
+#define _KLIBC_ARCHSETJMP_H
+
+struct __jmp_buf {
+  double regs[21];
+};
+
+typedef struct __jmp_buf jmp_buf[1];
+
+#endif /* _SETJMP_H */
index 02131c7f259219ff63a0277bd3900f3fb68e2e53..de0a14cf638c68a34c09e8d4818baa1e000b2411 100644 (file)
@@ -1,6 +1,6 @@
 Summary: A minimal libc subset for use with initramfs.
 Name: klibc
-Version: 0.198
+Version: 0.199
 Release: 1
 License: BSD/GPL
 Group: Development/Libraries
index 5987ed5841f62eaea780d3f955ebe4c82a7cb12c..d7ab6c0b82c2cad9152b191d8ee7fe1c699d6c23 100644 (file)
@@ -5,7 +5,7 @@
 # Build configuration for this architecture
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 64
 
 # Extra linkflags when building the shared version of the library
index 6fbea32903d46876ff08b753cb9946d0c2cce4bd..fe26b996a7c29557e63d54693c7c9e58ce8ca665 100644 (file)
@@ -11,7 +11,7 @@ THUMB    = n
 CPU_ARCH := armv4
 CPU_TUNE := strongarm
 
-OPTFLAGS = -Os -fomit-frame-pointer -march=$(CPU_ARCH) -mtune=$(CPU_TUNE)
+OPTFLAGS = -Os -march=$(CPU_ARCH) -mtune=$(CPU_TUNE)
 BITSIZE  = 32
 
 ifeq ($(THUMB),y)
index 631a478e4f394024bb505a71ac1905738ab84b9b..36b30ffb8115f9e6ff8ab56268fe9dd8ee997880 100644 (file)
@@ -7,5 +7,5 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 64
index 50f91dc1d65ff56dbb362a7b30e18a6d5a75396c..7859ba41438811bab0bc713f78e4ae3546b4c933 100644 (file)
@@ -61,6 +61,7 @@
 //
        .align 32
        .global setjmp
+       .proc setjmp
 setjmp:
     //
     //  Make sure buffer is aligned at 16byte boundary
@@ -190,6 +191,7 @@ setjmp:
        
        .align 32
        .global longjmp
+       .proc longjmp
 longjmp:
     //
     //  Make sure buffer is aligned at 16byte boundary
index efcd03f7f1b0f5ef3a39849dbbcf46899de3c03f..f79bdc823472a2e02ae2126e8945a871df51b30b 100644 (file)
@@ -19,6 +19,7 @@
 /* pid_t vfork(void) */
 /* Implemented as clone(CLONE_VFORK | CLONE_VM | SIGCHLD, 0) */
 
+       .align 32
        .proc vfork
        .global vfork
 vfork: 
@@ -38,4 +39,4 @@ vfork:
        ;; 
 (p7)   mov     r8=-1
        br.ret.sptk.many b0
-       .endp
+       .endp vfork
index 6706d9ddc1b20ed2b67a7948530b5741bbace200..2673090fce4a4f9bc73788c7434540a3a5733477 100644 (file)
@@ -7,7 +7,7 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 32
 
 # Extra linkflags when building the shared version of the library
index a248973815a59502565e63f2b5ea078f217a2262..0a98918987f7a0ab0a532d50864bdde1e5a8b1e3 100644 (file)
@@ -8,7 +8,7 @@
 #
 
 ARCHREQFLAGS = -fno-pic -mno-abicalls -G 0
-OPTFLAGS     = -Os -fomit-frame-pointer
+OPTFLAGS     = -Os
 BITSIZE      = 32
 
 # Extra linkflags when building the shared version of the library
index 6a817e54b6201db908812e25172b832e918b1b29..66405e4373b3656798e9b6608bce8d713e725ac4 100644 (file)
@@ -7,5 +7,5 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 64
index 51b2b1a58bf08418e536b34c5d84716a37e0056d..aebe03a5ed50f22161e3309b2ee8d666eed89e5a 100644 (file)
@@ -27,7 +27,7 @@ setjmp:
         stw     %r17,60(%r26)
         stw     %r18,64(%r26)
         stw     %r19,68(%r26)
-        stw     %dp,72(%r26)
+        stw     %r27,72(%r26)
         stw     %r30,76(%r26)
         stw     %rp,80(%r26)
         ldo     88(%r26),%r19
index eb6b5dd92adf9aeb5be2846117194f4db8eea961..63b5e17fcf65f0aa75d8c34083e48ba25a20dc32 100644 (file)
@@ -16,7 +16,6 @@ sub make_sysstub($$$$@) {
     print OUT "\t.import __syscall_common, code\n";
     print OUT "\t.global ${fname}\n";
     print OUT "\t.export ${fname}, code\n";
-    print OUT "\t.type   ${fname}, @function\n";
     print OUT "\t.proc\n";
     print OUT "\.callinfo\n";
     print OUT "${fname}:\n";
index ff7c44db9a30085cf3fb25363073b58987c86c06..82c71070131e9ab6d88a72055a4e89a8feecbf45 100644 (file)
@@ -7,7 +7,7 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 32
 
 # Extra linkflags when building the shared version of the library
index 09881b8d40d8c4a4d5d0f03398e3004c58e5a1ce..9aba2ddbb617a79d5b6bade67ba43bbbdfa2146e 100644 (file)
@@ -8,7 +8,7 @@
 #
 
 ARCHREQFLAGS = -m64 -mcall-aixdesc
-OPTFLAGS     = -Os -fomit-frame-pointer
+OPTFLAGS     = -Os
 BITSIZE      = 64
 LDFLAGS      = -m elf64ppc
 
index e32c33faa1973ed801fbedf375c2c688601d431b..640b395b54b0973c6b11306c83c0da2247760065 100644 (file)
@@ -7,7 +7,7 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 32
 
 SHAREDFLAGS    = -Ttext 0x40000200
index 1c8232bed58758b10219a06f3e7cdb8629160468..081a0bbb528ca2a1b44aa8d8f60eadffd249ee2b 100644 (file)
@@ -7,7 +7,7 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 64
 
 SHAREDFLAGS    = -Ttext 0x40000200
index cb94f46c009fba2eee21a6cc222a6bf56b263dc6..55f8b198c2aed3df3528a7eb9218349e6cdcbb9d 100644 (file)
@@ -7,7 +7,7 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os -fomit-frame-pointer
+OPTFLAGS = -Os
 BITSIZE  = 32
 
 # Extra linkflags when building the shared version of the library
index d490c63643a1d013f26c2a8e2592521cf1df7314..a8a742412ee3522a65f18a40208b6540d773ca90 100644 (file)
@@ -8,7 +8,7 @@
 #
 
 ARCHREQFLAGS = -m64 -mptr64
-OPTFLAGS     = -Os -fomit-frame-pointer
+OPTFLAGS     = -Os
 BITSIZE      = 64
 
 LDFLAGS      = -m elf64_sparc
index 23af82ecc4938c5acac73f9a575ced59998d88da..5faee7c6be650d3b1c6460db98c08d3f86c1aa73 100644 (file)
@@ -1,2 +1,2 @@
 #define TARGET_PTR_SIZE 64
-#include "arch/sparc/crt0i.S"
+#include "../sparc/crt0i.S"
index 0f59938ffb1f6bba5d2a774f65577f20976ace19..8b5faa0014e8ad1323dd79bba2b3c45226ffe59f 100644 (file)
 
 void *memmem(const void *haystack, size_t n, const void *needle, size_t m)
 {
-  const unsigned char *y = (const unsigned char *)haystack;
-  const unsigned char *x = (const unsigned char *)needle;
+       const unsigned char *y = (const unsigned char *)haystack;
+       const unsigned char *x = (const unsigned char *)needle;
 
-  size_t j, k, l;
+       size_t j, k, l;
 
-  if ( m > n )
-    return NULL;
+       if (m > n || !m || !n)
+               return NULL;
 
-  if ( x[0] == x[1] ) {
-    k = 2;
-    l = 1;
-  } else {
-    k = 1;
-    l = 2;
-  }
+       if (1 != m) {
+               if (x[0] == x[1]) {
+                       k = 2;
+                       l = 1;
+               } else {
+                       k = 1;
+                       l = 2;
+               }
 
-  j = 0;
-  while ( j <= n-m ) {
-    if (x[1] != y[j+1]) {
-      j += k;
-    } else {
-      if ( !memcmp(x+2, y+j+2, m-2) && x[0] == y[j] )
-       return (void *)&y[j];
-      j += l;
-    }
-  }
+               j = 0;
+               while (j <= n - m) {
+                       if (x[1] != y[j + 1]) {
+                               j += k;
+                       } else {
+                               if (!memcmp(x + 2, y + j + 2, m - 2)
+                                   && x[0] == y[j])
+                                       return (void *)&y[j];
+                               j += l;
+                       }
+               }
+       } else
+               do {
+                       if (*y == *x)
+                               return (void *)y;
+                       y++;
+               } while (--n);
 
-  return NULL;
+       return NULL;
 }
index 4d8458d5ec88e44b1d83804251479f76724e6512..78223152c4f98d53445f28633f431026e4726dfb 100644 (file)
@@ -10,7 +10,6 @@ char *strncat(char *dst, const char *src, size_t n)
   char *q = strchr(dst, '\0');
   const char *p = src;
   char ch;
-  size_t nn = q-dst;
 
   while (n--) {
     *q++ = ch = *p++;
index 129efcc00767ab5574793a4c8415802bc67aeb4d..b4d2b300cdf0592521ce57276c37201a5d5c5756 100644 (file)
@@ -1 +1 @@
-0.198
+0.199