uml: fix glibc-static check with GCC14
authorRobert Marko <robimarko@gmail.com>
Sat, 22 Jun 2024 19:57:23 +0000 (21:57 +0200)
committerRobert Marko <robimarko@gmail.com>
Sat, 22 Jun 2024 20:06:06 +0000 (22:06 +0200)
Running the glibc-static check with GCC14 as the host compiler will fail:
Please install a static glibc package. (Missing libutil.a, librt.a or libpthread.a)

However, this error will get printed even with the required static
libraries installed when GCC14 is used.

Manually running the check exposes the real error:
<stdin>: In function ‘main’:
<stdin>:1:45: error: implicit declaration of function ‘timer_gettime’ [-Wimplicit-function-declaration]

GCC14 now errors on implicit declarations by default, so lets add the
required time.h header to fix compilation and thus the check.

Link: https://github.com/openwrt/openwrt/pull/15778
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/uml/image/Makefile

index 45ab0cfbcdfa2e465ae6713e039ec793f1686387..f00ccab0e44f12b6fbb3b830515c994fb113d2a8 100644 (file)
@@ -30,4 +30,4 @@ $(eval $(call BuildImage))
 $(eval $(call TestHostCommand,glibc-static, \
        Please install a static glibc package. (Missing libutil.a, librt.a or libpthread.a), \
        echo 'int main(int argc, char **argv) { login(0); timer_gettime(0, 0); return 0; }' | \
-               gcc -include utmp.h -x c -o $(TMP_DIR)/a.out - -static -lutil -lrt))
+               gcc -include utmp.h -include time.h -x c -o $(TMP_DIR)/a.out - -static -lutil -lrt))