From 9f462393227f8297a27808d2cd854a5e7ae0af58 Mon Sep 17 00:00:00 2001 From: Jiajie Chen Date: Thu, 7 Mar 2019 20:23:23 +0800 Subject: [PATCH] Use musl instead of litc in biscuit programs --- biscuit/CMakeLists.txt | 10 +++---- biscuit/c/bimage.c | 4 +-- biscuit/c/{bmgc.c => bmgc.c.bak} | 2 +- biscuit/c/{bmgc2.c => bmgc2.c.bak} | 2 +- biscuit/c/bmopen.c | 2 +- biscuit/c/bmread.c | 2 +- biscuit/c/bmwrite.c | 2 +- biscuit/c/cat.c | 2 +- biscuit/c/cksum.c | 2 +- biscuit/c/cls.c | 2 +- biscuit/c/conio.c | 6 +++-- biscuit/c/ebizzy.c | 2 +- biscuit/c/echo.c | 2 +- biscuit/c/fault.c | 2 +- biscuit/c/fault2.c | 2 +- biscuit/c/fcgi.c | 2 +- biscuit/c/fork.c | 2 +- biscuit/c/fsbigwrite.c | 2 +- biscuit/c/fscreat.c | 2 +- biscuit/c/fsfree.c | 2 +- biscuit/c/fslink.c | 2 +- biscuit/c/fsmkdir.c | 2 +- biscuit/c/fstest.c | 2 +- biscuit/c/fsunlink.c | 2 +- biscuit/c/fswrite.c | 2 +- biscuit/c/{fweb.c => fweb.c.bak} | 2 +- biscuit/c/getpid.c | 2 +- biscuit/c/goodcit.c | 2 +- biscuit/c/halp.c | 4 +-- biscuit/c/head.c | 2 +- biscuit/c/hello.c | 2 +- .../c/{include => include-litc}/arpa/inet.h | 0 biscuit/c/{include => include-litc}/assert.h | 0 biscuit/c/{include => include-litc}/ctype.h | 0 biscuit/c/{include => include-litc}/dirent.h | 0 biscuit/c/{include => include-litc}/err.h | 0 biscuit/c/{include => include-litc}/errno.h | 0 biscuit/c/{include => include-litc}/fcntl.h | 0 biscuit/c/{include => include-litc}/glob.h | 0 biscuit/c/{include => include-litc}/grp.h | 0 .../c/{include => include-litc}/inttypes.h | 0 biscuit/c/{include => include-litc}/limits.h | 0 biscuit/c/{include => include-litc}/litc.h | 4 +-- .../c/{include => include-litc}/littypes.h | 0 biscuit/c/{include => include-litc}/locale.h | 0 biscuit/c/{include => include-litc}/malloc.h | 0 biscuit/c/{include => include-litc}/math.h | 0 biscuit/c/{include => include-litc}/netdb.h | 0 .../c/{include => include-litc}/netinet/in.h | 0 .../c/{include => include-litc}/netinet/tcp.h | 0 biscuit/c/{include => include-litc}/poll.h | 0 biscuit/c/{include => include-litc}/pthread.h | 0 biscuit/c/{include => include-litc}/pwd.h | 0 biscuit/c/{include => include-litc}/sched.h | 0 biscuit/c/{include => include-litc}/setjmp.h | 0 biscuit/c/{include => include-litc}/signal.h | 0 biscuit/c/{include => include-litc}/spawn.h | 0 biscuit/c/{include => include-litc}/stdarg.h | 0 biscuit/c/{include => include-litc}/stddef.h | 0 biscuit/c/{include => include-litc}/stdint.h | 0 biscuit/c/{include => include-litc}/stdio.h | 0 biscuit/c/{include => include-litc}/stdlib.h | 0 biscuit/c/{include => include-litc}/string.h | 0 biscuit/c/{include => include-litc}/strings.h | 0 .../c/{include => include-litc}/sys/ioctl.h | 0 .../c/{include => include-litc}/sys/mman.h | 0 .../c/{include => include-litc}/sys/param.h | 0 .../{include => include-litc}/sys/resource.h | 0 .../c/{include => include-litc}/sys/select.h | 0 .../c/{include => include-litc}/sys/socket.h | 0 .../c/{include => include-litc}/sys/stat.h | 0 .../c/{include => include-litc}/sys/time.h | 0 .../c/{include => include-litc}/sys/types.h | 0 biscuit/c/{include => include-litc}/sys/uio.h | 0 biscuit/c/{include => include-litc}/sys/un.h | 0 .../c/{include => include-litc}/sys/utsname.h | 0 .../c/{include => include-litc}/sys/wait.h | 0 biscuit/c/{include => include-litc}/syslog.h | 0 biscuit/c/{include => include-litc}/time.h | 0 biscuit/c/{include => include-litc}/unistd.h | 0 biscuit/c/include/common.h | 27 +++++++++++++++++++ biscuit/c/init.c | 2 +- biscuit/c/kill.c | 2 +- biscuit/c/killtest.c | 2 +- biscuit/c/less.c | 2 +- biscuit/c/libs/litc.c | 4 +-- biscuit/c/lnc.c | 4 +-- biscuit/c/ls.c | 4 +-- biscuit/c/{lsh.c => lsh.c.bak} | 2 +- biscuit/c/mkdir.c | 2 +- biscuit/c/mknodtest.c | 2 +- biscuit/c/mmapbench.c | 2 +- biscuit/c/mmaptest.c | 2 +- biscuit/c/mv.c | 2 +- biscuit/c/pipetest.c | 2 +- biscuit/c/pthtests.c | 2 +- biscuit/c/pwd.c | 2 +- biscuit/c/reboot.c | 4 +-- biscuit/c/rmtree.c | 7 +++-- biscuit/c/rshd.c | 2 +- biscuit/c/{sfork.c => sfork.c.bak} | 0 biscuit/c/sleep.c | 2 +- biscuit/c/sockettest.c | 2 +- biscuit/c/stress.c | 2 +- biscuit/c/sync.c | 5 ++-- biscuit/c/{thtests.c => thtests.c.bak} | 2 +- biscuit/c/{time.c => time.c.bak} | 2 +- biscuit/c/touch.c | 2 +- biscuit/c/uname.c | 4 +-- biscuit/c/unlink.c | 2 +- biscuit/c/usertests.c | 4 +-- 111 files changed, 103 insertions(+), 84 deletions(-) rename biscuit/c/{bmgc.c => bmgc.c.bak} (99%) rename biscuit/c/{bmgc2.c => bmgc2.c.bak} (99%) rename biscuit/c/{fweb.c => fweb.c.bak} (99%) rename biscuit/c/{include => include-litc}/arpa/inet.h (100%) rename biscuit/c/{include => include-litc}/assert.h (100%) rename biscuit/c/{include => include-litc}/ctype.h (100%) rename biscuit/c/{include => include-litc}/dirent.h (100%) rename biscuit/c/{include => include-litc}/err.h (100%) rename biscuit/c/{include => include-litc}/errno.h (100%) rename biscuit/c/{include => include-litc}/fcntl.h (100%) rename biscuit/c/{include => include-litc}/glob.h (100%) rename biscuit/c/{include => include-litc}/grp.h (100%) rename biscuit/c/{include => include-litc}/inttypes.h (100%) rename biscuit/c/{include => include-litc}/limits.h (100%) rename biscuit/c/{include => include-litc}/litc.h (99%) rename biscuit/c/{include => include-litc}/littypes.h (100%) rename biscuit/c/{include => include-litc}/locale.h (100%) rename biscuit/c/{include => include-litc}/malloc.h (100%) rename biscuit/c/{include => include-litc}/math.h (100%) rename biscuit/c/{include => include-litc}/netdb.h (100%) rename biscuit/c/{include => include-litc}/netinet/in.h (100%) rename biscuit/c/{include => include-litc}/netinet/tcp.h (100%) rename biscuit/c/{include => include-litc}/poll.h (100%) rename biscuit/c/{include => include-litc}/pthread.h (100%) rename biscuit/c/{include => include-litc}/pwd.h (100%) rename biscuit/c/{include => include-litc}/sched.h (100%) rename biscuit/c/{include => include-litc}/setjmp.h (100%) rename biscuit/c/{include => include-litc}/signal.h (100%) rename biscuit/c/{include => include-litc}/spawn.h (100%) rename biscuit/c/{include => include-litc}/stdarg.h (100%) rename biscuit/c/{include => include-litc}/stddef.h (100%) rename biscuit/c/{include => include-litc}/stdint.h (100%) rename biscuit/c/{include => include-litc}/stdio.h (100%) rename biscuit/c/{include => include-litc}/stdlib.h (100%) rename biscuit/c/{include => include-litc}/string.h (100%) rename biscuit/c/{include => include-litc}/strings.h (100%) rename biscuit/c/{include => include-litc}/sys/ioctl.h (100%) rename biscuit/c/{include => include-litc}/sys/mman.h (100%) rename biscuit/c/{include => include-litc}/sys/param.h (100%) rename biscuit/c/{include => include-litc}/sys/resource.h (100%) rename biscuit/c/{include => include-litc}/sys/select.h (100%) rename biscuit/c/{include => include-litc}/sys/socket.h (100%) rename biscuit/c/{include => include-litc}/sys/stat.h (100%) rename biscuit/c/{include => include-litc}/sys/time.h (100%) rename biscuit/c/{include => include-litc}/sys/types.h (100%) rename biscuit/c/{include => include-litc}/sys/uio.h (100%) rename biscuit/c/{include => include-litc}/sys/un.h (100%) rename biscuit/c/{include => include-litc}/sys/utsname.h (100%) rename biscuit/c/{include => include-litc}/sys/wait.h (100%) rename biscuit/c/{include => include-litc}/syslog.h (100%) rename biscuit/c/{include => include-litc}/time.h (100%) rename biscuit/c/{include => include-litc}/unistd.h (100%) create mode 100644 biscuit/c/include/common.h rename biscuit/c/{lsh.c => lsh.c.bak} (99%) rename biscuit/c/{sfork.c => sfork.c.bak} (100%) rename biscuit/c/{thtests.c => thtests.c.bak} (98%) rename biscuit/c/{time.c => time.c.bak} (99%) diff --git a/biscuit/CMakeLists.txt b/biscuit/CMakeLists.txt index 6593745..67f549e 100644 --- a/biscuit/CMakeLists.txt +++ b/biscuit/CMakeLists.txt @@ -17,7 +17,7 @@ if (${ARCH} STREQUAL i386) set(CMAKE_C_FLAGS "-m32 -mno-red-zone") elseif (${ARCH} STREQUAL x86_64) if(APPLE) - set(PREFIX x86_64-elf-) + set(PREFIX x86_64-linux-musl-) endif () set(CMAKE_C_FLAGS "-m64 -mno-red-zone") elseif (${ARCH} STREQUAL riscv32) @@ -39,17 +39,13 @@ endif () set(CMAKE_ASM_COMPILER ${PREFIX}gcc) set(CMAKE_C_COMPILER ${PREFIX}gcc) set(CMAKE_RANLIB ${PREFIX}ranlib) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -MMD -MP -O -g -ffreestanding -nostdlib -nostdinc -fno-builtin -fno-stack-protector -fPIC -std=gnu11") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror -Wno-pointer-to-int-cast -Wno-format -MMD -MP -O -g -fPIC -std=gnu99") set(CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS}) -set(CMAKE_C_LINK_FLAGS "${LINK_FLAGS} -nostdlib") # override default value to get rid of '-Wl,-search_paths_first -Wl,-headerpad_max_install_names' +set(CMAKE_C_LINK_FLAGS "${LINK_FLAGS}") # override default value to get rid of '-Wl,-search_paths_first -Wl,-headerpad_max_install_names' set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # override default value to get rid of '-rdynamic' on Linux -# Library -add_library(ulib ${LIBS}) - # Execuatble foreach (PATH ${SRCS}) get_filename_component(NAME ${PATH} NAME_WE) add_executable(${NAME} ${PATH}) - target_link_libraries(${NAME} ulib gcc) endforeach () diff --git a/biscuit/c/bimage.c b/biscuit/c/bimage.c index 0e84763..9597cc8 100644 --- a/biscuit/c/bimage.c +++ b/biscuit/c/bimage.c @@ -1,4 +1,4 @@ -#include +#include static int lstn(uint16_t lport) { @@ -126,6 +126,6 @@ int main(int argc, char **argv) if (close(fd) == -1) err(-1, "close"); fprintf(stderr, "wrote %zu bytes. rebooting.\n", did); - reboot(); + reboot(RB_AUTOBOOT); return 0; } diff --git a/biscuit/c/bmgc.c b/biscuit/c/bmgc.c.bak similarity index 99% rename from biscuit/c/bmgc.c rename to biscuit/c/bmgc.c.bak index 0cc2909..72c9852 100644 --- a/biscuit/c/bmgc.c +++ b/biscuit/c/bmgc.c.bak @@ -1,4 +1,4 @@ -#include +#include static long _fetch(long n) diff --git a/biscuit/c/bmgc2.c b/biscuit/c/bmgc2.c.bak similarity index 99% rename from biscuit/c/bmgc2.c rename to biscuit/c/bmgc2.c.bak index d36f5cd..f59513f 100644 --- a/biscuit/c/bmgc2.c +++ b/biscuit/c/bmgc2.c.bak @@ -1,4 +1,4 @@ -#include +#include static long nowms(void) diff --git a/biscuit/c/bmopen.c b/biscuit/c/bmopen.c index fbcab55..d46b38f 100644 --- a/biscuit/c/bmopen.c +++ b/biscuit/c/bmopen.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/bmread.c b/biscuit/c/bmread.c index b8063c8..be7f11c 100644 --- a/biscuit/c/bmread.c +++ b/biscuit/c/bmread.c @@ -1,4 +1,4 @@ -#include +#include static char buf[512]; diff --git a/biscuit/c/bmwrite.c b/biscuit/c/bmwrite.c index 1bac9bd..aa7e8a4 100644 --- a/biscuit/c/bmwrite.c +++ b/biscuit/c/bmwrite.c @@ -1,4 +1,4 @@ -#include +#include static char buf[512]; diff --git a/biscuit/c/cat.c b/biscuit/c/cat.c index 8bf9ad4..ffb7e9d 100644 --- a/biscuit/c/cat.c +++ b/biscuit/c/cat.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/cksum.c b/biscuit/c/cksum.c index ca9ea27..b392637 100644 --- a/biscuit/c/cksum.c +++ b/biscuit/c/cksum.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/biscuit/c/cls.c b/biscuit/c/cls.c index cd195c3..a001136 100644 --- a/biscuit/c/cls.c +++ b/biscuit/c/cls.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/conio.c b/biscuit/c/conio.c index 850481e..7dbb8b4 100644 --- a/biscuit/c/conio.c +++ b/biscuit/c/conio.c @@ -1,9 +1,11 @@ -#include +#include int main(int argc, char **argv) { while (1) { - char *ret = readline("input:"); + printf("input:"); + char buf[1024]; + char *ret = gets(buf); if (!ret) break; printf("got: %s\n", ret); diff --git a/biscuit/c/ebizzy.c b/biscuit/c/ebizzy.c index ee2ac42..7131862 100644 --- a/biscuit/c/ebizzy.c +++ b/biscuit/c/ebizzy.c @@ -41,7 +41,7 @@ * */ -#include +#include #include #include #include diff --git a/biscuit/c/echo.c b/biscuit/c/echo.c index 5159fb1..5800b7a 100644 --- a/biscuit/c/echo.c +++ b/biscuit/c/echo.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/fault.c b/biscuit/c/fault.c index cf3b2d9..c5d9a49 100644 --- a/biscuit/c/fault.c +++ b/biscuit/c/fault.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/fault2.c b/biscuit/c/fault2.c index b936c79..76bc11e 100644 --- a/biscuit/c/fault2.c +++ b/biscuit/c/fault2.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/fcgi.c b/biscuit/c/fcgi.c index 79219b3..38a27f3 100644 --- a/biscuit/c/fcgi.c +++ b/biscuit/c/fcgi.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/biscuit/c/fork.c b/biscuit/c/fork.c index 8418984..19760de 100644 --- a/biscuit/c/fork.c +++ b/biscuit/c/fork.c @@ -1,4 +1,4 @@ -#include +#include void child(int id) { diff --git a/biscuit/c/fsbigwrite.c b/biscuit/c/fsbigwrite.c index 731ad16..f1e2f65 100644 --- a/biscuit/c/fsbigwrite.c +++ b/biscuit/c/fsbigwrite.c @@ -1,4 +1,4 @@ -#include +#include static char buf[5120]; diff --git a/biscuit/c/fscreat.c b/biscuit/c/fscreat.c index d179fbe..e58e57c 100644 --- a/biscuit/c/fscreat.c +++ b/biscuit/c/fscreat.c @@ -1,4 +1,4 @@ -#include +#include static char buf[1024]; diff --git a/biscuit/c/fsfree.c b/biscuit/c/fsfree.c index cd7a9db..c5200ff 100644 --- a/biscuit/c/fsfree.c +++ b/biscuit/c/fsfree.c @@ -1,4 +1,4 @@ -#include +#include static char buf[1024]; diff --git a/biscuit/c/fslink.c b/biscuit/c/fslink.c index 73daa0c..c6adbb5 100644 --- a/biscuit/c/fslink.c +++ b/biscuit/c/fslink.c @@ -1,4 +1,4 @@ -#include +#include static char buf[1024]; diff --git a/biscuit/c/fsmkdir.c b/biscuit/c/fsmkdir.c index 2e1ee7d..faf9502 100644 --- a/biscuit/c/fsmkdir.c +++ b/biscuit/c/fsmkdir.c @@ -1,4 +1,4 @@ -#include +#include static char buf[1024]; diff --git a/biscuit/c/fstest.c b/biscuit/c/fstest.c index 139bf56..32bf220 100644 --- a/biscuit/c/fstest.c +++ b/biscuit/c/fstest.c @@ -1,4 +1,4 @@ -#include +#include static char buf[1024]; diff --git a/biscuit/c/fsunlink.c b/biscuit/c/fsunlink.c index 3c401b5..6b9ad37 100644 --- a/biscuit/c/fsunlink.c +++ b/biscuit/c/fsunlink.c @@ -1,4 +1,4 @@ -#include +#include static char buf[1024]; diff --git a/biscuit/c/fswrite.c b/biscuit/c/fswrite.c index f628f0c..aa32c4a 100644 --- a/biscuit/c/fswrite.c +++ b/biscuit/c/fswrite.c @@ -1,4 +1,4 @@ -#include +#include static char buf[1024]; diff --git a/biscuit/c/fweb.c b/biscuit/c/fweb.c.bak similarity index 99% rename from biscuit/c/fweb.c rename to biscuit/c/fweb.c.bak index cd50d8e..3e660c3 100644 --- a/biscuit/c/fweb.c +++ b/biscuit/c/fweb.c.bak @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/biscuit/c/getpid.c b/biscuit/c/getpid.c index 28ba3d4..f938bf8 100644 --- a/biscuit/c/getpid.c +++ b/biscuit/c/getpid.c @@ -1,4 +1,4 @@ -#include +#include int main() { diff --git a/biscuit/c/goodcit.c b/biscuit/c/goodcit.c index dcffeff..1eb6523 100644 --- a/biscuit/c/goodcit.c +++ b/biscuit/c/goodcit.c @@ -1,4 +1,4 @@ -#include +#include void cmb(void) { diff --git a/biscuit/c/halp.c b/biscuit/c/halp.c index a3a2515..9bd5d98 100644 --- a/biscuit/c/halp.c +++ b/biscuit/c/halp.c @@ -1,4 +1,4 @@ -#include +#include static void gcrun(char * const *cmd, long *_ngcs, long *_xput, double *_gcfrac) { @@ -281,7 +281,7 @@ __attribute__((unused)) static void usage() { fprintf(stderr, "usage: %s [-n target gcs] [-c target gc frac]" - " -x <0gc xput> \n", __progname); + " -x <0gc xput> \n", "halp"); exit(-1); } diff --git a/biscuit/c/head.c b/biscuit/c/head.c index 0d6b0ea..bd8e942 100644 --- a/biscuit/c/head.c +++ b/biscuit/c/head.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include diff --git a/biscuit/c/hello.c b/biscuit/c/hello.c index 1a84815..f5843eb 100644 --- a/biscuit/c/hello.c +++ b/biscuit/c/hello.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/include/arpa/inet.h b/biscuit/c/include-litc/arpa/inet.h similarity index 100% rename from biscuit/c/include/arpa/inet.h rename to biscuit/c/include-litc/arpa/inet.h diff --git a/biscuit/c/include/assert.h b/biscuit/c/include-litc/assert.h similarity index 100% rename from biscuit/c/include/assert.h rename to biscuit/c/include-litc/assert.h diff --git a/biscuit/c/include/ctype.h b/biscuit/c/include-litc/ctype.h similarity index 100% rename from biscuit/c/include/ctype.h rename to biscuit/c/include-litc/ctype.h diff --git a/biscuit/c/include/dirent.h b/biscuit/c/include-litc/dirent.h similarity index 100% rename from biscuit/c/include/dirent.h rename to biscuit/c/include-litc/dirent.h diff --git a/biscuit/c/include/err.h b/biscuit/c/include-litc/err.h similarity index 100% rename from biscuit/c/include/err.h rename to biscuit/c/include-litc/err.h diff --git a/biscuit/c/include/errno.h b/biscuit/c/include-litc/errno.h similarity index 100% rename from biscuit/c/include/errno.h rename to biscuit/c/include-litc/errno.h diff --git a/biscuit/c/include/fcntl.h b/biscuit/c/include-litc/fcntl.h similarity index 100% rename from biscuit/c/include/fcntl.h rename to biscuit/c/include-litc/fcntl.h diff --git a/biscuit/c/include/glob.h b/biscuit/c/include-litc/glob.h similarity index 100% rename from biscuit/c/include/glob.h rename to biscuit/c/include-litc/glob.h diff --git a/biscuit/c/include/grp.h b/biscuit/c/include-litc/grp.h similarity index 100% rename from biscuit/c/include/grp.h rename to biscuit/c/include-litc/grp.h diff --git a/biscuit/c/include/inttypes.h b/biscuit/c/include-litc/inttypes.h similarity index 100% rename from biscuit/c/include/inttypes.h rename to biscuit/c/include-litc/inttypes.h diff --git a/biscuit/c/include/limits.h b/biscuit/c/include-litc/limits.h similarity index 100% rename from biscuit/c/include/limits.h rename to biscuit/c/include-litc/limits.h diff --git a/biscuit/c/include/litc.h b/biscuit/c/include-litc/litc.h similarity index 99% rename from biscuit/c/include/litc.h rename to biscuit/c/include-litc/litc.h index 37ab50b..6a41459 100644 --- a/biscuit/c/include/litc.h +++ b/biscuit/c/include-litc/litc.h @@ -715,9 +715,7 @@ typedef struct { struct dirent dents[]; } DIR; -// tls is not fully supported at the time -//extern __thread int errno; -extern int errno; +extern __thread int errno; #define BUFSIZ 4096 #define L_tmpnam 20 diff --git a/biscuit/c/include/littypes.h b/biscuit/c/include-litc/littypes.h similarity index 100% rename from biscuit/c/include/littypes.h rename to biscuit/c/include-litc/littypes.h diff --git a/biscuit/c/include/locale.h b/biscuit/c/include-litc/locale.h similarity index 100% rename from biscuit/c/include/locale.h rename to biscuit/c/include-litc/locale.h diff --git a/biscuit/c/include/malloc.h b/biscuit/c/include-litc/malloc.h similarity index 100% rename from biscuit/c/include/malloc.h rename to biscuit/c/include-litc/malloc.h diff --git a/biscuit/c/include/math.h b/biscuit/c/include-litc/math.h similarity index 100% rename from biscuit/c/include/math.h rename to biscuit/c/include-litc/math.h diff --git a/biscuit/c/include/netdb.h b/biscuit/c/include-litc/netdb.h similarity index 100% rename from biscuit/c/include/netdb.h rename to biscuit/c/include-litc/netdb.h diff --git a/biscuit/c/include/netinet/in.h b/biscuit/c/include-litc/netinet/in.h similarity index 100% rename from biscuit/c/include/netinet/in.h rename to biscuit/c/include-litc/netinet/in.h diff --git a/biscuit/c/include/netinet/tcp.h b/biscuit/c/include-litc/netinet/tcp.h similarity index 100% rename from biscuit/c/include/netinet/tcp.h rename to biscuit/c/include-litc/netinet/tcp.h diff --git a/biscuit/c/include/poll.h b/biscuit/c/include-litc/poll.h similarity index 100% rename from biscuit/c/include/poll.h rename to biscuit/c/include-litc/poll.h diff --git a/biscuit/c/include/pthread.h b/biscuit/c/include-litc/pthread.h similarity index 100% rename from biscuit/c/include/pthread.h rename to biscuit/c/include-litc/pthread.h diff --git a/biscuit/c/include/pwd.h b/biscuit/c/include-litc/pwd.h similarity index 100% rename from biscuit/c/include/pwd.h rename to biscuit/c/include-litc/pwd.h diff --git a/biscuit/c/include/sched.h b/biscuit/c/include-litc/sched.h similarity index 100% rename from biscuit/c/include/sched.h rename to biscuit/c/include-litc/sched.h diff --git a/biscuit/c/include/setjmp.h b/biscuit/c/include-litc/setjmp.h similarity index 100% rename from biscuit/c/include/setjmp.h rename to biscuit/c/include-litc/setjmp.h diff --git a/biscuit/c/include/signal.h b/biscuit/c/include-litc/signal.h similarity index 100% rename from biscuit/c/include/signal.h rename to biscuit/c/include-litc/signal.h diff --git a/biscuit/c/include/spawn.h b/biscuit/c/include-litc/spawn.h similarity index 100% rename from biscuit/c/include/spawn.h rename to biscuit/c/include-litc/spawn.h diff --git a/biscuit/c/include/stdarg.h b/biscuit/c/include-litc/stdarg.h similarity index 100% rename from biscuit/c/include/stdarg.h rename to biscuit/c/include-litc/stdarg.h diff --git a/biscuit/c/include/stddef.h b/biscuit/c/include-litc/stddef.h similarity index 100% rename from biscuit/c/include/stddef.h rename to biscuit/c/include-litc/stddef.h diff --git a/biscuit/c/include/stdint.h b/biscuit/c/include-litc/stdint.h similarity index 100% rename from biscuit/c/include/stdint.h rename to biscuit/c/include-litc/stdint.h diff --git a/biscuit/c/include/stdio.h b/biscuit/c/include-litc/stdio.h similarity index 100% rename from biscuit/c/include/stdio.h rename to biscuit/c/include-litc/stdio.h diff --git a/biscuit/c/include/stdlib.h b/biscuit/c/include-litc/stdlib.h similarity index 100% rename from biscuit/c/include/stdlib.h rename to biscuit/c/include-litc/stdlib.h diff --git a/biscuit/c/include/string.h b/biscuit/c/include-litc/string.h similarity index 100% rename from biscuit/c/include/string.h rename to biscuit/c/include-litc/string.h diff --git a/biscuit/c/include/strings.h b/biscuit/c/include-litc/strings.h similarity index 100% rename from biscuit/c/include/strings.h rename to biscuit/c/include-litc/strings.h diff --git a/biscuit/c/include/sys/ioctl.h b/biscuit/c/include-litc/sys/ioctl.h similarity index 100% rename from biscuit/c/include/sys/ioctl.h rename to biscuit/c/include-litc/sys/ioctl.h diff --git a/biscuit/c/include/sys/mman.h b/biscuit/c/include-litc/sys/mman.h similarity index 100% rename from biscuit/c/include/sys/mman.h rename to biscuit/c/include-litc/sys/mman.h diff --git a/biscuit/c/include/sys/param.h b/biscuit/c/include-litc/sys/param.h similarity index 100% rename from biscuit/c/include/sys/param.h rename to biscuit/c/include-litc/sys/param.h diff --git a/biscuit/c/include/sys/resource.h b/biscuit/c/include-litc/sys/resource.h similarity index 100% rename from biscuit/c/include/sys/resource.h rename to biscuit/c/include-litc/sys/resource.h diff --git a/biscuit/c/include/sys/select.h b/biscuit/c/include-litc/sys/select.h similarity index 100% rename from biscuit/c/include/sys/select.h rename to biscuit/c/include-litc/sys/select.h diff --git a/biscuit/c/include/sys/socket.h b/biscuit/c/include-litc/sys/socket.h similarity index 100% rename from biscuit/c/include/sys/socket.h rename to biscuit/c/include-litc/sys/socket.h diff --git a/biscuit/c/include/sys/stat.h b/biscuit/c/include-litc/sys/stat.h similarity index 100% rename from biscuit/c/include/sys/stat.h rename to biscuit/c/include-litc/sys/stat.h diff --git a/biscuit/c/include/sys/time.h b/biscuit/c/include-litc/sys/time.h similarity index 100% rename from biscuit/c/include/sys/time.h rename to biscuit/c/include-litc/sys/time.h diff --git a/biscuit/c/include/sys/types.h b/biscuit/c/include-litc/sys/types.h similarity index 100% rename from biscuit/c/include/sys/types.h rename to biscuit/c/include-litc/sys/types.h diff --git a/biscuit/c/include/sys/uio.h b/biscuit/c/include-litc/sys/uio.h similarity index 100% rename from biscuit/c/include/sys/uio.h rename to biscuit/c/include-litc/sys/uio.h diff --git a/biscuit/c/include/sys/un.h b/biscuit/c/include-litc/sys/un.h similarity index 100% rename from biscuit/c/include/sys/un.h rename to biscuit/c/include-litc/sys/un.h diff --git a/biscuit/c/include/sys/utsname.h b/biscuit/c/include-litc/sys/utsname.h similarity index 100% rename from biscuit/c/include/sys/utsname.h rename to biscuit/c/include-litc/sys/utsname.h diff --git a/biscuit/c/include/sys/wait.h b/biscuit/c/include-litc/sys/wait.h similarity index 100% rename from biscuit/c/include/sys/wait.h rename to biscuit/c/include-litc/sys/wait.h diff --git a/biscuit/c/include/syslog.h b/biscuit/c/include-litc/syslog.h similarity index 100% rename from biscuit/c/include/syslog.h rename to biscuit/c/include-litc/syslog.h diff --git a/biscuit/c/include/time.h b/biscuit/c/include-litc/time.h similarity index 100% rename from biscuit/c/include/time.h rename to biscuit/c/include-litc/time.h diff --git a/biscuit/c/include/unistd.h b/biscuit/c/include-litc/unistd.h similarity index 100% rename from biscuit/c/include/unistd.h rename to biscuit/c/include-litc/unistd.h diff --git a/biscuit/c/include/common.h b/biscuit/c/include/common.h new file mode 100644 index 0000000..37e8c70 --- /dev/null +++ b/biscuit/c/include/common.h @@ -0,0 +1,27 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define WAIT_ANY (-1) +#include +#define uchar unsigned char diff --git a/biscuit/c/init.c b/biscuit/c/init.c index fac0623..2c89d38 100644 --- a/biscuit/c/init.c +++ b/biscuit/c/init.c @@ -1,4 +1,4 @@ -#include +#include static void fexec(char * const args[]) { diff --git a/biscuit/c/kill.c b/biscuit/c/kill.c index 209dccb..b33711b 100644 --- a/biscuit/c/kill.c +++ b/biscuit/c/kill.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/killtest.c b/biscuit/c/killtest.c index a4c9e1a..7f1f9db 100644 --- a/biscuit/c/killtest.c +++ b/biscuit/c/killtest.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/less.c b/biscuit/c/less.c index ce4f5ca..335b26b 100644 --- a/biscuit/c/less.c +++ b/biscuit/c/less.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/libs/litc.c b/biscuit/c/libs/litc.c index 0029786..cc67cd4 100644 --- a/biscuit/c/libs/litc.c +++ b/biscuit/c/libs/litc.c @@ -64,9 +64,7 @@ #define SYS_FUTEX 31342 #define SYS_GETTID 31343 -// tls is not fully support at the time -//__thread int errno; -int errno; +__thread int errno; static int dolock = 1; diff --git a/biscuit/c/lnc.c b/biscuit/c/lnc.c index e4e497d..631b96d 100644 --- a/biscuit/c/lnc.c +++ b/biscuit/c/lnc.c @@ -1,4 +1,4 @@ -#include +#include static char lmss[1ul << 11]; @@ -81,7 +81,7 @@ int nc(int s) static void usage() { fprintf(stderr, "usage:\n" - "%s [-M] [-c host] [-p port] [-l listen port]\n", __progname); + "%s [-M] [-c host] [-p port] [-l listen port]\n", "lnc"); exit(-1); } diff --git a/biscuit/c/ls.c b/biscuit/c/ls.c index 2ead7b6..293b48d 100644 --- a/biscuit/c/ls.c +++ b/biscuit/c/ls.c @@ -1,4 +1,4 @@ -#include +#include void dprint(int fd, char *par, int left, int rec) { @@ -77,7 +77,7 @@ void usage(void) { fprintf(stderr, "%s [-R]\n" "-R recurse subdirectories\n" - "\n", __progname); + "\n", "ls"); exit(-1); } diff --git a/biscuit/c/lsh.c b/biscuit/c/lsh.c.bak similarity index 99% rename from biscuit/c/lsh.c rename to biscuit/c/lsh.c.bak index 5acd226..c1bae8f 100644 --- a/biscuit/c/lsh.c +++ b/biscuit/c/lsh.c.bak @@ -1,4 +1,4 @@ -#include +#include void mkargs(char *line, char *args[], size_t n) { diff --git a/biscuit/c/mkdir.c b/biscuit/c/mkdir.c index 950e5b7..48b050e 100644 --- a/biscuit/c/mkdir.c +++ b/biscuit/c/mkdir.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/mknodtest.c b/biscuit/c/mknodtest.c index 03783e7..8137527 100644 --- a/biscuit/c/mknodtest.c +++ b/biscuit/c/mknodtest.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/mmapbench.c b/biscuit/c/mmapbench.c index be52690..a800148 100644 --- a/biscuit/c/mmapbench.c +++ b/biscuit/c/mmapbench.c @@ -1,4 +1,4 @@ -#include +#include static long nowms(void) diff --git a/biscuit/c/mmaptest.c b/biscuit/c/mmaptest.c index d2741c4..c9941d1 100644 --- a/biscuit/c/mmaptest.c +++ b/biscuit/c/mmaptest.c @@ -1,4 +1,4 @@ -#include +#include char *ps[1000]; diff --git a/biscuit/c/mv.c b/biscuit/c/mv.c index 61025d7..ef920a5 100644 --- a/biscuit/c/mv.c +++ b/biscuit/c/mv.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/pipetest.c b/biscuit/c/pipetest.c index 706a1be..05b4a8a 100644 --- a/biscuit/c/pipetest.c +++ b/biscuit/c/pipetest.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/pthtests.c b/biscuit/c/pthtests.c index 271c5db..51df90b 100644 --- a/biscuit/c/pthtests.c +++ b/biscuit/c/pthtests.c @@ -1,4 +1,4 @@ -#include +#include __thread int id; diff --git a/biscuit/c/pwd.c b/biscuit/c/pwd.c index 861f588..a6e498c 100644 --- a/biscuit/c/pwd.c +++ b/biscuit/c/pwd.c @@ -1,4 +1,4 @@ -#include +#include #include int main(int argc, char **argv) diff --git a/biscuit/c/reboot.c b/biscuit/c/reboot.c index 802e30c..984e940 100644 --- a/biscuit/c/reboot.c +++ b/biscuit/c/reboot.c @@ -1,4 +1,4 @@ -#include +#include #include int main(int argc, char **argv) @@ -6,6 +6,6 @@ int main(int argc, char **argv) printf("syncing..."); sync(); printf("done. rebooting...\n"); - reboot(); + reboot(RB_AUTOBOOT); return 0; } diff --git a/biscuit/c/rmtree.c b/biscuit/c/rmtree.c index b5e99f1..f698e1d 100644 --- a/biscuit/c/rmtree.c +++ b/biscuit/c/rmtree.c @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -35,8 +35,7 @@ void rm(char *fn) struct stat st; if (stat(fn, &st) == -1) err(-1, "stat"); - if (S_ISREG(st.st_mode) || S_ISSOCK(st.st_mode) || - S_ISDEV(st.st_mode)) { + if (S_ISREG(st.st_mode) || S_ISSOCK(st.st_mode)) { if (unlink(fn) == -1) err(-1, "unlink"); return; @@ -51,7 +50,7 @@ int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "usage: %s \n", - __progname); + "rmtree"); exit(-1); } char *fn = argv[1]; diff --git a/biscuit/c/rshd.c b/biscuit/c/rshd.c index 6bae35f..4e8770e 100644 --- a/biscuit/c/rshd.c +++ b/biscuit/c/rshd.c @@ -1,4 +1,4 @@ -#include +#include static int lstn(uint16_t lport) { diff --git a/biscuit/c/sfork.c b/biscuit/c/sfork.c.bak similarity index 100% rename from biscuit/c/sfork.c rename to biscuit/c/sfork.c.bak diff --git a/biscuit/c/sleep.c b/biscuit/c/sleep.c index accc261..891ba27 100644 --- a/biscuit/c/sleep.c +++ b/biscuit/c/sleep.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/sockettest.c b/biscuit/c/sockettest.c index 6b2104a..a1df4fa 100644 --- a/biscuit/c/sockettest.c +++ b/biscuit/c/sockettest.c @@ -1,4 +1,4 @@ -#include +#include void sendall(int fd, char *buf, size_t len, struct sockaddr_un *sa, socklen_t slen) diff --git a/biscuit/c/stress.c b/biscuit/c/stress.c index 1ea4c01..b26bdd5 100644 --- a/biscuit/c/stress.c +++ b/biscuit/c/stress.c @@ -1,4 +1,4 @@ -#include +#include void generate(void) { diff --git a/biscuit/c/sync.c b/biscuit/c/sync.c index ae11287..c856c59 100644 --- a/biscuit/c/sync.c +++ b/biscuit/c/sync.c @@ -1,6 +1,7 @@ -#include +#include int main(int argc, char **argv) { - return sync(); + sync(); + return 0; } diff --git a/biscuit/c/thtests.c b/biscuit/c/thtests.c.bak similarity index 98% rename from biscuit/c/thtests.c rename to biscuit/c/thtests.c.bak index 1bfb37e..f8ec75f 100644 --- a/biscuit/c/thtests.c +++ b/biscuit/c/thtests.c.bak @@ -1,4 +1,4 @@ -#include +#include void *mkstack(size_t size) { diff --git a/biscuit/c/time.c b/biscuit/c/time.c.bak similarity index 99% rename from biscuit/c/time.c rename to biscuit/c/time.c.bak index 0403044..fea10fe 100644 --- a/biscuit/c/time.c +++ b/biscuit/c/time.c.bak @@ -1,4 +1,4 @@ -#include +#include ulong now() { diff --git a/biscuit/c/touch.c b/biscuit/c/touch.c index dc14edc..1770349 100644 --- a/biscuit/c/touch.c +++ b/biscuit/c/touch.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/uname.c b/biscuit/c/uname.c index 8683ec4..e310f80 100644 --- a/biscuit/c/uname.c +++ b/biscuit/c/uname.c @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -15,7 +15,7 @@ void usage(void) "-r OS release\n" "-s OS name\n" "-v OS version\n" - "\n", __progname); + "\n", "uname"); exit(-1); } diff --git a/biscuit/c/unlink.c b/biscuit/c/unlink.c index 23bde42..fdd1666 100644 --- a/biscuit/c/unlink.c +++ b/biscuit/c/unlink.c @@ -1,4 +1,4 @@ -#include +#include int main(int argc, char **argv) { diff --git a/biscuit/c/usertests.c b/biscuit/c/usertests.c index bb47c67..851fd20 100644 --- a/biscuit/c/usertests.c +++ b/biscuit/c/usertests.c @@ -1,6 +1,4 @@ -#include -#include -#include +#include #define BSIZE 4096 #define NADDR (BSIZE/8)