Skip to content

Commit ff7ced8

Browse files
committed
Disable use of undefined DEF_WEAK macro in strptime.c
The strptime.c code invokes, what is presumably an undefined macro called, DEF_WEAK. The compiler can't resolve this to a function, so being traditional C, it invents a function taking arbitrary args and returning an int. GCC 9.5.0 used in the reproducible build warns about this problem but sdk/Makefile.source is throwing stderr from the tlibc build by sending it all to /dev/null, so the warning is never seen. time/strptime.c:92:1: warning: data definition has no type or storage class 92 | DEF_WEAK(strptime); | ^~~~~~~~ time/strptime.c:92:1: warning: type defaults to 'int' in declaration of 'DEF_WEAK' [-Wimplicit-int] time/strptime.c:92:1: warning: parameter names (without types) in function declaration New GCC 14 has turned this warning into a fatal error, such that this bug breaks the build outside of the NixOS envirnoment. The other use of DEF_WEAK in tlibc/time/localtime.c was surrounded by '#if 0', so do the same in strptime.c Signed-off-by: Daniel P. Berrangé <[email protected]>
1 parent d5a2c9c commit ff7ced8

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

sdk/tlibc/time/strptime.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,9 @@ strptime(const char *buf, const char *fmt, struct tm *tm)
8989
{
9090
return(_strptime(buf, fmt, tm, 1));
9191
}
92+
#if 0
9293
DEF_WEAK(strptime);
94+
#endif
9395

9496
static char *
9597
_strptime(const char *buf, const char *fmt, struct tm *tm, int initialize)

0 commit comments

Comments
 (0)