From 5eb9ba508b33f312876f84fb375102cd1dfc53d8 Mon Sep 17 00:00:00 2001 From: nsz Date: Wed, 14 Sep 2011 03:19:47 +0200 Subject: [PATCH] update tables and decl problems --- data/musl.problems | 118 +++------------------------------------------ makeall.sh | 6 ++- tab_c99.html | 2 +- tab_posix.html | 8 +-- 4 files changed, 17 insertions(+), 117 deletions(-) diff --git a/data/musl.problems b/data/musl.problems index fee26ff..c6c110e 100644 --- a/data/musl.problems +++ b/data/musl.problems @@ -1,25 +1,14 @@ -header FD_CLR sys/select.h sys_select.h -header FD_ISSET sys/select.h sys_select.h -header FD_SET sys/select.h sys_select.h -header FD_ZERO sys/select.h sys_select.h -header accept sys/socket.h sys_socket.h -proto aio_error aio.h int(struct aiocb*) int(const struct aiocb*) int aio_error(struct aiocb *); int aio_error(const struct aiocb *aiocbp); -proto aio_suspend aio.h int(struct aiocb*const[],int,const struct timespec*) int(const struct aiocb*const[],int,const struct timespec*) int aio_suspend(struct aiocb *const [], int, const struct timespec *); int aio_suspend(const struct aiocb *const list[], int nent, const struct timespec *timeout); -header bind sys/socket.h sys_socket.h +proto aio_read aio.h ssize_t(struct aiocb*) int(struct aiocb*) ssize_t aio_read(struct aiocb *); int aio_read(struct aiocb *aiocbp); +proto aio_write aio.h ssize_t(struct aiocb*) int(struct aiocb*) ssize_t aio_write(struct aiocb *); int aio_write(struct aiocb *aiocbp); nodecl cfmakeraw T nodecl cfsetspeed W -header chmod sys/stat.h sys_stat.h nodecl clearerr_unlocked W -header connect sys/socket.h sys_socket.h nodecl crypt_r W header ctermid unistd.h stdio.h nodecl daemon T nodecl dst_offset V -proto encrypt unistd.h void(char*,int) void(char[64],int) void encrypt(char *, int); void encrypt(char block[64], int edflag); +proto encrypt unistd.h void(char*,int) void(char[],int) void encrypt(char *, int); void encrypt(char block[64], int edflag); nodecl environ V -proto erand48 stdlib.h double(unsigned short[]) double(unsigned short[3]) double erand48 (unsigned short [3]); double erand48(unsigned short xsubi[3]); -header fchmod sys/stat.h sys_stat.h -header fchmodat sys/stat.h sys_stat.h nodecl feof_unlocked W nodecl ferror_unlocked W nodecl fflush_unlocked W @@ -29,116 +18,23 @@ nodecl fileno_unlocked W nodecl fputwc_unlocked W nodecl fputws_unlocked W nodecl fread_unlocked W -header fstat sys/stat.h sys_stat.h -header fstatat sys/stat.h sys_stat.h -header fstatvfs sys/statvfs.h sys_statvfs.h -header ftok sys/ipc.h sys_ipc.h -header futimens sys/stat.h sys_stat.h sys_time.h -proto futimens sys/stat.h int(int,const struct timespec[]) int(int,const struct timespec[2]) int futimens(int, const struct timespec [2]); int futimens(int fd, const struct timespec times[2]); nodecl fwrite_unlocked W -proto getdate time.h extern struct tm*(const char*) struct tm*(const char*) extern struct tm *getdate (const char *); struct tm *getdate(const char *string); nodecl getdents W nodecl getdomainname T -header getitimer sys/time.h sys_time.h -header getpeername sys/socket.h sys_socket.h -header getpriority sys/resource.h sys_resource.h -header getrlimit sys/resource.h sys_resource.h -header getrusage sys/resource.h sys_resource.h -header getsockname sys/socket.h sys_socket.h -header getsockopt sys/socket.h sys_socket.h -header gettimeofday sys/time.h sys_time.h nodecl getw T nodecl getwc_unlocked W nodecl getwchar_unlocked W -header htonl netinet/in.h arpa_inet.h -header htons netinet/in.h arpa_inet.h -header if_freenameindex net/if.h net_if.h -header if_indextoname net/if.h net_if.h -header if_nameindex net/if.h net_if.h -header if_nametoindex net/if.h net_if.h -header inet_addr arpa/inet.h arpa_inet.h -header inet_ntoa arpa/inet.h arpa_inet.h -header inet_ntop arpa/inet.h arpa_inet.h -header inet_pton arpa/inet.h arpa_inet.h -proto jrand48 stdlib.h long(unsigned short[]) long(unsigned short[3]) long jrand48 (unsigned short [3]); long jrand48(unsigned short xsubi[3]); -proto lcong48 stdlib.h void(unsigned short[]) void(unsigned short[7]) void lcong48 (unsigned short [7]); void lcong48(unsigned short param[7]); -header listen sys/socket.h sys_socket.h -header lstat sys/stat.h sys_stat.h -header mkdir sys/stat.h sys_stat.h -header mkdirat sys/stat.h sys_stat.h -header mkfifo sys/stat.h sys_stat.h -header mkfifoat sys/stat.h sys_stat.h -header mknod sys/stat.h sys_stat.h -header mknodat sys/stat.h sys_stat.h -header mlock sys/mman.h sys_mman.h -header mlockall sys/mman.h sys_mman.h -header mmap sys/mman.h sys_mman.h -header mprotect sys/mman.h sys_mman.h -header msgctl sys/msg.h sys_msg.h -header msgget sys/msg.h sys_msg.h -header msgrcv sys/msg.h sys_msg.h -header msgsnd sys/msg.h sys_msg.h -header msync sys/mman.h sys_mman.h -header munlock sys/mman.h sys_mman.h -header munlockall sys/mman.h sys_mman.h -header munmap sys/mman.h sys_mman.h -proto nrand48 stdlib.h long(unsigned short[]) long(unsigned short[3]) long int nrand48 (unsigned short [3]); long nrand48(unsigned short xsubi[3]); -header ntohl netinet/in.h arpa_inet.h -header ntohs netinet/in.h arpa_inet.h -proto pipe unistd.h int(int[]) int(int[2]) int pipe(int [2]); int pipe(int fildes[2]); +header htonl netinet/in.h arpa/inet.h +header htons netinet/in.h arpa/inet.h +header ntohl netinet/in.h arpa/inet.h +header ntohs netinet/in.h arpa/inet.h nodecl pivot_root T proto poll poll.h int(struct pollfd*,nfds_t,int) int(struct pollfd[],nfds_t,int) int poll (struct pollfd *, nfds_t, int); int poll(struct pollfd fds[], nfds_t nfds, int timeout); -header posix_madvise sys/mman.h sys_mman.h -proto posix_spawn spawn.h int(pid_t*,const char*,const posix_spawn_file_actions_t*,const posix_spawnattr_t*,char**,char**) int(pid_t*,const char*,const posix_spawn_file_actions_t*,const posix_spawnattr_t*,char*const[],char*const[]) int posix_spawn(pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char **, char **); int posix_spawn(pid_t *restrict pid, const char *restrict path, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *restrict attrp, char *const argv[restrict], char *const envp[restrict]); -proto posix_spawnp spawn.h int(pid_t*,const char*,const posix_spawn_file_actions_t*,const posix_spawnattr_t*,char**,char**) int(pid_t*,const char*,const posix_spawn_file_actions_t*,const posix_spawnattr_t*,char*const[],char*const[]) int posix_spawnp(pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char **, char **); int posix_spawnp(pid_t *restrict pid, const char *restrict file, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t *restrict attrp, char *const argv[restrict], char *const envp[restrict]); -header pselect sys/select.h sys_select.h nodecl putw T nodecl putwc_unlocked W nodecl putwchar_unlocked W -proto readlink unistd.h int(const char*,char*,size_t) ssize_t(const char*,char*,size_t) int readlink(const char *, char *, size_t); ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize); -proto readlinkat unistd.h int(int,const char*,char*,size_t) ssize_t(int,const char*,char*,size_t) int readlinkat(int, const char *, char *, size_t); ssize_t readlinkat(int fd, const char *restrict path, char *restrict buf, size_t bufsize); -header readv sys/uio.h sys_uio.h -header recv sys/socket.h sys_socket.h -header recvfrom sys/socket.h sys_socket.h -header recvmsg sys/socket.h sys_socket.h nodecl scalbf T -proto seed48 stdlib.h unsigned short*(unsigned short[]) unsigned short*(unsigned short[3]) unsigned short *seed48 (unsigned short [3]); unsigned short *seed48(unsigned short seed16v[3]); -header select sys/select.h sys_select.h -header semget sys/sem.h sys_sem.h -header semop sys/sem.h sys_sem.h -header send sys/socket.h sys_socket.h -header sendmsg sys/socket.h sys_socket.h -header sendto sys/socket.h sys_socket.h -header setitimer sys/time.h sys_time.h -proto setpgrp unistd.h int(void) pid_t(void) int setpgrp(void); pid_t setpgrp(void); -header setpriority sys/resource.h sys_resource.h -header setrlimit sys/resource.h sys_resource.h -header setsockopt sys/socket.h sys_socket.h -header shm_open sys/mman.h sys_mman.h -header shm_unlink sys/mman.h sys_mman.h -header shmat sys/shm.h sys_shm.h -header shmctl sys/shm.h sys_shm.h -header shmdt sys/shm.h sys_shm.h -header shmget sys/shm.h sys_shm.h -header shutdown sys/socket.h sys_socket.h nodecl sincos T -header sockatmark sys/socket.h sys_socket.h -header socket sys/socket.h sys_socket.h -header socketpair sys/socket.h sys_socket.h -proto socketpair sys/socket.h int(int,int,int,int[]) int(int,int,int,int[2]) int socketpair (int, int, int, int [2]); int socketpair(int domain, int type, int protocol, int socket_vector[2]); nodecl start T -header stat sys/stat.h sys_stat.h -header statvfs sys/statvfs.h sys_statvfs.h nodecl stime T -header times sys/times.h sys_times.h -header umask sys/stat.h sys_stat.h -header uname sys/utsname.h sys_utsname.h -header utimensat sys/stat.h sys_stat.h sys_time.h -proto utimensat sys/stat.h int(int,const char*,const struct timespec[],int) int(int,const char*,const struct timespec[2],int) int utimensat(int, const char *, const struct timespec [2], int); int utimensat(int fd, const char *path, const struct timespec times[2], int flag); -header utimes sys/time.h sys_stat.h sys_time.h -proto utimes sys/time.h int(const char*,const struct timeval[]) int(const char*,const struct timeval[2]) int utimes (const char *, const struct timeval [2]); int utimes(const char *path, const struct timeval times[2]); -header wait sys/wait.h sys_wait.h -header waitid sys/wait.h sys_wait.h -header waitpid sys/wait.h sys_wait.h header wcrtomb wchar.h stdio.h -header writev sys/uio.h sys_uio.h diff --git a/makeall.sh b/makeall.sh index 99aa757..441a3e9 100755 --- a/makeall.sh +++ b/makeall.sh @@ -40,6 +40,10 @@ $2 == "obj" || $2 == "obj posix" { } $2 ~ /inc posix/ && $4 != $8 { # different header + + # todo.. + gsub(/_/, "/", $8) + n = split($8, a, " ") for (i = 1; i <= n; i++) if ($4 == a[i]) @@ -53,7 +57,7 @@ $2 ~ /inc posix/ && $7 != $10 && $5 == "p" { # todo: move to type.sh gsub(/restrict const/, "const", $10) gsub(/restrict/, "", $10) -# gsub(/\[[0-9]+\]/, "[]", $10) + gsub(/\[[0-9]+\]/, "[]", $10) gsub(/unsigned int/, "unsigned", $7) gsub(/long int/, "long", $7) diff --git a/tab_c99.html b/tab_c99.html index b027a70..102aebd 100644 --- a/tab_c99.html +++ b/tab_c99.html @@ -1,5 +1,5 @@

musl vs c99 api

-

commit

commit 801b311a5b6f00a9490ae9933439d1e62451fbd3
Date: Tue Sep 13 13:41:40 2011 -0400

0.8.0 release +

commit

commit 13cd969552409e05c941829f2aabb15e2f4d9a1f
Date: Tue Sep 13 21:09:35 2011 -0400

fix various errors in function signatures/prototypes found by nsz

legend

table

muslc99
statussymdeclnameheaderprotosection
missing  NDEBUGassert.h B.1 Diagnostics diff --git a/tab_posix.html b/tab_posix.html index a492a3d..331e4c9 100644 --- a/tab_posix.html +++ b/tab_posix.html @@ -1,5 +1,5 @@

musl vs posix api

-

commit

commit 801b311a5b6f00a9490ae9933439d1e62451fbd3
Date: Tue Sep 13 13:41:40 2011 -0400

0.8.0 release +

commit

commit 13cd969552409e05c941829f2aabb15e2f4d9a1f
Date: Tue Sep 13 21:09:35 2011 -0400

fix various errors in function signatures/prototypes found by nsz

legend

  • status: musl implementation status summary
    • (empty) - implemented
    • nosym - prototype found in include files (see decl) but not in libc.a (see sym)
    • nodecl - symbol is in libc.a but not declared in a public header
    • missing - neither in include files (see decl) nor in libc.a (see sym)
  • sym: external symbol kind as found by `nm libc.a` (symbol kind only reported once)
    • C - symbol is common (uninitialized data)
    • D - symbol is in the initialized data section
    • R - symbol is in the read only data section
    • T - symbol is in the text section
    • V - weak object
    • W - weak symbol
  • decl: kind of declaration as found by `ctags -R include` (every occurance is reported)
    • d - macro definition
    • p - function prototype
    • x - external and forward variable declaration

(STREAMS and posix_trace* apis are excluded)

table

muslposix
statussymdeclnameheaderoptiondesc
  d FD_CLR sys_select.h pselect, select - synchronous I/O multiplexing @@ -635,14 +635,14 @@
 Tp posix_spawn_file_actions_addopen spawn.h SPNposix_spawn_file_actions_addclose, posix_spawn_file_actions_addopen - add close or open action to spawn file actions object (ADVANCED REALTIME)
 Tp posix_spawn_file_actions_destroy spawn.h SPNposix_spawn_file_actions_destroy, posix_spawn_file_actions_init - destroy and initialize spawn file actions object (ADVANCED REALTIME)
 Tp posix_spawn_file_actions_init spawn.h SPNposix_spawn_file_actions_destroy, posix_spawn_file_actions_init - destroy and initialize spawn file actions object (ADVANCED REALTIME) -
nosym p posix_spawnattr_destroy spawn.h SPNposix_spawnattr_destroy, posix_spawnattr_init - destroy and initialize spawn attributes object (ADVANCED REALTIME) +
 Tp posix_spawnattr_destroy spawn.h SPNposix_spawnattr_destroy, posix_spawnattr_init - destroy and initialize spawn attributes object (ADVANCED REALTIME)
 Tp posix_spawnattr_getflags spawn.h SPNposix_spawnattr_getflags, posix_spawnattr_setflags - get and set the spawn-flags attribute of a spawn attributes object (ADVANCED REALTIME)
 Tp posix_spawnattr_getpgroup spawn.h SPNposix_spawnattr_getpgroup, posix_spawnattr_setpgroup - get and set the spawn-pgroup attribute of a spawn attributes object (ADVANCED REALTIME)
missing  posix_spawnattr_getschedparam spawn.h sched.h SPN PSposix_spawnattr_getschedparam, posix_spawnattr_setschedparam - get and set the spawn-schedparam attribute of a spawn attributes object (ADVANCED REALTIME)
missing  posix_spawnattr_getschedpolicy spawn.h sched.h SPN PSposix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy - get and set the spawn-schedpolicy attribute of a spawn attributes object (ADVANCED REALTIME)
 Tp posix_spawnattr_getsigdefault signal.h spawn.h SPNposix_spawnattr_getsigdefault, posix_spawnattr_setsigdefault - get and set the spawn-sigdefault attribute of a spawn attributes object (ADVANCED REALTIME)
 Tp posix_spawnattr_getsigmask signal.h spawn.h SPNposix_spawnattr_getsigmask, posix_spawnattr_setsigmask - get and set the spawn-sigmask attribute of a spawn attributes object (ADVANCED REALTIME) -
nosym p posix_spawnattr_init spawn.h SPNposix_spawnattr_destroy, posix_spawnattr_init - destroy and initialize spawn attributes object (ADVANCED REALTIME) +
 Tp posix_spawnattr_init spawn.h SPNposix_spawnattr_destroy, posix_spawnattr_init - destroy and initialize spawn attributes object (ADVANCED REALTIME)
 Tp posix_spawnattr_setflags spawn.h SPNposix_spawnattr_getflags, posix_spawnattr_setflags - get and set the spawn-flags attribute of a spawn attributes object (ADVANCED REALTIME)
 Tp posix_spawnattr_setpgroup spawn.h SPNposix_spawnattr_getpgroup, posix_spawnattr_setpgroup - get and set the spawn-pgroup attribute of a spawn attributes object (ADVANCED REALTIME)
missing  posix_spawnattr_setschedparam spawn.h sched.h SPN PSposix_spawnattr_getschedparam, posix_spawnattr_setschedparam - get and set the spawn-schedparam attribute of a spawn attributes object (ADVANCED REALTIME) @@ -1136,4 +1136,4 @@
nosym p y1 math.h XSIy0, y1, yn - Bessel functions of the second kind
nosym p yn math.h XSIy0, y1, yn - Bessel functions of the second kind
-

stats

  • missing: 126
  • nosym: 121
  • nodecl: 1
+

stats

  • missing: 126
  • nosym: 119
  • nodecl: 1
-- 2.20.1