-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
nodecl clearerr_unlocked W
}
$2 ~ /inc posix/ && $7 != $10 && $5 == "p" {
# different prototype
-
- # todo: move to type.sh
- gsub(/restrict const/, "const", $10)
- gsub(/restrict/, "", $10)
- gsub(/\[[0-9]+\]/, "[]", $10)
- gsub(/unsigned int/, "unsigned", $7)
- gsub(/long int/, "long", $7)
-
- if ($7 != $10)
- print "proto\t" $1 "\t" $4 "\t" $7 "\t" $10 "\t" $6 "\t" $9
+ print "proto\t" $1 "\t" $4 "\t" $7 "\t" $10 "\t" $6 "\t" $9
}
' data/musl.all >data/musl.problems
<h3>musl vs c99 api</h3>
-<h4>commit</h4><p>commit <a href="http://git.etalabs.net/cgi-bin/gitweb.cgi?p=musl;a=commit;h=13cd969552409e05c941829f2aabb15e2f4d9a1f">13cd969552409e05c941829f2aabb15e2f4d9a1f</a><br>Date: Tue Sep 13 21:09:35 2011 -0400<br><br> fix various errors in function signatures/prototypes found by nsz
+<h4>commit</h4><p>commit <a href="http://git.etalabs.net/cgi-bin/gitweb.cgi?p=musl;a=commit;h=4da289e1b3a0d09048d9be1dfc3a7280531a1e48">4da289e1b3a0d09048d9be1dfc3a7280531a1e48</a><br>Date: Tue Sep 13 21:21:53 2011 -0400<br><br> fix return types for aio_read and aio_write again<br> <br> previous fix was backwards and propagated the wrong type rather than<br> the right one...
<h4>legend</h4><ul><li>status: musl implementation status summary<ul><li>(empty) - implemented<li>nosym - prototype found in include files (see decl) but not in libc.a (see sym)<li>nodecl - symbol is in libc.a but not declared in a public header<li>missing - neither in include files (see decl) nor in libc.a (see sym)</ul><li>sym: external symbol kind as found by `nm libc.a` (symbol kind only reported once)<ul><li>C - symbol is common (uninitialized data)<li>D - symbol is in the initialized data section<li>R - symbol is in the read only data section<li>T - symbol is in the text section<li>V - weak object<li>W - weak symbol</ul><li>decl: kind of declaration as found by `ctags -R include` (every occurance is reported, arch specific definitions are not linked)<ul><li>d - macro definition<li>t - typedef<li>s - struct declaration<li>u - union declaration<li>p - function prototype<li>x - external and forward variable declaration</ul></ul>
<h4>table</h4><table border=1><tr><th colspan=3>musl<th colspan=4>c99<tr><th>status<th>sym<th>decl<th>name<th>header<th>proto<th>section
<tr><td>missing<td> <td> <td>NDEBUG<td>assert.h<td> <td>B.1 Diagnostics
state = "type"
}
}
+
+ # fixes
+ gsub(/restrict const/, "const", s)
+ gsub(/restrict/, "", s)
+ gsub(/\[[0-9]+\]/, "[]", s)
+ gsub(/unsigned int/, "unsigned", s)
+ gsub(/long int/, "long", s)
+
print s
}
'