Re: [PATCH] Further improve cross-compilation guesses for midipix

2024-02-06 Thread Bruno Haible
Ørjan Malde wrote:
> > If on Linux, the result is 'guessing no (mishandles large arguments)',
> > it should be the same on systems that emulate the Linux system calls. Right?
> > 
> 
> No, we have handled the mishandling of large arguments and nanosleep passes 
> all of gnulib's tests unlike linux.

OK. Then the assignment to 'guessing yes' was correct and only the comment
was lacking. I'm applying this:


2024-02-06  Bruno Haible  

Further improve cross-compilation for midipix.
Reported by Ørjan Malde .
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Improve cross-compilation guess
for midipix.

diff --git a/m4/nanosleep.m4 b/m4/nanosleep.m4
index 38c0a5e71f..ff730b676c 100644
--- a/m4/nanosleep.m4
+++ b/m4/nanosleep.m4
@@ -116,10 +116,13 @@ AC_DEFUN([gl_FUNC_NANOSLEEP]
 *) gl_cv_func_nanosleep=no ;;
 esac],
[case "$host_os" in
-# Guess it halfway works when the kernel is Linux
-# and on systems that emulate the Linux system calls.
-  linux* | midipix*)
+# Guess it halfway works when the kernel is Linux.
+  linux*)
 gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
+# Midipix generally emulates the Linux system calls,
+# but here it handles large arguments correctly.
+  midipix*)
+gl_cv_func_nanosleep='guessing yes' ;;
 # Guess no on native Windows.
   mingw* | windows*)
 gl_cv_func_nanosleep='guessing no' ;;






Re: [PATCH] Further improve cross-compilation guesses for midipix

2024-02-06 Thread Ørjan Malde
On Tuesday, February 6th, 2024 at 12:47 AM, Bruno Haible  
wrote:

> Hi,
> 
> Ørjan Malde wrote:
> 
> > from running the testsuite:
> > PASS: test-nanosleep
> > PASS: test-ftruncate.sh
> > PASS: test-utime
> > PASS: test-utimens
> > PASS: test-utimensat
> > PASS: test-rename
> 
> 
> OK...
> 
> > @@ -119,6 +119,9 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
> > # Guess it halfway works when the kernel is Linux.
> > linux*)
> > gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
> > + # Guess yes on systems that emulate the Linux system calls.
> > + midipix*)
> > + gl_cv_func_nanosleep'guessing yes' ;;
> 
> 
> If on Linux, the result is 'guessing no (mishandles large arguments)',
> it should be the same on systems that emulate the Linux system calls. Right?
> 

No, we have handled the mishandling of large arguments and nanosleep passes all 
of gnulib's tests unlike linux.

> More generally, it's probably useful to have
> linux* | midipix*
> in the same 'case' clause, for consistency.
> 
> Also, there is a shell syntax error in the last line.
> 
> I am therefore applying this modified patch:
> 

Oops. Third time's the charm.:-)

> 
> 2024-02-05 Bruno Haible br...@clisp.org
> 
> 
> Further improve cross-compilation for midipix.
> Based on patch by Ørjan Malde r...@foxi.me from
> 
> https://lists.gnu.org/archive/html/bug-gnulib/2024-02/msg4.html.
> 
> * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Add cross-compilation guess for
> midipix.
> * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
> * m4/truncate.m4 (gl_FUNC_TRUNCATE): Likewise.
> * m4/utime.m4 (gl_FUNC_UTIME): Likewise.
> * m4/utimens.m4 (gl_UTIMENS): Likewise.
> * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
> 
> diff --git a/m4/nanosleep.m4 b/m4/nanosleep.m4
> index c51f590402..38c0a5e71f 100644
> --- a/m4/nanosleep.m4
> +++ b/m4/nanosleep.m4
> @@ -1,4 +1,4 @@
> -# serial 46
> +# serial 47
> 
> dnl From Jim Meyering.
> dnl Check for the nanosleep function.
> @@ -116,8 +116,9 @@ AC_DEFUN([gl_FUNC_NANOSLEEP]
> ) gl_cv_func_nanosleep=no ;;
> esac],
> [case "$host_os" in
> - # Guess it halfway works when the kernel is Linux.
> - linux)
> + # Guess it halfway works when the kernel is Linux
> + # and on systems that emulate the Linux system calls.
> + linux* | midipix*)
> gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
> # Guess no on native Windows.
> mingw* | windows*)
> diff --git a/m4/rename.m4 b/m4/rename.m4
> index 5383b3ea52..757cc27b2a 100644
> --- a/m4/rename.m4
> +++ b/m4/rename.m4
> @@ -1,4 +1,4 @@
> -# serial 36
> +# serial 37
> 
> # Copyright (C) 2001, 2003, 2005-2006, 2009-2024 Free Software Foundation, 
> Inc.
> # This file is free software; the Free Software Foundation
> @@ -55,10 +55,9 @@ AC_DEFUN([gl_FUNC_RENAME]
> [gl_cv_func_rename_slash_dst_works=no],
> dnl When crosscompiling, assume rename is broken.
> [case "$host_os" in
> - # Guess yes on Linux systems.
> - linux-* | linux) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
> - # Guess yes on systems that emulate the Linux system calls.
> - midipix*) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
> + # Guess yes on Linux systems
> + # and on systems that emulate the Linux system calls.
> + linux* | midipix*) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
> # Guess yes on glibc systems.
> -gnu) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
> # Guess no on native Windows.
> @@ -113,10 +112,9 @@ AC_DEFUN([gl_FUNC_RENAME]
> [gl_cv_func_rename_slash_src_works=no],
> dnl When crosscompiling, assume rename is broken.
> [case "$host_os" in
> - # Guess yes on Linux systems.
> - linux-* | linux) gl_cv_func_rename_slash_src_works="guessing yes" ;;
> - # Guess yes on systems that emulate the Linux system calls.
> - midipix*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
> + # Guess yes on Linux systems
> + # and on systems that emulate the Linux system calls.
> + linux* | midipix*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
> # Guess yes on glibc systems.
> -gnu) gl_cv_func_rename_slash_src_works="guessing yes" ;;
> # Guess yes on native Windows.
> @@ -186,10 +184,9 @@ AC_DEFUN([gl_FUNC_RENAME]
> else
> dnl When crosscompiling, assume rename is broken.
> case "$host_os" in
> - # Guess yes on Linux systems.
> - linux-* | linux) gl_cv_func_rename_link_works="guessing yes" ;;
> - # Guess yes on systems that emulate the Linux system calls.
> - midipix*) gl_cv_func_rename_link_works="guessing yes" ;;
> + # Guess yes on Linux systems
> + # and on systems that emulate the Linux system calls.
> + linux* | midipix*) gl_cv_func_rename_link_works="guessing yes" ;;
> # Guess yes on glibc systems.
> -gnu) gl_cv_func_rename_link_works="guessing yes" ;;
> # Guess yes on native Windows.
> @@ -237,8 +234,9 @@ AC_DEFUN([gl_FUNC_RENAME]
> [gl_cv_func_rename_dest_works=no],
> dnl When crosscompiling, assume rename is broken.
> [case "$host_os" in
> - # Guess yes on Linux systems.
> - linux-* | linux) gl_cv_func_rename_dest_works="guessing yes" ;;
> + # Guess yes on 

Re: [PATCH] Further improve cross-compilation guesses for midipix

2024-02-05 Thread Bruno Haible
Hi,

Ørjan Malde wrote:
> from running the testsuite:
> PASS: test-nanosleep
> PASS: test-ftruncate.sh
> PASS: test-utime
> PASS: test-utimens
> PASS: test-utimensat
> PASS: test-rename

OK...

> @@ -119,6 +119,9 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
>  # Guess it halfway works when the kernel is Linux.
>linux*)
>  gl_cv_func_nanosleep='guessing no (mishandles large arguments)' 
> ;;
> +# Guess yes on systems that emulate the Linux system calls.
> +  midipix*)
> +gl_cv_func_nanosleep'guessing yes' ;;

If on Linux, the result is 'guessing no (mishandles large arguments)',
it should be the same on systems that emulate the Linux system calls. Right?

More generally, it's probably useful to have
  linux* | midipix*
in the same 'case' clause, for consistency.

Also, there is a shell syntax error in the last line.

I am therefore applying this modified patch:


2024-02-05  Bruno Haible  

Further improve cross-compilation for midipix.
Based on patch by Ørjan Malde  from
.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Add cross-compilation guess for
midipix.
* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
* m4/truncate.m4 (gl_FUNC_TRUNCATE): Likewise.
* m4/utime.m4 (gl_FUNC_UTIME): Likewise.
* m4/utimens.m4 (gl_UTIMENS): Likewise.
* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.

diff --git a/m4/nanosleep.m4 b/m4/nanosleep.m4
index c51f590402..38c0a5e71f 100644
--- a/m4/nanosleep.m4
+++ b/m4/nanosleep.m4
@@ -1,4 +1,4 @@
-# serial 46
+# serial 47
 
 dnl From Jim Meyering.
 dnl Check for the nanosleep function.
@@ -116,8 +116,9 @@ AC_DEFUN([gl_FUNC_NANOSLEEP]
 *) gl_cv_func_nanosleep=no ;;
 esac],
[case "$host_os" in
-# Guess it halfway works when the kernel is Linux.
-  linux*)
+# Guess it halfway works when the kernel is Linux
+# and on systems that emulate the Linux system calls.
+  linux* | midipix*)
 gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
 # Guess no on native Windows.
   mingw* | windows*)
diff --git a/m4/rename.m4 b/m4/rename.m4
index 5383b3ea52..757cc27b2a 100644
--- a/m4/rename.m4
+++ b/m4/rename.m4
@@ -1,4 +1,4 @@
-# serial 36
+# serial 37
 
 # Copyright (C) 2001, 2003, 2005-2006, 2009-2024 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -55,10 +55,9 @@ AC_DEFUN([gl_FUNC_RENAME]
   [gl_cv_func_rename_slash_dst_works=no],
   dnl When crosscompiling, assume rename is broken.
   [case "$host_os" in
-# Guess yes on Linux systems.
- linux-* | linux)   gl_cv_func_rename_slash_dst_works="guessing yes" ;;
-# Guess yes on systems that emulate the Linux 
system calls.
- midipix*)  gl_cv_func_rename_slash_dst_works="guessing yes" ;;
+# Guess yes on Linux systems
+# and on systems that emulate the Linux system 
calls.
+ linux* | midipix*) gl_cv_func_rename_slash_dst_works="guessing yes" ;;
 # Guess yes on glibc systems.
  *-gnu*)gl_cv_func_rename_slash_dst_works="guessing yes" ;;
 # Guess no on native Windows.
@@ -113,10 +112,9 @@ AC_DEFUN([gl_FUNC_RENAME]
   [gl_cv_func_rename_slash_src_works=no],
   dnl When crosscompiling, assume rename is broken.
   [case "$host_os" in
-# Guess yes on Linux systems.
- linux-* | linux)   gl_cv_func_rename_slash_src_works="guessing yes" ;;
-# Guess yes on systems that emulate the Linux 
system calls.
- midipix*)  gl_cv_func_rename_slash_src_works="guessing yes" ;;
+# Guess yes on Linux systems
+# and on systems that emulate the Linux system 
calls.
+ linux* | midipix*) gl_cv_func_rename_slash_src_works="guessing yes" ;;
 # Guess yes on glibc systems.
  *-gnu*)gl_cv_func_rename_slash_src_works="guessing yes" ;;
 # Guess yes on native Windows.
@@ -186,10 +184,9 @@ AC_DEFUN([gl_FUNC_RENAME]
else
  dnl When crosscompiling, assume rename is broken.
  case "$host_os" in
-  # Guess yes on Linux systems.
-   linux-* | linux)   gl_cv_func_rename_link_works="guessing yes" ;;
-  # Guess yes on systems that emulate the Linux 
system calls.
-   midipix*)  gl_cv_func_rename_link_works="guessing yes" ;;
+  # Guess yes on Linux systems
+  # and on systems that emulate the Linux system 
calls.
+   

[PATCH] Further improve cross-compilation guesses for midipix

2024-02-02 Thread Ørjan Malde
from running the testsuite:
PASS: test-nanosleep
PASS: test-ftruncate.sh
PASS: test-utime
PASS: test-utimens
PASS: test-utimensat
PASS: test-rename

hopefully this time my contribution is less noisy. :-)

Regards,
Ørjan

>From 3feffaa8b70de4b8bf1491006a871bda63ca31f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=98rjan=20Malde?= 
Date: Fri, 2 Feb 2024 12:31:55 +0100
Subject: [PATCH] Further improve cross-compilation for midipix.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Ørjan Malde 
---
 ChangeLog   | 11 +++
 m4/nanosleep.m4 |  5 -
 m4/rename.m4|  4 +++-
 m4/truncate.m4  |  4 +++-
 m4/utime.m4 |  4 +++-
 m4/utimens.m4   |  4 +++-
 m4/utimensat.m4 |  5 -
 7 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4711be3dd9..1598d17c51 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2024-02-02  Ørjan Malde  
+
+   Further improve cross-compilation for midipix.
+* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Guess yes for midipix.
+* m4/rename.m4 (gl_FUNC_RENAME): Treat midipix like Linux with glibc or
+   musl libc.
+* m4/truncate.m4 (gl_FUNC_TRUNCATE): Likewise.
+* m4/utime.m4 (gl_FUNC_UTIME): Likewise.
+* m4/utimens.m4 (gl_UTIMENS): Likewise.
+* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
+
 2024-01-31  Bruno Haible  

Implement 3 new properties, added by Unicode 15.1.0.
diff --git a/m4/nanosleep.m4 b/m4/nanosleep.m4
index c51f590402..df87d856f1 100644
--- a/m4/nanosleep.m4
+++ b/m4/nanosleep.m4
@@ -1,4 +1,4 @@
-# serial 46
+# serial 47

 dnl From Jim Meyering.
 dnl Check for the nanosleep function.
@@ -119,6 +119,9 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
 # Guess it halfway works when the kernel is Linux.
   linux*)
 gl_cv_func_nanosleep='guessing no (mishandles large arguments)' ;;
+# Guess yes on systems that emulate the Linux system calls.
+  midipix*)
+gl_cv_func_nanosleep'guessing yes' ;;
 # Guess no on native Windows.
   mingw* | windows*)
 gl_cv_func_nanosleep='guessing no' ;;
diff --git a/m4/rename.m4 b/m4/rename.m4
index 5383b3ea52..62f17906d0 100644
--- a/m4/rename.m4
+++ b/m4/rename.m4
@@ -1,4 +1,4 @@
-# serial 36
+# serial 37

 # Copyright (C) 2001, 2003, 2005-2006, 2009-2024 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
@@ -239,6 +239,8 @@ AC_DEFUN([gl_FUNC_RENAME],
   [case "$host_os" in
 # Guess yes on Linux systems.
  linux-* | linux)   gl_cv_func_rename_dest_works="guessing yes" ;;
+# Guess yes on systems that emulate the Linux 
system calls.
+ midipix*)  gl_cv_func_rename_dest_works="guessing yes" ;;
 # Guess yes on glibc systems.
  *-gnu*)gl_cv_func_rename_dest_works="guessing yes" ;;
 # Guess no on native Windows.
diff --git a/m4/truncate.m4 b/m4/truncate.m4
index 727832224a..dd21f4b4ca 100644
--- a/m4/truncate.m4
+++ b/m4/truncate.m4
@@ -1,4 +1,4 @@
-# truncate.m4 serial 6   -*- Autoconf -*-
+# truncate.m4 serial 7   -*- Autoconf -*-
 dnl Copyright (C) 2017-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -50,6 +50,8 @@ AC_DEFUN([gl_FUNC_TRUNCATE],
[case "$host_os" in
# Guess yes on Linux systems.
   linux-* | linux) gl_cv_func_truncate_works="guessing yes" ;;
+   # Guess yes on systems that emulate the Linux 
system calls.
+  midipix*)gl_cv_func_truncate_works="guessing yes" ;;
# Guess yes on glibc systems.
   *-gnu* | gnu*)   gl_cv_func_truncate_works="guessing yes" ;;
# Guess no on AIX systems.
diff --git a/m4/utime.m4 b/m4/utime.m4
index 0009e4f2f9..0ee9bec4ad 100644
--- a/m4/utime.m4
+++ b/m4/utime.m4
@@ -1,4 +1,4 @@
-# utime.m4 serial 5
+# utime.m4 serial 6
 dnl Copyright (C) 2017-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -50,6 +50,8 @@ AC_DEFUN([gl_FUNC_UTIME],
  [case "$host_os" in
  # Guess yes on Linux systems.
 linux-* | linux) gl_cv_func_utime_file_slash="guessing yes" ;;
+ # Guess yes on systems that emulate the Linux 
system calls.
+midipix*)gl_cv_func_utime_file_slash="guessing yes" ;;
  # Guess yes on glibc systems.
 *-gnu* | gnu*)   gl_cv_func_utime_file_slash="guessing yes" ;;
  # Guess no