From: André Draszik <[email protected]> | ../../coreutils-6.9/lib/mktime.c: In function 'ydhms_diff': | ../../coreutils-6.9/lib/mktime.c:105:52: error: size of array 'a' is negative | 105 | #define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; } | | ^ | ../../coreutils-6.9/lib/mktime.c:168:3: note: in expansion of macro 'verify' | 168 | verify (long_int_year_and_yday_are_wide_enough, | | ^~~~~~
coreutils tries to determine of mktime() from the c-library works fine, but when cross-compiling, it unconditionally assumes buggy behaviour, in which case it will use its own replacement implementation. These basically are tests for (g)libc implementation bugs that have existed in ancient times but aren't relevant anymore. The alternative implementation makes various assumptions which don't hold true (and doesn't compile anymore). While more recent versions of coreutils have fixed those assumptions, it's quite hard to update the code here without potential licensing issues. Given mktime() works fine in musl and glibc these days, we can work-around the issues by simply relying on the c-libraries mktime() implementation, avoiding all problems with coreutils' alternative implementation. I've veryfied this by running the tests both on my musl target, and my glibc (v2.29) host. This also reduces code-size slightly. The ac_cv_func_working_mktime variable here corresponds to the gl_cv_func_working_mktime variable in more recent versions of coreutils (gnulib), which is being set in oe-core in meta/site. Signed-off-by: André Draszik <[email protected]> --- recipes-core/coreutils/coreutils_6.9.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes-core/coreutils/coreutils_6.9.bb b/recipes-core/coreutils/coreutils_6.9.bb index 080100d..f6017ec 100644 --- a/recipes-core/coreutils/coreutils_6.9.bb +++ b/recipes-core/coreutils/coreutils_6.9.bb @@ -33,7 +33,9 @@ SRC_URI[md5sum] = "c9607d8495f16e98906e7ed2d9751a06" SRC_URI[sha256sum] = "89c2895ad157de50e53298b22d91db116ee4e1dd3fdf4019260254e2e31497b0" EXTRA_OECONF += "ac_cv_func_getgroups_works=yes \ - ac_cv_func_strcoll_works=yes" + ac_cv_func_strcoll_works=yes \ + ac_cv_func_working_mktime=yes \ + " # acl is not a default feature # -- 2.23.0.rc1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#47936): https://lists.yoctoproject.org/g/yocto/message/47936 Mute This Topic: https://lists.yoctoproject.org/mt/69604792/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
