chiark / gitweb /
[PATCH] klibc: version 0.214
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Mon, 7 Mar 2005 06:04:46 +0000 (07:04 +0100)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 06:51:00 +0000 (23:51 -0700)
klibc/MCONFIG
klibc/Makefile
klibc/include/klibc/compiler.h
klibc/klcc.in
klibc/klibc/arch/sparc/MCONFIG
klibc/klibc/arch/sparc/Makefile.inc
klibc/klibc/arch/sparc/crt0.S
klibc/version

index c833499..7a24b82 100644 (file)
@@ -59,7 +59,7 @@ HOST_LIBS    =
 # Static library paths
 CRT0      = $(KLIBOBJ)/crt0.o
 KLIBC     = $(KLIBOBJ)/libc.a
-LIBGCC    = $(shell $(CC) --print-libgcc)
+LIBGCC    = $(shell $(CC) $(REQFLAGS) $(OPTFLAGS) --print-libgcc)
 
 # Shared library paths
 CRTSHARED = $(KLIBOBJ)/interp.o
index 812ea92..a512aa3 100644 (file)
@@ -54,7 +54,7 @@ local-install: $(CROSS)klcc
        mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
        mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
        mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
-       set -xe ; for d in linux asm-$(ARCH) asm-generic $(ASMARCH); do \
+       set -xe ; for d in linux scsi asm-$(ARCH) asm-generic $(ASMARCH); do \
          mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d ; \
          for r in $(KRNLSRC)/include $(KRNLOBJ)/include $(KRNLOBJ)/include2 ; do \
            [ ! -d $$r/$$d ] || \
index 823996e..ee697ad 100644 (file)
@@ -22,7 +22,7 @@
 
 /* How to declare a function that *must* be inlined */
 #ifdef __GNUC__
-# if __GNUC_MAJOR__ >= 3
+# if __GNUC__ >= 3
 #  define __must_inline static __inline__ __attribute__((always_inline))
 # else
 #  define __must_inline extern __inline__
 #endif
 
 /* malloc() function (returns unaliased pointer) */
-#if defined(__GNUC__) && (__GNUC_MAJOR__ >= 3)
+#if defined(__GNUC__) && (__GNUC__ >= 3)
 # define __mallocfunc __attribute__((malloc))
 #else
 # define __mallocfunc
 #endif
 
 /* likely/unlikely */
-#if defined(__GNUC__) && (__GNUC_MAJOR__ > 2 || (__GNUC_MAJOR__ == 2 && __GNUC_MINOR__ >= 95))
+#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))
 # define __likely(x)   __builtin_expect((x), 1)
 # define __unlikely(x) __builtin_expect((x), 0)
 #else
index bdd03e7..d8721c9 100644 (file)
@@ -78,6 +78,11 @@ sub mysystem(@) {
 }
 
 #
+# Initialization
+# 
+open(NULL, '+<', '/dev/null') or die "$0: cannot open /dev/null\n";
+
+#
 # Begin parsing options.
 #
 
@@ -191,10 +196,17 @@ if ( $operation ne '' ) {
        }
     }
 
+    # Get the libgcc pathname for the *current* gcc
+    open(LIBGCC, '-|', $CC, @ccopt, '-print-libgcc-file-name')
+       or die "$0: cannot get libgcc filename\n";
+    $libgcc = <LIBGCC>;
+    chomp $libgcc;
+    close(LIBGCC);
+
     if ( $shared ) {
-       $rv = mysystem($LD, @LDFLAGS, @sharedopt, @ldopt, @outopt, @objs, @sharedlib);
+       $rv = mysystem($LD, @LDFLAGS, @sharedopt, @ldopt, @outopt, @objs, @sharedlib, $libgcc);
     } else {
-       $rv = mysystem($LD, @LDFLAGS, @staticopt, @ldopt, @outopt, @objs, @staticlib);
+       $rv = mysystem($LD, @LDFLAGS, @staticopt, @ldopt, @outopt, @objs, @staticlib, $libgcc);
     }
 
     unlink(@rmobjs);
index 55f8b19..3a5cbaa 100644 (file)
@@ -7,7 +7,7 @@
 # accordingly.
 #
 
-OPTFLAGS = -Os
+OPTFLAGS = -Os -m32 -mptr32
 BITSIZE  = 32
 
 # Extra linkflags when building the shared version of the library
index 6ea6611..bea1dbc 100644 (file)
@@ -16,7 +16,12 @@ ARCHOBJS = \
        arch/$(ARCH)/umul.o \
        arch/$(ARCH)/setjmp.o \
        arch/$(ARCH)/syscall.o \
-       arch/$(ARCH)/sysfork.o
+       arch/$(ARCH)/sysfork.o \
+       libgcc/__divdi3.o \
+       libgcc/__moddi3.o \
+       libgcc/__udivdi3.o \
+       libgcc/__umoddi3.o \
+       libgcc/__udivmoddi4.o
 
 arch/$(ARCH)/sdiv.S: arch/$(ARCH)/divrem.m4
        @echo 'building $@ from $^'
index 148cb4b..63db188 100644 (file)
@@ -1,2 +1,2 @@
 #define TARGET_PTR_SIZE        32
-#include "arch/sparc/crt0i.S"
+#include "crt0i.S"
index 1f39702..136a629 100644 (file)
@@ -1 +1 @@
-0.211
+0.214