[OE-core] [PATCH 07/16] site: set getcwd() behaviour for long paths for glibc / musl

André Draszik git at andred.net
Fri Jan 10 16:52:53 UTC 2020


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 at 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



More information about the Openembedded-core mailing list