* [BK PATCH] klibc for 2.5.62
@ 2003-02-19 19:39 Greg KH
2003-02-19 20:09 ` Sam Ravnborg
0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2003-02-19 19:39 UTC (permalink / raw)
To: torvalds; +Cc: linux-kernel
Hi,
Finally, here's the klibc addition against the latest 2.5.62 bk kernel
tree. I'd like to thank Jeff Garzik, Peter Anvin, Russell King, and Kai
Germaschews for doing all of this work. I've merely taken their code
tweaked a few things and placed it in a repository to pull from. Thanks
also to Arnd Bergmann for finding a few nasty bugs by getting the s390
code to build and run properly.
Right now, klibc is built and a small sample program is added to the
initramfs image that is linked against klibc. I've backed out Kai's
CONFIG_INITRAMFS and root filesystem mounting code, if you look at the
changesets below. No new functionality is added to the kernel, yet :)
There might be a few problems when building on non-i386 platforms, but
I'm available (and so is Kai) to help fix up any problems found.
Please pull from:
bk://kernel.bkbits.net/gregkh/linux/klibc-2.5
Due to the size of some of these patches, I've placed them all at:
kernel.org/pub/linux/kernel/people/gregkh/klibc/klibc-*2.5.62*
thanks,
greg k-h
usr/lib/socketcommon.h | 25
usr/lib/syscommon.h | 29
Makefile | 84
init/Kconfig | 10
init/Makefile | 7
init/do_mounts.c | 6
init/main.c | 22
scripts/Makefile | 5
scripts/Makefile.build | 6
scripts/Makefile.clean | 11
scripts/Makefile.lib | 3
scripts/Makefile.user | 209 +
usr/Makefile | 54
usr/gen_init_cpio.c | 95
usr/lib/CAVEATS | 51
usr/lib/MCONFIG | 88
usr/lib/Makefile | 293 +
usr/lib/README | 57
usr/lib/SOCKETCALLS | 21
usr/lib/SYSCALLS | 146
usr/lib/__shared_init.c | 56
usr/lib/__signal.c | 22
usr/lib/__static_init.c | 40
usr/lib/abort.c | 19
usr/lib/alarm.c | 29
usr/lib/arch/README | 67
usr/lib/arch/alpha/MCONFIG | 17
usr/lib/arch/alpha/Makefile.inc | 93
usr/lib/arch/alpha/README-gcc | 23
usr/lib/arch/alpha/crt0.S | 21
usr/lib/arch/alpha/divide.c | 57
usr/lib/arch/alpha/include/klibc/archsetjmp.h | 24
usr/lib/arch/alpha/include/klibc/archsys.h | 53
usr/lib/arch/alpha/include/machine/asm.h | 44
usr/lib/arch/alpha/pipe.c | 28
usr/lib/arch/alpha/setjmp.S | 61
usr/lib/arch/arm/MCONFIG | 26
usr/lib/arch/arm/Makefile.inc | 31
usr/lib/arch/arm/crt0.S | 25
usr/lib/arch/arm/include/klibc/archsetjmp.h | 14
usr/lib/arch/arm/include/klibc/archsys.h | 12
usr/lib/arch/arm/setjmp-arm.S | 40
usr/lib/arch/arm/setjmp-thumb.S | 58
usr/lib/arch/cris/MCONFIG | 11
usr/lib/arch/cris/Makefile.inc | 10
usr/lib/arch/cris/include/klibc/archsys.h | 12
usr/lib/arch/i386/MCONFIG | 24
usr/lib/arch/i386/Makefile.inc | 27
usr/lib/arch/i386/crt0.S | 33
usr/lib/arch/i386/exits.S | 45
usr/lib/arch/i386/include/klibc/archsetjmp.h | 19
usr/lib/arch/i386/include/klibc/archsys.h | 96
usr/lib/arch/i386/include/klibc/diverr.h | 16
usr/lib/arch/i386/libgcc/__ashldi3.S | 29
usr/lib/arch/i386/libgcc/__ashrdi3.S | 29
usr/lib/arch/i386/libgcc/__lshrdi3.S | 29
usr/lib/arch/i386/libgcc/__muldi3.S | 34
usr/lib/arch/i386/libgcc/__negdi2.S | 21
usr/lib/arch/i386/setjmp.S | 58
usr/lib/arch/i386/socketcall.S | 38
usr/lib/arch/ia64/MCONFIG | 11
usr/lib/arch/ia64/Makefile.inc | 10
usr/lib/arch/ia64/include/klibc/archsys.h | 12
usr/lib/arch/m68k/MCONFIG | 11
usr/lib/arch/m68k/Makefile.inc | 10
usr/lib/arch/m68k/include/klibc/archsys.h | 12
usr/lib/arch/mips/MCONFIG | 18
usr/lib/arch/mips/Makefile.inc | 24
usr/lib/arch/mips/crt0.S | 25
usr/lib/arch/mips/include/klibc/archsetjmp.h | 39
usr/lib/arch/mips/include/klibc/archsys.h | 12
usr/lib/arch/mips/include/machine/asm.h | 11
usr/lib/arch/mips/include/sgidefs.h | 20
usr/lib/arch/mips/pipe.S | 16
usr/lib/arch/mips/setjmp.S | 82
usr/lib/arch/mips/vfork.S | 19
usr/lib/arch/mips64/MCONFIG | 11
usr/lib/arch/mips64/Makefile.inc | 10
usr/lib/arch/mips64/include/klibc/archsys.h | 12
usr/lib/arch/parisc/MCONFIG | 11
usr/lib/arch/parisc/Makefile.inc | 10
usr/lib/arch/parisc/include/klibc/archsys.h | 12
usr/lib/arch/ppc/MCONFIG | 11
usr/lib/arch/ppc/Makefile.inc | 15
usr/lib/arch/ppc/crt0.S | 29
usr/lib/arch/ppc/include/klibc/archsetjmp.h | 36
usr/lib/arch/ppc/include/klibc/archsys.h | 55
usr/lib/arch/ppc/setjmp.S | 35
usr/lib/arch/ppc64/MCONFIG | 11
usr/lib/arch/ppc64/Makefile.inc | 10
usr/lib/arch/ppc64/crt0.S | 38
usr/lib/arch/ppc64/include/klibc/archsys.h | 52
usr/lib/arch/s390/MCONFIG | 13
usr/lib/arch/s390/Makefile.inc | 16
usr/lib/arch/s390/crt0.S | 25
usr/lib/arch/s390/include/klibc/archsetjmp.h | 15
usr/lib/arch/s390/include/klibc/archsys.h | 41
usr/lib/arch/s390/setjmp.S | 32
usr/lib/arch/s390x/MCONFIG | 13
usr/lib/arch/s390x/Makefile.inc | 16
usr/lib/arch/s390x/crt0.S | 21
usr/lib/arch/s390x/include/klibc/archsetjmp.h | 15
usr/lib/arch/s390x/include/klibc/archsys.h | 41
usr/lib/arch/s390x/setjmp.S | 36
usr/lib/arch/sh/MCONFIG | 11
usr/lib/arch/sh/Makefile.inc | 10
usr/lib/arch/sh/include/klibc/archsys.h | 12
usr/lib/arch/sparc/MCONFIG | 18
usr/lib/arch/sparc/Makefile.inc | 44
usr/lib/arch/sparc/crt0.S | 2
usr/lib/arch/sparc/crt0i.S | 100
usr/lib/arch/sparc/divrem.m4 | 276 +
usr/lib/arch/sparc/include/klibc/archsetjmp.h | 16
usr/lib/arch/sparc/include/klibc/archsys.h | 65
usr/lib/arch/sparc/include/machine/asm.h | 192 +
usr/lib/arch/sparc/include/machine/frame.h | 138
usr/lib/arch/sparc/include/machine/trap.h | 141
usr/lib/arch/sparc/setjmp.S | 38
usr/lib/arch/sparc/smul.S | 160
usr/lib/arch/sparc/umul.S | 193 +
usr/lib/arch/sparc64/MCONFIG | 21
usr/lib/arch/sparc64/Makefile.inc | 13
usr/lib/arch/sparc64/crt0.S | 2
usr/lib/arch/sparc64/include/klibc/archsetjmp.h | 16
usr/lib/arch/sparc64/include/klibc/archsys.h | 157
usr/lib/arch/sparc64/setjmp.S | 55
usr/lib/arch/x86_64/MCONFIG | 16
usr/lib/arch/x86_64/Makefile.inc | 16
usr/lib/arch/x86_64/crt0.S | 22
usr/lib/arch/x86_64/exits.S | 35
usr/lib/arch/x86_64/include/klibc/archsetjmp.h | 21
usr/lib/arch/x86_64/include/klibc/archsys.h | 32
usr/lib/arch/x86_64/setjmp.S | 54
usr/lib/assert.c | 13
usr/lib/atexit.c | 10
usr/lib/atexit.h | 19
usr/lib/atoi.c | 3
usr/lib/atol.c | 3
usr/lib/atoll.c | 3
usr/lib/atox.c | 14
usr/lib/brk.c | 24
usr/lib/bsd_signal.c | 11
usr/lib/calloc.c | 21
usr/lib/closelog.c | 18
usr/lib/creat.c | 12
usr/lib/ctypes.c | 281 +
usr/lib/exec_l.c | 57
usr/lib/execl.c | 8
usr/lib/execle.c | 8
usr/lib/execlp.c | 8
usr/lib/execlpe.c | 8
usr/lib/execv.c | 13
usr/lib/execvp.c | 13
usr/lib/execvpe.c | 73
usr/lib/exitc.c | 36
usr/lib/fdatasync.c | 15
usr/lib/fgetc.c | 20
usr/lib/fgets.c | 33
usr/lib/fopen.c | 46
usr/lib/fork.c | 29
usr/lib/fprintf.c | 19
usr/lib/fputc.c | 14
usr/lib/fputs.c | 15
usr/lib/fread.c | 35
usr/lib/fread2.c | 13
usr/lib/fwrite.c | 35
usr/lib/fwrite2.c | 13
usr/lib/getcwd.c | 15
usr/lib/getdomainname.c | 25
usr/lib/getenv.c | 22
usr/lib/gethostname.c | 25
usr/lib/getopt.c | 74
usr/lib/getpriority.c | 25
usr/lib/globals.c | 10
usr/lib/include/alloca.h | 13
usr/lib/include/arpa/inet.h | 24
usr/lib/include/assert.h | 22
usr/lib/include/bits32/bitsize/limits.h | 14
usr/lib/include/bits32/bitsize/stddef.h | 18
usr/lib/include/bits32/bitsize/stdint.h | 34
usr/lib/include/bits32/bitsize/stdintconst.h | 18
usr/lib/include/bits32/bitsize/stdintlimits.h | 22
usr/lib/include/bits64/bitsize/limits.h | 14
usr/lib/include/bits64/bitsize/stddef.h | 13
usr/lib/include/bits64/bitsize/stdint.h | 36
usr/lib/include/bits64/bitsize/stdintconst.h | 18
usr/lib/include/bits64/bitsize/stdintlimits.h | 22
usr/lib/include/ctype.h | 117
usr/lib/include/dirent.h | 20
usr/lib/include/elf.h | 12
usr/lib/include/endian.h | 41
usr/lib/include/errno.h | 8
usr/lib/include/fcntl.h | 11
usr/lib/include/grp.h | 13
usr/lib/include/inttypes.h | 226 +
usr/lib/include/klibc/compiler.h | 61
usr/lib/include/klibc/diverr.h | 16
usr/lib/include/klibc/extern.h | 14
usr/lib/include/limits.h | 40
usr/lib/include/net/if.h | 1
usr/lib/include/net/if_arp.h | 1
usr/lib/include/net/if_ether.h | 1
usr/lib/include/net/if_packet.h | 1
usr/lib/include/netinet/in.h | 29
usr/lib/include/netinet/in6.h | 10
usr/lib/include/netinet/ip.h | 13
usr/lib/include/netinet/tcp.h | 11
usr/lib/include/netinet/udp.h | 19
usr/lib/include/poll.h | 16
usr/lib/include/sched.h | 23
usr/lib/include/setjmp.h | 43
usr/lib/include/signal.h | 72
usr/lib/include/stdarg.h | 14
usr/lib/include/stddef.h | 24
usr/lib/include/stdint.h | 113
usr/lib/include/stdio.h | 109
usr/lib/include/stdlib.h | 94
usr/lib/include/string.h | 37
usr/lib/include/sys/dirent.h | 13
usr/lib/include/sys/fsuid.h | 14
usr/lib/include/sys/ioctl.h | 14
usr/lib/include/sys/klog.h | 24
usr/lib/include/sys/mman.h | 21
usr/lib/include/sys/module.h | 158
usr/lib/include/sys/mount.h | 55
usr/lib/include/sys/param.h | 11
usr/lib/include/sys/reboot.h | 25
usr/lib/include/sys/resource.h | 15
usr/lib/include/sys/select.h | 13
usr/lib/include/sys/socket.h | 50
usr/lib/include/sys/socketcalls.h | 28
usr/lib/include/sys/stat.h | 23
usr/lib/include/sys/syscall.h | 15
usr/lib/include/sys/time.h | 16
usr/lib/include/sys/times.h | 14
usr/lib/include/sys/types.h | 131
usr/lib/include/sys/uio.h | 15
usr/lib/include/sys/utime.h | 10
usr/lib/include/sys/utsname.h | 23
usr/lib/include/sys/vfs.h | 14
usr/lib/include/sys/wait.h | 19
usr/lib/include/syslog.h | 53
usr/lib/include/termios.h | 86
usr/lib/include/time.h | 14
usr/lib/include/unistd.h | 106
usr/lib/include/utime.h | 15
usr/lib/inet/inet_addr.c | 14
usr/lib/inet/inet_aton.c | 23
usr/lib/inet/inet_ntoa.c | 19
usr/lib/inet/inet_ntop.c | 52
usr/lib/inet/inet_pton.c | 74
usr/lib/interp.S | 11
usr/lib/isatty.c | 21
usr/lib/libgcc/__divdi3.c | 29
usr/lib/libgcc/__divsi3.c | 29
usr/lib/libgcc/__moddi3.c | 29
usr/lib/libgcc/__modsi3.c | 29
usr/lib/libgcc/__udivdi3.c | 13
usr/lib/libgcc/__udivmoddi4.c | 32
usr/lib/libgcc/__udivmodsi4.c | 32
usr/lib/libgcc/__udivsi3.c | 13
usr/lib/libgcc/__umoddi3.c | 16
usr/lib/libgcc/__umodsi3.c | 16
usr/lib/llseek.c | 34
usr/lib/lrand48.c | 42
usr/lib/makeerrlist.pl | 80
usr/lib/malloc.c | 192 +
usr/lib/malloc.h | 51
usr/lib/memccpy.c | 23
usr/lib/memchr.c | 18
usr/lib/memcmp.c | 19
usr/lib/memcpy.c | 29
usr/lib/memmem.c | 44
usr/lib/memmove.c | 34
usr/lib/memset.c | 30
usr/lib/memswap.c | 23
usr/lib/mmap.c | 51
usr/lib/nice.c | 22
usr/lib/onexit.c | 39
usr/lib/pause.c | 21
usr/lib/perror.c | 12
usr/lib/printf.c | 19
usr/lib/pty.c | 31
usr/lib/puts.c | 13
usr/lib/qsort.c | 42
usr/lib/raise.c | 11
usr/lib/readdir.c | 66
usr/lib/realloc.c | 49
usr/lib/reboot.c | 15
usr/lib/recv.c | 11
usr/lib/sbrk.c | 23
usr/lib/seed48.c | 19
usr/lib/select.c | 9
usr/lib/send.c | 11
usr/lib/setegid.c | 10
usr/lib/setenv.c | 124
usr/lib/seteuid.c | 10
usr/lib/setpgrp.c | 10
usr/lib/setresgid.c | 29
usr/lib/setresuid.c | 30
usr/lib/sha1hash.c | 319 +
usr/lib/sigaction.c | 19
usr/lib/siglist.c | 115
usr/lib/siglongjmp.c | 16
usr/lib/signal.c | 11
usr/lib/sigpending.c | 19
usr/lib/sigprocmask.c | 19
usr/lib/sigsuspend.c | 19
usr/lib/sleep.c | 20
usr/lib/snprintf.c | 16
usr/lib/socketcalls.pl | 75
usr/lib/socketcalls/socketcommon.h | 25
usr/lib/socketcommon.h | 25
usr/lib/sprintf.c | 18
usr/lib/srand48.c | 16
usr/lib/sscanf.c | 17
usr/lib/strcat.c | 11
usr/lib/strchr.c | 16
usr/lib/strcmp.c | 20
usr/lib/strcpy.c | 20
usr/lib/strdup.c | 17
usr/lib/strerror.c | 25
usr/lib/strlen.c | 14
usr/lib/strncat.c | 11
usr/lib/strncmp.c | 20
usr/lib/strncpy.c | 22
usr/lib/strntoimax.c | 13
usr/lib/strntoumax.c | 75
usr/lib/strrchr.c | 18
usr/lib/strsep.c | 21
usr/lib/strspn.c | 67
usr/lib/strstr.c | 10
usr/lib/strtoimax.c | 3
usr/lib/strtok.c | 16
usr/lib/strtol.c | 3
usr/lib/strtoll.c | 3
usr/lib/strtoul.c | 3
usr/lib/strtoull.c | 3
usr/lib/strtoumax.c | 3
usr/lib/strtox.c | 13
usr/lib/syscalls.pl | 84
usr/lib/syscalls/syscommon.h | 29
usr/lib/syscommon.h | 29
usr/lib/syslog.c | 68
usr/lib/tests/getenvtest.c | 26
usr/lib/tests/getopttest.c | 31
usr/lib/tests/hello.c | 7
usr/lib/tests/idtest.c | 14
usr/lib/tests/malloctest.c | 4145 ++++++++++++++++++++++++
usr/lib/tests/memstrtest.c | 29
usr/lib/tests/microhello.c | 9
usr/lib/tests/minihello.c | 7
usr/lib/tests/minips.c | 452 ++
usr/lib/tests/nfs_no_rpc.c | 538 +++
usr/lib/tests/setjmptest.c | 36
usr/lib/tests/testrand48.c | 19
usr/lib/tests/testvsnp.c | 115
usr/lib/time.c | 27
usr/lib/umount.c | 12
usr/lib/unsetenv.c | 40
usr/lib/usleep.c | 15
usr/lib/utime.c | 30
usr/lib/vfprintf.c | 26
usr/lib/vprintf.c | 11
usr/lib/vsnprintf.c | 433 ++
usr/lib/vsprintf.c | 11
usr/lib/vsscanf.c | 365 ++
usr/lib/wait.c | 12
usr/lib/wait3.c | 12
usr/lib/waitpid.c | 12
usr/root/Makefile | 8
usr/root/hello |binary
usr/root/hello.c | 21
usr/root/init.c | 442 --
374 files changed, 18437 insertions(+), 677 deletions(-)
-----
ChangeSet@1.994, 2003-02-19 11:21:54-08:00, arnd@bergmann-dalldorf.de
[PATCH] KLIBC: fix for non-i386 build
I just tried building on s390x and only needed this trivial fix. Unfortunately,
2.5.61 does not boot on s390x yet, so I could not do run-time tests.
usr/lib/socketcalls.pl | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
------
ChangeSet@1.990.1.4, 2003-02-19 10:39:00-08:00, greg@kroah.com
Cset exclude: kai@tp1.ruhr-uni-bochum.de|ChangeSet|20030217001132|22043
init/Kconfig | 10 -
init/Makefile | 7
init/do_mounts.c | 6
init/main.c | 22 --
scripts/Makefile | 3
usr/Makefile | 2
usr/gen_init_cpio.c | 2
usr/root/Makefile | 5
usr/root/init.c | 442 ----------------------------------------------------
9 files changed, 10 insertions(+), 489 deletions(-)
------
ChangeSet@1.990.1.3, 2003-02-19 10:37:44-08:00, greg@kroah.com
KLIBC: fix up some type errors that were highlighted by the posix timer changes.
usr/lib/include/sys/types.h | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
------
ChangeSet@1.990.1.2, 2003-02-19 10:35:46-08:00, greg@kroah.com
KLIBC: delete usr/root/hello
We don't need binaries in the kernel source tree :)
usr/root/hello |binary
1 files changed
------
ChangeSet@1.990.1.1, 2003-02-19 09:01:31-08:00, greg@kroah.com
merge
Makefile | 39 ++++++++++++++++++++++++++++++++++++---
scripts/Makefile | 2 +-
2 files changed, 37 insertions(+), 4 deletions(-)
------
ChangeSet@1.914.161.13, 2003-02-16 18:57:52-06:00, kai@tp1.ruhr-uni-bochum.de
Merge tp1.ruhr-uni-bochum.de:/scratch/kai/kernel/v2.5/linux-2.5
into tp1.ruhr-uni-bochum.de:/scratch/kai/kernel/v2.5/linux-2.5.klibc
Makefile | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
------
ChangeSet@1.914.157.11, 2003-02-16 18:11:32-06:00, kai@tp1.ruhr-uni-bochum.de
klibc: Move mounting of the root filesystem into userspace
When selecting CONFIG_INITRAMFS, init/do_mounts.c is not compiled anymore,
and it's task is taken over by a small /sbin/init running in initramfs.
However, this is a proof of concept only, the userspace code only handles
mounting a local filesystem, no support for nfs / initrd / devfs yet.
init/Kconfig | 10 +
init/Makefile | 7
init/do_mounts.c | 6
init/main.c | 22 ++
scripts/Makefile | 4
usr/Makefile | 2
usr/gen_init_cpio.c | 2
usr/root/Makefile | 5
usr/root/init.c | 442 ++++++++++++++++++++++++++++++++++++++++++++++++++++
9 files changed, 489 insertions(+), 11 deletions(-)
------
ChangeSet@1.914.157.10, 2003-02-16 18:06:13-06:00, kai@tp1.ruhr-uni-bochum.de
klibc: Silence too ambitious warnings
gcc complained about unused function parameters and things, that's just
a little too much.
Makefile | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
------
ChangeSet@1.914.157.9, 2003-02-15 23:33:21-06:00, kai@tp1.ruhr-uni-bochum.de
klibc: Stop on error when building the CPIO
gen_init_cpio still referenced hello in usr/hello_world, but I put it
into usr/root. This is now corrected, however it also pointed out the
common problem that the error code of gen_init_cpio is ignored since
it's output is piped to gzip. To fix that, make the generation of the
.cpio.gz a two step process.
usr/Makefile | 24 +++++++++++++++++-------
usr/gen_init_cpio.c | 2 +-
2 files changed, 18 insertions(+), 8 deletions(-)
------
ChangeSet@1.914.157.8, 2003-02-15 23:24:10-06:00, arndb@de.ibm.com
klibc: gen_init_cpio file generation fix
I found what kept initramfs from working here: While creating
of initramfs_data.cpio.gz, the padding between a file header
and the file contents was wrong, which can be verified by
unpacking the archive by hand.
usr/gen_init_cpio.c | 1 +
1 files changed, 1 insertion(+)
------
ChangeSet@1.914.157.7, 2003-02-15 23:21:47-06:00, greg@kroah.com
klibc: add file support to gen_init_cpio.c
usr/gen_init_cpio.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 90 insertions(+)
------
ChangeSet@1.914.157.6, 2003-02-15 23:20:13-06:00, kai@tp1.ruhr-uni-bochum.de
klibc: Fix the "hello" example (for real)
Greg's fix used fwrite on a file descriptor obtained from open(), which
only works by luck, since for klibc FILE * == fd.
Use standard C lib functions for open/close.
usr/root/hello.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
------
ChangeSet@1.914.157.5, 2003-02-15 23:16:53-06:00, kai@tp1.ruhr-uni-bochum.de
klibc: Fix a compiler warning
usr/lib/sha1hash.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
------
ChangeSet@1.914.157.4, 2003-02-15 23:11:51-06:00, greg@kroah.com
klibc: fix up the hello_world example
stdout doesn't go anywhere useful when spawned from the kernel :)
usr/root/hello.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletion(-)
------
ChangeSet@1.914.157.3, 2003-02-15 23:09:41-06:00, kai@tp1.ruhr-uni-bochum.de
kbuild/klibc: Integrate klibc into the build.
Basically, add a scripts/Makefile.user, which does similar things to
scripts/Makefile.build, but compiles userspace for the target instead.
It's tested for a static klibc on i386, building the shared lib works, too,
but is not further integrated.
This patch also adds gregkh's hello test program, which works as well.
usr/lib/socketcommon.h | 25 ----
usr/lib/syscommon.h | 29 -----
Makefile | 39 ++++++
scripts/Makefile.build | 6 -
scripts/Makefile.clean | 11 +
scripts/Makefile.lib | 3
scripts/Makefile.user | 209 +++++++++++++++++++++++++++++++++++++
usr/Makefile | 28 ++++
usr/lib/MCONFIG | 39 +++---
usr/lib/Makefile | 159 ++++++++++++++--------------
usr/lib/socketcalls.pl | 11 +
usr/lib/socketcalls/socketcommon.h | 25 ++++
usr/lib/syscalls.pl | 12 +-
usr/lib/syscalls/syscommon.h | 29 +++++
usr/root/Makefile | 3
usr/root/hello |binary
usr/root/hello.c | 8 +
17 files changed, 471 insertions(+), 165 deletions(-)
------
ChangeSet@1.914.157.2, 2003-02-15 16:55:46-06:00, kai@tp1.ruhr-uni-bochum.de
klibc: Merge klibc-0.77
That's just a cp -r klibc-0.77/klibc/* linux/usr/lib
usr/lib/CAVEATS | 51
usr/lib/MCONFIG | 49
usr/lib/Makefile | 134
usr/lib/README | 57
usr/lib/SOCKETCALLS | 21
usr/lib/SYSCALLS | 146
usr/lib/__shared_init.c | 56
usr/lib/__signal.c | 22
usr/lib/__static_init.c | 40
usr/lib/abort.c | 19
usr/lib/alarm.c | 29
usr/lib/arch/README | 67
usr/lib/arch/alpha/MCONFIG | 17
usr/lib/arch/alpha/Makefile.inc | 93
usr/lib/arch/alpha/README-gcc | 23
usr/lib/arch/alpha/crt0.S | 21
usr/lib/arch/alpha/divide.c | 57
usr/lib/arch/alpha/include/klibc/archsetjmp.h | 24
usr/lib/arch/alpha/include/klibc/archsys.h | 53
usr/lib/arch/alpha/include/machine/asm.h | 44
usr/lib/arch/alpha/pipe.c | 28
usr/lib/arch/alpha/setjmp.S | 61
usr/lib/arch/arm/MCONFIG | 26
usr/lib/arch/arm/Makefile.inc | 31
usr/lib/arch/arm/crt0.S | 25
usr/lib/arch/arm/include/klibc/archsetjmp.h | 14
usr/lib/arch/arm/include/klibc/archsys.h | 12
usr/lib/arch/arm/setjmp-arm.S | 40
usr/lib/arch/arm/setjmp-thumb.S | 58
usr/lib/arch/cris/MCONFIG | 11
usr/lib/arch/cris/Makefile.inc | 10
usr/lib/arch/cris/include/klibc/archsys.h | 12
usr/lib/arch/i386/MCONFIG | 24
usr/lib/arch/i386/Makefile.inc | 27
usr/lib/arch/i386/crt0.S | 33
usr/lib/arch/i386/exits.S | 45
usr/lib/arch/i386/include/klibc/archsetjmp.h | 19
usr/lib/arch/i386/include/klibc/archsys.h | 96
usr/lib/arch/i386/include/klibc/diverr.h | 16
usr/lib/arch/i386/libgcc/__ashldi3.S | 29
usr/lib/arch/i386/libgcc/__ashrdi3.S | 29
usr/lib/arch/i386/libgcc/__lshrdi3.S | 29
usr/lib/arch/i386/libgcc/__muldi3.S | 34
usr/lib/arch/i386/libgcc/__negdi2.S | 21
usr/lib/arch/i386/setjmp.S | 58
usr/lib/arch/i386/socketcall.S | 38
usr/lib/arch/ia64/MCONFIG | 11
usr/lib/arch/ia64/Makefile.inc | 10
usr/lib/arch/ia64/include/klibc/archsys.h | 12
usr/lib/arch/m68k/MCONFIG | 11
usr/lib/arch/m68k/Makefile.inc | 10
usr/lib/arch/m68k/include/klibc/archsys.h | 12
usr/lib/arch/mips/MCONFIG | 18
usr/lib/arch/mips/Makefile.inc | 24
usr/lib/arch/mips/crt0.S | 25
usr/lib/arch/mips/include/klibc/archsetjmp.h | 39
usr/lib/arch/mips/include/klibc/archsys.h | 12
usr/lib/arch/mips/include/machine/asm.h | 11
usr/lib/arch/mips/include/sgidefs.h | 20
usr/lib/arch/mips/pipe.S | 16
usr/lib/arch/mips/setjmp.S | 82
usr/lib/arch/mips/vfork.S | 19
usr/lib/arch/mips64/MCONFIG | 11
usr/lib/arch/mips64/Makefile.inc | 10
usr/lib/arch/mips64/include/klibc/archsys.h | 12
usr/lib/arch/parisc/MCONFIG | 11
usr/lib/arch/parisc/Makefile.inc | 10
usr/lib/arch/parisc/include/klibc/archsys.h | 12
usr/lib/arch/ppc/MCONFIG | 11
usr/lib/arch/ppc/Makefile.inc | 15
usr/lib/arch/ppc/crt0.S | 29
usr/lib/arch/ppc/include/klibc/archsetjmp.h | 36
usr/lib/arch/ppc/include/klibc/archsys.h | 55
usr/lib/arch/ppc/setjmp.S | 35
usr/lib/arch/ppc64/MCONFIG | 11
usr/lib/arch/ppc64/Makefile.inc | 10
usr/lib/arch/ppc64/crt0.S | 38
usr/lib/arch/ppc64/include/klibc/archsys.h | 52
usr/lib/arch/s390/MCONFIG | 13
usr/lib/arch/s390/Makefile.inc | 16
usr/lib/arch/s390/crt0.S | 25
usr/lib/arch/s390/include/klibc/archsetjmp.h | 15
usr/lib/arch/s390/include/klibc/archsys.h | 41
usr/lib/arch/s390/setjmp.S | 32
usr/lib/arch/s390x/MCONFIG | 13
usr/lib/arch/s390x/Makefile.inc | 16
usr/lib/arch/s390x/crt0.S | 21
usr/lib/arch/s390x/include/klibc/archsetjmp.h | 15
usr/lib/arch/s390x/include/klibc/archsys.h | 41
usr/lib/arch/s390x/setjmp.S | 36
usr/lib/arch/sh/MCONFIG | 11
usr/lib/arch/sh/Makefile.inc | 10
usr/lib/arch/sh/include/klibc/archsys.h | 12
usr/lib/arch/sparc/MCONFIG | 18
usr/lib/arch/sparc/Makefile.inc | 44
usr/lib/arch/sparc/crt0.S | 2
usr/lib/arch/sparc/crt0i.S | 100
usr/lib/arch/sparc/divrem.m4 | 276 +
usr/lib/arch/sparc/include/klibc/archsetjmp.h | 16
usr/lib/arch/sparc/include/klibc/archsys.h | 65
usr/lib/arch/sparc/include/machine/asm.h | 192 +
usr/lib/arch/sparc/include/machine/frame.h | 138
usr/lib/arch/sparc/include/machine/trap.h | 141
usr/lib/arch/sparc/setjmp.S | 38
usr/lib/arch/sparc/smul.S | 160
usr/lib/arch/sparc/umul.S | 193 +
usr/lib/arch/sparc64/MCONFIG | 21
usr/lib/arch/sparc64/Makefile.inc | 13
usr/lib/arch/sparc64/crt0.S | 2
usr/lib/arch/sparc64/include/klibc/archsetjmp.h | 16
usr/lib/arch/sparc64/include/klibc/archsys.h | 157
usr/lib/arch/sparc64/setjmp.S | 55
usr/lib/arch/x86_64/MCONFIG | 16
usr/lib/arch/x86_64/Makefile.inc | 16
usr/lib/arch/x86_64/crt0.S | 22
usr/lib/arch/x86_64/exits.S | 35
usr/lib/arch/x86_64/include/klibc/archsetjmp.h | 21
usr/lib/arch/x86_64/include/klibc/archsys.h | 32
usr/lib/arch/x86_64/setjmp.S | 54
usr/lib/assert.c | 13
usr/lib/atexit.c | 10
usr/lib/atexit.h | 19
usr/lib/atoi.c | 3
usr/lib/atol.c | 3
usr/lib/atoll.c | 3
usr/lib/atox.c | 14
usr/lib/brk.c | 24
usr/lib/bsd_signal.c | 11
usr/lib/calloc.c | 21
usr/lib/closelog.c | 18
usr/lib/creat.c | 12
usr/lib/ctypes.c | 281 +
usr/lib/exec_l.c | 57
usr/lib/execl.c | 8
usr/lib/execle.c | 8
usr/lib/execlp.c | 8
usr/lib/execlpe.c | 8
usr/lib/execv.c | 13
usr/lib/execvp.c | 13
usr/lib/execvpe.c | 73
usr/lib/exitc.c | 36
usr/lib/fdatasync.c | 15
usr/lib/fgetc.c | 20
usr/lib/fgets.c | 33
usr/lib/fopen.c | 46
usr/lib/fork.c | 29
usr/lib/fprintf.c | 19
usr/lib/fputc.c | 14
usr/lib/fputs.c | 15
usr/lib/fread.c | 35
usr/lib/fread2.c | 13
usr/lib/fwrite.c | 35
usr/lib/fwrite2.c | 13
usr/lib/getcwd.c | 15
usr/lib/getdomainname.c | 25
usr/lib/getenv.c | 22
usr/lib/gethostname.c | 25
usr/lib/getopt.c | 74
usr/lib/getpriority.c | 25
usr/lib/globals.c | 10
usr/lib/include/alloca.h | 13
usr/lib/include/arpa/inet.h | 24
usr/lib/include/assert.h | 22
usr/lib/include/bits32/bitsize/limits.h | 14
usr/lib/include/bits32/bitsize/stddef.h | 18
usr/lib/include/bits32/bitsize/stdint.h | 34
usr/lib/include/bits32/bitsize/stdintconst.h | 18
usr/lib/include/bits32/bitsize/stdintlimits.h | 22
usr/lib/include/bits64/bitsize/limits.h | 14
usr/lib/include/bits64/bitsize/stddef.h | 13
usr/lib/include/bits64/bitsize/stdint.h | 36
usr/lib/include/bits64/bitsize/stdintconst.h | 18
usr/lib/include/bits64/bitsize/stdintlimits.h | 22
usr/lib/include/ctype.h | 117
usr/lib/include/dirent.h | 20
usr/lib/include/elf.h | 12
usr/lib/include/endian.h | 41
usr/lib/include/errno.h | 8
usr/lib/include/fcntl.h | 11
usr/lib/include/grp.h | 13
usr/lib/include/inttypes.h | 226 +
usr/lib/include/klibc/compiler.h | 61
usr/lib/include/klibc/diverr.h | 16
usr/lib/include/klibc/extern.h | 14
usr/lib/include/limits.h | 40
usr/lib/include/net/if.h | 1
usr/lib/include/net/if_arp.h | 1
usr/lib/include/net/if_ether.h | 1
usr/lib/include/net/if_packet.h | 1
usr/lib/include/netinet/in.h | 29
usr/lib/include/netinet/in6.h | 10
usr/lib/include/netinet/ip.h | 13
usr/lib/include/netinet/tcp.h | 11
usr/lib/include/netinet/udp.h | 19
usr/lib/include/poll.h | 16
usr/lib/include/sched.h | 23
usr/lib/include/setjmp.h | 43
usr/lib/include/signal.h | 72
usr/lib/include/stdarg.h | 14
usr/lib/include/stddef.h | 24
usr/lib/include/stdint.h | 113
usr/lib/include/stdio.h | 109
usr/lib/include/stdlib.h | 94
usr/lib/include/string.h | 37
usr/lib/include/sys/dirent.h | 13
usr/lib/include/sys/fsuid.h | 14
usr/lib/include/sys/ioctl.h | 14
usr/lib/include/sys/klog.h | 24
usr/lib/include/sys/mman.h | 21
usr/lib/include/sys/module.h | 158
usr/lib/include/sys/mount.h | 55
usr/lib/include/sys/param.h | 11
usr/lib/include/sys/reboot.h | 25
usr/lib/include/sys/resource.h | 15
usr/lib/include/sys/select.h | 13
usr/lib/include/sys/socket.h | 50
usr/lib/include/sys/socketcalls.h | 28
usr/lib/include/sys/stat.h | 23
usr/lib/include/sys/syscall.h | 15
usr/lib/include/sys/time.h | 16
usr/lib/include/sys/times.h | 14
usr/lib/include/sys/types.h | 126
usr/lib/include/sys/uio.h | 15
usr/lib/include/sys/utime.h | 10
usr/lib/include/sys/utsname.h | 23
usr/lib/include/sys/vfs.h | 14
usr/lib/include/sys/wait.h | 19
usr/lib/include/syslog.h | 53
usr/lib/include/termios.h | 86
usr/lib/include/time.h | 14
usr/lib/include/unistd.h | 106
usr/lib/include/utime.h | 15
usr/lib/inet/inet_addr.c | 14
usr/lib/inet/inet_aton.c | 23
usr/lib/inet/inet_ntoa.c | 19
usr/lib/inet/inet_ntop.c | 52
usr/lib/inet/inet_pton.c | 74
usr/lib/interp.S | 11
usr/lib/isatty.c | 21
usr/lib/libgcc/__divdi3.c | 29
usr/lib/libgcc/__divsi3.c | 29
usr/lib/libgcc/__moddi3.c | 29
usr/lib/libgcc/__modsi3.c | 29
usr/lib/libgcc/__udivdi3.c | 13
usr/lib/libgcc/__udivmoddi4.c | 32
usr/lib/libgcc/__udivmodsi4.c | 32
usr/lib/libgcc/__udivsi3.c | 13
usr/lib/libgcc/__umoddi3.c | 16
usr/lib/libgcc/__umodsi3.c | 16
usr/lib/llseek.c | 34
usr/lib/lrand48.c | 42
usr/lib/makeerrlist.pl | 80
usr/lib/malloc.c | 192 +
usr/lib/malloc.h | 51
usr/lib/memccpy.c | 23
usr/lib/memchr.c | 18
usr/lib/memcmp.c | 19
usr/lib/memcpy.c | 29
usr/lib/memmem.c | 44
usr/lib/memmove.c | 34
usr/lib/memset.c | 30
usr/lib/memswap.c | 23
usr/lib/mmap.c | 51
usr/lib/nice.c | 22
usr/lib/onexit.c | 39
usr/lib/pause.c | 21
usr/lib/perror.c | 12
usr/lib/printf.c | 19
usr/lib/pty.c | 31
usr/lib/puts.c | 13
usr/lib/qsort.c | 42
usr/lib/raise.c | 11
usr/lib/readdir.c | 66
usr/lib/realloc.c | 49
usr/lib/reboot.c | 15
usr/lib/recv.c | 11
usr/lib/sbrk.c | 23
usr/lib/seed48.c | 19
usr/lib/select.c | 9
usr/lib/send.c | 11
usr/lib/setegid.c | 10
usr/lib/setenv.c | 124
usr/lib/seteuid.c | 10
usr/lib/setpgrp.c | 10
usr/lib/setresgid.c | 29
usr/lib/setresuid.c | 30
usr/lib/sha1hash.c | 317 +
usr/lib/sigaction.c | 19
usr/lib/siglist.c | 115
usr/lib/siglongjmp.c | 16
usr/lib/signal.c | 11
usr/lib/sigpending.c | 19
usr/lib/sigprocmask.c | 19
usr/lib/sigsuspend.c | 19
usr/lib/sleep.c | 20
usr/lib/snprintf.c | 16
usr/lib/socketcalls.pl | 62
usr/lib/socketcommon.h | 25
usr/lib/sprintf.c | 18
usr/lib/srand48.c | 16
usr/lib/sscanf.c | 17
usr/lib/strcat.c | 11
usr/lib/strchr.c | 16
usr/lib/strcmp.c | 20
usr/lib/strcpy.c | 20
usr/lib/strdup.c | 17
usr/lib/strerror.c | 25
usr/lib/strlen.c | 14
usr/lib/strncat.c | 11
usr/lib/strncmp.c | 20
usr/lib/strncpy.c | 22
usr/lib/strntoimax.c | 13
usr/lib/strntoumax.c | 75
usr/lib/strrchr.c | 18
usr/lib/strsep.c | 21
usr/lib/strspn.c | 67
usr/lib/strstr.c | 10
usr/lib/strtoimax.c | 3
usr/lib/strtok.c | 16
usr/lib/strtol.c | 3
usr/lib/strtoll.c | 3
usr/lib/strtoul.c | 3
usr/lib/strtoull.c | 3
usr/lib/strtoumax.c | 3
usr/lib/strtox.c | 13
usr/lib/syscalls.pl | 72
usr/lib/syscommon.h | 29
usr/lib/syslog.c | 68
usr/lib/tests/getenvtest.c | 26
usr/lib/tests/getopttest.c | 31
usr/lib/tests/hello.c | 7
usr/lib/tests/idtest.c | 14
usr/lib/tests/malloctest.c | 4145 ++++++++++++++++++++++++
usr/lib/tests/memstrtest.c | 29
usr/lib/tests/microhello.c | 9
usr/lib/tests/minihello.c | 7
usr/lib/tests/minips.c | 452 ++
usr/lib/tests/nfs_no_rpc.c | 538 +++
usr/lib/tests/setjmptest.c | 36
usr/lib/tests/testrand48.c | 19
usr/lib/tests/testvsnp.c | 115
usr/lib/time.c | 27
usr/lib/umount.c | 12
usr/lib/unsetenv.c | 40
usr/lib/usleep.c | 15
usr/lib/utime.c | 30
usr/lib/vfprintf.c | 26
usr/lib/vprintf.c | 11
usr/lib/vsnprintf.c | 433 ++
usr/lib/vsprintf.c | 11
usr/lib/vsscanf.c | 365 ++
usr/lib/wait.c | 12
usr/lib/wait3.c | 12
usr/lib/waitpid.c | 12
354 files changed, 17793 insertions(+)
------
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BK PATCH] klibc for 2.5.62
2003-02-19 19:39 [BK PATCH] klibc for 2.5.62 Greg KH
@ 2003-02-19 20:09 ` Sam Ravnborg
2003-02-19 20:27 ` Greg KH
0 siblings, 1 reply; 4+ messages in thread
From: Sam Ravnborg @ 2003-02-19 20:09 UTC (permalink / raw)
To: Greg KH; +Cc: torvalds, linux-kernel
On Wed, Feb 19, 2003 at 11:39:07AM -0800, Greg KH wrote:
> Hi,
>
> Finally, here's the klibc addition against the latest 2.5.62 bk kernel
> tree.
A few comments that I had queued.
> usr/lib/arch/arm/MCONFIG | 26
Any good reasons for such a screaming name?
makefile.config eventually.
> usr/lib/arch/arm/Makefile.inc | 31
No extension is used for arch/arm/Makefile
Why does klibc differ in this respect?
[An answer that tell me that arch/arm/Makefile should
change is fine with me..]
> usr/lib/makeerrlist.pl | 80
> usr/lib/socketcalls.pl | 75
This mixture of code and scripts to generate code hursts my eye.
What about usr/scripts/.
I assume you do not want them in scripts/
Sam
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BK PATCH] klibc for 2.5.62
2003-02-19 20:09 ` Sam Ravnborg
@ 2003-02-19 20:27 ` Greg KH
2003-02-19 23:08 ` H. Peter Anvin
0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2003-02-19 20:27 UTC (permalink / raw)
To: torvalds, linux-kernel; +Cc: hpa, rmk
On Wed, Feb 19, 2003 at 09:09:35PM +0100, Sam Ravnborg wrote:
> On Wed, Feb 19, 2003 at 11:39:07AM -0800, Greg KH wrote:
> > usr/lib/arch/arm/MCONFIG | 26
> Any good reasons for such a screaming name?
> makefile.config eventually.
Ask Peter :)
> > usr/lib/arch/arm/Makefile.inc | 31
>
> No extension is used for arch/arm/Makefile
> Why does klibc differ in this respect?
> [An answer that tell me that arch/arm/Makefile should
> change is fine with me..]
Ask Russell :)
> > usr/lib/makeerrlist.pl | 80
> > usr/lib/socketcalls.pl | 75
>
> This mixture of code and scripts to generate code hursts my eye.
> What about usr/scripts/.
But they are the scripts used to build the code in usr/lib. I don't
care where they go, that's just where they were in the klibc tarball.
> I assume you do not want them in scripts/
Yeah, I wouldn't think they should go their either.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BK PATCH] klibc for 2.5.62
2003-02-19 20:27 ` Greg KH
@ 2003-02-19 23:08 ` H. Peter Anvin
0 siblings, 0 replies; 4+ messages in thread
From: H. Peter Anvin @ 2003-02-19 23:08 UTC (permalink / raw)
To: greg; +Cc: torvalds, linux-kernel, hpa, rmk
> On Wed, Feb 19, 2003 at 09:09:35PM +0100, Sam Ravnborg wrote:
>> On Wed, Feb 19, 2003 at 11:39:07AM -0800, Greg KH wrote:
>> > usr/lib/arch/arm/MCONFIG | 26
>> Any good reasons for such a screaming name?
>> makefile.config eventually.
>
> Ask Peter :)
Simply because several other projects I use have MCONFIG files, and I'm
used to the name.
>> > usr/lib/arch/arm/Makefile.inc | 31
>>
>> No extension is used for arch/arm/Makefile
>> Why does klibc differ in this respect?
>> [An answer that tell me that arch/arm/Makefile should
>> change is fine with me..]
>
> Ask Russell :)
Mine, actually: I don't like naming things Makefile unless it's OK to type
"make" in that directory.
>> > usr/lib/makeerrlist.pl | 80
>> > usr/lib/socketcalls.pl | 75
>>
>> This mixture of code and scripts to generate code hursts my eye. What
>> about usr/scripts/.
>
> But they are the scripts used to build the code in usr/lib. I don't
> care where they go, that's just where they were in the klibc tarball.
Quite frankly, I think this is a bogus request. The .pl extension flags
these, but if you think about it, there really is no difference between
"code" and "scripts that generate code" -- each is a form of source code,
just compiled by different programs.
>> I assume you do not want them in scripts/
>
> Yeah, I wouldn't think they should go their either.
No, that would completely suck.
usr/lib/tools would be semi-acceptable, but quite frankly I think it
really is just complexity for complexity's sake. I also happen to believe
that when it comes to aestetic judgements (which *all* of these objections
are!) it should be primarily a choice of the people maintaining the code,
and perhaps Linus.
-hpa
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-02-19 22:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-19 19:39 [BK PATCH] klibc for 2.5.62 Greg KH
2003-02-19 20:09 ` Sam Ravnborg
2003-02-19 20:27 ` Greg KH
2003-02-19 23:08 ` H. Peter Anvin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox