Browse Source

Patch from "D. Jeff Dionne / VE3DJF" <jeff@rt-control.com>
to allow uC-libc to compile under x86.
-Erik

Erik Andersen 24 years ago
parent
commit
e9efa23ae1

+ 7 - 6
Makefile

@@ -1,17 +1,18 @@
 DIRS = headers error gtermcap misc stdio2 time getent regexp string termios sysdeps \
 malloc-simple net rpc
 
-all: libc.a crt0.o
+all: libc.a
+# crt0.o
 
 libc.a: $(DIRS) dummy
-	m68k-pic-coff-ranlib $@
+	$(CROSS)ranlib $@
 
-crt0.o: crt
+#crt0.o: crt
 
 headers: dummy
-	if [ ! -L "include/asm" ]; then ln -s ../../linux/include/asm include/asm ; fi
-	if [ ! -L "include/net" ]; then ln -s ../../linux/include/net include/net ; fi
-	if [ ! -L "include/linux" ]; then ln -s ../../linux/include/linux include/linux ; fi
+	if [ ! -L "include/asm" ]; then ln -s /usr/src/linux/include/asm include/asm ; fi
+	if [ ! -L "include/net" ]; then ln -s /usr/src/linux/include/net include/net ; fi
+	if [ ! -L "include/linux" ]; then ln -s /usr/src/linux/include/linux include/linux ; fi
 
 error: dummy
 	make -C error

+ 1 - 0
include/errno.h

@@ -13,6 +13,7 @@ extern int _sys_nerr;
 extern char *_sys_errlist[];
 #endif
 
+
 extern int	errno;
 
 __BEGIN_DECLS

+ 2 - 2
include/sys/bitypes.h

@@ -83,12 +83,12 @@
 	typedef unsigned short          u_int16_t;
 	typedef int                       int32_t;
 	typedef unsigned int            u_int32_t;
-
+#if 0
 # if __GNUC__ >= 2 && !defined(__STRICT_ANSI__)
 	typedef long long                 int64_t;
 	typedef unsigned long long      u_int64_t;
 # endif
-
+#endif
 #endif	/* __BIT_TYPES_DEFINED__ */
 
 /* #endif  __USE_BSD */

+ 0 - 5
include/sys/cdefs.h

@@ -10,7 +10,6 @@
 
 /* This is not a typedef so `const __ptr_t' does the right thing.  */
 #define __ptr_t void *
-typedef long double __long_double_t;
 
 #else
 
@@ -19,10 +18,6 @@ typedef long double __long_double_t;
 
 #define __ptr_t char *
 
-#ifndef __HAS_NO_FLOATS__
-typedef double __long_double_t;
-#endif
-
 #endif
 
 /* No C++ */

+ 1 - 0
include/sys/socket.h

@@ -2,6 +2,7 @@
 #define _SYS_SOCKET_H
 
 #include <features.h>
+#include <errno.h>
 #include <sys/types.h>
 #include <linux/socket.h>
 

+ 1 - 0
include/sys/wait.h

@@ -24,6 +24,7 @@ Cambridge, MA 02139, USA.  */
 
 #define	_SYS_WAIT_H	1
 #include <features.h>
+#include <errno.h>
 
 __BEGIN_DECLS
 

+ 7 - 1
include/syscall.h

@@ -1,6 +1,12 @@
+#if 0
 #include <errno.h>
-
+#endif
 #define __check_errno(__res)    ((__res) >= 0)
 
+#ifdef __mc68000__
 #include <m68k/syscall.h>
+#else
+#include <i386/syscall.h>
+#endif
+
 #include <sys/syscall.h>

+ 6 - 2
include/unistd.h

@@ -6,8 +6,9 @@
 #define __UNISTD_H
 
 #include <errno.h>
+#ifdef __mc68000__
 #include <asm/unistd.h>
-
+#endif
 #define STDIN_FILENO 0
 #define STDOUT_FILENO 1
 #define STDERR_FILENO 2
@@ -72,6 +73,8 @@ __res; \
 })
 #endif
 
+#ifdef __mc68000__
+
 #define vfork() ({						\
 register unsigned long __res __asm__ ("%d0") = __NR_fork;	\
 __asm__ __volatile__ ("trap  #0"				\
@@ -86,9 +89,10 @@ if (__res >= (unsigned long)-4096) {				\
 })
 
 
+
 #define fork fork_not_available_use_vfork
 #define clone clone_not_available_use__clone
-		
+#endif		
 
 #ifndef SEEK_SET
 #define SEEK_SET 0

+ 4 - 4
libc/inet/Makefile

@@ -6,11 +6,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -fno-builtin -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -fno-builtin -I../include
 
 ASRC=addr.c
 AOBJ=inet_aton.o inet_addr.o inet_ntoa.o

+ 3 - 3
libc/inet/rpc/Makefile

@@ -1,6 +1,6 @@
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
 CFLAGS= -O2 -fomit-frame-pointer -Dlinux -I../include
 

+ 4 - 4
libc/misc/time/Makefile

@@ -4,11 +4,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -I../include
 
 OBJ=localtime.o gmtime.o asctime.o ctime.o asc_conv.o tm_conv.o mktime.o \
 	localtime_r.o gmtime_r.o asctime_r.o ctime_r.o

+ 4 - 4
libc/pwd_grp/Makefile

@@ -4,11 +4,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -I../include
 
 CFLAGS=$(ARCH) -ansi $(CCFLAGS) $(DEFS)
 

+ 4 - 4
libc/stdio/Makefile

@@ -4,11 +4,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -I../include
 
 ASRC=stdio.c
 AOBJ=_stdio_init.o fputc.o fgetc.o fflush.o fgets.o gets.o fputs.o	\

+ 4 - 4
libc/stdlib/Makefile

@@ -4,11 +4,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -fno-builtin -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -fno-builtin -I../include
 
 MSRC=aliases.c
 MOBJ=abs.o remove.o creat.o bcopy.o bzero.o

+ 4 - 4
libc/stdlib/malloc/Makefile

@@ -4,11 +4,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -I../include
 
 
 MSRC=alloc.c

+ 4 - 4
libc/string/Makefile

@@ -4,11 +4,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -I../include
 
 SSRC=string.c
 SOBJ=strlen.o strcat.o strcpy.o strcmp.o strncat.o strncpy.o strncmp.o	\

+ 4 - 4
libc/termios/Makefile

@@ -4,11 +4,11 @@
 
 LIBC=../libc.a
 
-CC=m68k-pic-coff-gcc
-AR=m68k-pic-coff-ar
-RANLIB=m68k-pic-coff-ranlib
+CC=$(CROSS)gcc
+AR=$(CROSS)ar
+RANLIB=$(CROSS)ranlib
 
-CCFLAGS= -O2 -m68000 -msoft-float -I../include
+CCFLAGS= -O2 $(CPUFLAGS) -I../include
 
 TSRC=termios.c
 TOBJ=tcsetattr.o tcgetattr.o tcdrain.o tcflow.o tcflush.o tcsendbreak.o	\