All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/16] site updates (autotools / coreutils)
@ 2020-01-10 16:52 André Draszik
  2020-01-10 16:52 ` [PATCH 01/16] site: linux has working chown() André Draszik
                   ` (17 more replies)
  0 siblings, 18 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

Hi,

For the following updates, I have run the autotools tests
(m4 macros) on the target on an up-to-date musl (32bit arm)
system, as well as taken the results from my host machine
for glibc (64bit, glibc 2.29)

These help to prevent coreutils from compiling lots of
useless wrappers, as many of the tests are testing long
fixed bugs that are not relevant anymore, since in most
cases the m4 macros assume the worst when cross-compiling.

Cheers,
André




^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH 01/16] site: linux has working chown()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 02/16] site: musl has working memcmp() André Draszik
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

I.e. a chown() that works when given -1 as uid / gid

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-linux | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/site/common-linux b/meta/site/common-linux
index 71ec961b15..59fb9e36a6 100644
--- a/meta/site/common-linux
+++ b/meta/site/common-linux
@@ -47,6 +47,7 @@ hw_cv_func_snprintf_c99=${hw_cv_func_snprintf_c99=yes}
 hw_cv_func_vsnprintf_c99=${hw_cv_func_vsnprintf_c99=yes}
 
 # coreutils
+ac_cv_func_chown_works=${ac_cv_func_chown_works=yes}
 gl_cv_func_fstatat_zero_flag=${gl_cv_func_fstatat_zero_flag=yes}
 gl_cv_have_proc_uptime=${gl_cv_have_proc_uptime=yes}
 
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 02/16] site: musl has working memcmp()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
  2020-01-10 16:52 ` [PATCH 01/16] site: linux has working chown() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 03/16] site: musl and glibc have working mkstemp() André Draszik
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

I.e. a memcmp() that is 8bit clean (like glibc).

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-musl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/site/common-musl b/meta/site/common-musl
index 1b4fc32135..024b6ba1e5 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -4,6 +4,7 @@ ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
 ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
 ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
 ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
 ac_cv_func_getpgrp_void=yes
 ac_cv_func_setpgrp_void=yes
 ac_cv_func_setgrent_void=yes
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 03/16] site: musl and glibc have working mkstemp()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
  2020-01-10 16:52 ` [PATCH 01/16] site: linux has working chown() André Draszik
  2020-01-10 16:52 ` [PATCH 02/16] site: musl has working memcmp() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 04/16] site: musl and glibc have glibc compatible calloc() André Draszik
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

their mkstemp() passes all tests from the gnulib m4 macro
gl_FUNC_MKSTEMP.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index 1443f8e528..0bcaea2732 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -28,6 +28,7 @@ ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}
 
 # coreutils
 fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
+gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
 
 # glib
 glib_cv_strlcpy=${glib_cv_strlcpy=no}
diff --git a/meta/site/common-musl b/meta/site/common-musl
index 024b6ba1e5..bbf2f9c72b 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -36,6 +36,7 @@ fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
 gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
+gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
 ac_cv_func_posix_spawn=${ac_cv_func_posix_spawn=yes}
 ac_cv_func_posix_spawn_works=${ac_cv_func_posix_spawn_works=yes}
 
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 04/16] site: musl and glibc have glibc compatible calloc()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (2 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 03/16] site: musl and glibc have working mkstemp() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 05/16] site: linux supports unlink() of executing program André Draszik
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

calloc (N, S) returns non-NULL when N*S is zero,
and returns NULL when N*S overflows.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index 0bcaea2732..baab03c588 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -1,5 +1,6 @@
 # general
 ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+ac_cv_func_calloc_0_nonnull=${ac_cv_func_calloc_0_nonnull=yes}
 ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
 ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
 ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
diff --git a/meta/site/common-musl b/meta/site/common-musl
index bbf2f9c72b..d8ff44327f 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -1,5 +1,6 @@
 # general
 ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=no}
+ac_cv_func_calloc_0_nonnull=${ac_cv_func_calloc_0_nonnull=yes}
 ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
 ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
 ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 05/16] site: linux supports unlink() of executing program
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (3 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 04/16] site: musl and glibc have glibc compatible calloc() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 06/16] site: musl and glibc have glibc compatible getcwd() André Draszik
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

I.e. shared text that is being executed.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-linux | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/site/common-linux b/meta/site/common-linux
index 59fb9e36a6..fcabdbd54a 100644
--- a/meta/site/common-linux
+++ b/meta/site/common-linux
@@ -49,6 +49,7 @@ hw_cv_func_vsnprintf_c99=${hw_cv_func_vsnprintf_c99=yes}
 # coreutils
 ac_cv_func_chown_works=${ac_cv_func_chown_works=yes}
 gl_cv_func_fstatat_zero_flag=${gl_cv_func_fstatat_zero_flag=yes}
+gl_cv_func_unlink_busy_text=${gl_cv_func_unlink_busy_text=yes}
 gl_cv_have_proc_uptime=${gl_cv_have_proc_uptime=yes}
 
 # mysql
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 06/16] site: musl and glibc have glibc compatible getcwd()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (4 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 05/16] site: linux supports unlink() of executing program André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 07/16] site: set getcwd() behaviour for long paths for glibc / musl André Draszik
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

I.e. allocate memory for the pointer returned when the first
argument is NULL.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index baab03c588..e5085f518f 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -29,6 +29,7 @@ ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}
 
 # coreutils
 fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
+gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
 
 # glib
diff --git a/meta/site/common-musl b/meta/site/common-musl
index d8ff44327f..0c9d21e0b7 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -34,6 +34,7 @@ bash_cv_sys_siglist=${bash_cv_sys_siglist=no}
 
 # coreutils
 fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
+gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 07/16] site: set getcwd() behaviour for long paths for glibc / musl
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (5 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 06/16] site: musl and glibc have glibc compatible getcwd() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 08/16] site: set getcwd() test result for abort()-bug " André Draszik
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

In glibc, getcwd() handles long file names properly, on
musl, getcwd() only works up to PATH_MAX directory depths.

Configuring the autotools (gnulib) test result here allows
coreutils to compile more optimised code for both platforms,
rather than being pessimistic and re-implementing everything
itself.

The difference in behaviour is because both do the kernel
getcwd syscall (which only supports up to PATH_MAX), but
glibc implements fallbacks for longer paths, while musl
doesn't.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index e5085f518f..1f6175ba93 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -30,6 +30,7 @@ ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}
 # coreutils
 fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
 gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
+gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
 
 # glib
diff --git a/meta/site/common-musl b/meta/site/common-musl
index 0c9d21e0b7..c8113755aa 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -35,6 +35,7 @@ bash_cv_sys_siglist=${bash_cv_sys_siglist=no}
 # coreutils
 fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
 gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
+gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max='no, but it is partly working'}
 gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 08/16] site: set getcwd() test result for abort()-bug for glibc / musl
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (6 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 07/16] site: set getcwd() behaviour for long paths for glibc / musl André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 09/16] site: musl and glibc have working getgroups() André Draszik
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

This coreutils (gnulib) test checks for an abort() that existed
in glibc before 2.4.90-10 (in 2006) in certain conditions.

Neither libraries exhibit this problem today.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index 1f6175ba93..82a70b0f3f 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -29,6 +29,7 @@ ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}
 
 # coreutils
 fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
+gl_cv_func_getcwd_abort_bug=${gl_cv_func_getcwd_abort_bug=no}
 gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
diff --git a/meta/site/common-musl b/meta/site/common-musl
index c8113755aa..2785c66a5c 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -34,6 +34,7 @@ bash_cv_sys_siglist=${bash_cv_sys_siglist=no}
 
 # coreutils
 fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
+gl_cv_func_getcwd_abort_bug=${gl_cv_func_getcwd_abort_bug=no}
 gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max='no, but it is partly working'}
 gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 09/16] site: musl and glibc have working getgroups()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (7 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 08/16] site: set getcwd() test result for abort()-bug " André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 10/16] site: linux supports NULL in utime() André Draszik
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

recent coreutils (gnulib) assume yes when cross-compiling
for gnu (glibc), but don't know about musl.
For coherence, just set the result to yes for both.

Note that the old coreutils (from meta-gplv2) doesn't
assume anything and instead that recipe hard-codes to yes.
So behaviour with yocto when using meta-gplv2 is actually
better than when using the latest version (when using musl).

This patch rectifies this shortcoming.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index 82a70b0f3f..496b8a4bcb 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -32,6 +32,7 @@ fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
 gl_cv_func_getcwd_abort_bug=${gl_cv_func_getcwd_abort_bug=no}
 gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max=yes}
+ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
 
 # glib
diff --git a/meta/site/common-musl b/meta/site/common-musl
index 2785c66a5c..ec068ff673 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -37,6 +37,7 @@ fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
 gl_cv_func_getcwd_abort_bug=${gl_cv_func_getcwd_abort_bug=no}
 gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max='no, but it is partly working'}
+ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
 gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 10/16] site: linux supports NULL in utime()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (8 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 09/16] site: musl and glibc have working getgroups() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 11/16] site: musl and glibc have working utimes() André Draszik
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

to set the file to the current time

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-linux | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/site/common-linux b/meta/site/common-linux
index fcabdbd54a..2ef5238799 100644
--- a/meta/site/common-linux
+++ b/meta/site/common-linux
@@ -48,6 +48,7 @@ hw_cv_func_vsnprintf_c99=${hw_cv_func_vsnprintf_c99=yes}
 
 # coreutils
 ac_cv_func_chown_works=${ac_cv_func_chown_works=yes}
+ac_cv_func_utime_null=${ac_cv_func_utime_null=yes}
 gl_cv_func_fstatat_zero_flag=${gl_cv_func_fstatat_zero_flag=yes}
 gl_cv_func_unlink_busy_text=${gl_cv_func_unlink_busy_text=yes}
 gl_cv_have_proc_uptime=${gl_cv_have_proc_uptime=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 11/16] site: musl and glibc have working utimes()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (9 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 10/16] site: linux supports NULL in utime() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 12/16] site: on linux, pipes are fifos with max link count of 1 André Draszik
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

This coreutils / gnulib autoconf test is for a broken glibc
implementation of utimes from 2003-07-12 to 2003-09-17.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index 496b8a4bcb..ca55d48e72 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -34,6 +34,7 @@ gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max=yes}
 ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
+gl_cv_func_working_utimes=${gl_cv_func_working_utimes=yes}
 
 # glib
 glib_cv_strlcpy=${glib_cv_strlcpy=no}
diff --git a/meta/site/common-musl b/meta/site/common-musl
index ec068ff673..1e7efbc311 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -42,6 +42,7 @@ gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
+gl_cv_func_working_utimes=${gl_cv_func_working_utimes=yes}
 ac_cv_func_posix_spawn=${ac_cv_func_posix_spawn=yes}
 ac_cv_func_posix_spawn_works=${ac_cv_func_posix_spawn_works=yes}
 
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 12/16] site: on linux, pipes are fifos with max link count of 1
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (10 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 11/16] site: musl and glibc have working utimes() André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:52 ` [PATCH 13/16] site: on linux, link(2) doesn't follow symlinks André Draszik
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-linux | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/site/common-linux b/meta/site/common-linux
index 2ef5238799..720a1204a5 100644
--- a/meta/site/common-linux
+++ b/meta/site/common-linux
@@ -52,6 +52,7 @@ ac_cv_func_utime_null=${ac_cv_func_utime_null=yes}
 gl_cv_func_fstatat_zero_flag=${gl_cv_func_fstatat_zero_flag=yes}
 gl_cv_func_unlink_busy_text=${gl_cv_func_unlink_busy_text=yes}
 gl_cv_have_proc_uptime=${gl_cv_have_proc_uptime=yes}
+gl_cv_pipes_are_fifos=${gl_cv_pipes_are_fifos='yes (1)'}
 
 # mysql
 ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 13/16] site: on linux, link(2) doesn't follow symlinks
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (11 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 12/16] site: on linux, pipes are fifos with max link count of 1 André Draszik
@ 2020-01-10 16:52 ` André Draszik
  2020-01-10 16:53 ` [PATCH 14/16] site: set nanosleep() behaviour for glibc / musl André Draszik
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:52 UTC (permalink / raw)
  To: openembedded-core

(but gnulib / coreutils assumes yes when cross-compiling)

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-linux | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/site/common-linux b/meta/site/common-linux
index 720a1204a5..1c1fdafbb0 100644
--- a/meta/site/common-linux
+++ b/meta/site/common-linux
@@ -50,6 +50,7 @@ hw_cv_func_vsnprintf_c99=${hw_cv_func_vsnprintf_c99=yes}
 ac_cv_func_chown_works=${ac_cv_func_chown_works=yes}
 ac_cv_func_utime_null=${ac_cv_func_utime_null=yes}
 gl_cv_func_fstatat_zero_flag=${gl_cv_func_fstatat_zero_flag=yes}
+gl_cv_func_link_follows_symlink=${gl_cv_func_link_follows_symlink=no}
 gl_cv_func_unlink_busy_text=${gl_cv_func_unlink_busy_text=yes}
 gl_cv_have_proc_uptime=${gl_cv_have_proc_uptime=yes}
 gl_cv_pipes_are_fifos=${gl_cv_pipes_are_fifos='yes (1)'}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 14/16] site: set nanosleep() behaviour for glibc / musl
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (12 preceding siblings ...)
  2020-01-10 16:52 ` [PATCH 13/16] site: on linux, link(2) doesn't follow symlinks André Draszik
@ 2020-01-10 16:53 ` André Draszik
  2020-01-10 16:53 ` [PATCH 15/16] site: strtod() works in " André Draszik
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:53 UTC (permalink / raw)
  To: openembedded-core

As per coreutils' (gnulib's) autotools test, nanosleep()
misbehaves on glibc (2.29), and works fine on musl.

During cross-compile, recent coreutils assume brokenness
when compiling for linux, which pessimises musl.

Set the correct result for musl, and for coherency reasons,
also specify the result for glibc.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index ca55d48e72..1a28a271ff 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -33,6 +33,7 @@ gl_cv_func_getcwd_abort_bug=${gl_cv_func_getcwd_abort_bug=no}
 gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max=yes}
 ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
+gl_cv_func_nanosleep=${gl_cv_func_nanosleep='no (mishandles large arguments)'}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
 gl_cv_func_working_utimes=${gl_cv_func_working_utimes=yes}
 
diff --git a/meta/site/common-musl b/meta/site/common-musl
index 1e7efbc311..386991d2c4 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -39,6 +39,7 @@ gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
 gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max='no, but it is partly working'}
 ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
 gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
+gl_cv_func_nanosleep=${gl_cv_func_nanosleep=yes}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 15/16] site: strtod() works in glibc / musl
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (13 preceding siblings ...)
  2020-01-10 16:53 ` [PATCH 14/16] site: set nanosleep() behaviour for glibc / musl André Draszik
@ 2020-01-10 16:53 ` André Draszik
  2020-01-10 16:53 ` [PATCH 16/16] site: musl and glibc have working mktime() André Draszik
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:53 UTC (permalink / raw)
  To: openembedded-core

autoconf has a test for strtod(), which assumes non-working
when cross-compiling, but it does work in both musl and
recent glibc.

coreutils (gnulib) does some additional tests on top of that,
but assumes working glibc when >= 2.8 when cross compiling.
It doesn't know about musl where the additional tests also
work, though.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index 1a28a271ff..4795d7852d 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -15,6 +15,7 @@ ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
 ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
 ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
 ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+ac_cv_func_strtod=${ac_cv_func_strtod=yes}
 
 # bash
 bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
diff --git a/meta/site/common-musl b/meta/site/common-musl
index 386991d2c4..398eeacb99 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -15,6 +15,7 @@ ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
 ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
 ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
 ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}
+ac_cv_func_strtod=${ac_cv_func_strtod=yes}
 
 # glib
 glib_cv_strlcpy=${glib_cv_strlcpy=no}
@@ -40,6 +41,7 @@ gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max='no, but it is partly wo
 ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
 gl_cv_func_gettimeofday_clobber=${gl_cv_func_gettimeofday_clobber=no}
 gl_cv_func_nanosleep=${gl_cv_func_nanosleep=yes}
+gl_cv_func_strtod_works=${gl_cv_func_strtod_works=yes}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 16/16] site: musl and glibc have working mktime()
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (14 preceding siblings ...)
  2020-01-10 16:53 ` [PATCH 15/16] site: strtod() works in " André Draszik
@ 2020-01-10 16:53 ` André Draszik
  2020-01-10 18:46 ` [PATCH 00/16] site updates (autotools / coreutils) Khem Raj
  2020-01-11 14:10 ` Adrian Bunk
  17 siblings, 0 replies; 20+ messages in thread
From: André Draszik @ 2020-01-10 16:53 UTC (permalink / raw)
  To: openembedded-core

This coreutils (gnulib) test tests for various bugs that only
exist in ancient versions.

It defaults to assuming buggy behaviour with its own implementation
when cross-compiling.

musl and recent glibc (2.29) are not affected.

Signed-off-by: André Draszik <git@andred.net>
---
 meta/site/common-glibc | 1 +
 meta/site/common-musl  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/meta/site/common-glibc b/meta/site/common-glibc
index 4795d7852d..a0680bc44c 100644
--- a/meta/site/common-glibc
+++ b/meta/site/common-glibc
@@ -36,6 +36,7 @@ gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max=yes}
 ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
 gl_cv_func_nanosleep=${gl_cv_func_nanosleep='no (mishandles large arguments)'}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
+gl_cv_func_working_mktime=${gl_cv_func_working_mktime=yes}
 gl_cv_func_working_utimes=${gl_cv_func_working_utimes=yes}
 
 # glib
diff --git a/meta/site/common-musl b/meta/site/common-musl
index 398eeacb99..4be8d002d6 100644
--- a/meta/site/common-musl
+++ b/meta/site/common-musl
@@ -45,6 +45,7 @@ gl_cv_func_strtod_works=${gl_cv_func_strtod_works=yes}
 gl_cv_func_tzset_clobber=${gl_cv_func_tzset_clobber=no}
 gl_cv_func_gettimeofday_posix_signature=${gl_cv_func_gettimeofday_posix_signature=yes}
 gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
+gl_cv_func_working_mktime=${gl_cv_func_working_mktime=yes}
 gl_cv_func_working_utimes=${gl_cv_func_working_utimes=yes}
 ac_cv_func_posix_spawn=${ac_cv_func_posix_spawn=yes}
 ac_cv_func_posix_spawn_works=${ac_cv_func_posix_spawn_works=yes}
-- 
2.23.0.rc1



^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH 00/16] site updates (autotools / coreutils)
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (15 preceding siblings ...)
  2020-01-10 16:53 ` [PATCH 16/16] site: musl and glibc have working mktime() André Draszik
@ 2020-01-10 18:46 ` Khem Raj
  2020-01-11 14:10 ` Adrian Bunk
  17 siblings, 0 replies; 20+ messages in thread
From: Khem Raj @ 2020-01-10 18:46 UTC (permalink / raw)
  To: André Draszik; +Cc: Patches and discussions about the oe-core layer

On Fri, Jan 10, 2020 at 8:53 AM André Draszik <git@andred.net> wrote:
>
> Hi,
>
> For the following updates, I have run the autotools tests
> (m4 macros) on the target on an up-to-date musl (32bit arm)
> system, as well as taken the results from my host machine
> for glibc (64bit, glibc 2.29)
>
> These help to prevent coreutils from compiling lots of
> useless wrappers, as many of the tests are testing long
> fixed bugs that are not relevant anymore, since in most
> cases the m4 macros assume the worst when cross-compiling.
>

These changes are really good, looking at them it occurred to me that
we might have
to mention that what we assume in terms of Glibc and musl versions. So
external toolchain
providers and users can take notice.  Perhaps in the documentation or
some such place.
Otherwise this patchset looks fine to me

> Cheers,
> André
>
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 00/16] site updates (autotools / coreutils)
  2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
                   ` (16 preceding siblings ...)
  2020-01-10 18:46 ` [PATCH 00/16] site updates (autotools / coreutils) Khem Raj
@ 2020-01-11 14:10 ` Adrian Bunk
  2020-01-11 14:32   ` Richard Purdie
  17 siblings, 1 reply; 20+ messages in thread
From: Adrian Bunk @ 2020-01-11 14:10 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

Are these values not part of what is being checked for rebuilds?

I was surprised that after the latest pull on master including these
changes nothing was rebuilt (except perl due to an unrelated commit).

cu
Adrian


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 00/16] site updates (autotools / coreutils)
  2020-01-11 14:10 ` Adrian Bunk
@ 2020-01-11 14:32   ` Richard Purdie
  0 siblings, 0 replies; 20+ messages in thread
From: Richard Purdie @ 2020-01-11 14:32 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: openembedded-core

On Sat, 2020-01-11 at 16:10 +0200, Adrian Bunk wrote:
> Are these values not part of what is being checked for rebuilds?
> 
> I was surprised that after the latest pull on master including these
> changes nothing was rebuilt (except perl due to an unrelated commit).

Already ahead of you, its a bug:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=13729

Cheers,

Richard



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-01-11 14:32 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-10 16:52 [PATCH 00/16] site updates (autotools / coreutils) André Draszik
2020-01-10 16:52 ` [PATCH 01/16] site: linux has working chown() André Draszik
2020-01-10 16:52 ` [PATCH 02/16] site: musl has working memcmp() André Draszik
2020-01-10 16:52 ` [PATCH 03/16] site: musl and glibc have working mkstemp() André Draszik
2020-01-10 16:52 ` [PATCH 04/16] site: musl and glibc have glibc compatible calloc() André Draszik
2020-01-10 16:52 ` [PATCH 05/16] site: linux supports unlink() of executing program André Draszik
2020-01-10 16:52 ` [PATCH 06/16] site: musl and glibc have glibc compatible getcwd() André Draszik
2020-01-10 16:52 ` [PATCH 07/16] site: set getcwd() behaviour for long paths for glibc / musl André Draszik
2020-01-10 16:52 ` [PATCH 08/16] site: set getcwd() test result for abort()-bug " André Draszik
2020-01-10 16:52 ` [PATCH 09/16] site: musl and glibc have working getgroups() André Draszik
2020-01-10 16:52 ` [PATCH 10/16] site: linux supports NULL in utime() André Draszik
2020-01-10 16:52 ` [PATCH 11/16] site: musl and glibc have working utimes() André Draszik
2020-01-10 16:52 ` [PATCH 12/16] site: on linux, pipes are fifos with max link count of 1 André Draszik
2020-01-10 16:52 ` [PATCH 13/16] site: on linux, link(2) doesn't follow symlinks André Draszik
2020-01-10 16:53 ` [PATCH 14/16] site: set nanosleep() behaviour for glibc / musl André Draszik
2020-01-10 16:53 ` [PATCH 15/16] site: strtod() works in " André Draszik
2020-01-10 16:53 ` [PATCH 16/16] site: musl and glibc have working mktime() André Draszik
2020-01-10 18:46 ` [PATCH 00/16] site updates (autotools / coreutils) Khem Raj
2020-01-11 14:10 ` Adrian Bunk
2020-01-11 14:32   ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.