add directory kernel
This commit is contained in:
71
kernel/0.1x/linux-0.10/lib/Makefile
Normal file
71
kernel/0.1x/linux-0.10/lib/Makefile
Normal file
@@ -0,0 +1,71 @@
|
||||
#
|
||||
# Makefile for some libs needed in the kernel.
|
||||
#
|
||||
# Note! Dependencies are done automagically by 'make dep', which also
|
||||
# removes any old dependencies. DON'T put your own dependencies here
|
||||
# unless it's something special (ie not a .c file).
|
||||
#
|
||||
|
||||
AR =gar
|
||||
AS =gas
|
||||
LD =gld
|
||||
LDFLAGS =-s -x
|
||||
CC =gcc
|
||||
CFLAGS =-Wall -O -fstrength-reduce -fomit-frame-pointer -fcombine-regs \
|
||||
-finline-functions -mstring-insns -nostdinc -I../include
|
||||
CPP =gcc -E -nostdinc -I../include
|
||||
|
||||
.c.s:
|
||||
$(CC) $(CFLAGS) \
|
||||
-S -o $*.s $<
|
||||
.s.o:
|
||||
$(AS) -c -o $*.o $<
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) \
|
||||
-c -o $*.o $<
|
||||
|
||||
OBJS = ctype.o _exit.o open.o close.o errno.o write.o dup.o setsid.o \
|
||||
execve.o wait.o string.o
|
||||
|
||||
lib.a: $(OBJS)
|
||||
$(AR) rcs lib.a $(OBJS)
|
||||
sync
|
||||
|
||||
clean:
|
||||
rm -f core *.o *.a tmp_make
|
||||
for i in *.c;do rm -f `basename $$i .c`.s;done
|
||||
|
||||
dep:
|
||||
sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
|
||||
(for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \
|
||||
$(CPP) -M $$i;done) >> tmp_make
|
||||
cp tmp_make Makefile
|
||||
|
||||
### Dependencies:
|
||||
_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h
|
||||
close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h
|
||||
ctype.s ctype.o : ctype.c ../include/ctype.h
|
||||
dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h
|
||||
errno.s errno.o : errno.c
|
||||
execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h
|
||||
open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h ../include/stdarg.h
|
||||
setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h
|
||||
string.s string.o : string.c ../include/string.h
|
||||
wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h ../include/sys/wait.h
|
||||
write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \
|
||||
../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \
|
||||
../include/utime.h
|
||||
13
kernel/0.1x/linux-0.10/lib/_exit.c
Normal file
13
kernel/0.1x/linux-0.10/lib/_exit.c
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* linux/lib/_exit.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
|
||||
volatile void _exit(int exit_code)
|
||||
{
|
||||
__asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code));
|
||||
}
|
||||
10
kernel/0.1x/linux-0.10/lib/close.c
Normal file
10
kernel/0.1x/linux-0.10/lib/close.c
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* linux/lib/close.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
|
||||
_syscall1(int,close,int,fd)
|
||||
35
kernel/0.1x/linux-0.10/lib/ctype.c
Normal file
35
kernel/0.1x/linux-0.10/lib/ctype.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* linux/lib/ctype.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
char _ctmp;
|
||||
unsigned char _ctype[] = {0x00, /* EOF */
|
||||
_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */
|
||||
_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */
|
||||
_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */
|
||||
_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */
|
||||
_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */
|
||||
_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */
|
||||
_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */
|
||||
_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */
|
||||
_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */
|
||||
_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */
|
||||
_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */
|
||||
_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */
|
||||
_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */
|
||||
_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */
|
||||
_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */
|
||||
_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */
|
||||
|
||||
10
kernel/0.1x/linux-0.10/lib/dup.c
Normal file
10
kernel/0.1x/linux-0.10/lib/dup.c
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* linux/lib/dup.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
|
||||
_syscall1(int,dup,int,fd)
|
||||
7
kernel/0.1x/linux-0.10/lib/errno.c
Normal file
7
kernel/0.1x/linux-0.10/lib/errno.c
Normal file
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
* linux/lib/errno.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
int errno;
|
||||
10
kernel/0.1x/linux-0.10/lib/execve.c
Normal file
10
kernel/0.1x/linux-0.10/lib/execve.c
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* linux/lib/execve.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
|
||||
_syscall3(int,execve,const char *,file,char **,argv,char **,envp)
|
||||
25
kernel/0.1x/linux-0.10/lib/open.c
Normal file
25
kernel/0.1x/linux-0.10/lib/open.c
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* linux/lib/open.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
int open(const char * filename, int flag, ...)
|
||||
{
|
||||
register int res;
|
||||
va_list arg;
|
||||
|
||||
va_start(arg,flag);
|
||||
__asm__("int $0x80"
|
||||
:"=a" (res)
|
||||
:"0" (__NR_open),"b" (filename),"c" (flag),
|
||||
"d" (va_arg(arg,int)));
|
||||
if (res>=0)
|
||||
return res;
|
||||
errno = -res;
|
||||
return -1;
|
||||
}
|
||||
10
kernel/0.1x/linux-0.10/lib/setsid.c
Normal file
10
kernel/0.1x/linux-0.10/lib/setsid.c
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* linux/lib/setsid.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
|
||||
_syscall0(pid_t,setsid)
|
||||
14
kernel/0.1x/linux-0.10/lib/string.c
Normal file
14
kernel/0.1x/linux-0.10/lib/string.c
Normal file
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* linux/lib/string.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#ifndef __GNUC__
|
||||
#error I want gcc!
|
||||
#endif
|
||||
|
||||
#define extern
|
||||
#define inline
|
||||
#define __LIBRARY__
|
||||
#include <string.h>
|
||||
16
kernel/0.1x/linux-0.10/lib/wait.c
Normal file
16
kernel/0.1x/linux-0.10/lib/wait.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* linux/lib/wait.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options)
|
||||
|
||||
pid_t wait(int * wait_stat)
|
||||
{
|
||||
return waitpid(-1,wait_stat,0);
|
||||
}
|
||||
10
kernel/0.1x/linux-0.10/lib/write.c
Normal file
10
kernel/0.1x/linux-0.10/lib/write.c
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* linux/lib/write.c
|
||||
*
|
||||
* (C) 1991 Linus Torvalds
|
||||
*/
|
||||
|
||||
#define __LIBRARY__
|
||||
#include <unistd.h>
|
||||
|
||||
_syscall3(int,write,int,fd,const char *,buf,off_t,count)
|
||||
Reference in New Issue
Block a user