[openwrt/openwrt] uml: fix glibc-static check with GCC14

LEDE Commits lede-commits at lists.infradead.org
Sat Jun 22 13:06:09 PDT 2024


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/0ed72c271b13078d2daff45349368ed80d4a1fd5

commit 0ed72c271b13078d2daff45349368ed80d4a1fd5
Author: Robert Marko <robimarko at gmail.com>
AuthorDate: Sat Jun 22 21:57:23 2024 +0200

    uml: fix glibc-static check with GCC14
    
    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 at gmail.com>
---
 target/linux/uml/image/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/uml/image/Makefile b/target/linux/uml/image/Makefile
index 45ab0cfbcd..f00ccab0e4 100644
--- a/target/linux/uml/image/Makefile
+++ b/target/linux/uml/image/Makefile
@@ -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))




More information about the lede-commits mailing list