GNU bug report logs - #77840
Testing diffutils 3.12 on PPC Mac OS X 10.4.11, Tiger, produces so many failures

Previous Next

Package: diffutils;

Reported by: Peter Dyballa <Peter_Dyballa <at> Web.DE>

Date: Wed, 16 Apr 2025 10:55:02 UTC

Severity: normal

To reply to this bug, email your comments to 77840 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Wed, 16 Apr 2025 10:55:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Peter Dyballa <Peter_Dyballa <at> Web.DE>:
New bug report received and forwarded. Copy sent to bug-diffutils <at> gnu.org. (Wed, 16 Apr 2025 10:55:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: bug-diffutils <at> gnu.org
Subject: Testing diffutils 3.12 on PPC Mac OS X 10.4.11, Tiger, produces so
 many failures
Date: Wed, 16 Apr 2025 12:54:21 +0200
Hello!

Here is the long list:


--->  Testing diffutils
Executing:  cd "/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12" && /usr/bin/make check 
Making check in lib
/usr/bin/make  check-am
make[2]: Nothing to be done for `check-am'.
Making check in src
/usr/bin/make  check-am
make[2]: Nothing to be done for `check-am'.
Making check in tests
/usr/bin/make  check-TESTS
FAIL: basic
PASS: bignum
FAIL: binary
brief-vs-stat-zero-kernel-lies: skipped test: no /proc/cmdline file
SKIP: brief-vs-stat-zero-kernel-lies
FAIL: bug-64316
FAIL: cmp
PASS: colliding-file-names
FAIL: diff3
FAIL: empty-file
FAIL: excess-slash
FAIL: expand-tabs
PASS: help-version
FAIL: ifdef
FAIL: invalid-re
FAIL: function-line-vs-leading-space
ignore-case: skipped test: No UTF-8 locale found
SKIP: ignore-case
FAIL: ignore-matching-lines
ignore-tab-expansion: skipped test: No UTF-8 locale found
SKIP: ignore-tab-expansion
FAIL: label-vs-func
XPASS: large-subopt
FAIL: new-file
FAIL: no-dereference
FAIL: no-newline-at-eof
side-by-side: skipped test: No UTF-8 locale found
SKIP: side-by-side
FAIL: side-by-side-seq
PASS: starting-file
FAIL: stdin
PASS: strcoll-0-names
FAIL: filename-quoting
strip-trailing-cr: skipped test: your system lacks the timeout program
SKIP: strip-trailing-cr
PASS: timezone
FAIL: colors
y2038-vs-32bit: skipped test: touch -t 2039... failed
SKIP: y2038-vs-32bit
==============================================
   GNU diffutils 3.12: tests/test-suite.log
==============================================

# TOTAL: 33
# PASS:  6
# SKIP:  6
# XFAIL: 0
# FAIL:  20
# XPASS: 1
# ERROR: 0

System information (uname -a): Darwin 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh

.. contents:: :depth: 2

FAIL: basic
===========

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-basic.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-basic.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-basic.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-basic.
++++ echo gt-basic.XXXX
++++ wc -c
+++ template_length_=      14
++++ echo gt-basic.
++++ wc -c
+++ nx_=      10
++++ expr 14 - 10
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=D5ys
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-basic.D5ys
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-basic.D5ys
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-basic.D5ys
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-basic.D5ys
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-basic.D5ys
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ cat
+ cat
+ cat
+ echo a
+ echo b
+ returns_ 1 diff a b
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
++ echo
++ tr ' ' _
+ compare exp- out
+ compare_dev_null_ exp- out
+ test 2 = 2
+ test xexp- = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp- out
+ LC_ALL=C
+ diff -u exp- out
diff: program error
--- exp-	2025-04-16 11:59:17.000000000 +0200
+++ out	2025-04-16 11:59:17.000000000 +0200
@@ -2,3 +1,4 @@
 < a
 ---
 > b
+> b
+./basic: line 40:   863 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff -u a b
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
++ echo -u
++ tr ' ' _
+ compare exp--u out
+ compare_dev_null_ exp--u out
+ test 2 = 2
+ test xexp--u = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp--u out
+ LC_ALL=C
+ diff -u exp--u out
diff: program error
--- exp--u	2025-04-16 11:59:17.000000000 +0200
+++ out	2025-04-16 11:59:17.000000000 +0200
@@ -3,3 +1,5 @@
 @@ -1 +1 @@
 -a
 +b
+-a
++b
+./basic: line 40:   871 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff -c a b
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
++ echo -c
++ tr ' ' _
+ compare exp--c out
+ compare_dev_null_ exp--c out
+ test 2 = 2
+ test xexp--c = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp--c out
+ LC_ALL=C
+ diff -u exp--c out
diff: program error
--- exp--c	2025-04-16 11:59:17.000000000 +0200
+++ out	2025-04-16 11:59:17.000000000 +0200
@@ -5,3 +1,7 @@
 ! a
 --- 1 ----
 ! b
+*** 1 ****
+! a
+--- 1 ----
+! b
+./basic: line 40:   879 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-basic.D5ys
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-basic.D5ys
+ exit 1
FAIL basic (exit status: 1)

FAIL: binary
============

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-binary.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-binary.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-binary.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-binary.
++++ echo gt-binary.XXXX
++++ wc -c
+++ template_length_=      15
++++ echo gt-binary.
++++ wc -c
+++ nx_=      11
++++ expr 15 - 11
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=taFf
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-binary.taFf
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-binary.taFf
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-binary.taFf
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-binary.taFf
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-binary.taFf
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ printf 'Binary files - and /dev/null differ\n'
+ fail=0
+ printf '\0'
+ returns_ 1 diff - /dev/null
+ compare out-exp out
+ compare_dev_null_ out-exp out
+ test 2 = 2
+ test xout-exp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ out-exp out
+ LC_ALL=C
+ diff -u out-exp out
--- out-exp	2025-04-16 11:59:19.000000000 +0200
+++ out	2025-04-16 11:59:19.000000000 +0200
@@ -1 +1 @@
 Binary files - and /dev/null differ
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-binary.taFf
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-binary.taFf
+ exit 1
FAIL binary (exit status: 1)

SKIP: brief-vs-stat-zero-kernel-lies
====================================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-brief-vs-stat-zero-kernel-lies.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-brief-vs-stat-zero-kernel-lies.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-brief-vs-stat-zero-kernel-lies.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-brief-vs-stat-zero-kernel-lies.
++++ echo gt-brief-vs-stat-zero-kernel-lies.XXXX
++++ wc -c
+++ template_length_=      39
++++ echo gt-brief-vs-stat-zero-kernel-lies.
++++ wc -c
+++ nx_=      35
++++ expr 39 - 35
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=Pwb4
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-brief-vs-stat-zero-kernel-lies.Pwb4
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-brief-vs-stat-zero-kernel-lies.Pwb4
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-brief-vs-stat-zero-kernel-lies.Pwb4
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-brief-vs-stat-zero-kernel-lies.Pwb4
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-brief-vs-stat-zero-kernel-lies.Pwb4
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ boot=/proc/cmdline
+ test -r /proc/cmdline
+ skip_ no /proc/cmdline file
+ warn_ 'brief-vs-stat-zero-kernel-lies: skipped test: no' /proc/cmdline file
+ printf '%s\n' 'brief-vs-stat-zero-kernel-lies: skipped test: no /proc/cmdline file'
brief-vs-stat-zero-kernel-lies: skipped test: no /proc/cmdline file
+ test 9 = 2
+ printf '%s\n' 'brief-vs-stat-zero-kernel-lies: skipped test: no /proc/cmdline file'
+ sed 1q
+ Exit 77
+ set +e
+ exit 77
+ exit 77
+ remove_tmp_
+ __st=77
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-brief-vs-stat-zero-kernel-lies.Pwb4
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-brief-vs-stat-zero-kernel-lies.Pwb4
+ exit 77
SKIP brief-vs-stat-zero-kernel-lies (exit status: 77)

FAIL: bug-64316
===============

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-bug-64316.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-bug-64316.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-bug-64316.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-bug-64316.
++++ echo gt-bug-64316.XXXX
++++ wc -c
+++ template_length_=      18
++++ echo gt-bug-64316.
++++ wc -c
+++ nx_=      14
++++ expr 18 - 14
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=qpux
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-bug-64316.qpux
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-bug-64316.qpux
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-bug-64316.qpux
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-bug-64316.qpux
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-bug-64316.qpux
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ printf 'c\nd\ne\nf\ng\n%s\nh\ni\nj\nk\nl\n' a
+ printf 'c\nd\ne\nf\ng\n%s\nh\ni\nj\nk\nl\n' b
+ cat
+ returns_ 1 diff -u a b
+ fail=1
+ sed 1,2d out
+ compare exp out1
+ compare_dev_null_ exp out1
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout1 = x/dev/null
+ return 2
+ compare_ exp out1
+ LC_ALL=C
+ diff -u exp out1
diff: program error
--- exp	2025-04-16 11:59:20.000000000 +0200
+++ out1	2025-04-16 11:59:20.000000000 +0200
@@ -1,9 +1,13 @@
-@@ -3,7 +3,7 @@
- e
- f
- g
--a
-+b
- h
- i
- j
+@@ -1,11 +1,11 @@
+-c
+-d
+-e
+-f
+-g
+-a
+-h
+-i
+-j
+-k
+-l
+-
+./bug-64316: line 28:  1230 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ emit_diff_u_header_ /dev/null err
+ printf '%s\n' 'diff -u /dev/null err' '--- /dev/null	1970-01-01' '+++ err	1970-01-01'
diff -u /dev/null err
--- /dev/null	1970-01-01
+++ err	1970-01-01
+ sed 's/^/+/' err
+diff: program error
+./bug-64316: line 26:  1228 Abort trap              "$@"
+ return 1
+ return 1
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-bug-64316.qpux
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-bug-64316.qpux
+ exit 1
FAIL bug-64316 (exit status: 1)

FAIL: cmp
=========

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-cmp.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-cmp.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-cmp.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-cmp.
++++ echo gt-cmp.XXXX
++++ wc -c
+++ template_length_=      12
++++ echo gt-cmp.
++++ wc -c
+++ nx_=       8
++++ expr 12 - 8
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=e0Bm
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-cmp.e0Bm
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-cmp.e0Bm
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-cmp.e0Bm
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-cmp.e0Bm
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-cmp.e0Bm
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ cat
+ echo a
+ echo b
+ :
+ rm -f d
+ echo cmp a a
+ cmp a a
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp a b
+ cmp a b
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp a c
+ cmp a c
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp a d
+ cmp a d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp b a
+ cmp b a
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp b b
+ cmp b b
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp b c
+ cmp b c
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp b d
+ cmp b d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp c a
+ cmp c a
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp c b
+ cmp c b
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp c c
+ cmp c c
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp c d
+ cmp c d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp d a
+ cmp d a
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp d b
+ cmp d b
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp d c
+ cmp d c
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp d d
+ cmp d d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -l a a
+ cmp -l a a
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp -l a b
+ cmp -l a b
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l a c
+ cmp -l a c
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l a d
+ cmp -l a d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -l b a
+ cmp -l b a
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l b b
+ cmp -l b b
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp -l b c
+ cmp -l b c
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l b d
+ cmp -l b d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -l c a
+ cmp -l c a
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l c b
+ cmp -l c b
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l c c
+ cmp -l c c
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp -l c d
+ cmp -l c d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -l d a
+ cmp -l d a
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -l d b
+ cmp -l d b
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -l d c
+ cmp -l d c
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -l d d
+ cmp -l d d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -s a a
+ cmp -s a a
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp -s a b
+ cmp -s a b
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s a c
+ cmp -s a c
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s a d
+ cmp -s a d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -s b a
+ cmp -s b a
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s b b
+ cmp -s b b
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp -s b c
+ cmp -s b c
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s b d
+ cmp -s b d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -s c a
+ cmp -s c a
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s c b
+ cmp -s c b
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s c c
+ cmp -s c c
+ status=0
+ cat stderr stdout
+ echo 0
+ echo cmp -s c d
+ cmp -s c d
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -s d a
+ cmp -s d a
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -s d b
+ cmp -s d b
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -s d c
+ cmp -s d c
+ status=2
+ cat stderr stdout
+ echo 2
+ echo cmp -s d d
+ cmp -s d d
+ status=2
+ cat stderr stdout
+ echo 2
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
--- exp	2025-04-16 11:59:21.000000000 +0200
+++ out	2025-04-16 11:59:22.000000000 +0200
@@ -120,3 +115,8 @@
 2
 cmp -s d d
 2
+2
+cmp -s d c
+2
+cmp -s d d
+2
+ fail=1
+ cat
+ printf ''
+ printf '1\n'
+ printf '1\nfoo'
+ printf '1\nfoolery\n'
+ echo cmp a0 a1
+ cmp a0 a1
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp a1 a2
+ cmp a1 a2
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp a2 a3
+ cmp a2 a3
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l a0 a1
+ cmp -l a0 a1
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l a1 a2
+ cmp -l a1 a2
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -l a2 a3
+ cmp -l a2 a3
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s a0 a1
+ cmp -s a0 a1
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s a1 a2
+ cmp -s a1 a2
+ status=1
+ cat stderr stdout
+ echo 1
+ echo cmp -s a2 a3
+ cmp -s a2 a3
+ status=1
+ cat stderr stdout
+ echo 1
+ compare exp1 out1
+ compare_dev_null_ exp1 out1
+ test 2 = 2
+ test xexp1 = x/dev/null
+ test xout1 = x/dev/null
+ return 2
+ compare_ exp1 out1
+ LC_ALL=C
+ diff -u exp1 out1
--- exp1	2025-04-16 11:59:22.000000000 +0200
+++ out1	2025-04-16 11:59:23.000000000 +0200
@@ -22,3 +17,8 @@
 1
 cmp -s a2 a3
 1
+1
+cmp -s a1 a2
+1
+cmp -s a2 a3
+1
+ fail=1
+ printf 'bad\n'
+ printf 'bug\n'
+ echo LC_ALL=C cmp -b bad bug
LC_ALL=C cmp -b bad bug
+ LC_ALL=C
+ cmp -b bad bug
bad bug differ: byte 2, line 1 is 141 a 165 u
+ test 1 -eq 1
++ LC_ALL=C
++ cmp -b bad bug
+ printf 'Jackdaws love my big sphinx of quartz!'
+ printf 'jackdaws love my big sphinx of quartz.'
+ cat
+ cmp -bl j1 j2
+ test 1 -eq 1
+ compare exp2 out2
+ compare_dev_null_ exp2 out2
+ test 2 = 2
+ test xexp2 = x/dev/null
+ test xout2 = x/dev/null
+ return 2
+ compare_ exp2 out2
+ LC_ALL=C
+ diff -u exp2 out2
diff: program error
--- exp2	2025-04-16 11:59:23.000000000 +0200
+++ out2	2025-04-16 11:59:23.000000000 +0200
@@ -1,2 +1,2 @@
  1 112 J    152 j
+38  41 !     56 .
+./cmp: line 229:  1439 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ printf '\200\300\377\n'
+ printf '\0@\177\n'
+ cat
+ LC_ALL=en_US.iso8859-1
+ cmp -bl j3 j4
+ test 1 -eq 1
+ compare exp3 out3
+ compare_dev_null_ exp3 out3
+ test 2 = 2
+ test xexp3 = x/dev/null
+ test xout3 = x/dev/null
+ return 2
+ compare_ exp3 out3
+ LC_ALL=C
+ diff -u exp3 out3
--- exp3	2025-04-16 11:59:23.000000000 +0200
+++ out3	2025-04-16 11:59:23.000000000 +0200
@@ -1,3 +1,3 @@
 1 200 M-^@   0 ^@
 2 300 M-@  100 @
 3 377 M-^? 177 ^?
+ fail=1
+ big=99999999999999999999999999999999999999999999999999999999999
+ cmp -i 99999999999999999999999999999999999999999999999999999999999 j1 j2
+ cmp -i 1000 -n 99999999999999999999999999999999999999999999999999999999999 j1 j2
+ rm -f a b
+ timeout 0.1 true
./cmp: line 249: timeout: command not found
+ rm -f a b
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-cmp.e0Bm
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-cmp.e0Bm
+ exit 1
FAIL cmp (exit status: 1)

FAIL: diff3
===========

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-diff3.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-diff3.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-diff3.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-diff3.
++++ echo gt-diff3.XXXX
++++ wc -c
+++ template_length_=      14
++++ echo gt-diff3.
++++ wc -c
+++ nx_=      10
++++ expr 14 - 10
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=evya
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-diff3.evya
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-diff3.evya
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-diff3.evya
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-diff3.evya
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-diff3.evya
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ echo a
+ echo b
+ echo c
+ cat
+ fail=0
+ diff3 --diff-program=diff a b c
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:25.000000000 +0200
+++ out	2025-04-16 11:59:25.000000000 +0200
@@ -5,3 +1,7 @@
   b
 3:1c
   c
+2:1c
+  b
+3:1c
+  c
+./diff3: line 24:  1624 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ diff3 --diff-program=diff a a a
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ return 0
+ return 0
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ seq 10 40
+ start=10
+ final=40
+ awk 'BEGIN{for(i=10;i<=40;i++) print i}'
+ sed 's/1$/x/'
+ seq 10 40
+ start=10
+ final=40
+ awk 'BEGIN{for(i=10;i<=40;i++) print i}'
+ sed 's/5$/y/'
+ seq 10 40
+ start=10
+ final=40
+ awk 'BEGIN{for(i=10;i<=40;i++) print i}'
+ sed 's/8$/z/'
+ cat
+ diff3 --diff-program=diff d e f
+ compare exp40 out
+ compare_dev_null_ exp40 out
+ test 2 = 2
+ test xexp40 = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp40 out
+ LC_ALL=C
+ diff -u exp40 out
diff: program error
diff: program error
./diff3: line 95:  1640 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ emit_diff_u_header_ /dev/null err
+ printf '%s\n' 'diff -u /dev/null err' '--- /dev/null	1970-01-01' '+++ err	1970-01-01'
diff -u /dev/null err
--- /dev/null	1970-01-01
+++ err	1970-01-01
+ sed 's/^/+/' err
+diff: program error
+diff: program error
+diff3: invalid diff format; incomplete last line
+ return 1
+ return 1
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-diff3.evya
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-diff3.evya
+ exit 1
FAIL diff3 (exit status: 1)

FAIL: empty-file
================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-empty-file.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-empty-file.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-empty-file.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-empty-file.
++++ echo gt-empty-file.XXXX
++++ wc -c
+++ template_length_=      19
++++ echo gt-empty-file.
++++ wc -c
+++ nx_=      15
++++ expr 19 - 15
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=U4cB
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-empty-file.U4cB
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-empty-file.U4cB
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-empty-file.U4cB
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-empty-file.U4cB
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-empty-file.U4cB
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ mkdir a b
+ touch a/test
+ echo content
+ returns_ 1 diff -Naur a b
diff: program error
./empty-file: line 11:  1729 Abort trap              "$@"
+ fail=1
+ cat
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
diff: program error
--- expected	2025-04-16 11:59:26.000000000 +0200
+++ out	2025-04-16 11:59:26.000000000 +0200
@@ -3,3 +1,6 @@
 +++ b/test
 @@ -0,0 +1 @@
 +content
+@@ -0,0 +1 @@
++content
++
+./empty-file: line 21:  1733 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-empty-file.U4cB
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-empty-file.U4cB
+ exit 1
FAIL empty-file (exit status: 1)

FAIL: excess-slash
==================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-excess-slash.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-excess-slash.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-excess-slash.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-excess-slash.
++++ echo gt-excess-slash.XXXX
++++ wc -c
+++ template_length_=      21
++++ echo gt-excess-slash.
++++ wc -c
+++ nx_=      17
++++ expr 21 - 17
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=vI1C
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-excess-slash.vI1C
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-excess-slash.vI1C
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-excess-slash.vI1C
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-excess-slash.vI1C
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-excess-slash.vI1C
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ mkdir -p a/f b/f/g
+ echo Only in b/f: g
+ fail=0
+ diff -r a b/
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ compare expected-out out
+ compare_dev_null_ expected-out out
+ test 2 = 2
+ test xexpected-out = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected-out out
+ LC_ALL=C
+ diff -u expected-out out
--- expected-out	2025-04-16 11:59:26.000000000 +0200
+++ out	2025-04-16 11:59:27.000000000 +0200
@@ -1 +1 @@
 Only in b/f: g
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-excess-slash.vI1C
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-excess-slash.vI1C
+ exit 1
FAIL excess-slash (exit status: 1)

FAIL: expand-tabs
=================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-expand-tabs.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-expand-tabs.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-expand-tabs.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-expand-tabs.
++++ echo gt-expand-tabs.XXXX
++++ wc -c
+++ template_length_=      20
++++ echo gt-expand-tabs.
++++ wc -c
+++ nx_=      16
++++ expr 20 - 16
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=u0Iu
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-expand-tabs.u0Iu
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-expand-tabs.u0Iu
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-expand-tabs.u0Iu
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-expand-tabs.u0Iu
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-expand-tabs.u0Iu
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ cat
+ printf '\b\tx\n'
+ returns_ 1 diff -t /dev/null -
+ printf '\b        x\n'
+ returns_ 1 diff -t /dev/null -
+ printf '\b \tx\n'
+ returns_ 1 diff -t /dev/null -
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:27.000000000 +0200
+++ out	2025-04-16 11:59:27.000000000 +0200
@@ -1,2 +1,2 @@
 0a1
+>         x
+./expand-tabs: line 17:  1918 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-expand-tabs.u0Iu
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-expand-tabs.u0Iu
+ exit 1
FAIL expand-tabs (exit status: 1)

FAIL: ifdef
===========

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-ifdef.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-ifdef.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-ifdef.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-ifdef.
++++ echo gt-ifdef.XXXX
++++ wc -c
+++ template_length_=      14
++++ echo gt-ifdef.
++++ wc -c
+++ nx_=      10
++++ expr 14 - 10
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=b8fD
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ifdef.b8fD
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ifdef.b8fD
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ifdef.b8fD
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ifdef.b8fD
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ifdef.b8fD
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ cat
+ cat
+ cat
+ returns_ 1 diff -D ZZZ a b
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:30.000000000 +0200
+++ out	2025-04-16 11:59:30.000000000 +0200
@@ -5,3 +1,7 @@
 #endif /* ! ZZZ */
 4
 5
+3
+#endif /* ! ZZZ */
+4
+5
+./ifdef: line 35:  2183 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ifdef.b8fD
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ifdef.b8fD
+ exit 1
FAIL ifdef (exit status: 1)

FAIL: invalid-re
================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-invalid-re.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-invalid-re.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-invalid-re.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-invalid-re.
++++ echo gt-invalid-re.XXXX
++++ wc -c
+++ template_length_=      19
++++ echo gt-invalid-re.
++++ wc -c
+++ nx_=      15
++++ expr 19 - 15
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=9L17
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-invalid-re.9L17
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-invalid-re.9L17
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-invalid-re.9L17
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-invalid-re.9L17
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-invalid-re.9L17
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ echo
+ echo b
+ echo 'diff: '\''\'\'': Trailing backslash'
+ returns_ 2 diff -Ix '-I\' a b
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ return 0
+ return 0
+ compare exp-err err
+ compare_dev_null_ exp-err err
+ test 2 = 2
+ test xexp-err = x/dev/null
+ test xerr = x/dev/null
+ return 2
+ compare_ exp-err err
+ LC_ALL=C
+ diff -u exp-err err
--- exp-err	2025-04-16 11:59:31.000000000 +0200
+++ err	2025-04-16 11:59:31.000000000 +0200
@@ -1 +1 @@
 diff: '\': Trailing backslash
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-invalid-re.9L17
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-invalid-re.9L17
+ exit 1
FAIL invalid-re (exit status: 1)

FAIL: function-line-vs-leading-space
====================================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-function-line-vs-leading-space.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-function-line-vs-leading-space.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-function-line-vs-leading-space.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-function-line-vs-leading-space.
++++ echo gt-function-line-vs-leading-space.XXXX
++++ wc -c
+++ template_length_=      39
++++ echo gt-function-line-vs-leading-space.
++++ wc -c
+++ nx_=      35
++++ expr 39 - 35
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=cwps
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-function-line-vs-leading-space.cwps
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-function-line-vs-leading-space.cwps
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-function-line-vs-leading-space.cwps
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-function-line-vs-leading-space.cwps
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-function-line-vs-leading-space.cwps
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ cat
+ sed s/foo/null/
+ cat
+ fail=0
+ returns_ 1 diff -u -F '^[[:space:]]*\(function\|procedure\)' in in2
+ sed -n '3,$p' out
+ mv k out
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:32.000000000 +0200
+++ out	2025-04-16 11:59:32.000000000 +0200
@@ -1,9 +1,21 @@
-@@ -8,7 +8,7 @@ procedure Local_Level_5 is
-                         null;
-                         null;
-                         null;
--                        foo;
-+                        null;
-                     end;
-                 begin
-                     Local_Level_5;
+@@ -5,13 +1,17 @@ procedure Local_Level_3 is
+                 procedure Local_Level_4 is
+                     procedure Local_Level_5 is
+                     begin
++            procedure Local_Level_3 is
+                         null;
+                         null;
+                         null;
+-                        foo;
++                        null;
++                        null;
++                        null;
++                        null;
++                    end;
+                     end;
+                 begin
+                     Local_Level_5;
++            begin
+                 end;
+             begin
+                 Local_Level_4;
+./function-line-vs-leading-space: line 60:  2362 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-function-line-vs-leading-space.cwps
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-function-line-vs-leading-space.cwps
+ exit 1
FAIL function-line-vs-leading-space (exit status: 1)

SKIP: ignore-case
=================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-ignore-case.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-ignore-case.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-ignore-case.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-ignore-case.
++++ echo gt-ignore-case.XXXX
++++ wc -c
+++ template_length_=      20
++++ echo gt-ignore-case.
++++ wc -c
+++ nx_=      16
++++ expr 20 - 16
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=mDrI
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-case.mDrI
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-case.mDrI
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-case.mDrI
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-case.mDrI
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-case.mDrI
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ printf 'Funky Stuff\n'
+ printf 'fUNKy stuFf\n'
+ diff -i a b
+ fail=1
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ emit_diff_u_header_ /dev/null out
+ printf '%s\n' 'diff -u /dev/null out' '--- /dev/null	1970-01-01' '+++ out	1970-01-01'
diff -u /dev/null out
--- /dev/null	1970-01-01
+++ out	1970-01-01
+ sed 's/^/+/' out
+1a1
+> fUNKy stuFf
+ return 1
+ return 1
+ fail=1
+ require_utf8_locale_
+ local locale
+ test '' '!=' UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ skip_ 'No UTF-8 locale found'
+ warn_ 'ignore-case: skipped test: No UTF-8 locale found'
+ printf '%s\n' 'ignore-case: skipped test: No UTF-8 locale found'
ignore-case: skipped test: No UTF-8 locale found
+ test 9 = 2
+ printf '%s\n' 'ignore-case: skipped test: No UTF-8 locale found'
+ sed 1q
+ Exit 77
+ set +e
+ exit 77
+ exit 77
+ remove_tmp_
+ __st=77
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-case.mDrI
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-case.mDrI
+ exit 77
SKIP ignore-case (exit status: 77)

FAIL: ignore-matching-lines
===========================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-ignore-matching-lines.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-ignore-matching-lines.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-ignore-matching-lines.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-ignore-matching-lines.
++++ echo gt-ignore-matching-lines.XXXX
++++ wc -c
+++ template_length_=      30
++++ echo gt-ignore-matching-lines.
++++ wc -c
+++ nx_=      26
++++ expr 30 - 26
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=xPAc
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-matching-lines.xPAc
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-matching-lines.xPAc
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-matching-lines.xPAc
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-matching-lines.xPAc
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-matching-lines.xPAc
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ cat
+ cat
+ cat
+ returns_ 1 diff -u --ignore-matching-lines 3 a b
+ fail=1
+ sed 1,2d out
+ compare exp outtail
+ compare_dev_null_ exp outtail
+ test 2 = 2
+ test xexp = x/dev/null
+ test xouttail = x/dev/null
+ return 2
+ compare_ exp outtail
+ LC_ALL=C
+ diff -u exp outtail
diff: program error
--- exp	2025-04-16 11:59:35.000000000 +0200
+++ outtail	2025-04-16 11:59:35.000000000 +0200
@@ -1,10 +0,0 @@
-@@ -1,6 +1,7 @@
--1a
-+1b
- 2
--3a
-+3b
- 4
- 5
- 6
-+7
-./ignore-matching-lines: line 44:  2654 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-matching-lines.xPAc
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-matching-lines.xPAc
+ exit 1
FAIL ignore-matching-lines (exit status: 1)

SKIP: ignore-tab-expansion
==========================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-ignore-tab-expansion.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-ignore-tab-expansion.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-ignore-tab-expansion.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-ignore-tab-expansion.
++++ echo gt-ignore-tab-expansion.XXXX
++++ wc -c
+++ template_length_=      29
++++ echo gt-ignore-tab-expansion.
++++ wc -c
+++ nx_=      25
++++ expr 29 - 25
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=93c7
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-tab-expansion.93c7
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-tab-expansion.93c7
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-tab-expansion.93c7
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-tab-expansion.93c7
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-tab-expansion.93c7
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ printf '\b\b\tx\n'
+ printf '\b\b        x\n'
+ diff -E a b
+ fail=1
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ emit_diff_u_header_ /dev/null out
+ printf '%s\n' 'diff -u /dev/null out' '--- /dev/null	1970-01-01' '+++ out	1970-01-01'
diff -u /dev/null out
--- /dev/null	1970-01-01
+++ out	1970-01-01
+ sed 's/^/+/' out
+1a1
+        x
+ return 1
+ return 1
+ fail=1
+ printf '\r\b\tx\n'
+ printf '\r\b        x\n'
+ diff -E a b
+ fail=1
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ emit_diff_u_header_ /dev/null out
+ printf '%s\n' 'diff -u /dev/null out' '--- /dev/null	1970-01-01' '+++ out	1970-01-01'
diff -u /dev/null out
--- /dev/null	1970-01-01
+++ out	1970-01-01
+ sed 's/^/+/' out
+1a1
        x
+ return 1
+ return 1
+ fail=1
+ printf '\t \b\tx\n'
+ printf '\t \b        x\n'
+ diff -E a b
+ fail=1
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ emit_diff_u_header_ /dev/null out
+ printf '%s\n' 'diff -u /dev/null out' '--- /dev/null	1970-01-01' '+++ out	1970-01-01'
diff -u /dev/null out
--- /dev/null	1970-01-01
+++ out	1970-01-01
+ sed 's/^/+/' out
+1a1
+> 	        x
+ return 1
+ return 1
+ fail=1
+ printf '\n\b\tx\n'
+ printf '\n\b        x\n'
+ diff -E a b
+ fail=1
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ emit_diff_u_header_ /dev/null out
+ printf '%s\n' 'diff -u /dev/null out' '--- /dev/null	1970-01-01' '+++ out	1970-01-01'
diff -u /dev/null out
--- /dev/null	1970-01-01
+++ out	1970-01-01
+ sed 's/^/+/' out
+2a2
+>        x
+ return 1
+ return 1
+ fail=1
+ require_utf8_locale_
+ local locale
+ test '' '!=' UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ skip_ 'No UTF-8 locale found'
+ warn_ 'ignore-tab-expansion: skipped test: No UTF-8 locale found'
+ printf '%s\n' 'ignore-tab-expansion: skipped test: No UTF-8 locale found'
ignore-tab-expansion: skipped test: No UTF-8 locale found
+ test 9 = 2
+ printf '%s\n' 'ignore-tab-expansion: skipped test: No UTF-8 locale found'
+ sed 1q
+ Exit 77
+ set +e
+ exit 77
+ exit 77
+ remove_tmp_
+ __st=77
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-tab-expansion.93c7
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-ignore-tab-expansion.93c7
+ exit 77
SKIP ignore-tab-expansion (exit status: 77)

FAIL: label-vs-func
===================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-label-vs-func.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-label-vs-func.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-label-vs-func.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-label-vs-func.
++++ echo gt-label-vs-func.XXXX
++++ wc -c
+++ template_length_=      22
++++ echo gt-label-vs-func.
++++ wc -c
+++ nx_=      18
++++ expr 22 - 18
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=kneX
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-label-vs-func.kneX
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-label-vs-func.kneX
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-label-vs-func.kneX
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-label-vs-func.kneX
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-label-vs-func.kneX
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ cat
+ cat
+ sed s/1/2/ a
+ returns_ 1 diff -p -u0 a b
+ tail -3 out
+ mv k out
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
--- exp	2025-04-16 11:59:38.000000000 +0200
+++ out	2025-04-16 11:59:38.000000000 +0200
@@ -1,3 +1,3 @@
 @@ -4 +4 @@ label:
 -1;
 +2;
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-label-vs-func.kneX
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-label-vs-func.kneX
+ exit 1
FAIL label-vs-func (exit status: 1)

XPASS: large-subopt
===================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-large-subopt.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-large-subopt.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-large-subopt.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-large-subopt.
++++ echo gt-large-subopt.XXXX
++++ wc -c
+++ template_length_=      21
++++ echo gt-large-subopt.
++++ wc -c
+++ nx_=      17
++++ expr 21 - 17
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=KYXi
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-large-subopt.KYXi
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-large-subopt.KYXi
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-large-subopt.KYXi
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-large-subopt.KYXi
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-large-subopt.KYXi
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ require_perl_
+ : perl
+ perl -e 'use warnings'
+ fail=0
+ diff -u /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/large-subopt.in1 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/large-subopt.in2
+ perl -n0 -e '/\n-2\n(\+L: 361\n){2}\+2\n/ and do {$e=1; last}; END{exit !$e}'
diff: program error
+ Exit 0
+ set +e
+ exit 0
+ exit 0
+ remove_tmp_
+ __st=0
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-large-subopt.KYXi
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-large-subopt.KYXi
+ exit 0
XPASS large-subopt (exit status: 0)

FAIL: new-file
==============

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-new-file.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-new-file.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-new-file.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-new-file.
++++ echo gt-new-file.XXXX
++++ wc -c
+++ template_length_=      17
++++ echo gt-new-file.
++++ wc -c
+++ nx_=      13
++++ expr 17 - 13
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=QPe4
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-new-file.QPe4
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-new-file.QPe4
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-new-file.QPe4
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-new-file.QPe4
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-new-file.QPe4
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ echo a
+ echo '0a1
> a'
+ returns_ 1 diff -N b a
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:40.000000000 +0200
+++ out	2025-04-16 11:59:40.000000000 +0200
@@ -1,2 +1,2 @@
 0a1
+> a
+./new-file: line 14:  3126 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff -N b -
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:40.000000000 +0200
+++ out	2025-04-16 11:59:40.000000000 +0200
@@ -1,2 +1,2 @@
 0a1
+> a
+./new-file: line 17:  3129 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff --unidirectional-new-file b -
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:40.000000000 +0200
+++ out	2025-04-16 11:59:40.000000000 +0200
@@ -1,2 +1,2 @@
 0a1
+> a
+./new-file: line 20:  3132 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ echo '1d0
< a'
+ returns_ 1 diff -N - b
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:40.000000000 +0200
+++ out	2025-04-16 11:59:41.000000000 +0200
@@ -1,2 +1,2 @@
 1d0
+< a
+./new-file: line 26:  3135 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 2 diff --unidirectional-new-file - b
diff: b: No such file or directory
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-new-file.QPe4
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-new-file.QPe4
+ exit 1
FAIL new-file (exit status: 1)

FAIL: no-dereference
====================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-no-dereference.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-no-dereference.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-no-dereference.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-no-dereference.
++++ echo gt-no-dereference.XXXX
++++ wc -c
+++ template_length_=      23
++++ echo gt-no-dereference.
++++ wc -c
+++ nx_=      19
++++ expr 23 - 19
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=vYv4
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-dereference.vYv4
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-dereference.vYv4
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-dereference.vYv4
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-dereference.vYv4
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-dereference.vYv4
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ echo 'Simple contents'
+ echo 'Sample contents'
+ echo 'Sample contents'
+ ln -s regular1 symlink1
+ ln -s regular1 symlink1bis
+ ln -s regular2 symlink2
+ ln -s regular3 symlink3
+ returns_ 1 diff --no-dereference regular1 regular2
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
diff: program error
--- expected	2025-04-16 11:59:41.000000000 +0200
+++ out	2025-04-16 11:59:41.000000000 +0200
@@ -2,3 +1,4 @@
 < Simple contents
 ---
 > Sample contents
+> Sample contents
+./no-dereference: line 24:  3229 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff --no-dereference regular1 symlink1
+ fail=1
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:41.000000000 +0200
+++ out	2025-04-16 11:59:41.000000000 +0200
@@ -1 +0,0 @@
-File regular1 is a regular file while file symlink1 is a symbolic link
+ fail=1
+ returns_ 1 diff --no-dereference symlink1 regular1
+ fail=1
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:41.000000000 +0200
@@ -1 +0,0 @@
-File symlink1 is a symbolic link while file regular1 is a regular file
+ fail=1
+ diff --no-dereference symlink1 symlink1bis
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ return 0
+ return 0
+ LC_ALL=C
+ returns_ 1 diff --no-dereference symlink1 symlink2
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -1 +1,4 @@
-Symbolic links 'symlink1' -> 'regular1' and 'symlink2' -> 'regular2' differ
+1c1
+< Simple contents
+---
+> Sample contents
+ fail=1
+ LC_ALL=C
+ returns_ 1 diff --no-dereference symlink2 symlink3
+ fail=1
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -1 +0,0 @@
-Symbolic links 'symlink2' -> 'regular2' and 'symlink3' -> 'regular3' differ
+ fail=1
+ mkdir subdir
+ ln -s loop loop
+ ln -s loop subdir/loop
+ diff --no-dereference loop subdir
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ return 0
+ return 0
+ mkdir subdir1a
+ mkdir subdir1b
+ ln -s nonexistent subdir1a/foo
+ ln -s ../regular1 subdir1a/bar
+ returns_ 1 diff -r --no-dereference subdir1a subdir1b
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
diff: program error
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -1,2 +1,2 @@
 Only in subdir1a: bar
+Only in subdir1a: foo
+./no-dereference: line 76:  3258 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ mkdir subdir2a
+ mkdir subdir2b
+ ln -s nonexistent subdir2b/foo
+ ln -s ../regular1 subdir2b/bar
+ returns_ 1 diff -r --no-dereference subdir2a subdir2b
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
diff: program error
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -1,2 +1,2 @@
 Only in subdir2b: bar
+Only in subdir2b: foo
+./no-dereference: line 88:  3266 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ mkdir subdir3a
+ mkdir subdir3b
+ cp regular1 subdir3a/foo
+ cp regular2 subdir3b/foo
+ returns_ 1 diff -r --no-dereference subdir3a subdir3b
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
diff: program error
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -3,3 +1,5 @@
 < Simple contents
 ---
 > Sample contents
+---
+> Sample contents
+./no-dereference: line 103:  3274 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ mkdir subdir4a
+ mkdir subdir4b
+ cp regular1 subdir4a/foo
+ ln -s ../regular1 subdir4b/foo
+ returns_ 1 diff -r --no-dereference subdir4a subdir4b
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -1 +1 @@
 File subdir4a/foo is a regular file while file subdir4b/foo is a symbolic link
+ fail=1
+ mkdir subdir5a
+ mkdir subdir5b
+ ln -s ../regular1 subdir5a/foo
+ cp regular1 subdir5b/foo
+ returns_ 1 diff -r --no-dereference subdir5a subdir5b
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -1 +1 @@
 File subdir5a/foo is a symbolic link while file subdir5b/foo is a regular file
+ fail=1
+ mkdir subdir6a
+ mkdir subdir6b
+ ln -s ../regular1 subdir6a/foo
+ ln -s ../regular1 subdir6b/foo
+ diff -r --no-dereference subdir6a subdir6b
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ return 0
+ return 0
+ mkdir subdir7a
+ mkdir subdir7b
+ ln -s ../regular1 subdir7a/foo
+ ln -s ../regular2 subdir7b/foo
+ LC_ALL=C
+ returns_ 1 diff -r --no-dereference subdir7a subdir7b
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:42.000000000 +0200
+++ out	2025-04-16 11:59:42.000000000 +0200
@@ -1 +1 @@
 Symbolic links 'subdir7a/foo' -> '../regular1' and 'subdir7b/foo' -> '../regular2' differ
+ fail=1
+ mkdir subdir8a
+ mkdir subdir8b
+ ln -s ../regular2 subdir8a/foo
+ ln -s ../regular3 subdir8b/foo
+ LC_ALL=C
+ returns_ 1 diff -r --no-dereference subdir8a subdir8b
+ cat
+ compare expected out
+ compare_dev_null_ expected out
+ test 2 = 2
+ test xexpected = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ expected out
+ LC_ALL=C
+ diff -u expected out
--- expected	2025-04-16 11:59:43.000000000 +0200
+++ out	2025-04-16 11:59:43.000000000 +0200
@@ -1 +1 @@
 Symbolic links 'subdir8a/foo' -> '../regular2' and 'subdir8b/foo' -> '../regular3' differ
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-dereference.vYv4
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-dereference.vYv4
+ exit 1
FAIL no-dereference (exit status: 1)

FAIL: no-newline-at-eof
=======================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-no-newline-at-eof.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-no-newline-at-eof.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-no-newline-at-eof.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-no-newline-at-eof.
++++ echo gt-no-newline-at-eof.XXXX
++++ wc -c
+++ template_length_=      26
++++ echo gt-no-newline-at-eof.
++++ wc -c
+++ nx_=      22
++++ expr 26 - 22
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=7tI1
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-newline-at-eof.7tI1
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-newline-at-eof.7tI1
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-newline-at-eof.7tI1
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-newline-at-eof.7tI1
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-newline-at-eof.7tI1
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ printf '\n1'
+ printf '\n0\n\n1'
+ cat
+ cat
+ fail=0
+ opt=--suppress-blank-empty
+ returns_ 1 diff --suppress-blank-empty -U1 a b
+ fail=1
+ sed -n '/^@@/,$p' out
+ mv k out
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:43.000000000 +0200
+++ out	2025-04-16 11:59:43.000000000 +0200
@@ -1,6 +1,7 @@
 @@ -1,2 +1,4 @@
 
-+0
-+
- 1
-\ No newline at end of file
++0
++
++1
+\ No newline at end of file
++
+./no-newline-at-eof: line 37:  3403 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ emit_diff_u_header_ /dev/null err
+ printf '%s\n' 'diff -u /dev/null err' '--- /dev/null	1970-01-01' '+++ err	1970-01-01'
diff -u /dev/null err
--- /dev/null	1970-01-01
+++ err	1970-01-01
+ sed 's/^/+/' err
+diff: program error
+./no-newline-at-eof: line 34:  3400 Abort trap              "$@"
+ return 1
+ return 1
+ fail=1
+ echo
+ returns_ 1 diff --suppress-blank-empty -U1 a b
+ fail=1
+ sed -n '/^@@/,$p' out
+ mv k out
+ compare exp2 out
+ compare_dev_null_ exp2 out
+ test 2 = 2
+ test xexp2 = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp2 out
+ LC_ALL=C
+ diff -u exp2 out
diff: program error
--- exp2	2025-04-16 11:59:43.000000000 +0200
+++ out	2025-04-16 11:59:44.000000000 +0200
@@ -1,7 +1,4 @@
 @@ -1,2 +1,4 @@
-
--1
-+0
-+
-+1
-\ No newline at end of file
+-
+-1
+-
+./no-newline-at-eof: line 47:  3409 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ emit_diff_u_header_ /dev/null err
+ printf '%s\n' 'diff -u /dev/null err' '--- /dev/null	1970-01-01' '+++ err	1970-01-01'
diff -u /dev/null err
--- /dev/null	1970-01-01
+++ err	1970-01-01
+ sed 's/^/+/' err
+diff: program error
+./no-newline-at-eof: line 44:  3406 Abort trap              "$@"
+ return 1
+ return 1
+ fail=1
+ printf a
+ printf b
+ returns_ 1 diff -B a b
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-newline-at-eof.7tI1
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-no-newline-at-eof.7tI1
+ exit 1
FAIL no-newline-at-eof (exit status: 1)

SKIP: side-by-side
==================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-side-by-side.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-side-by-side.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-side-by-side.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-side-by-side.
++++ echo gt-side-by-side.XXXX
++++ wc -c
+++ template_length_=      21
++++ echo gt-side-by-side.
++++ wc -c
+++ nx_=      17
++++ expr 21 - 17
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=91Cl
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side.91Cl
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side.91Cl
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side.91Cl
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side.91Cl
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side.91Cl
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ require_utf8_locale_
+ local locale
+ test '' '!=' UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ test '' = UTF-8
+ skip_ 'No UTF-8 locale found'
+ warn_ 'side-by-side: skipped test: No UTF-8 locale found'
+ printf '%s\n' 'side-by-side: skipped test: No UTF-8 locale found'
side-by-side: skipped test: No UTF-8 locale found
+ test 9 = 2
+ printf '%s\n' 'side-by-side: skipped test: No UTF-8 locale found'
+ sed 1q
+ Exit 77
+ set +e
+ exit 77
+ exit 77
+ remove_tmp_
+ __st=77
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side.91Cl
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side.91Cl
+ exit 77
SKIP side-by-side (exit status: 77)

FAIL: side-by-side-seq
======================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-side-by-side-seq.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-side-by-side-seq.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-side-by-side-seq.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-side-by-side-seq.
++++ echo gt-side-by-side-seq.XXXX
++++ wc -c
+++ template_length_=      25
++++ echo gt-side-by-side-seq.
++++ wc -c
+++ nx_=      21
++++ expr 25 - 21
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=mUuL
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side-seq.mUuL
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side-seq.mUuL
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side-seq.mUuL
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side-seq.mUuL
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side-seq.mUuL
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ seq 1 100
+ start=1
+ final=100
+ awk 'BEGIN{for(i=1;i<=100;i++) print i}'
+ seq 1 49
+ start=1
+ final=49
+ awk 'BEGIN{for(i=1;i<=49;i++) print i}'
+ seq 51 100
+ start=51
+ final=100
+ awk 'BEGIN{for(i=51;i<=100;i++) print i}'
+ awk '
  BEGIN {
    for (i = 1; i <= 100; i++) {
      if (i == 50) {
        print "50   <"
      } else {
        printf "%d\t%d\n", i, i
      }
    }
  }
'
+ returns_ 1 diff -yW 11 in1 in2
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
--- exp	2025-04-16 11:59:46.000000000 +0200
+++ out	2025-04-16 11:59:46.000000000 +0200
@@ -98,3 +93,8 @@
 98	98
 99	99
 100	100
+96	96
+97	97
+98	98
+99	99
+100	100
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side-seq.mUuL
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-side-by-side-seq.mUuL
+ exit 1
FAIL side-by-side-seq (exit status: 1)

FAIL: stdin
===========

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-stdin.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-stdin.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-stdin.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-stdin.
++++ echo gt-stdin.XXXX
++++ wc -c
+++ template_length_=      14
++++ echo gt-stdin.
++++ wc -c
+++ nx_=      10
++++ expr 14 - 10
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=ypLT
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-stdin.ypLT
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-stdin.ypLT
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-stdin.ypLT
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-stdin.ypLT
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-stdin.ypLT
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ echo a
+ echo b
+ cat
+ returns_ 1 diff -u - b
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ compare exp outk
+ compare_dev_null_ exp outk
+ test 2 = 2
+ test xexp = x/dev/null
+ test xoutk = x/dev/null
+ return 2
+ compare_ exp outk
+ LC_ALL=C
+ diff -u exp outk
diff: program error
--- exp	2025-04-16 11:59:48.000000000 +0200
+++ outk	2025-04-16 11:59:48.000000000 +0200
@@ -3,3 +1,5 @@
 @@ -1 +1 @@
 -a
 +b
+-a
++b
+./stdin: line 21:  3878 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ mkdir d
+ echo a
+ diff -u - a
+ fail=1
+ compare /dev/null out
+ compare_dev_null_ /dev/null out
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s out
+ emit_diff_u_header_ /dev/null out
+ printf '%s\n' 'diff -u /dev/null out' '--- /dev/null	1970-01-01' '+++ out	1970-01-01'
diff -u /dev/null out
--- /dev/null	1970-01-01
+++ out	1970-01-01
+ sed 's/^/+/' out
+--- -/a	2025-04-16 11:59:48.000000000 +0200
++++ a	2025-04-16 11:59:48.000000000 +0200
+@@ -1 +1 @@
+ a
+ return 1
+ return 1
+ fail=1
+ compare /dev/null err
+ compare_dev_null_ /dev/null err
+ test 2 = 2
+ test x/dev/null = x/dev/null
+ test -s err
+ return 0
+ return 0
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-stdin.ypLT
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-stdin.ypLT
+ exit 1
FAIL stdin (exit status: 1)

FAIL: filename-quoting
======================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-filename-quoting.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-filename-quoting.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-filename-quoting.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-filename-quoting.
++++ echo gt-filename-quoting.XXXX
++++ wc -c
+++ template_length_=      25
++++ echo gt-filename-quoting.
++++ wc -c
+++ nx_=      21
++++ expr 25 - 21
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=WhHn
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-filename-quoting.WhHn
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-filename-quoting.WhHn
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-filename-quoting.WhHn
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-filename-quoting.WhHn
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-filename-quoting.WhHn
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ cat
+ cat
+ cat
+ mkdir a b
+ echo space
+ returns_ 1 diff -N -r a b
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
++ echo
++ tr ' ' _
+ compare exp- out
+ compare_dev_null_ exp- out
+ test 2 = 2
+ test xexp- = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp- out
+ LC_ALL=C
+ diff -u exp- out
--- exp-	2025-04-16 11:59:49.000000000 +0200
+++ out	2025-04-16 11:59:50.000000000 +0200
@@ -1,3 +1,3 @@
 diff -N -r "a/ " "b/ "
 0a1
 > space
+ fail=1
+ returns_ 1 diff -N -r -u a b
+ fail=1
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
++ echo -u
++ tr ' ' _
+ compare exp--u out
+ compare_dev_null_ exp--u out
+ test 2 = 2
+ test xexp--u = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp--u out
+ LC_ALL=C
+ diff -u exp--u out
diff: program error
--- exp--u	2025-04-16 11:59:50.000000000 +0200
+++ out	2025-04-16 11:59:50.000000000 +0200
@@ -3,3 +1,6 @@
 +++ "b/ "
 @@ -0,0 +1 @@
 +space
+@@ -0,0 +1 @@
++space
++
+./filename-quoting: line 39:  4076 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff -N -r -c a b
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
++ echo -c
++ tr ' ' _
+ compare exp--c out
+ compare_dev_null_ exp--c out
+ test 2 = 2
+ test xexp--c = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp--c out
+ LC_ALL=C
+ diff -u exp--c out
diff: program error
--- exp--c	2025-04-16 11:59:50.000000000 +0200
+++ out	2025-04-16 11:59:50.000000000 +0200
@@ -5,3 +1,7 @@
 *** 0 ****
 --- 1 ----
 + space
+***************
+*** 0 ****
+--- 1 ----
++ space
+./filename-quoting: line 39:  4084 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ rm -f 'b/ '
+ cat
++ printf '\t'
+ tab=	
++ printf '\001'
+ x01=
+ echo tab
+ echo one
+ returns_ 1 diff -u 'a/	' $'b/\001'
+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
+ mv k out
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 11:59:50.000000000 +0200
+++ out	2025-04-16 11:59:50.000000000 +0200
@@ -3,3 +1,5 @@
 @@ -1 +1 @@
 -tab
 +one
+-tab
++one
+./filename-quoting: line 59:  4093 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-filename-quoting.WhHn
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-filename-quoting.WhHn
+ exit 1
FAIL filename-quoting (exit status: 1)

SKIP: strip-trailing-cr
=======================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-strip-trailing-cr.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-strip-trailing-cr.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-strip-trailing-cr.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-strip-trailing-cr.
++++ echo gt-strip-trailing-cr.XXXX
++++ wc -c
+++ template_length_=      26
++++ echo gt-strip-trailing-cr.
++++ wc -c
+++ nx_=      22
++++ expr 26 - 22
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=6BkZ
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-strip-trailing-cr.6BkZ
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-strip-trailing-cr.6BkZ
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-strip-trailing-cr.6BkZ
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-strip-trailing-cr.6BkZ
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-strip-trailing-cr.6BkZ
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ require_valgrind_
+ require_timeout_
+ skip_ your system lacks the timeout program
+ warn_ 'strip-trailing-cr: skipped test: your' system lacks the timeout program
+ printf '%s\n' 'strip-trailing-cr: skipped test: your system lacks the timeout program'
strip-trailing-cr: skipped test: your system lacks the timeout program
+ test 9 = 2
+ printf '%s\n' 'strip-trailing-cr: skipped test: your system lacks the timeout program'
+ sed 1q
+ Exit 77
+ set +e
+ exit 77
+ exit 77
+ remove_tmp_
+ __st=77
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-strip-trailing-cr.6BkZ
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-strip-trailing-cr.6BkZ
+ exit 77
SKIP strip-trailing-cr (exit status: 77)

FAIL: colors
============

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-colors.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-colors.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-colors.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-colors.
++++ echo gt-colors.XXXX
++++ wc -c
+++ template_length_=      15
++++ echo gt-colors.
++++ wc -c
+++ nx_=      11
++++ expr 15 - 11
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=9Mux
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-colors.9Mux
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-colors.9Mux
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-colors.9Mux
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-colors.9Mux
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-colors.9Mux
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ TZ=UTC0
+ export TZ
+ fail=0
+ echo a
+ echo b
++ diff -u a b
++ grep '\.'
++ echo .000000000
+ nanosecond_zeros=.000000000
+ epoch=1970-01-01 00:00:00
+ touch -t 197001010000.00 a b
++ printf '\033'
+ e=
++ printf '\t'
+ tab=	
+ rs=0
+ hd=1
+ ad=32
+ de=31
+ ln=36
+ returns_ 1 diff --color=auto a b
+ gen_exp_default
+ printf %s '1c1
< a
---
> b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:52.000000000 +0000
+++ out	2025-04-16 09:59:52.000000000 +0000
@@ -2,3 +1,4 @@
 < a
 ---
 > b
+> b
+./colors: line 90:  4367 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 env PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin TERM=dumb diff ---presume-output-tty --color=auto a b
+ gen_exp_default
+ printf %s '1c1
< a
---
> b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:52.000000000 +0000
+++ out	2025-04-16 09:59:52.000000000 +0000
@@ -2,3 +1,4 @@
 < a
 ---
 > b
+> b
+./colors: line 96:  4370 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff --color=never a b
+ gen_exp_default
+ printf %s '1c1
< a
---
> b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:52.000000000 +0000
+++ out	2025-04-16 09:59:52.000000000 +0000
@@ -2,3 +1,4 @@
 < a
 ---
 > b
+> b
+./colors: line 100:  4375 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff a b
+ gen_exp_default
+ printf %s '1c1
< a
---
> b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:52.000000000 +0000
+++ out	2025-04-16 09:59:52.000000000 +0000
@@ -2,3 +1,4 @@
 < a
 ---
 > b
+> b
+./colors: line 104:  4378 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff --color=always a b
+ gen_exp_default_colors
++ printf ''
+ local 'rs='
++ printf ''
+ local 'hd='
++ printf ''
+ local 'ad='
++ printf ''
+ local 'de='
++ printf ''
+ local 'ln='
+ printf %s '1c1
< a
---
> b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:52.000000000 +0000
+++ out	2025-04-16 09:59:52.000000000 +0000
@@ -2,3 +1,4 @@
 < a
 ---
 > b
+> b
+./colors: line 108:  4387 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff -u --color=always a b
+ gen_exp_u
+ local 'epoch_plus=1970-01-01 00:00:00.000000000 +0000'
++ printf ''
+ local 'rs='
++ printf ''
+ local 'hd='
++ printf ''
+ local 'ad='
++ printf ''
+ local 'de='
++ printf ''
+ local 'ln='
+ printf %s '--- a	1970-01-01 00:00:00.000000000 +0000
+++ b	1970-01-01 00:00:00.000000000 +0000
@@ -1 +1 @@
-a
+b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:53.000000000 +0000
+++ out	2025-04-16 09:59:53.000000000 +0000
@@ -3,3 +1,5 @@
 @@ -1 +1 @@
 -a
 +b
+-a
++b
+./colors: line 112:  4395 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ returns_ 1 diff -c --color=always a b
+ gen_exp_c
+ local 'epoch_posix_1003_1_2001=Thu Jan  1 00:00:00 1970'
++ printf ''
+ local 'rs='
++ printf ''
+ local 'hd='
++ printf ''
+ local 'ad='
++ printf ''
+ local 'de='
++ printf ''
+ local 'ln='
+ printf %s '*** a	Thu Jan  1 00:00:00 1970
--- b	Thu Jan  1 00:00:00 1970
***************
*** 1 ****
! a
--- 1 ----
! b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:53.000000000 +0000
+++ out	2025-04-16 09:59:53.000000000 +0000
@@ -5,3 +1,7 @@
 ! a
 --- 1 ----
 ! b
+*** 1 ****
+! a
+--- 1 ----
+! b
+./colors: line 116:  4405 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ rs=0
+ hd=33
+ ad=34
+ de=35
+ ln=36
+ returns_ 1 diff -u --color=always --palette=rs=0:hd=33:ad=34:de=35:ln=36 a b
+ gen_exp_u
+ local 'epoch_plus=1970-01-01 00:00:00.000000000 +0000'
++ printf ''
+ local 'rs='
++ printf ''
+ local 'hd='
++ printf ''
+ local 'ad='
++ printf ''
+ local 'de='
++ printf ''
+ local 'ln='
+ printf %s '--- a	1970-01-01 00:00:00.000000000 +0000
+++ b	1970-01-01 00:00:00.000000000 +0000
@@ -1 +1 @@
-a
+b
'
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
diff: program error
--- exp	2025-04-16 09:59:53.000000000 +0000
+++ out	2025-04-16 09:59:53.000000000 +0000
@@ -3,3 +1,5 @@
 @@ -1 +1 @@
 -a
 +b
+-a
++b
+./colors: line 122:  4413 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
+ fail=1
+ mkfifo fifo
+ printf %1000000s-a
+ printf %1000000s-b
+ head -c 10
+ diff --color=always ---presume-output-tty a b
head: illegal option -- c
Usage: head [-n lines] [file ...]
diff: standard output: Broken pipe
+ Exit 1
+ set +e
+ exit 1
+ exit 1
+ remove_tmp_
+ __st=1
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-colors.9Mux
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-colors.9Mux
+ exit 1
FAIL colors (exit status: 1)

SKIP: y2038-vs-32bit
====================

++ initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests gt-y2038-vs-32bit.XXXX
+++ destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+++ template_=gt-y2038-vs-32bit.XXXX
+++ MAX_TRIES_=4
+++ destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/
++++ unset TMPDIR
+++ d=
++++ echo gt-y2038-vs-32bit.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-y2038-vs-32bit.
++++ echo gt-y2038-vs-32bit.XXXX
++++ wc -c
+++ template_length_=      23
++++ echo gt-y2038-vs-32bit.
++++ wc -c
+++ nx_=      19
++++ expr 23 - 19
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=tkmM
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-y2038-vs-32bit.tkmM
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-y2038-vs-32bit.tkmM
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-y2038-vs-32bit.tkmM
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-y2038-vs-32bit.tkmM
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-y2038-vs-32bit.tkmM
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS= 	

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS= 	

++ IFS=:
++ new_PATH=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src
++ IFS= 	

++ test -d /opt/local/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin
++ IFS= 	

++ test -d /opt/local/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ test -d /bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ test -d /sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ test -d /usr/bin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ test -d /usr/sbin/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ../src
+ test 1 '!=' 0
+ path_dir_=../src
+ abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ fail=0
+ touch -t 203901010000 in
touch: out of range or illegal time specification: [[CC]YY]MMDDhhmm[.SS]
+ skip_ 'touch -t 2039... failed'
+ warn_ 'y2038-vs-32bit: skipped test: touch -t 2039... failed'
+ printf '%s\n' 'y2038-vs-32bit: skipped test: touch -t 2039... failed'
y2038-vs-32bit: skipped test: touch -t 2039... failed
+ test 9 = 2
+ printf '%s\n' 'y2038-vs-32bit: skipped test: touch -t 2039... failed'
+ sed 1q
+ Exit 77
+ set +e
+ exit 77
+ exit 77
+ remove_tmp_
+ __st=77
+ cleanup_
+ :
+ test '' = yes
+ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests
+ chmod -R u+rwx /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-y2038-vs-32bit.tkmM
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/gt-y2038-vs-32bit.tkmM
+ exit 77
SKIP y2038-vs-32bit (exit status: 77)

============================================================================
Testsuite summary for GNU diffutils 3.12
============================================================================
# TOTAL: 33
# PASS:  6
# SKIP:  6
# XFAIL: 0
# FAIL:  20
# XPASS: 1
# ERROR: 0
============================================================================
See tests/test-suite.log for debugging.
Some test(s) failed.  Please report this to bug-diffutils <at> gnu.org,
together with the test-suite.log file (gzipped) and your system
information.  Thanks.
============================================================================


This is the list of known UTF-8 locales (:

af_ZA.UTF-8
am_ET.UTF-8
be_BY.UTF-8
bg_BG.UTF-8
ca_ES.UTF-8
cs_CZ.UTF-8
da_DK.UTF-8
de_AT.UTF-8
de_CH.UTF-8
de_DE.UTF-8
el_GR.UTF-8
en_AU.UTF-8
en_CA.UTF-8
en_GB.UTF-8
en_IE.UTF-8
en_NZ.UTF-8
en_US.UTF-8
es_ES.UTF-8
et_EE.UTF-8
eu_ES.UTF-8
fi_FI.UTF-8
fr_BE.UTF-8
fr_CA.UTF-8
fr_CH.UTF-8
fr_FR.UTF-8
he_IL.UTF-8
hr_HR.UTF-8
hu_HU.UTF-8
hy_AM.UTF-8
is_IS.UTF-8
it_CH.UTF-8
it_IT.UTF-8
ja_JP.UTF-8
kk_KZ.UTF-8
ko_KR.UTF-8
lt_LT.UTF-8
nl_BE.UTF-8
nl_NL.UTF-8
no_NO.UTF-8
pl_PL.UTF-8
pt_BR.UTF-8
pt_PT.UTF-8
ro_RO.UTF-8
ru_RU.UTF-8
sk_SK.UTF-8
sl_SI.UTF-8
sr_YU.UTF-8
sv_SE.UTF-8
tr_TR.UTF-8
uk_UA.UTF-8
zh_CN.UTF-8
zh_HK.UTF-8
zh_TW.UTF-8

--
G
  Pete

Without vi there is only GNU Emacs





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Mon, 19 May 2025 18:17:02 GMT) Full text and rfc822 format available.

Message #8 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Mon, 19 May 2025 11:16:38 -0700
There are lots of failures there, but unfortunately I don't have access 
to that old platform so you'll need to do some more digging to isolate 
the cause.

Let's look at the first failure.

echo a > a
echo b > b
diff a b

This doesn't generate the correct output. Can you run 'diff' under a 
debugger and see why?






Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 10:30:03 GMT) Full text and rfc822 format available.

Message #11 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 12:29:09 +0200
> Am 19.Mai.2025 um 20:16 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> There are lots of failures there, but unfortunately I don't have access to that old platform so you'll need to do some more digging to isolate the cause.
> 
> Let's look at the first failure.
> 
> echo a > a
> echo b > b
> diff a b
> 
> This doesn't generate the correct output. Can you run 'diff' under a debugger and see why?

This fails… See here:

	pete 243 /\ echo a > a
	pete 244 /\ echo b > b
	pete 247 /\ which gdb ggdb
	/usr/bin/gdb
	ggdb: Command not found.
	pete 248 /\ which diff gdiff
	/usr/bin/diff
	/opt/local/bin/gdiff
	pete 249 /\ gdb --args /opt/local/bin/gdiff a b
	GNU gdb 6.3.50-20050815 (Apple version gdb-696) (Sat Oct 20 18:20:28 GMT 2007)
	Copyright 2004 Free Software Foundation, Inc.
	GDB is free software, covered by the GNU General Public License, and you are
	welcome to change it and/or distribute copies of it under certain conditions.
	Type "show copying" to see the conditions.
	There is absolutely no warranty for GDB.  Type "show warranty" for details.
	This GDB was configured as "powerpc-apple-darwin"...
	warning: --arch option not supported in this gdb.
	Reading symbols for shared libraries ..... done
	
	(gdb) run
	Starting program: /opt/local/bin/gdiff a b
	Reading symbols for shared libraries ..................+ done
	1c1
	< a
	---
	> b
	
	Program exited with code 01.
	(gdb) pete 250 /\ gdb --args /opt/local/bin/gdiff -u a b
	GNU gdb 6.3.50-20050815 (Apple version gdb-696) (Sat Oct 20 18:20:28 GMT 2007)
	Copyright 2004 Free Software Foundation, Inc.
	GDB is free software, covered by the GNU General Public License, and you are
	welcome to change it and/or distribute copies of it under certain conditions.
	Type "show copying" to see the conditions.
	There is absolutely no warranty for GDB.  Type "show warranty" for details.
	This GDB was configured as "powerpc-apple-darwin"...
	warning: --arch option not supported in this gdb.
	Reading symbols for shared libraries ..... done
	
	(gdb) run
	Starting program: /opt/local/bin/gdiff -u a b
	Reading symbols for shared libraries ..................+ done
	--- a	2025-05-20 11:04:52.000000000 +0200
	+++ b	2025-05-20 11:05:08.000000000 +0200
	@@ -1 +1 @@
	-a
	+b
	
	Program exited with code 01.
	(gdb) pete 251 /\ 

The previous tests were made by the MacPorts package manager which creates a somehow own environment. It can be shown when running it in debug mode.


BTW, I had the diffutils uninstalled and reinstalled them for test. The reason for uninstalling is here (Tcsh alias newly created to use gdiff instead of old original Apple diff):

	root 403 /\ alias gdip	'gdiff  ~/Portfiles/Portfile-\!{:1}-312 `port file \!:1`'
	root 404 /\ gdip mupdf
	gdiff: program error
	gdiff: program error
	Abort
	root 405 /\ l ~/Portfiles/Portfile-mupdf-312 `port file mupdf`
	-rw-r--r--   1 root  admin  5395 14 Mai 11:45 .../macports-ports/graphics/mupdf/Portfile
	-rw-r--r--   2 root  wheel  5187 12 Apr 09:31 .../Portfiles/Portfile-mupdf-312

Executing the tests of the just built software starts with:

	#!/bin/sh
	# small examples
	
	. "${srcdir=.}/init.sh"; path_prepend_ ../src

so the actual test

	echo a > a
	echo b > b
	for opt in '' -u -c; do
	  returns_ 1 diff $opt a b > out 2> err || fail=1
	  # Remove date and time.
	  sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out > k; mv k out
	  compare exp-$(echo $opt|tr ' ' _) out || fail=1
	done

should be using (g)diff just built.

Trying to run 'make check' from the sources' root directory does not show any progress, so maybe I need a pristine build for testing…

--
Greetings

  Pete                                           0
                                           %-/\_//
                                            (*)(*)








Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 10:45:02 GMT) Full text and rfc822 format available.

Message #14 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 12:44:32 +0200
Performing a 'make check V=1' reveals that coreutils 9.5 are defective:

    126 + mv k out
    127 mv: cannot stat 'out/k': Not a directory

Excerpt from gigantic tests/basic.log. (cp in coreutils 9.5 is also not working properly.)

--
Greetings

  Pete

It isn't pollution that's harming the environment. It's the impurities in our air and water that are doing it.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 11:57:02 GMT) Full text and rfc822 format available.

Message #17 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 13:56:08 +0200
Without coreutils 9.5 installed I encounter this:

	tiger pete 238 /\ find     .../diffutils -type f -name init.sh -ls
	120650338   48 -rw-r--r--    1 macports admin       24574 4 Apr 23:21: .../diffutils-3.12/gnulib-tests/init.sh
	120651731   48 -rw-r--r--    1 macports admin       24574 4 Apr 23:24: .../diffutils-3.12/tests/init.sh
	tiger pete 239 /\ gdiff    .../diffutils-3.12/gnulib-tests/init.sh .../diffutils-3.12/tests/init.sh
	tiger pete 240 /\ diff     .../diffutils-3.12/gnulib-tests/init.sh .../diffutils-3.12/tests/init.sh
	tiger pete 241 /\ gdiff -u .../diffutils-3.12/gnulib-tests/init.sh .../diffutils-3.12/tests/init.sh
	--- .../diffutils-3.12/gnulib-tests/init.sh 2025-04-04 23:21:18.000000000 +0200
	+++ .../diffutils-3.12/tests/init.sh 2025-04-04 23:24:22.000000000 +0200
	@@ -744,3 +739,8 @@
	 # This trap is here, rather than in the setup_ function, because some
	 # shells run the exit trap at shell function exit, rather than script exit.
	 trap remove_tmp_ EXIT
	+
	+setup_ "$@"
	+# This trap is here, rather than in the setup_ function, because some
	+# shells run the exit trap at shell function exit, rather than script exit.
	+trap remove_tmp_ EXIT
	Exit 1
	tiger pete 242 /\ diff -u  .../diffutils-3.12/gnulib-tests/init.sh .../diffutils-3.12/tests/init.sh
	tiger pete 243 /\ diff --version
	diff (GNU diffutils) 2.8.1
	Copyright (C) 2002 Free Software Foundation, Inc.
	
	This program comes with NO WARRANTY, to the extent permitted by law.
	You may redistribute copies of this program
	under the terms of the GNU General Public License.
	For more information about these matters, see the file named COPYING.
	
	Written by Paul Eggert, Mike Haertel, David Hayes,
	Richard Stallman, and Len Tower.
	tiger pete 244 /\ gdiff --version
	diff (GNU diffutils) 3.12
	Copyright (C) 2025 Free Software Foundation, Inc.
	License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
	This is free software: you are free to change and redistribute it.
	There is NO WARRANTY, to the extent permitted by law.
	
	Written by Paul Eggert, Mike Haertel, David Hayes,
	Richard Stallman, and Len Tower.
	tiger pete 245 /\ which diff gdiff
	/usr/bin/diff
	/opt/local/bin/gdiff
	tiger pete 247 /\  

Both software GNU packages were built with old GCC 4.2 – should I switch to GCC 14.2 and check/test again?

Findutils 4.10 from last summer work OK, built with GCC 4.2. Coreutils 9.5 and diffutils 3.12 are recent, built in spring '25. Could have been a bug introduced with updated GNUlib? It had an issue with creating directory hierarchies ("confdir-14B---" and "confdir3") much too deep (and quite unremovable) on some Macs/Mac OS X versions.

--
Greetings

  Pete

Time is an illusion. Lunchtime, doubly so.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 16:26:01 GMT) Full text and rfc822 format available.

Message #20 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 09:25:34 -0700
On 2025-05-20 03:29, Peter Dyballa wrote:
> 
>> Am 19.Mai.2025 um 20:16 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
>>
>> There are lots of failures there, but unfortunately I don't have access to that old platform so you'll need to do some more digging to isolate the cause.
>>
>> Let's look at the first failure.
>>
>> echo a > a
>> echo b > b
>> diff a b
>>
>> This doesn't generate the correct output. Can you run 'diff' under a debugger and see why?
> 
> This fails

If I understand you correctly, you're saying that although the original 
bug report shows the above test failing when you run 'make check', you 
cannot reproduce the problem when you run the same test under GDB.

However, I see that you ran /opt/local/bin/gdiff under GDB. Could you 
try running the just-built diff instead? That's the diff that 'make 
check' runs. Also, first please try just running it under the shell, 
without using GDB.

The point is that we must be able to reproduce the bug reliably and 
simply; otherwise it won't be practical to investigate it.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 16:42:02 GMT) Full text and rfc822 format available.

Message #23 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 18:41:01 +0200
> Am 20.Mai.2025 um 18:25 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> If I understand you correctly, you're saying that although the original bug report shows the above test failing when you run 'make check', you cannot reproduce the problem when you run the same test under GDB.

Correct. My assumption is that the environment MacPorts creates to build/install/test software is quite different.

> 
> However, I see that you ran /opt/local/bin/gdiff under GDB. Could you try running the just-built diff instead?

It is this executable:

	tiger pete 224 /\ l `which gdiff`
	-rwxr-xr-x 1 root admin 221052 20. Mai 10:40 /opt/local/bin/gdiff

Months ago I had uninstalled diffutils because gdiff did not work correctly. And to perform some tests I decided that it would be best (most simple) to install them again…

> The point is that we must be able to reproduce the bug reliably and simply; otherwise it won't be practical to investigate it.

OK, here is the test with exactly the diff executable built some hours ago:

	tiger pete 227 /\ /opt/local/var/macports/build/_Volumes_BSD-Linux_macports-ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/diff a b
	1c1
	< a
	---
	> b
	Exit 1
	tiger pete 228 /\ /opt/local/var/macports/build/_Volumes_BSD-Linux_macports-ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/diff -u a b
	--- a 2025-05-20 11:04:52.000000000 +0200
	+++ b 2025-05-20 11:05:08.000000000 +0200
	@@ -1 +1 @@
	-a
	+b
	Exit 1
	tiger pete 229 /\ /opt/local/var/macports/build/_Volumes_BSD-Linux_macports-ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/diff --version
	diff (GNU diffutils) 3.12
	Copyright (C) 2025 Free Software Foundation, Inc.
	License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
	This is free software: you are free to change and redistribute it.
	There is NO WARRANTY, to the extent permitted by law.
	
	Written by Paul Eggert, Mike Haertel, David Hayes,
	Richard Stallman, and Len Tower.
	tiger pete 230 /\ 


From building and testing diffutils again log and status files do exist.

--

Greetings

  Pete

True happiness is knowing you're a hypocrite
– Ivor Cutler





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 16:51:02 GMT) Full text and rfc822 format available.

Message #26 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 09:49:57 -0700
On 2025-05-20 04:56, Peter Dyballa wrote:
> Both software GNU packages were built with old GCC 4.2 – should I switch to GCC 14.2 and check/test again?

Whatever works for you. It sounds like your development environment is 
munged somehow.

Diffutils 3.12 should work just fine with old GCC. I just now checked it 
with gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath) on Solaris 10 
sparc, and all tests pass except for ignore-case (which fails only 
because the Solaris 10 Unicode tables are so old they don't work with 
the characters in the test case).






Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 16:54:02 GMT) Full text and rfc822 format available.

Message #29 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 09:53:02 -0700
On 2025-05-20 09:41, Peter Dyballa wrote:
> OK, here is the test with exactly the diff executable built some hours ago:

So 'make check' fails, but we cannot reproduce the first problem that it 
reports by running the just-built 'diff' by hand.

That suggests a problem in the 'make check' machinery, rather than a 
problem with 'diff' itself. It may be a pain to investigate that. 
Perhaps the problem is that your coreutils is busted; that might explain 
the 'diff' results.

Feel free to look into it further, but from a diffutils point of view 
I'm not sure it's worth the trouble for such an old platform.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 17:06:02 GMT) Full text and rfc822 format available.

Message #32 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 19:05:10 +0200
> Am 20.Mai.2025 um 18:53 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> Feel free to look into it further, but from a diffutils point of view I'm not sure it's worth the trouble for such an old platform.

OK! Tomorrow I'll try to test without coreutils the diffutils variations built with either GCC 4.2 (meaning the original Apple tool) or GCC 14.2, the recent MacPorts tool.

Besides, gdiff *does* fail when used in production on the command line to find differences in "Portfiles"… (see my eMail from 12:29 h local time)


Could I get a quite perfect test log as reference? An URL would suffice.

--

Greetings

  Pete

Cabbage, n. A familiar kitchen-garden vegetable about as large and wise as a man's head.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 20 May 2025 17:18:02 GMT) Full text and rfc822 format available.

Message #35 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 20 May 2025 10:17:23 -0700
[Message part 1 (text/plain, inline)]
On 2025-05-20 10:05, Peter Dyballa wrote:
> Could I get a quite perfect test log as reference? An URL would suffice.

Sure, attached is a gzip-compressed output of './configure; make check' 
on macOS 12.6 ARM.

[diffutils-3.12.log.gz (application/gzip, attachment)]

Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Wed, 21 May 2025 11:31:02 GMT) Full text and rfc822 format available.

Message #38 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Wed, 21 May 2025 13:29:46 +0200
I tried to build diffutils 3.11 and 3.12 with GCC 14.2, both fail here:

	/opt/local/bin/gcc-mp-14 -std=gnu23  -I.   -I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unused-const-variable -Wno-unsuffixed-float-constants -Wno-error -pipe -Os -arch ppc -MT libdiffutils_a-sigsegv.o -MD -MP -MF .deps/libdiffutils_a-sigsegv.Tpo -c -o libdiffutils_a-sigsegv.o `test -f 'sigsegv.c' || echo './'`sigsegv.c
	sigsegv.c: In function 'sigsegv_handler':
	sigsegv.c:1169:11: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1169 |           SIGSEGV_FOR_ALL_SIGNALS (signo, signal (signo, SIG_DFL);)
	      |           ^~~~~~~~~~~~~~~~~~~~~~~
	      |           |
	      |           void (*)(void)
	In file included from /usr/include/signal.h:63,
	                 from ./signal.h:52,
	                 from sigsegv.h:48,
	                 from sigsegv.c:23:
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c:1169:11: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1169 |           SIGSEGV_FOR_ALL_SIGNALS (signo, signal (signo, SIG_DFL);)
	      |           ^~~~~~~~~~~~~~~~~~~~~~~
	      |           |
	      |           void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c: In function 'sigsegv_deinstall_handler':
	sigsegv.c:1395:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1395 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c:1395:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1395 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c: In function 'stackoverflow_deinstall_handler':
	sigsegv.c:1472:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1472 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c:1472:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1472 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	make[2]: *** [libdiffutils_a-sigsegv.o] Error 1
	make[2]: Leaving directory `/opt/local/var/macports/build/_Volumes_BSD-Linux_macports-ports_sysutils_diffutils/diffutils/work/diffutils-3.12/lib'

Adding -Wincompatible-pointer-types to turn errors into warning does change the failure. SIG_DFL is #define'd in sgnal.h:

	  116	#if defined(_ANSI_SOURCE) || defined(_POSIX_C_SOURCE) || defined(__cplusplus)
	  117	/*
	  118	 * Language spec sez we must list exactly one parameter, even though we
	  119	 * actually supply three.  Ugh!
	  120	 * SIG_HOLD is chosen to avoid KERN_SIG_* values in <sys/signalvar.h>
	  121	 */
	  122	#define	SIG_DFL		(void (*)(int))0
	  123	#define	SIG_IGN		(void (*)(int))1
	  124	#define	SIG_HOLD	(void (*)(int))5
	  125	#define	SIG_ERR		((void (*)(int))-1)
	  126	#else
	  127	/* DO NOT REMOVE THE COMMENTED OUT int: fixincludes needs to see them */
	  128	#define	SIG_DFL		(void (*)(/*int*/))0
	  129	#define	SIG_IGN		(void (*)(/*int*/))1
	  130	#define	SIG_HOLD	(void (*)(/*int*/))5
	  131	#define	SIG_ERR		((void (*)(/*int*/))-1)
	  132	#endif

None of _ANSI_SOURCE, _POSIX_C_SOURCE, or __cplusplus are defined by GCC 14.2 here. As an amateur I have no idea how to solve this, so I'm going to live with the Apple supplied tools.

--
Greetings

  Pete

One cannot live by television, video games, top ten CDs, and dumb movies alone.
– Amiri Baraka, 1999








Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Wed, 21 May 2025 11:36:02 GMT) Full text and rfc822 format available.

Message #41 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Wed, 21 May 2025 13:35:03 +0200
> Am 20.Mai.2025 um 19:17 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> Sure, attached is a gzip-compressed output of './configure; make check' on macOS 12.6 ARM.

On my recent Mac with Sonoma 14.7 testing diffutils 3.12 shows same results as in the supplied reference. On the old PowerBook G4 the log files from tests show that the just built binaries do not work in many cases because of "program error".

--

Greetings

  Pete

"Debugging? Klingons do not debug. Our software does not coddle the weak."





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Thu, 05 Jun 2025 10:11:03 GMT) Full text and rfc822 format available.

Message #44 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Thu, 5 Jun 2025 12:10:25 +0200
> Am 21.05.2025 um 13:35 schrieb Peter Dyballa <Peter_Dyballa <at> Web.DE>:
> 
> On my recent Mac with Sonoma 14.7 testing diffutils 3.12 shows same results as in the supplied reference. On the old PowerBook G4 the log files from tests show that the just built binaries do not work in many cases because of "program error".

This report from PPC Mac OS X 10.4.11, Tiger, is also true for PPC Mac OS X 10.5.8, Leopard. Repeatedly a "program error" happens – and then tests stall:

	+ case $abs_path_dir_ in
	+ PATH=/opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-Ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-Ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
	+ create_exe_shims_ /opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-Ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
	+ case $EXEEXT in
	+ return 0
	+ shift
	+ test 0 '!=' 0
	+ export PATH
	+ fail=0
	+ cat
	+ cat
	+ cat
	+ echo a
	+ echo b
	+ for opt in ''\'''\''' -u -c
	+ returns_ 1 diff a b
	+ fail=1
	+ sed -e 's/^\([-+*][-+*][-+*] [^	]*\)	.*/\1/' out
	+ mv k out
	++ echo
	++ tr ' ' _
	+ compare exp- out
	+ compare_dev_null_ exp- out
	+ test 2 = 2
	+ test xexp- = x/dev/null
	+ test xout = x/dev/null
	+ return 2
	+ case $? in
	+ compare_ exp- out
	+ LC_ALL=C
	+ diff -u exp- out
	diff: program error
	diff: program error
	--- exp-	2025-06-05 09:22:29.000000000 +0200
	+++ out	2025-06-05 09:22:34.000000000 +0200
	@@ -1,4 +1,4 @@
	-1c1
	-< a
	----
	-> b
	-./init.sh: line 692: 28308 Abort trap              LC_ALL=C diff $diff_opt_ "$@"
	+ fail=1
	+ for opt in ''\'''\''' -u -c
	+ returns_ 1 diff -u a b

The trap closes here:

	  640	
	  641	# Arrange not to let diff or cmp operate on /dev/null,
	  642	# since on some systems (at least OSF/1 5.1), that doesn't work.
	  643	# When there are not two arguments, or no argument is /dev/null, return 2.
	  644	# When one argument is /dev/null and the other is not empty,
	  645	# cat the nonempty file to stderr and return 1.
	  646	# Otherwise, return 0.
	  647	compare_dev_null_ ()
	  648	{
	  649	  test $# = 2 || return 2
	  650	
	  651	  if test "x$1" = x/dev/null; then
	  652	    test -s "$2" || return 0
	  653	    emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
	  654	    return 1
	  655	  fi
	  656	
	  657	  if test "x$2" = x/dev/null; then
	  658	    test -s "$1" || return 0
	  659	    emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
	  660	    return 1
	  661	  fi
	  662	
	  663	  return 2
	  664	}
	  665	
	  666	for diff_opt_ in -u -U3 -c '' no; do
	  667	  test "$diff_opt_" != no &&
	  668	    diff_out_=`exec 2>/dev/null
	  669	      LC_ALL=C diff $diff_opt_ "$0" "$0" < /dev/null` &&
	  670	    break
	  671	done
	  672	if test "$diff_opt_" != no; then
	  673	  if test -z "$diff_out_"; then
	  674	    # diff on msys2 does not support the '-' argument for denoting stdin.
	  675	    case `(uname -o) 2>/dev/null` in
	  676	      Msys)
	  677	        compare_ ()
	  678	        {
	  679	          if test " $1" = " -"; then
	  680	            cat > '(stdin)'
	  681	            LC_ALL=C diff $diff_opt_ '(stdin)' "$2"
	  682	          elif test " $2" = " -"; then
	  683	            cat > '(stdin)'
	  684	            LC_ALL=C diff $diff_opt_ "$1" '(stdin)'
	  685	          else
	  686	            LC_ALL=C diff $diff_opt_ "$@"
	  687	          fi
	  688	        }
	  689	        ;;
	  690	      *)
	  691	        compare_ ()
	  692	        {
	  693	          LC_ALL=C diff $diff_opt_ "$@"
	  694	        }
	  695	    esac
	  696	  else
	  697	    compare_ ()
	  698	    {
	  699	      # If no differences were found, AIX and HP-UX 'diff' produce output
	  700	      # like "No differences encountered".  Hide this output.
	  701	      LC_ALL=C diff $diff_opt_ "$@" > diff.out
	  702	      diff_status_=$?
	  703	      test $diff_status_ -eq 0 || cat diff.out || diff_status_=2
	  704	      rm -f diff.out || diff_status_=2
	  705	      return $diff_status_
	  706	    }
	  707	  fi
	  708	elif cmp -s /dev/null /dev/null 2>/dev/null; then
	  709	  compare_ () { cmp -s "$@"; }
	  710	else
	  711	  compare_ () { cmp "$@"; }
	  712	fi


--
Greetings

  Pete

Rain is saved up in cloud banks.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Thu, 12 Jun 2025 10:32:01 GMT) Full text and rfc822 format available.

Message #47 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Thu, 12 Jun 2025 12:29:56 +0200
> Am 19.05.2025 um 20:16 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> There are lots of failures there, but unfortunately I don't have access to that old platform so you'll need to do some more digging to isolate the cause.


I think I tracked down the cause for diff to fail on Tiger, with .gdbinit containing 'break util.c:1028':

	Starting program: /opt/local/var/macports/build/_Users_btest_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/diff -u Portfile-graphite2-312 Portfile-graphite2
	Reading symbols for shared libraries ...................+ done
	--- Portfile-graphite2-312	2025-06-09 15:48:08.000000000 +0200
	+++ Portfile-graphite2	2025-06-09 15:48:08.000000000 +0200
	@@ -27,14 +18,23 @@
	
	Breakpoint 1, print_1_line_nl (line_flag=0x0, line=0x40137c, skip_nl=false) at util.c:1028
	(gdb) s
	output_1_line (base=0x0, limit=0x18015ef "distname", ' ' <repeats 12 times>, "${name}-${version}\nextract.suffix      .tgz\n\ncompiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run "..., flag_format=0x0, line_flag=0x0) at util.c:1047
	(gdb) n
	(gdb) n
	(gdb) n
	(gdb) n
	(gdb) s		->  idx_t written = fwrite (base, sizeof (char), to_write, outfile);
	
	Program received signal EXC_BAD_ACCESS, Could not access memory.
	Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
	0x90029b70 in memchr ()

The libc function fwrite() causes the crash. It is documented on the man page as:

     size_t
     fwrite(const void * restrict ptr, size_t size, size_t nmemb,
         FILE * restrict stream);

I tried to print out some values:
	
	(gdb) p to_write
	$1 = 1024
	(gdb) p base
	$2 = 0x0
	(gdb) p sizeof (char)
	$3 = 1
	(gdb) p outfile
	$4 = (FILE *) 0xa0001bec


The correct output should be something like this:

	@@ -31,7 +31,7 @@
	 compiler.cxx_standard \
	                     2011
	 
	-set py_ver          3.12
	+set py_ver          3.13
	 set py_ver_nodot    [string map {. {}} ${py_ver}]
	 
	 test.run            yes

Here are the last 128+ lines of util.c as reference for the line numbers given:

  998	void
  999	print_1_line_nl (char const *line_flag, char const *const *line, bool skip_nl)
 1000	{
 1001	  char const *base = line[0], *limit = line[1]; /* Help the compiler.  */
 1002	  FILE *out = outfile; /* Help the compiler some more.  */
 1003	  char const *flag_format = nullptr;
 1004	
 1005	  /* If -T was specified, use a Tab between the line-flag and the text.
 1006	     Otherwise use a Space (as Unix diff does).
 1007	     Print neither space nor tab if line-flags are empty.
 1008	     But omit trailing blanks if requested.  */
 1009	
 1010	  if (line_flag && *line_flag)
 1011	    {
 1012	      char const *flag_format_1 = flag_format = initial_tab ? "%s\t" : "%s ";
 1013	      char const *line_flag_1 = line_flag;
 1014	
 1015	      if (suppress_blank_empty && **line == '\n')
 1016	        {
 1017	          flag_format_1 = "%s";
 1018	
 1019	          /* This hack to omit trailing blanks takes advantage of the
 1020	             fact that the only way that LINE_FLAG can end in a blank
 1021	             is when LINE_FLAG consists of a single blank.  */
 1022	          line_flag_1 += *line_flag_1 == ' ';
 1023	        }
 1024	
 1025	      fprintf (out, flag_format_1, line_flag_1);
 1026	    }
 1027	
 1028	  output_1_line (base, limit - (skip_nl && limit[-1] == '\n'), flag_format, line_flag);
 1029	
 1030	  if ((!line_flag || line_flag[0]) && limit[-1] != '\n')
 1031	    {
 1032	      set_color_context (RESET_CONTEXT);
 1033	      fprintf (out, "\n\\ %s\n", _("No newline at end of file"));
 1034	    }
 1035	}
 1036	
 1037	/* Output a line from BASE up to LIMIT.
 1038	   With -t, expand white space characters to spaces, and if FLAG_FORMAT
 1039	   is nonzero, output it with argument LINE_FLAG after every
 1040	   internal carriage return, so that tab stops continue to line up.  */
 1041	
 1042	void
 1043	output_1_line (char const *base, char const *limit, char const *flag_format,
 1044	               char const *line_flag)
 1045	{
 1046	  enum { MAX_CHUNK = 1024 };
 1047	  if (!expand_tabs)
 1048	    {
 1049	      idx_t left = limit - base;
 1050	      while (left)
 1051	        {
 1052	          idx_t to_write = MIN (left, MAX_CHUNK);
 1053	          idx_t written = fwrite (base, sizeof (char), to_write, outfile);
 1054	          process_signals ();
 1055	          if (written < to_write)
 1056	            return;
 1057	          base += written;
 1058	          left -= written;
 1059	        }
 1060	    }
 1061	  else
 1062	    {
 1063	      FILE *out = outfile;
 1064	      char const *t = base;
 1065	      intmax_t tab = 0, column = 0, tab_size = tabsize;
 1066	      int counter_proc_signals = 0;
 1067	
 1068	      while (t < limit)
 1069	        {
 1070	          counter_proc_signals++;
 1071	          if (counter_proc_signals == MAX_CHUNK)
 1072	            {
 1073	              process_signals ();
 1074	              counter_proc_signals = 0;
 1075	            }
 1076	
 1077		  switch (*t)
 1078	            {
 1079	            case '\t':
 1080		      t++;
 1081		      do
 1082			if (putc (' ', out) < 0)
 1083			  return;
 1084		      while (++column < tab_size);
 1085	
 1086		      tab++;
 1087		      column = 0;
 1088	              break;
 1089	
 1090	            case '\r':
 1091		      t++;
 1092		      if (putc ('\r', out) < 0)
 1093			return;
 1094	              if (flag_format && t < limit && *t != '\n')
 1095			if (fprintf (out, flag_format, line_flag) < 0)
 1096			  return;
 1097	              tab = column = 0;
 1098	              break;
 1099	
 1100	            case '\b':
 1101		      t++;
 1102		      if (0 < column)
 1103			column--;
 1104		      else if (0 < tab)
 1105			{
 1106			  tab--;
 1107			  column = tab_size - 1;
 1108			}
 1109		      else
 1110			continue;
 1111		      if (putc ('\b', out) < 0)
 1112			return;
 1113	              break;
 1114	
 1115	            default:;
 1116		      mcel_t g = mcel_scan (t, limit);
 1117		      column += g.err ? 1 : c32isprint (g.ch) ? c32width (g.ch) : 0;
 1118		      tab += column / tab_size;
 1119		      column %= tab_size;
 1120		      if (fwrite (t, sizeof *t, g.len, outfile) != g.len)
 1121			return;
 1122		      t += g.len;
 1123	              break;
 1124	            }
 1125	        }
 1126	    }
 1127	}


Is there anything I can do to find more clues?

--

Greetings

  Pete

Life is the only flaw in an otherwise perfect nonexistence
				– Schopenhauer





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Thu, 12 Jun 2025 22:15:02 GMT) Full text and rfc822 format available.

Message #50 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Thu, 12 Jun 2025 15:14:31 -0700
On 2025-06-12 03:29, Peter Dyballa wrote:
> 	(gdb) p base
> 	$2 = 0x0

That's obviously wrong; 'base' should not be a null pointer. Can you 
track down why it is a null pointer?




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Thu, 12 Jun 2025 22:24:02 GMT) Full text and rfc822 format available.

Message #53 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 13 Jun 2025 00:23:23 +0200
> Am 13.06.2025 um 00:14 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-12 03:29, Peter Dyballa wrote:
>> (gdb) p base
>> $2 = 0x0
> 
> That's obviously wrong; 'base' should not be a null pointer. Can you track down why it is a null pointer?

Yes. I thought so already, therefore I let its value print again (first argument of output_1_line's call is base).

--

Mit friedvollen Grüßen

  Pete

"If I can't dance to it, it's not my revolution.“
				– A t-shirt designed by Jack Frager





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 13 Jun 2025 08:04:02 GMT) Full text and rfc822 format available.

Message #56 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 13 Jun 2025 10:03:04 +0200
> Am 13.06.2025 um 00:14 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> That's obviously wrong; 'base' should not be a null pointer. Can you track down why it is a null pointer?

First unsatisfactory first answer is: because of this call and the code used in the functions called:

	context.c  379	          print_1_line (nullptr, line);
	
	util.c     981	/* Print the text of a single line LINE,
	util.c     982	   flagging it with the characters in LINE_FLAG (which say whether
	util.c     983	   the line is inserted, deleted, changed, etc.).  LINE_FLAG must not
	util.c     984	   end in a blank, unless it is a single blank.  */
	util.c     985	
	util.c     986	void
	util.c     987	print_1_line (char const *line_flag, char const *const *line)
	util.c     988	{
	util.c     989	  print_1_line_nl (line_flag, line, false);
	util.c     990	}
	util.c     991	
	util.c     992	/* Print the text of a single line LINE,
	util.c     993	   flagging it with the characters in LINE_FLAG (which say whether
	util.c     994	   the line is inserted, deleted, changed, etc.).  LINE_FLAG must not
	util.c     995	   end in a blank, unless it is a single blank.  If SKIP_NL is set, then
	util.c     996	   the final '\n' is not printed.  */
	util.c     997	
	util.c     998	void
	util.c     999	print_1_line_nl (char const *line_flag, char const *const *line, bool skip_nl)
	util.c    1000	{
===>	util.c    1001	  char const *base = line[0], *limit = line[1]; /* Help the compiler.  */
	util.c    1002	  FILE *out = outfile; /* Help the compiler some more.  */
	util.c    1003	  char const *flag_format = nullptr;
	util.c    1004	
	util.c    1005	  /* If -T was specified, use a Tab between the line-flag and the text.
	util.c    1006	     Otherwise use a Space (as Unix diff does).
	util.c    1007	     Print neither space nor tab if line-flags are empty.
	util.c    1008	     But omit trailing blanks if requested.  */
	util.c    1009	
	util.c    1010	  if (line_flag && *line_flag)
	util.c    1011	    {

So presumingly the question is, why was line #379 in context.c reached? I'll check this on my other Mac where diff is working.

Another question seems to be, why is the null pointer used when calling fwrite()? A check should avoid this, rather early, and report or set some failure status…

--
Greetings

 Pete

One-Shot Case Study, n.:
The scientific equivalent of the four-leaf clover, from which it is concluded all clovers possess four leaves and are sometimes green.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 13 Jun 2025 17:15:03 GMT) Full text and rfc822 format available.

Message #59 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 13 Jun 2025 10:14:23 -0700
On 2025-06-13 01:03, Peter Dyballa wrote:
> Another question seems to be, why is the null pointer used when calling fwrite()? A check should avoid this, rather early, and report or set some failure status…

No, that would be a bad way to "fix" things. We should find the real 
problem and fix it, not paper over it.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 13 Jun 2025 19:51:02 GMT) Full text and rfc822 format available.

Message #62 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 13 Jun 2025 21:50:10 +0200
> Am 13.06.2025 um 19:14 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-13 01:03, Peter Dyballa wrote:
>> Another question seems to be, why is the null pointer used when calling fwrite()? A check should avoid this, rather early, and report or set some failure status…
> 
> No, that would be a bad way to "fix" things. We should find the real problem and fix it, not paper over it.

Correct, the actual cause for an error condition that was not thought of should be determined.

But, when this case is found and fixed, one would again *assume* that no null pointer will be passed to fwrite(). Until a new case appears.

There is so much code that checks for particular circumstances (could be repeatedly – isn't there a large struct for every file of a set to diff/comp it that could provide "regular file", "unreadable", "binary", "directory", etc. condition from first check on?), so there could be as well one more, final, check. And then write to stderr? The differences, or equal text blocks, seem to be determined correctly, so why throw that data away? This is not economical.


I think debugging will continue a few days, probably. A bit confusing is that functions are called from a handful of different files and Gdb is jumping around… At least I think that when coming close to the failure I'd have the series of breakpoints decimated, not stopping at each function call and stepping into it!

--

Greetings

  Pete

If it dies, it's biology. If it blows up, it's chemistry. If it doesn't work, it's physics.
				– University washroom sgraffito





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 13 Jun 2025 20:05:01 GMT) Full text and rfc822 format available.

Message #65 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 13 Jun 2025 13:04:21 -0700
On 2025-06-13 12:50, Peter Dyballa wrote:
> A bit confusing is that functions are called from a handful of different files and Gdb is jumping around…

You can lessen the jumping by building with 'gcc -O0' instead of the 
usual -O2.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 13 Jun 2025 20:22:04 GMT) Full text and rfc822 format available.

Message #68 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 13 Jun 2025 22:20:48 +0200
> Am 13.06.2025 um 22:04 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> You can lessen the jumping by building with 'gcc -O0' instead of the usual -O2.

I built with "-O0 -ggdb". Many functions are outside of diff.c, in context.c or util.c, some are GNU lib functions…

--
Greetings

  Pete


"Evolution"            o           __o                     _o _
          °\___o      /0~         -\<,              ^\___ /=\\_/-%
oo~_______ /\ /\______/ \_________O/ O_______________o===>-->O--o____





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sun, 15 Jun 2025 15:00:03 GMT) Full text and rfc822 format available.

Message #71 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sun, 15 Jun 2025 16:59:21 +0200
> Am 13.06.2025 um 00:14 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-12 03:29, Peter Dyballa wrote:
>> (gdb) p base
>> $2 = 0x0
> 
> That's obviously wrong; 'base' should not be a null pointer. Can you track down why it is a null pointer?

I am seeing something strange on my old PPC Tiger Mac:

	run  -> Breakpoint 2, pr_unidiff_hunk (hunk=0x4014d0) at context.c:349
	step -> begin_output () at util.c:797
			util.c:875      outfile = stdout;
	step -> print_context_header (inf=0x599c0, names=0xbfffcdb4, unidiff=true) at context.c:97
	--- Portfile-graphite2-312	2025-06-09 15:48:08.000000000 +0200
	+++ Portfile-graphite2	2025-06-09 15:48:08.000000000 +0200
	next -> begin_output () at util.c:890

	next -> 0x00053d20 in restGPRx ()
	next ->
		Single stepping until exit from function restGPRx, 
		which has no line number information.
		pr_unidiff_hunk (hunk=0x4014d0) at context.c:350

	step -> print_unidiff_number_range (file=0x599c0, a=-4, b=9) at context.c:303
	next -> pr_unidiff_hunk (hunk=0x4014d0) at context.c:355
	step -> print_unidiff_number_range (file=0x59a84, a=-13, b=9) at context.c:303
	next -> pr_unidiff_hunk (hunk=0x4014d0) at context.c:357
	next
	@@ -27,14 +18,23 @@

The central block of lines looks suspicious to me, restGPRx does not exist in diffutils' code. Is this something that could cause a failure later? Next line of output is at least output…



--
Greetings

  Pete

Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.
				– Albert Einstein





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sun, 15 Jun 2025 16:50:02 GMT) Full text and rfc822 format available.

Message #74 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sun, 15 Jun 2025 09:49:18 -0700
On 2025-06-15 07:59, Peter Dyballa wrote:
> restGPRx does not exist in diffutils' code.

restGPRx is a function supplied by GCC's library. It restores the 
general purpose registers, restore the link reg from the stack, and 
return to the saved address. A GCC-generated function can call restGPRx 
when it needs to restore a bunch of registers and return. Calling this 
function doesn't necessarily indicate a bug, even if there's no call in 
the source code.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sun, 15 Jun 2025 17:11:02 GMT) Full text and rfc822 format available.

Message #77 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sun, 15 Jun 2025 19:09:55 +0200
> Am 13.06.2025 um 00:14 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-12 03:29, Peter Dyballa wrote:
>> (gdb) p base
>> $2 = 0x0
> 
> That's obviously wrong; 'base' should not be a null pointer. Can you track down why it is a null pointer?

I think I am close to the cause (two sessions):

	Breakpoint 1 at 0x7e40: file context.c, line 246.
	Breakpoint 2 at 0x7ff4: file context.c, line 284.
	Breakpoint 3 at 0x84c0: file context.c, line 379.
	Breakpoint 4 at 0x8574: file context.c, line 395.
	Breakpoint 5 at 0x8664: file context.c, line 414.
	
	Reading symbols for shared libraries ...................+ done
	--- Portfile-graphite2-312 2025-06-09 15:48:08.000000000 +0200
	+++ Portfile-graphite2 2025-06-09 15:48:08.000000000 +0200
	@@ -27,14 +18,23 @@
	
	Breakpoint 3, pr_unidiff_hunk (hunk=0x4014d0) at context.c:379  =>        print_1_line (nullptr, line);
	step -> print_1_line (line_flag=0x0, line=0x40137c) at util.c:989
	step -> print_1_line_nl (line_flag=0x0, line=0x40137c, skip_nl=false) at util.c:1001
	
	(gdb) p line
	$1 = (const char * const *) 0x40137c
	(gdb) p *line
	$2 = 0x0
	(gdb) p line[0]
	$3 = 0x0
	(gdb) p line[1]
	$4 = 0x18015ef "distname", ' ' <repeats 12 times>, "${name}-${version}\nextract.suffix      .tgz\n\ncompiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run "...
	(gdb) p line[2]
	$5 = 0x1801616 "extract.suffix      .tgz\n\ncompiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARG"...
	----------------------------------------------------------------------------------------
	--- Portfile-graphite2-312	2025-06-09 15:48:08.000000000 +0200
	+++ Portfile-graphite2	2025-06-09 15:48:08.000000000 +0200
	@@ -27,14 +18,23 @@
	
	Breakpoint 1, pr_unidiff_hunk (hunk=0x4014d0) at context.c:369
	(gdb) p last0
	$1 = 9
	(gdb) p last1
	$2 = 9
	(gdb) p i
	$3 = -4
	(gdb) p j
	$4 = -13
	(gdb) n
	(gdb) p next->line0
	$5 = -1
	
	Breakpoint 4, pr_unidiff_hunk (hunk=0x4014d0) at context.c:379
	(gdb) p *out
	$8 = {
	  _p = 0xc2001 "@ -27,14 +18,23 @@\ne2\t2025-06-09 15:48:08.000000000 +0200\n200\n", 
	  _r = 0, 
	  _w = -1, 
	  _flags = 2185, 
	  _file = 1, 
	  _bf = {
	    _base = 0xc2000 " @ -27,14 +18,23 @@\ne2\t2025-06-09 15:48:08.000000000 +0200\n200\n", 
	    _size = 131072
	  }, 
	  _lbfsize = -131072, 
	  _cookie = 0xa0001bec, 
	  _close = 0x90015978 <__sclose>, 
	  _read = 0x9001ad80 <__sread>, 
	  _seek = 0x9001a970 <__sseek>, 
	  _write = 0x90015968 <__swrite>, 
	  _ub = {
	    _base = 0x0, 
	    _size = 0
	  }, 
	  _extra = 0xa0001d58, 
	  _ur = 0, 
	  _ubuf = "\000\000", 
	  _nbuf = "", 
	  _lb = {
	    _base = 0x0, 
	    _size = 0
	  }, 
	  _blksize = 131072, 
	  _offset = 0
	}

A while loop starts on line #369, and then gdb steps through all lines, reaching

	  395              print_1_line_nl (nullptr, line, true);

This "nullptr" is then passed forward to output_1_line() with base=0x0, to which fwrite() would write.


Wouldn't it make more sense to use "out" instead of "nullptr"?


Tomorrow I'll check what my more up-to-date Macs are doing.

--
Greetings

  Pete

To most people solutions mean finding the answers. But to chemists solutions
are things that are still all mixed up.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Mon, 16 Jun 2025 11:31:02 GMT) Full text and rfc822 format available.

Message #80 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Mon, 16 Jun 2025 13:30:01 +0200
> Am 13.06.2025 um 00:14 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-12 03:29, Peter Dyballa wrote:
>> 	(gdb) p base
>> 	$2 = 0x0
> 
> That's obviously wrong; 'base' should not be a null pointer. Can you track down why it is a null pointer?

Hello Paul!

The case becomes mysterious.

Here is a comparison between PPC Mac OS X and x86_64 macOS, using (quite) the same .gdbinit file with diff arguments and breakpoints (the only difference is that of the files to diff is differently named, *-312 vs. *-P312, to be able to simply differentiate between saved logs):

PPC Mac OS X 10.4.11, Tiger, GNU gdb 6.3.50-20050815 (Apple version gdb-696), 2007| x86_64 macOS High Sierra, Version 10.13.6, GNU gdb (GDB) 14.2
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
--- Portfile-graphite2-312	2025-06-09 15:48:08.000000000 +0200		  | --- Portfile-graphite2-P312	2025-06-11 09:54:04.000000000 +0200
+++ Portfile-graphite2	2025-06-09 15:48:08.000000000 +0200			  | +++ Portfile-graphite2	2025-06-13 10:27:53.000000000 +0200
@@ -27,14 +18,23 @@								  | @@ -31,7 +31,7 @@
										  | 
Breakpoint 1, pr_unidiff_hunk (hunk=0x4014d0) at context.c:369			  | Thread 3 hit Breakpoint 1, pr_unidiff_hunk (hunk=0x1003001a0) at context.c:369
(gdb) p last0									  | (gdb) p last0
$1 = 9										  | $1 = 6
(gdb) p last1									  | (gdb) p last1
$2 = 9										  | $2 = 6
(gdb) p i									  | (gdb) p i
$3 = -4										  | $3 = 0
(gdb) p j									  | (gdb) p j
$4 = -13									  | $4 = 0
(gdb) n										  | (gdb) n
(gdb) p next->line0								  | (gdb) p next->line0
$5 = -1										  | $5 = 3
(gdb) n										  | (gdb) n
(gdb) n										  | (gdb) n
(gdb) n										  | (gdb) n
(gdb) n										  | (gdb) n
										  | 
Breakpoint 4, pr_unidiff_hunk (hunk=0x4014d0) at context.c:379			  | Thread 3 hit Breakpoint 4, pr_unidiff_hunk (hunk=0x1003001a0) at context.c:379
(gdb) step									  | (gdb) step
print_1_line (line_flag=0x0, line=0x40137c) at util.c:989			  | print_1_line (line_flag=0x0, line=0x100300418) at util.c:989
(gdb) step									  | (gdb) step
print_1_line_nl (line_flag=0x0, line=0x40137c, skip_nl=false) at util.c:1001	  | print_1_line_nl (line_flag=0x0, line=0x100300418, skip_nl=false) at util.c:1001
(gdb) n										  | (gdb) n
(gdb) n										  | (gdb) n
(gdb) n										  | (gdb) n
(gdb) p base									  | (gdb) p base
$6 = 0x0									  | $6 = 0x101001630 "compiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARGS=-V\n# Use the same python"...
										  | (gdb) p limit
										  | $7 = 0x101001648 ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARGS=-V\n# Use the same python as fonttools.\nconfigure"...
										  | (gdb) n
										  | (gdb) step
										  | output_1_line (
										  |     base=0x101001630 "compiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARGS=-V\n# Use the same python"..., 
										  |     limit=0x101001648 ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARGS=-V\n# Use the same python as fonttools.\nconfigure"..., flag_format=0x0, line_flag=0x0) at util.c:1047


First difference: diff 3.12 finds different line numbers on both systems.

Second and important difference: On Mac OS X "base" is the null pointer, because in print_1_line_nl() the statement

	  char const *base = line[0], *limit = line[1]; /* Help the compiler.  */

assigns the null pointer to "base". And that's the actual cause for fwrite'ing into the wrong STREAM…

The struct line does exist, and line[1] contains a text to diff/compare, but line[0] is empty, is the null pointer, but should contain a chunk of annotated text from the first file:

	(gdb) p line
	$7 = (const char * const *) 0x40137c
	(gdb) p *line
	$8 = 0x0
	(gdb) p line[0]
	$9 = 0x0
	(gdb) p line[1]
	$10 = 0x18015ef "distname", ' ' <repeats 12 times>, "${name}-${version}\nextract.suffix      .tgz\n\ncompiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run "...
	(gdb) p limit
	$11 = 0x18015ef "distname", ' ' <repeats 12 times>, "${name}-${version}\nextract.suffix      .tgz\n\ncompiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run "...
	(gdb) p line[2]
	$12 = 0x1801616 "extract.suffix      .tgz\n\ncompiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARG"...

The text string "3.12" indicates that the text chunks come from the first file, Portfile-graphite2-312 or Portfile-graphite2-P312 (Portfile-graphite2 contains "3.13" instead). So the failure on Tiger seems to happen when some prepared (?) text chunk is saved into the line array of annotated text chunks. Then the index to save at is wrong by the value of 1… From incrementing or decrementing line?


BTW, checking the files to diff the two file sets on the macOS system gives:

	pete 142 /\  l Portfile-graphite2*
	-rw-r--r--  1 pete  admin  1412 13 Jun 10:27 Portfile-graphite2
	-rw-r--r--  1 pete  admin  1412 16 Jun 12:22 Portfile-graphite2-312 <at> Tiger
	-rw-r--r--  1 pete  admin  1412 11 Jun 09:54 Portfile-graphite2-P312
	-rw-r--r--  1 pete  admin  1412 16 Jun 12:22 Portfile-graphite2 <at> Tiger
	pete 143 /\  which diff
	/usr/bin/diff
	pete 144 /\  diff --version
	diff (GNU diffutils) 2.8.1
	Copyright (C) 2002 Free Software Foundation, Inc.
	
	This program comes with NO WARRANTY, to the extent permitted by law.
	You may redistribute copies of this program
	under the terms of the GNU General Public License.
	For more information about these matters, see the file named COPYING.
	
	Written by Paul Eggert, Mike Haertel, David Hayes,
	Richard Stallman, and Len Tower.
	pete 145 /\  ./diff --version
	diff (GNU diffutils) 3.12
	Copyright (C) 2025 Free Software Foundation, Inc.
	License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
	This is free software: you are free to change and redistribute it.
	There is NO WARRANTY, to the extent permitted by law.
	
	Written by Paul Eggert, Mike Haertel, David Hayes,
	Richard Stallman, and Len Tower.
	pete 147 /\  ./diff Portfile-graphite2 Portfile-graphite2 <at> Tiger
	pete 148 /\  diff Portfile-graphite2 Portfile-graphite2 <at> Tiger
	pete 149 /\  diff -u Portfile-graphite2 Portfile-graphite2 <at> Tiger
	pete 150 /\  ./diff -u Portfile-graphite2 Portfile-graphite2 <at> Tiger
	pete 151 /\  ./diff -u Portfile-graphite2-P312  Portfile-graphite2-312 <at> Tiger
	pete 152 /\  diff -u Portfile-graphite2-P312 Portfile-graphite2-312 <at> Tiger
	pete 153 /\  diff Portfile-graphite2-P312 Portfile-graphite2-312 <at> Tiger
	pete 154 /\  ./diff Portfile-graphite2-P312 Portfile-graphite2-312 <at> Tiger

So they are equal, with the same contents, on both Macs.

--
Greetings

  Pete

A morning without coffee is like something without something else.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Mon, 16 Jun 2025 14:41:05 GMT) Full text and rfc822 format available.

Message #83 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Mon, 16 Jun 2025 16:39:56 +0200
> Am 13.06.2025 um 00:14 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-12 03:29, Peter Dyballa wrote:
>> 	(gdb) p base
>> 	$2 = 0x0
> 
> That's obviously wrong; 'base' should not be a null pointer. Can you track down why it is a null pointer?


I think I found the actual cause: char const *const *line = &curr.file[0].linbuf[i++];.

This statement on line #376 in context.c is probably too much for GCC 4.2… (To prove that assumption I should compile diffutils 3.12 with GCC 7, GCC 10, or GCC 14.)

Here is again a wide comparison, correct vs. wrong:

x86_64 macOS High Sierra, Version 10.13.6, GNU gdb (GDB) 14.2   | PPC Mac OS X 10.4.11, Tiger, GNU gdb 6.3.50-20050815 (Apple version gdb-696), 2007
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
(gdb) on line #369                                              | (gdb) n                                                   
(gdb) on line #374                                              | (gdb) n                                                   
(gdb) on line #376                                              | (gdb) n                                                   
(gdb) p line                                                    | (gdb) p line                                      
$13 = (const char * const *) 0x40137c                           | $1 = (const char * const *) 0x100607098                   
(gdb) p *line                                                   | (gdb) p *line                                     
$14 = 0x0                                                       | $2 = 0x101001630 "compiler.cxx_standard \\\n", ' ' …
(gdb) p **line                                                  | (gdb) p **line                                             
Cannot access memory at address 0x0                             | $3 = 99 'c'                                        
(gdb) p curr                                                    | (gdb) p curr                                       
$15 = {                                                         | 'curr' has unknown type; cast it to its declared type
  file = {{                                                     | 
      desc = 7,                                                 | 
      openerr = 0,                                              | 
      err = 0,                                                  | 
      name = 0xbfffd8e2 "Portfile-graphite2-312",               | 
      filetype = 0x56558 "regular file",                        | 
      stat = {                                                  | 
        st_dev = 234881030,                                     | 
        st_ino = 121849958,                                     | 
        st_mode = 33188,                                        | 
        st_nlink = 1,                                           | 
        st_uid = 501,                                           | 
        st_gid = 80,                                            | 
        st_rdev = 0,                                            | 
        st_atimespec = {                                        | 
          tv_sec = 1750069349,                                  | 
          tv_nsec = 0                                           | 
        },                                                      | 
        st_mtimespec = {                                        | 
          tv_sec = 1749476888,                                  | 
          tv_nsec = 0                                           | 
        },                                                      | 
        st_ctimespec = {                                        | 
          tv_sec = 1749650195,                                  | 
          tv_nsec = 0                                           | 
        },                                                      | 
        st_size = 1412,                                         | 
        st_blocks = 8,                                          | 
        st_blksize = 4096,                                      | 
        st_flags = 0,                                           | 
        st_gen = 0,                                             | 
        st_lspare = 0,                                          | 
        st_qspare = {0, 0}                                      | 
      },                                                        | 
      dirstream = 0x0,                                          | 
      buffer = 0x1801200,                                       | 
      bufsize = 4096,                                           | 
      buffered = 1412,                                          | 
      linbuf = 0x40138c,                                        | 
      linbuf_base = -3,                                         | 
      buffered_lines = 7,                                       | 
      valid_lines = 10,                                         | 
      alloc_lines = 13,                                         | 
      prefix_end = 0x1801630 "compiler.cxx_standard …           | 
      prefix_lines = 30,                                        | 
      suffix_begin = 0x18016c6 "#test.env", ' ' …               | 
      equivs = 0x4015e0,                                        | 
      undiscarded = 0x401460,                                   | 
      realindexes = 0x40147c,                                   | 
      nondiscarded_lines = 6,                                   | 
      changed = 0x401444,                                       | 
      missing_newline = false,                                  | 
      eof = true,                                               | 
      equiv_max = 8                                             | 
    }, {                                                        | 
      desc = 8,                                                 | 
      openerr = 0,                                              | 
      err = 0,                                                  | 
      name = 0xbfffd8f9 "Portfile-graphite2",                   | 
      filetype = 0x56558 "regular file",                        | 
      stat = {                                                  | 
        st_dev = 234881030,                                     | 
        st_ino = 121849957,                                     | 
        st_mode = 33188,                                        | 
        st_nlink = 1,                                           | 
        st_uid = 501,                                           | 
        st_gid = 80,                                            | 
        st_rdev = 0,                                            | 
        st_atimespec = {                                        | 
          tv_sec = 1750069324,                                  | 
          tv_nsec = 0                                           | 
        },                                                      | 
        st_mtimespec = {                                        | 
          tv_sec = 1749476888,                                  | 
          tv_nsec = 0                                           | 
        },                                                      | 
        st_ctimespec = {                                        | 
          tv_sec = 1749650195,                                  | 
          tv_nsec = 0                                           | 
        },                                                      | 
        st_size = 1412,                                         | 
        st_blocks = 8,                                          | 
        st_blksize = 4096,                                      | 
        st_flags = 0,                                           | 
        st_gen = 0,                                             | 
        st_lspare = 0,                                          | 
        st_qspare = {0, 0}                                      | 
      },                                                        | 
      dirstream = 0x0,                                          | 
      buffer = 0x1803600,                                       | 
      bufsize = 4096,                                           | 
      buffered = 1412,                                          | 
      linbuf = 0x40140c,                                        | 
      linbuf_base = -3,                                         | 
      buffered_lines = 7,                                       | 
      valid_lines = 10,                                         | 
      alloc_lines = 12,                                         | 
      prefix_end = 0x1803a30 "compiler.cxx_standard …           | 
      prefix_lines = 30,                                        | 
      suffix_begin = 0x1803ac6 "#test.env", ' ' …               | 
      equivs = 0x401620,                                        | 
      undiscarded = 0x401498,                                   | 
      realindexes = 0x4014b4,                                   | 
      nondiscarded_lines = 6,                                   | 
      changed = 0x401468,                                       | 
      missing_newline = false,                                  | 
      eof = true,                                               | 
      equiv_max = 8                                             | 
    }},                                                         | 
  parent = 0x59b4c                                              | 
}                                                               | 
(gdb) p suppress_blank_empty                                    | (gdb) p suppress_blank_empty                                                 
$16 = false                                                     | 'suppress_blank_empty' has unknown type; cast it to its declared type        
suppress_blank_empty && **line == '\n' = $17 = 0                |       
(gdb) n                                                         | (gdb) n                                                                              
(gdb) n                                                         | (gdb) n                                                                        
(gdb) step                                                      | (gdb) step                                                                     
print_1_line (line_flag=0x0, line=0x40137c) at util.c:989       | print_1_line (line_flag=0x0, line=0x100607098) at util.c:989                   
(gdb) step                                                      | (gdb) step                                                                     
print_1_line_nl (line_flag=0x0, line=0x40137c, skip_nl=false) … | print_1_line_nl (line_flag=0x0, line=0x100607098, skip_nl=false) at util.c:1001

--
Greetings

  Pete                           <]
             o        __o         |__    o       HPV, the real
    ___o    /I       -\<,         |o \  -\),-%     high speed!
___/\ /\___./ \___...O/ O____.....`-O-'-()--o_________________





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Mon, 16 Jun 2025 17:27:04 GMT) Full text and rfc822 format available.

Message #86 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Mon, 16 Jun 2025 19:26:07 +0200
When built with GCC 10, diff shows the same behaviour as when compiled with GCC 4.2. Compilation with GCC 14 fails here:

	/opt/local/bin/gcc-mp-14 -std=gnu23  -I.   -I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal -Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -Wno-float-conversion -Wimplicit-fallthrough -Wno-pedantic -Wno-sign-conversion -Wno-type-limits -Wno-unused-const-variable -Wno-unsuffixed-float-constants -Wno-error -pipe -ggdb -O0 -arch ppc -MT libdiffutils_a-sigsegv.o -MD -MP -MF .deps/libdiffutils_a-sigsegv.Tpo -c -o libdiffutils_a-sigsegv.o `test -f 'sigsegv.c' || echo './'`sigsegv.c
	sigsegv.c: In function 'sigsegv_handler':
	sigsegv.c:1169:11: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1169 |           SIGSEGV_FOR_ALL_SIGNALS (signo, signal (signo, SIG_DFL);)
	      |           ^~~~~~~~~~~~~~~~~~~~~~~
	      |           |
	      |           void (*)(void)
	In file included from /usr/include/signal.h:63,
	                 from ./signal.h:52,
	                 from sigsegv.h:48,
	                 from sigsegv.c:23:
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c:1169:11: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1169 |           SIGSEGV_FOR_ALL_SIGNALS (signo, signal (signo, SIG_DFL);)
	      |           ^~~~~~~~~~~~~~~~~~~~~~~
	      |           |
	      |           void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c: In function 'sigsegv_deinstall_handler':
	sigsegv.c:1395:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1395 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c:1395:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1395 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c: In function 'stackoverflow_deinstall_handler':
	sigsegv.c:1472:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1472 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	sigsegv.c:1472:7: error: passing argument 2 of 'signal' from incompatible pointer type [-Wincompatible-pointer-types]
	 1472 |       SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
	      |       ^~~~~~~~~~~~~~~~~~~~~~~
	      |       |
	      |       void (*)(void)
	/usr/include/sys/signal.h:419:23: note: expected 'void (*)(int)' but argument is of type 'void (*)(void)'
	  419 | void    (*signal(int, void (*)(int)))(int);
	      |                       ^~~~~~~~~~~~~
	make[2]: *** [libdiffutils_a-sigsegv.o] Error 1
	make[2]: Leaving directory `/opt/local/var/macports/build/_Users_btest_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/lib'

(I do not know where these many -W... compiler switches come from, they are pretty useless for a user, and presumingly also not so interesting for software developers – or they would have test compiled their software with them.)

Configuring with GCC 14 leads to not finding libinconv:

	configure:60893: checking for iconv
	configure:60918: /opt/local/bin/gcc-mp-14 -std=gnu23 -o conftest -pipe -Os -ggdb -O0 -arch ppc -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c  >&5
	Undefined symbols:
	  "_libiconv_open", referenced from:
	      _main in cc0BuNDU.o
	  "_libiconv_close", referenced from:
	      _main in cc0BuNDU.o
	  "_libiconv", referenced from:
	      _main in cc0BuNDU.o
	ld: symbol(s) not found
	collect2: error: ld returned 1 exit status
	configure:60918: $? = 1
	configure: failed program was:
	| /* confdefs.h */
	| #define PACKAGE_NAME "GNU diffutils"
	| #define PACKAGE_TARNAME "diffutils"
	| #define PACKAGE_VERSION "3.12"
	| #define PACKAGE_STRING "GNU diffutils 3.12"
	| #define PACKAGE_BUGREPORT "bug-diffutils <at> gnu.org"
	| #define PACKAGE_URL "https://www.gnu.org/software/diffutils/"
	| #define PACKAGE "diffutils"
	| #define VERSION "3.12"
	| #define HAVE_STDIO_H 1
	| #define HAVE_STDLIB_H 1
	| #define HAVE_STRING_H 1
	| #define HAVE_INTTYPES_H 1
	| #define HAVE_STDINT_H 1
	| #define HAVE_STRINGS_H 1
	| #define HAVE_SYS_STAT_H 1
	| #define HAVE_SYS_TYPES_H 1
	| #define HAVE_UNISTD_H 1
	| #define HAVE_WCHAR_H 1
	| #define HAVE_STDBOOL_H 1
	| #define HAVE_SYS_PARAM_H 1
	| #define HAVE_SYS_SOCKET_H 1
	| #define HAVE_DIRENT_H 1
	| #define HAVE_FNMATCH_H 1
	| #define HAVE_GETOPT_H 1
	| #define HAVE_SYS_TIME_H 1
	| #define HAVE_LIMITS_H 1
	| #define HAVE_WCTYPE_H 1
	| #define HAVE_LANGINFO_H 1
	| #define HAVE_XLOCALE_H 1
	| #define HAVE_SYS_MMAN_H 1
	| #define HAVE_PTHREAD_H 1
	| #define HAVE_STDCKDINT_H 1
	| #define HAVE_SYS_RANDOM_H 1
	| #define HAVE_SYS_WAIT_H 1
	| #define HAVE_ARPA_INET_H 1
	| #define HAVE_NETDB_H 1
	| #define HAVE_NETINET_IN_H 1
	| #define HAVE_MATH_H 1
	| #define HAVE_SYS_SELECT_H 1
	| #define HAVE_SEMAPHORE_H 1
	| #define HAVE_SYS_IOCTL_H 1
	| #define HAVE_SYS_UN_H 1
	| #define HAVE_SYS_UIO_H 1
	| #define STDC_HEADERS 1
	| #define _ALL_SOURCE 1
	| #define _COSMO_SOURCE 1
	| #define _DARWIN_C_SOURCE 1
	| #define _GNU_SOURCE 1
	| #define _HPUX_ALT_XOPEN_SOCKET_API 1
	| #define _NETBSD_SOURCE 1
	| #define _OPENBSD_SOURCE 1
	| #define _POSIX_PTHREAD_SEMANTICS 1
	| #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
	| #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
	| #define __STDC_WANT_IEC_60559_DFP_EXT__ 1
	| #define __STDC_WANT_IEC_60559_EXT__ 1
	| #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
	| #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
	| #define __STDC_WANT_LIB_EXT2__ 1
	| #define __STDC_WANT_MATH_SPEC_FUNCS__ 1
	| #define _TANDEM_SOURCE 1
	| #define __EXTENSIONS__ 1
	| #define _LINUX_SOURCE_COMPAT 1
	| #define __USE_MINGW_ANSI_STDIO 1
	| #define HAVE_ALLOCA_H 1
	| #define HAVE_ALLOCA 1
	| #define HAVE_WINT_T 1
	| #define HAVE_BTOWC 1
	| #define HAVE_MBRTOWC 1
	| #define HAVE_MBSINIT 1
	| #define HAVE_FCHDIR 1
	| #define HAVE_FCNTL 1
	| #define HAVE_SYMLINK 1
	| #define HAVE_FNMATCH 1
	| #define HAVE_MBSRTOWCS 1
	| #define HAVE_GETDTABLESIZE 1
	| #define HAVE_GETTIMEOFDAY 1
	| #define HAVE_ISBLANK 1
	| #define HAVE_ISWCNTRL 1
	| #define HAVE_LSTAT 1
	| #define HAVE_MPROTECT 1
	| #define HAVE_MKSTEMP 1
	| #define HAVE_PCLOSE 1
	| #define HAVE_POPEN 1
	| #define HAVE_READLINK 1
	| #define HAVE_ISWCTYPE 1
	| #define HAVE_SETENV 1
	| #define HAVE_SIGACTION 1
	| #define HAVE_SIGALTSTACK 1
	| #define HAVE_SIGINTERRUPT 1
	| #define HAVE_SETRLIMIT 1
	| #define HAVE_GETRLIMIT 1
	| #define HAVE_STRPTIME 1
	| #define HAVE_STRTOIMAX 1
	| #define HAVE_LOCALTIME_R 1
	| #define HAVE_WCRTOMB 1
	| #define HAVE_WCWIDTH 1
	| #define HAVE_PIPE 1
	| #define HAVE_PSELECT 1
	| #define HAVE_PTHREAD_SIGMASK 1
	| #define HAVE_SLEEP 1
	| #define HAVE_SNPRINTF 1
	| #define HAVE_SHUTDOWN 1
	| #define HAVE_WCTOB 1
	| #define HAVE_SIGPROCMASK 1
	| #define HAVE_FORK 1
	| #define HAVE_VFORK 1
	| #define HAVE_LANGINFO_CODESET 1
	| #define BITSIZEOF_WCHAR_T 32
	| #define HAVE_MBSTATE_T 1
	| #define HAVE_MALLOC_POSIX 1
	| #define restrict __restrict__
	| #define HAVE_DECL_STRERROR_R 1
	| #define HAVE_STRERROR_R 1
	| #define HAVE_DECL_FCHDIR 1
	| #define HAVE_WORKING_O_NOATIME 0
	| #define HAVE_WORKING_O_NOFOLLOW 0
	| #define FUNC_FFLUSH_STDIN 0
	| #define HAVE_DECL_GETDTABLESIZE 1
	| #define HAVE_GETOPT_H 1
	| #define HAVE_GETOPT_LONG_ONLY 1
	| #define HAVE_PTHREAD_API 1
	| #define SETLOCALE_NULL_ALL_MTSAFE 0
	| #define SETLOCALE_NULL_ONE_MTSAFE 1
	| #ifndef __powerpc__
	| #define __powerpc__ 1
	| #endif
	| #ifndef __powerpc__
	| #define __powerpc__ 1
	| #endif
	| #define HAVE_LONG_LONG_INT 1
	| #define HAVE_UNSIGNED_LONG_LONG_INT 1
	| #define BITSIZEOF_PTRDIFF_T 32
	| #define BITSIZEOF_SIZE_T 32
	| #define BITSIZEOF_SIG_ATOMIC_T 32
	| #define BITSIZEOF_WCHAR_T 32
	| #define BITSIZEOF_WINT_T 32
	| #define HAVE_SIGNED_SIG_ATOMIC_T 1
	| #define HAVE_SIGNED_WCHAR_T 1
	| #define HAVE_SIGNED_WINT_T 1
	| #define PTRDIFF_T_SUFFIX 
	| #define SIZE_T_SUFFIX ul
	| #define SIG_ATOMIC_T_SUFFIX 
	| #define WCHAR_T_SUFFIX 
	| #define WINT_T_SUFFIX 
	| #define HAVE_TOWLOWER 1
	| #define HAVE_LC_MESSAGES 1
	| #define USE_POSIX_THREADS 1
	| #define HAVE_MALLOC_0_NONNULL 1
	| #define MAP_ANONYMOUS MAP_ANON
	| #define HAVE_MAP_ANONYMOUS 1
	| #define HAVE_DECL_MEMRCHR 0
	| #define HAVE_MINMAX_IN_SYS_PARAM_H 1
	| #define TIME_T_IS_SIGNED 1
	| #define HAVE_DECL_ALARM 1
	| #define HAVE_STRUCT_TM_TM_GMTOFF 1
	| #define HAVE_STRUCT_TM_TM_ZONE 1
	| #define HAVE_TM_GMTOFF 1
	| #define PROMOTED_MODE_T int
	| #define HAVE_PTHREAD_T 1
	| #define HAVE_SIGSET_T 1
	| #define HAVE_SCHED_H 1
	| #define HAVE_DECL_SETENV 1
	| #define HAVE_DECL__PUTENV 0
	| #define HAVE_SEARCH_H 1
	| #define HAVE_TSEARCH 1
	| #define WORDS_BIGENDIAN 1
	| #define HAVE_DECL_FCLOSEALL 0
	| #define HAVE_DECL_GETW 1
	| #define HAVE_DECL_PUTW 1
	| #define HAVE_DECL_ECVT 1
	| #define HAVE_DECL_FCVT 1
	| #define HAVE_DECL_GCVT 1
	| #define HAVE_DECL_STRDUP 1
	| #define REPLACE_STRERROR_0 1
	| #define HAVE_STRERROR_R 1
	| #define HAVE_DECL_STRNLEN 0
	| #define HAVE_DECL_STRTOIMAX 1
	| #define _USE_STD_STAT 1
	| #define HAVE_DECL_EXECVPE 0
	| #define HAVE_DECL_CLEARERR_UNLOCKED 1
	| #define HAVE_DECL_FEOF_UNLOCKED 1
	| #define HAVE_DECL_FERROR_UNLOCKED 1
	| #define HAVE_DECL_FFLUSH_UNLOCKED 0
	| #define HAVE_DECL_FGETS_UNLOCKED 0
	| #define HAVE_DECL_FPUTC_UNLOCKED 0
	| #define HAVE_DECL_FPUTS_UNLOCKED 0
	| #define HAVE_DECL_FREAD_UNLOCKED 0
	| #define HAVE_DECL_FWRITE_UNLOCKED 0
	| #define HAVE_DECL_GETC_UNLOCKED 1
	| #define HAVE_DECL_GETCHAR_UNLOCKED 1
	| #define HAVE_DECL_PUTC_UNLOCKED 1
	| #define HAVE_DECL_PUTCHAR_UNLOCKED 1
	| #define HAVE_DECL_UNSETENV 1
	| #define HAVE_DECL_WCSDUP 0
	| #define HAVE_SHUTDOWN 1
	| #define HAVE_STRUCT_SOCKADDR_STORAGE 1
	| #define HAVE_SA_FAMILY_T 1
	| #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
	| #define HAVE_IPV4 1
	| #define HAVE_IPV6 1
	| #define DBL_EXPBIT0_WORD 0
	| #define DBL_EXPBIT0_BIT 20
	| #define FLT_EXPBIT0_WORD 0
	| #define FLT_EXPBIT0_BIT 23
	| #define LDBL_EXPBIT0_WORD 0
	| #define LDBL_EXPBIT0_BIT 20
	| #define HAVE_DECL_INITSTATE 1
	| #define HAVE_DECL_SETSTATE 1
	| #define HAVE_DECL_SNPRINTF 1
	| #define HAVE_INTTYPES_H_WITH_UINTMAX 1
	| #define HAVE_STDINT_H_WITH_UINTMAX 1
	| #define HAVE_INTMAX_T 1
	| #define HAVE_WCSLEN 1
	| #define HAVE_SNPRINTF 1
	| #define HAVE_WCRTOMB 1
	| #define HAVE_DECL__SNPRINTF 0
	| #define HAVE_SNPRINTF_RETVAL_C99 1
	| #define HAVE_SNPRINTF_TRUNCATION_C99 1
	| #define HAVE_ALLOCA 1
	| #define HAVE_C_STATIC_ASSERT 1
	| #define HAVE_C_BOOL 1
	| #define GNULIB_TEST_BTOC32 1
	| #define GNULIB_TEST_BTOWC 1
	| #define HAVE___BUILTIN_EXPECT 1
	| #define GNULIB_TEST_C32_APPLY_TYPE_TEST 1
	| #define GNULIB_TEST_C32_GET_TYPE_TEST 1
	| #define GNULIB_TEST_C32ISALNUM 1
	| #define GNULIB_TEST_C32ISALPHA 1
	| #define GNULIB_TEST_C32ISBLANK 1
	| #define GNULIB_TEST_C32ISCNTRL 1
	| #define GNULIB_TEST_C32ISDIGIT 1
	| #define GNULIB_TEST_C32ISGRAPH 1
	| #define GNULIB_TEST_C32ISLOWER 1
	| #define GNULIB_TEST_C32ISPRINT 1
	| #define GNULIB_TEST_C32ISPUNCT 1
	| #define GNULIB_TEST_C32ISSPACE 1
	| #define GNULIB_TEST_C32ISUPPER 1
	| #define GNULIB_TEST_C32ISXDIGIT 1
	| #define GNULIB_TEST_C32TOLOWER 1
	| #define GNULIB_TEST_C32WIDTH 1
	| #define GNULIB_TEST_CALLOC_GNU 1
	| #define GNULIB_TEST_CALLOC_POSIX 1
	| #define GNULIB_TEST_CHDIR 1
	| #define GNULIB_TEST_CLOEXEC 1
	| #define GNULIB_TEST_CLOSE 1
	| #define GNULIB_CLOSE 1
	| #define HAVE_CLOSEDIR 1
	| #define GNULIB_TEST_CLOSEDIR 1
	| #define HAVE_STRUCT_DIRENT_D_TYPE 1
	| #define HAVE_DECL_DIRFD 1
	| #define GNULIB_TEST_DIRFD 1
	| #define GNULIB_DIRNAME 1
	| #define GNULIB_TEST_DUP 1
	| #define GNULIB_TEST_DUP2 1
	| #define GNULIB_TEST_ENVIRON 1
	| #define GNULIB_TEST_FCHDIR 1
	| #define GNULIB_TEST_FCNTL 1
	| #define HAVE_DECL_FDOPENDIR 0
	| #define GNULIB_TEST_FDOPENDIR 1
	| #define GNULIB_FDOPENDIR 1
	| #define HAVE_STRUCT_STAT_ST_BLOCKS 1
	| #define HAVE_ST_BLOCKS 1
	| #define GNULIB_FILENAMECAT 1
	| #define FLEXIBLE_ARRAY_MEMBER /**/
	| #define GNULIB_TEST_FNMATCH 1
	| #define GNULIB_FNMATCH_GNU 1
	| #define GNULIB_TEST_FOPEN 1
	| #define GNULIB_FOPEN_GNU 1
	| #define GNULIB_TEST_FOPEN_GNU 1
	| #define GNULIB_TEST_FREE_POSIX 1
	| #define GNULIB_TEST_FREOPEN 1
	| #define GNULIB_TEST_FSTAT 1
	| #define GNULIB_FSTAT 1
	| #define GNULIB_TEST_FSTATAT 1
	| #define GNULIB_FSTATAT 1
	| #define GNULIB_TEST_GETCWD 1
	| #define GNULIB_TEST_GETDTABLESIZE 1
	| #define __GETOPT_PREFIX rpl_
	| #define GNULIB_TEST_GETOPT_POSIX 1
	| #define GNULIB_TEST_GETPAGESIZE 1
	| #define HAVE_GETPROGNAME 1
	| #define HAVE_DECL_PROGRAM_INVOCATION_NAME 0
	| #define GNULIB_TEST_GETPROGNAME 1
	| #define GNULIB_TEST_GETRANDOM 1
	| #define GETTIMEOFDAY_TIMEZONE struct timezone
	| #define GNULIB_TEST_GETTIMEOFDAY 1
	| #define GNULIB_LOCALEDIR "/opt/local/share/locale"
	| #define GNULIB_ISBLANK 1
	| #define HAVE_ISWBLANK 1
	| #define HAVE_DECL_ISWBLANK 1
	| #define GNULIB_TEST_ISWBLANK 1
	| #define GNULIB_TEST_ISWCTYPE 1
	| #define GNULIB_TEST_ISWDIGIT 1
	| #define GNULIB_TEST_ISWPUNCT 1
	| #define GNULIB_TEST_ISWXDIGIT 1
	| #define HAVE___INLINE 1
	| #define GNULIB_TEST_LOCALECONV 1
	| #define GNULIB_LOCALECONV 1
	| #define HAVE_PTHREAD_RWLOCK 1
	| #define HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER 1
	| #define GNULIB_LOCK 1
	| #define GNULIB_TEST_LSTAT 1
	| #define GNULIB_LSTAT 1
	| #define GNULIB_TEST_MALLOC_GNU 1
	| #define GNULIB_TEST_MALLOC_POSIX 1
	| #define GNULIB_TEST_MBRTOC32 1
	| #define GNULIB_TEST_MBRTOWC 1
	| #define GNULIB_TEST_MBSCASECMP 1
	| #define GNULIB_TEST_MBSINIT 1
	| #define GNULIB_TEST_MBSRTOC32S 1
	| #define GNULIB_TEST_MBSRTOWCS 1
	| #define GNULIB_TEST_MBSZERO 1
	| #define HAVE_MBTOWC 1
	| #define GNULIB_TEST_MBTOWC 1
	| #define GNULIB_MCEL_PREFER 1
	| #define GNULIB_TEST_MEMCHR 1
	| #define GNULIB_TEST_MEMPCPY 1
	| #define GNULIB_TEST_MEMRCHR 1
	| #define GNULIB_TEST_MKDIR 1
	| #define GNULIB_TEST_MKSTEMP 1
	| #define NEED_MKTIME_WORKING 1
	| #define GNULIB_TEST_MKTIME 1
	| #define NEED_MKTIME_INTERNAL 1
	| #define GNULIB_MSVC_NOTHROW 1
	| #define HAVE_NL_LANGINFO 1
	| #define FUNC_NL_LANGINFO_YESEXPR_WORKS 1
	| #define NL_LANGINFO_MTSAFE 1
	| #define REPLACE_NL_LANGINFO 1
	| #define GNULIB_TEST_NL_LANGINFO 1
	| #define HAVE_C_NULLPTR 1
	| #define OPEN_TRAILING_SLASH_BUG 1
	| #define GNULIB_TEST_OPEN 1
	| #define GNULIB_OPENAT 1
	| #define GNULIB_TEST_OPENAT 1
	| #define HAVE_OPENDIR 1
	| #define GNULIB_TEST_OPENDIR 1
	| #define GNULIB_TEST_PCLOSE 1
	| #define GNULIB_TEST_POPEN 1
	| #define HAVE_DECL_PROGRAM_INVOCATION_NAME 0
	| #define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0
	| #define GNULIB_TEST_PTHREAD_ONCE 1
	| #define HAVE_RAISE 1
	| #define GNULIB_TEST_RAISE 1
	| #define GNULIB_TEST_RAWMEMCHR 1
	| #define HAVE_READDIR 1
	| #define GNULIB_TEST_READDIR 1
	| #define READLINK_TRAILING_SLASH_BUG 1
	| #define GNULIB_TEST_READLINK 1
	| #define GNULIB_TEST_READLINKAT 1
	| #define HAVE_REALLOC_0_NONNULL 1
	| #define GNULIB_TEST_REALLOC_POSIX 1
	| #define GNULIB_REALLOCARRAY 1
	| #define GNULIB_TEST_REALLOCARRAY 1
	| #define _REGEX_INCLUDE_LIMITS_H 1
	| #define _REGEX_LARGE_OFFSETS 1
	| #define re_syntax_options rpl_re_syntax_options
	| #define re_set_syntax rpl_re_set_syntax
	| #define re_compile_pattern rpl_re_compile_pattern
	| #define re_compile_fastmap rpl_re_compile_fastmap
	| #define re_search rpl_re_search
	| #define re_search_2 rpl_re_search_2
	| #define re_match rpl_re_match
	| #define re_match_2 rpl_re_match_2
	| #define re_set_registers rpl_re_set_registers
	| #define re_comp rpl_re_comp
	| #define re_exec rpl_re_exec
	| #define regcomp rpl_regcomp
	| #define regexec rpl_regexec
	| #define regerror rpl_regerror
	| #define regfree rpl_regfree
	| #define HAVE_LIBINTL_H 1
	| #define HAVE_DECL_ISBLANK 1
	| #define GNULIB_TEST_SETENV 1
	| #define HAVE_VISIBILITY 1
	| #define GNULIB_TEST_SETLOCALE_NULL 1
	| #define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1
	| #define GNULIB_TEST_SIGACTION 1
	| #define GNULIB_TEST_SIGPROCMASK 1
	| #define STACK_DIRECTION -1
	| #define HAVE_WORKING_SIGALTSTACK 1
	| #define REPLACE_FUNC_STAT_FILE 1
	| #define GNULIB_TEST_STAT 1
	| #define GNULIB_STAT 1
	| #define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1
	| #define GNULIB_TEST_FSCANF 1
	| #define GNULIB_FSCANF 1
	| #define GNULIB_TEST_SCANF 1
	| #define GNULIB_SCANF 1
	| #define GNULIB_TEST_FGETC 1
	| #define GNULIB_TEST_GETC 1
	| #define GNULIB_TEST_GETCHAR 1
	| #define GNULIB_TEST_FGETS 1
	| #define GNULIB_TEST_FREAD 1
	| #define GNULIB_TEST_FPRINTF 1
	| #define GNULIB_TEST_PRINTF 1
	| #define GNULIB_TEST_VFPRINTF 1
	| #define GNULIB_TEST_VPRINTF 1
	| #define GNULIB_TEST_FPUTC 1
	| #define GNULIB_TEST_PUTC 1
	| #define GNULIB_TEST_PUTCHAR 1
	| #define GNULIB_TEST_FPUTS 1
	| #define GNULIB_TEST_PUTS 1
	| #define GNULIB_TEST_FWRITE 1
	| #define HAVE_STPCPY 1
	| #define GNULIB_TEST_STPCPY 1
	| #define HAVE_STRCASECMP 1
	| #define GNULIB_TEST_STRDUP 1
	| #define GNULIB_STRERROR 1
	| #define GNULIB_TEST_STRERROR 1
	| #define HAVE_STRNCASECMP 1
	| #define HAVE_DECL_STRNCASECMP 1
	| #define GNULIB_TEST_STRNLEN 1
	| #define GNULIB_TEST_STRPTIME 1
	| #define HAVE_STRTOLL 1
	| #define GNULIB_TEST_STRTOLL 1
	| #define GNULIB_TEMPNAME 1
	| #define HAVE_DECL_LOCALTIME_R 1
	| #define GNULIB_TEST_TIME_R 1
	| #define GNULIB_TEST_TIME_RZ 1
	| #define HAVE_TIMEGM 1
	| #define GNULIB_TEST_TIMEGM 1
	| #define GNULIB_TEST_TIMESPEC_GET 1
	| #define GNULIB_TEST_TZSET 1
	| #define GNULIB_STDIO_SINGLE_THREAD 1
	| #define USE_UNLOCKED_IO GNULIB_STDIO_SINGLE_THREAD
	| #define HAVE_UNSETENV 1
	| #define VOID_UNSETENV 1
	| #define GNULIB_TEST_UNSETENV 1
	| #define HAVE_C_VARARRAYS 1
	| #define GNULIB_TEST_WCRTOMB 1
	| #define GNULIB_TEST_WCTYPE 1
	| #define HAVE_DECL_WCWIDTH 1
	| #define GNULIB_TEST_WCWIDTH 1
	| #define GNULIB_TEST_WMEMCHR 1
	| #define GNULIB_TEST_WMEMPCPY 1
	| #define GNULIB_XALLOC 1
	| #define GNULIB_XALLOC_DIE 1
	| #define GNULIB_XSTDOPEN 1
	| #define GNULIB_TEST_ACCEPT 1
	| #define GNULIB_ACCEPT IN_DIFFUTILS_GNULIB_TESTS
	| #define HAVE_C_ALIGNASOF 1
	| #define HAVE_ATOLL 1
	| #define GNULIB_TEST_ATOLL 1
	| #define GNULIB_TEST_BIND 1
	| #define GNULIB_BIND IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_C32RTOMB 1
	| #define GNULIB_TEST_C32TOB 1
	| #define GNULIB_TEST_CONNECT 1
	| #define GNULIB_CONNECT IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_FDOPEN 1
	| #define HAVE_FTRUNCATE 1
	| #define GNULIB_TEST_FTRUNCATE 1
	| #define HAVE_DUPLOCALE 1
	| #define HAVE_DECL_INET_PTON 1
	| #define WORDS_BIGENDIAN 1
	| #define HAVE_IOCTL 1
	| #define GNULIB_TEST_IOCTL 1
	| #define GNULIB_IOCTL IN_DIFFUTILS_GNULIB_TESTS
	| #define HAVE_ISNAND_IN_LIBC 1
	| #define HAVE_ISNANF_IN_LIBC 1
	| #define HAVE_ISNANL_IN_LIBC 1
	| #define GNULIB_TEST_LISTEN 1
	| #define GNULIB_LISTEN IN_DIFFUTILS_GNULIB_TESTS
	| #define HAVE_NEWLOCALE 1
	| #define GNULIB_TEST_NANOSLEEP 1
	| #define HAVE_USELOCALE 1
	| #define HAVE_WORKING_USELOCALE 1
	| #define GNULIB_TEST_PERROR 1
	| #define GNULIB_TEST_PIPE 1
	| #define GNULIB_TEST_PSELECT 1
	| #define GNULIB_TEST_PTHREAD_COND 1
	| #define PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED 1
	| #define GNULIB_TEST_PTHREAD_MUTEX 1
	| #define PTHREAD_RWLOCK_UNIMPLEMENTED 1
	| #define GNULIB_TEST_PTHREAD_RWLOCK 1
	| #define GNULIB_TEST_PTHREAD_THREAD 1
	| #define GNULIB_TEST_PTHREAD_MUTEX_TIMEDLOCK 1
	| #define PTHREAD_SIGMASK_FAILS_WITH_ERRNO 1
	| #define HAVE_PTHREAD_SIGMASK 1
	| #define GNULIB_TEST_PTHREAD_SIGMASK 1
	| #define GNULIB_TEST_PUTENV 1
	| #define HAVE_INITSTATE 1
	| #define HAVE_SETSTATE 1
	| #define GNULIB_TEST_RANDOM 1
	| #define GNULIB_TEST_RANDOM_R 1
	| #define GNULIB_TEST_RMDIR 1
	| #define GNULIB_TEST_SCHED_YIELD 1
	| #define GNULIB_TEST_SELECT 1
	| #define GNULIB_SELECT IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SETSOCKOPT 1
	| #define GNULIB_SETSOCKOPT IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SIGNBIT 1
	| #define HAVE_STDINT_H 1
	| #define HAVE_DECL_SLEEP 1
	| #define GNULIB_TEST_SLEEP 1
	| #define HAVE_SNPRINTF 1
	| #define GNULIB_TEST_SNPRINTF 1
	| #define GNULIB_SNPRINTF IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SOCKET 1
	| #define GNULIB_SOCKET IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_STR_STARTSWITH 1
	| #define HAVE_CATGETS 1
	| #define GNULIB_TEST_STRERROR_R 1
	| #define GNULIB_STRERROR_R_POSIX IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SYMLINK 1
	| #define GNULIB_TEST_SYMLINKAT 1
	| #define HAVE_IPV4 1
	| #define HAVE_IPV6 1
	| #define HAVE_UNIXSOCKET 1
	| #define HAVE_PTHREAD_ATFORK 1
	| #define GNULIB_TEST_TIME 1
	| #define HAVE_STRUCT_TM_TM_GMTOFF 1
	| #define HAVE_STRUCT_TM_TM_ZONE 1
	| #define HAVE_TM_GMTOFF 1
	| #define GNULIB_TEST_UNLINK 1
	| #define GNULIB_TEST_UNLINKAT 1
	| #define GNULIB_TEST_VSNZPRINTF 1
	| #define HAVE_DECL_WCTOB 1
	| #define GNULIB_TEST_WCTOB 1
	| #define GNULIB_TEST_WCTOMB 1
	| #define HAVE_STDINT_H 1
	| #define GNULIB_NO_VLA 1
	| #define GNULIB_EXCLUDE_SINGLE_THREAD 1
	| #define GNULIB_MBRTOWC_SINGLE_THREAD 1
	| #define GNULIB_REGEX_SINGLE_THREAD 1
	| #define GNULIB_WCHAR_SINGLE_LOCALE 1
	| #define GNULIB_MBRTOC32_REGULAR 1
	| #define HAVE_STRUCT_STAT_ST_RDEV 1
	| #define HAVE_DIRENT_H 1
	| #define HAVE_SYS_WAIT_H 1
	| #define HAVE_WORKING_VFORK 1
	| #define HAVE_WORKING_FORK 1
	| #define DEFAULT_EDITOR_PROGRAM "ed"
	| #define PR_PROGRAM "/usr/bin/pr"
	| #define HAVE_CFPREFERENCESCOPYAPPVALUE 1
	| #define HAVE_CFLOCALECOPYCURRENT 1
	| /* end confdefs.h.  */
	| 
	| #include <stdlib.h>
	| #include <iconv.h>
	| 
	| int
	| main (void)
	| {
	| iconv_t cd = iconv_open("","");
	|            iconv(cd,NULL,NULL,NULL,NULL);
	|            iconv_close(cd);
	|   ;
	|   return 0;
	| }
	configure:60943: /opt/local/bin/gcc-mp-14 -std=gnu23 -o conftest -pipe -Os -ggdb -O0 -arch ppc -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c  -liconv >&5
	configure:60943: $? = 0
	configure:60955: result: yes
	configure:60958: checking for working iconv
	configure:61080: /opt/local/bin/gcc-mp-14 -std=gnu23 -o conftest -pipe -Os -ggdb -O0 -arch ppc -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc conftest.c  -liconv >&5
	conftest.c: In function 'main':
	conftest.c:559:29: error: passing argument 2 of 'libiconv' from incompatible pointer type [-Wincompatible-pointer-types]
	  559 |                             (char **) &inptr, &inbytesleft,
	      |                             ^~~~~~~~~~~~~~~~
	      |                             |
	      |                             char **
	In file included from conftest.c:541:
	/opt/local/include/iconv.h:82:48: note: expected 'const char **' but argument is of type 'char **'
	   82 | extern size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
	      |                                  ~~~~~~~~~~~~~~^~~~~
	conftest.c:579:29: error: passing argument 2 of 'libiconv' from incompatible pointer type [-Wincompatible-pointer-types]
	  579 |                             (char **) &inptr, &inbytesleft,
	      |                             ^~~~~~~~~~~~~~~~
	      |                             |
	      |                             char **
	/opt/local/include/iconv.h:82:48: note: expected 'const char **' but argument is of type 'char **'
	   82 | extern size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
	      |                                  ~~~~~~~~~~~~~~^~~~~
	conftest.c:598:29: error: passing argument 2 of 'libiconv' from incompatible pointer type [-Wincompatible-pointer-types]
	  598 |                             (char **) &inptr, &inbytesleft,
	      |                             ^~~~~~~~~~~~~~~~
	      |                             |
	      |                             char **
	/opt/local/include/iconv.h:82:48: note: expected 'const char **' but argument is of type 'char **'
	   82 | extern size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
	      |                                  ~~~~~~~~~~~~~~^~~~~
	configure:61080: $? = 1
	configure: program exited with status 1
	configure: failed program was:
	| /* confdefs.h */
	| #define PACKAGE_NAME "GNU diffutils"
	| #define PACKAGE_TARNAME "diffutils"
	| #define PACKAGE_VERSION "3.12"
	| #define PACKAGE_STRING "GNU diffutils 3.12"
	| #define PACKAGE_BUGREPORT "bug-diffutils <at> gnu.org"
	| #define PACKAGE_URL "https://www.gnu.org/software/diffutils/"
	| #define PACKAGE "diffutils"
	| #define VERSION "3.12"
	| #define HAVE_STDIO_H 1
	| #define HAVE_STDLIB_H 1
	| #define HAVE_STRING_H 1
	| #define HAVE_INTTYPES_H 1
	| #define HAVE_STDINT_H 1
	| #define HAVE_STRINGS_H 1
	| #define HAVE_SYS_STAT_H 1
	| #define HAVE_SYS_TYPES_H 1
	| #define HAVE_UNISTD_H 1
	| #define HAVE_WCHAR_H 1
	| #define HAVE_STDBOOL_H 1
	| #define HAVE_SYS_PARAM_H 1
	| #define HAVE_SYS_SOCKET_H 1
	| #define HAVE_DIRENT_H 1
	| #define HAVE_FNMATCH_H 1
	| #define HAVE_GETOPT_H 1
	| #define HAVE_SYS_TIME_H 1
	| #define HAVE_LIMITS_H 1
	| #define HAVE_WCTYPE_H 1
	| #define HAVE_LANGINFO_H 1
	| #define HAVE_XLOCALE_H 1
	| #define HAVE_SYS_MMAN_H 1
	| #define HAVE_PTHREAD_H 1
	| #define HAVE_STDCKDINT_H 1
	| #define HAVE_SYS_RANDOM_H 1
	| #define HAVE_SYS_WAIT_H 1
	| #define HAVE_ARPA_INET_H 1
	| #define HAVE_NETDB_H 1
	| #define HAVE_NETINET_IN_H 1
	| #define HAVE_MATH_H 1
	| #define HAVE_SYS_SELECT_H 1
	| #define HAVE_SEMAPHORE_H 1
	| #define HAVE_SYS_IOCTL_H 1
	| #define HAVE_SYS_UN_H 1
	| #define HAVE_SYS_UIO_H 1
	| #define STDC_HEADERS 1
	| #define _ALL_SOURCE 1
	| #define _COSMO_SOURCE 1
	| #define _DARWIN_C_SOURCE 1
	| #define _GNU_SOURCE 1
	| #define _HPUX_ALT_XOPEN_SOCKET_API 1
	| #define _NETBSD_SOURCE 1
	| #define _OPENBSD_SOURCE 1
	| #define _POSIX_PTHREAD_SEMANTICS 1
	| #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
	| #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
	| #define __STDC_WANT_IEC_60559_DFP_EXT__ 1
	| #define __STDC_WANT_IEC_60559_EXT__ 1
	| #define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
	| #define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
	| #define __STDC_WANT_LIB_EXT2__ 1
	| #define __STDC_WANT_MATH_SPEC_FUNCS__ 1
	| #define _TANDEM_SOURCE 1
	| #define __EXTENSIONS__ 1
	| #define _LINUX_SOURCE_COMPAT 1
	| #define __USE_MINGW_ANSI_STDIO 1
	| #define HAVE_ALLOCA_H 1
	| #define HAVE_ALLOCA 1
	| #define HAVE_WINT_T 1
	| #define HAVE_BTOWC 1
	| #define HAVE_MBRTOWC 1
	| #define HAVE_MBSINIT 1
	| #define HAVE_FCHDIR 1
	| #define HAVE_FCNTL 1
	| #define HAVE_SYMLINK 1
	| #define HAVE_FNMATCH 1
	| #define HAVE_MBSRTOWCS 1
	| #define HAVE_GETDTABLESIZE 1
	| #define HAVE_GETTIMEOFDAY 1
	| #define HAVE_ISBLANK 1
	| #define HAVE_ISWCNTRL 1
	| #define HAVE_LSTAT 1
	| #define HAVE_MPROTECT 1
	| #define HAVE_MKSTEMP 1
	| #define HAVE_PCLOSE 1
	| #define HAVE_POPEN 1
	| #define HAVE_READLINK 1
	| #define HAVE_ISWCTYPE 1
	| #define HAVE_SETENV 1
	| #define HAVE_SIGACTION 1
	| #define HAVE_SIGALTSTACK 1
	| #define HAVE_SIGINTERRUPT 1
	| #define HAVE_SETRLIMIT 1
	| #define HAVE_GETRLIMIT 1
	| #define HAVE_STRPTIME 1
	| #define HAVE_STRTOIMAX 1
	| #define HAVE_LOCALTIME_R 1
	| #define HAVE_WCRTOMB 1
	| #define HAVE_WCWIDTH 1
	| #define HAVE_PIPE 1
	| #define HAVE_PSELECT 1
	| #define HAVE_PTHREAD_SIGMASK 1
	| #define HAVE_SLEEP 1
	| #define HAVE_SNPRINTF 1
	| #define HAVE_SHUTDOWN 1
	| #define HAVE_WCTOB 1
	| #define HAVE_SIGPROCMASK 1
	| #define HAVE_FORK 1
	| #define HAVE_VFORK 1
	| #define HAVE_LANGINFO_CODESET 1
	| #define BITSIZEOF_WCHAR_T 32
	| #define HAVE_MBSTATE_T 1
	| #define HAVE_MALLOC_POSIX 1
	| #define restrict __restrict__
	| #define HAVE_DECL_STRERROR_R 1
	| #define HAVE_STRERROR_R 1
	| #define HAVE_DECL_FCHDIR 1
	| #define HAVE_WORKING_O_NOATIME 0
	| #define HAVE_WORKING_O_NOFOLLOW 0
	| #define FUNC_FFLUSH_STDIN 0
	| #define HAVE_DECL_GETDTABLESIZE 1
	| #define HAVE_GETOPT_H 1
	| #define HAVE_GETOPT_LONG_ONLY 1
	| #define HAVE_PTHREAD_API 1
	| #define SETLOCALE_NULL_ALL_MTSAFE 0
	| #define SETLOCALE_NULL_ONE_MTSAFE 1
	| #ifndef __powerpc__
	| #define __powerpc__ 1
	| #endif
	| #ifndef __powerpc__
	| #define __powerpc__ 1
	| #endif
	| #define HAVE_LONG_LONG_INT 1
	| #define HAVE_UNSIGNED_LONG_LONG_INT 1
	| #define BITSIZEOF_PTRDIFF_T 32
	| #define BITSIZEOF_SIZE_T 32
	| #define BITSIZEOF_SIG_ATOMIC_T 32
	| #define BITSIZEOF_WCHAR_T 32
	| #define BITSIZEOF_WINT_T 32
	| #define HAVE_SIGNED_SIG_ATOMIC_T 1
	| #define HAVE_SIGNED_WCHAR_T 1
	| #define HAVE_SIGNED_WINT_T 1
	| #define PTRDIFF_T_SUFFIX 
	| #define SIZE_T_SUFFIX ul
	| #define SIG_ATOMIC_T_SUFFIX 
	| #define WCHAR_T_SUFFIX 
	| #define WINT_T_SUFFIX 
	| #define HAVE_TOWLOWER 1
	| #define HAVE_LC_MESSAGES 1
	| #define USE_POSIX_THREADS 1
	| #define HAVE_MALLOC_0_NONNULL 1
	| #define MAP_ANONYMOUS MAP_ANON
	| #define HAVE_MAP_ANONYMOUS 1
	| #define HAVE_DECL_MEMRCHR 0
	| #define HAVE_MINMAX_IN_SYS_PARAM_H 1
	| #define TIME_T_IS_SIGNED 1
	| #define HAVE_DECL_ALARM 1
	| #define HAVE_STRUCT_TM_TM_GMTOFF 1
	| #define HAVE_STRUCT_TM_TM_ZONE 1
	| #define HAVE_TM_GMTOFF 1
	| #define PROMOTED_MODE_T int
	| #define HAVE_PTHREAD_T 1
	| #define HAVE_SIGSET_T 1
	| #define HAVE_SCHED_H 1
	| #define HAVE_DECL_SETENV 1
	| #define HAVE_DECL__PUTENV 0
	| #define HAVE_SEARCH_H 1
	| #define HAVE_TSEARCH 1
	| #define WORDS_BIGENDIAN 1
	| #define HAVE_DECL_FCLOSEALL 0
	| #define HAVE_DECL_GETW 1
	| #define HAVE_DECL_PUTW 1
	| #define HAVE_DECL_ECVT 1
	| #define HAVE_DECL_FCVT 1
	| #define HAVE_DECL_GCVT 1
	| #define HAVE_DECL_STRDUP 1
	| #define REPLACE_STRERROR_0 1
	| #define HAVE_STRERROR_R 1
	| #define HAVE_DECL_STRNLEN 0
	| #define HAVE_DECL_STRTOIMAX 1
	| #define _USE_STD_STAT 1
	| #define HAVE_DECL_EXECVPE 0
	| #define HAVE_DECL_CLEARERR_UNLOCKED 1
	| #define HAVE_DECL_FEOF_UNLOCKED 1
	| #define HAVE_DECL_FERROR_UNLOCKED 1
	| #define HAVE_DECL_FFLUSH_UNLOCKED 0
	| #define HAVE_DECL_FGETS_UNLOCKED 0
	| #define HAVE_DECL_FPUTC_UNLOCKED 0
	| #define HAVE_DECL_FPUTS_UNLOCKED 0
	| #define HAVE_DECL_FREAD_UNLOCKED 0
	| #define HAVE_DECL_FWRITE_UNLOCKED 0
	| #define HAVE_DECL_GETC_UNLOCKED 1
	| #define HAVE_DECL_GETCHAR_UNLOCKED 1
	| #define HAVE_DECL_PUTC_UNLOCKED 1
	| #define HAVE_DECL_PUTCHAR_UNLOCKED 1
	| #define HAVE_DECL_UNSETENV 1
	| #define HAVE_DECL_WCSDUP 0
	| #define HAVE_SHUTDOWN 1
	| #define HAVE_STRUCT_SOCKADDR_STORAGE 1
	| #define HAVE_SA_FAMILY_T 1
	| #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
	| #define HAVE_IPV4 1
	| #define HAVE_IPV6 1
	| #define DBL_EXPBIT0_WORD 0
	| #define DBL_EXPBIT0_BIT 20
	| #define FLT_EXPBIT0_WORD 0
	| #define FLT_EXPBIT0_BIT 23
	| #define LDBL_EXPBIT0_WORD 0
	| #define LDBL_EXPBIT0_BIT 20
	| #define HAVE_DECL_INITSTATE 1
	| #define HAVE_DECL_SETSTATE 1
	| #define HAVE_DECL_SNPRINTF 1
	| #define HAVE_INTTYPES_H_WITH_UINTMAX 1
	| #define HAVE_STDINT_H_WITH_UINTMAX 1
	| #define HAVE_INTMAX_T 1
	| #define HAVE_WCSLEN 1
	| #define HAVE_SNPRINTF 1
	| #define HAVE_WCRTOMB 1
	| #define HAVE_DECL__SNPRINTF 0
	| #define HAVE_SNPRINTF_RETVAL_C99 1
	| #define HAVE_SNPRINTF_TRUNCATION_C99 1
	| #define HAVE_ALLOCA 1
	| #define HAVE_C_STATIC_ASSERT 1
	| #define HAVE_C_BOOL 1
	| #define GNULIB_TEST_BTOC32 1
	| #define GNULIB_TEST_BTOWC 1
	| #define HAVE___BUILTIN_EXPECT 1
	| #define GNULIB_TEST_C32_APPLY_TYPE_TEST 1
	| #define GNULIB_TEST_C32_GET_TYPE_TEST 1
	| #define GNULIB_TEST_C32ISALNUM 1
	| #define GNULIB_TEST_C32ISALPHA 1
	| #define GNULIB_TEST_C32ISBLANK 1
	| #define GNULIB_TEST_C32ISCNTRL 1
	| #define GNULIB_TEST_C32ISDIGIT 1
	| #define GNULIB_TEST_C32ISGRAPH 1
	| #define GNULIB_TEST_C32ISLOWER 1
	| #define GNULIB_TEST_C32ISPRINT 1
	| #define GNULIB_TEST_C32ISPUNCT 1
	| #define GNULIB_TEST_C32ISSPACE 1
	| #define GNULIB_TEST_C32ISUPPER 1
	| #define GNULIB_TEST_C32ISXDIGIT 1
	| #define GNULIB_TEST_C32TOLOWER 1
	| #define GNULIB_TEST_C32WIDTH 1
	| #define GNULIB_TEST_CALLOC_GNU 1
	| #define GNULIB_TEST_CALLOC_POSIX 1
	| #define GNULIB_TEST_CHDIR 1
	| #define GNULIB_TEST_CLOEXEC 1
	| #define GNULIB_TEST_CLOSE 1
	| #define GNULIB_CLOSE 1
	| #define HAVE_CLOSEDIR 1
	| #define GNULIB_TEST_CLOSEDIR 1
	| #define HAVE_STRUCT_DIRENT_D_TYPE 1
	| #define HAVE_DECL_DIRFD 1
	| #define GNULIB_TEST_DIRFD 1
	| #define GNULIB_DIRNAME 1
	| #define GNULIB_TEST_DUP 1
	| #define GNULIB_TEST_DUP2 1
	| #define GNULIB_TEST_ENVIRON 1
	| #define GNULIB_TEST_FCHDIR 1
	| #define GNULIB_TEST_FCNTL 1
	| #define HAVE_DECL_FDOPENDIR 0
	| #define GNULIB_TEST_FDOPENDIR 1
	| #define GNULIB_FDOPENDIR 1
	| #define HAVE_STRUCT_STAT_ST_BLOCKS 1
	| #define HAVE_ST_BLOCKS 1
	| #define GNULIB_FILENAMECAT 1
	| #define FLEXIBLE_ARRAY_MEMBER /**/
	| #define GNULIB_TEST_FNMATCH 1
	| #define GNULIB_FNMATCH_GNU 1
	| #define GNULIB_TEST_FOPEN 1
	| #define GNULIB_FOPEN_GNU 1
	| #define GNULIB_TEST_FOPEN_GNU 1
	| #define GNULIB_TEST_FREE_POSIX 1
	| #define GNULIB_TEST_FREOPEN 1
	| #define GNULIB_TEST_FSTAT 1
	| #define GNULIB_FSTAT 1
	| #define GNULIB_TEST_FSTATAT 1
	| #define GNULIB_FSTATAT 1
	| #define GNULIB_TEST_GETCWD 1
	| #define GNULIB_TEST_GETDTABLESIZE 1
	| #define __GETOPT_PREFIX rpl_
	| #define GNULIB_TEST_GETOPT_POSIX 1
	| #define GNULIB_TEST_GETPAGESIZE 1
	| #define HAVE_GETPROGNAME 1
	| #define HAVE_DECL_PROGRAM_INVOCATION_NAME 0
	| #define GNULIB_TEST_GETPROGNAME 1
	| #define GNULIB_TEST_GETRANDOM 1
	| #define GETTIMEOFDAY_TIMEZONE struct timezone
	| #define GNULIB_TEST_GETTIMEOFDAY 1
	| #define GNULIB_LOCALEDIR "/opt/local/share/locale"
	| #define GNULIB_ISBLANK 1
	| #define HAVE_ISWBLANK 1
	| #define HAVE_DECL_ISWBLANK 1
	| #define GNULIB_TEST_ISWBLANK 1
	| #define GNULIB_TEST_ISWCTYPE 1
	| #define GNULIB_TEST_ISWDIGIT 1
	| #define GNULIB_TEST_ISWPUNCT 1
	| #define GNULIB_TEST_ISWXDIGIT 1
	| #define HAVE___INLINE 1
	| #define GNULIB_TEST_LOCALECONV 1
	| #define GNULIB_LOCALECONV 1
	| #define HAVE_PTHREAD_RWLOCK 1
	| #define HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER 1
	| #define GNULIB_LOCK 1
	| #define GNULIB_TEST_LSTAT 1
	| #define GNULIB_LSTAT 1
	| #define GNULIB_TEST_MALLOC_GNU 1
	| #define GNULIB_TEST_MALLOC_POSIX 1
	| #define GNULIB_TEST_MBRTOC32 1
	| #define GNULIB_TEST_MBRTOWC 1
	| #define GNULIB_TEST_MBSCASECMP 1
	| #define GNULIB_TEST_MBSINIT 1
	| #define GNULIB_TEST_MBSRTOC32S 1
	| #define GNULIB_TEST_MBSRTOWCS 1
	| #define GNULIB_TEST_MBSZERO 1
	| #define HAVE_MBTOWC 1
	| #define GNULIB_TEST_MBTOWC 1
	| #define GNULIB_MCEL_PREFER 1
	| #define GNULIB_TEST_MEMCHR 1
	| #define GNULIB_TEST_MEMPCPY 1
	| #define GNULIB_TEST_MEMRCHR 1
	| #define GNULIB_TEST_MKDIR 1
	| #define GNULIB_TEST_MKSTEMP 1
	| #define NEED_MKTIME_WORKING 1
	| #define GNULIB_TEST_MKTIME 1
	| #define NEED_MKTIME_INTERNAL 1
	| #define GNULIB_MSVC_NOTHROW 1
	| #define HAVE_NL_LANGINFO 1
	| #define FUNC_NL_LANGINFO_YESEXPR_WORKS 1
	| #define NL_LANGINFO_MTSAFE 1
	| #define REPLACE_NL_LANGINFO 1
	| #define GNULIB_TEST_NL_LANGINFO 1
	| #define HAVE_C_NULLPTR 1
	| #define OPEN_TRAILING_SLASH_BUG 1
	| #define GNULIB_TEST_OPEN 1
	| #define GNULIB_OPENAT 1
	| #define GNULIB_TEST_OPENAT 1
	| #define HAVE_OPENDIR 1
	| #define GNULIB_TEST_OPENDIR 1
	| #define GNULIB_TEST_PCLOSE 1
	| #define GNULIB_TEST_POPEN 1
	| #define HAVE_DECL_PROGRAM_INVOCATION_NAME 0
	| #define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0
	| #define GNULIB_TEST_PTHREAD_ONCE 1
	| #define HAVE_RAISE 1
	| #define GNULIB_TEST_RAISE 1
	| #define GNULIB_TEST_RAWMEMCHR 1
	| #define HAVE_READDIR 1
	| #define GNULIB_TEST_READDIR 1
	| #define READLINK_TRAILING_SLASH_BUG 1
	| #define GNULIB_TEST_READLINK 1
	| #define GNULIB_TEST_READLINKAT 1
	| #define HAVE_REALLOC_0_NONNULL 1
	| #define GNULIB_TEST_REALLOC_POSIX 1
	| #define GNULIB_REALLOCARRAY 1
	| #define GNULIB_TEST_REALLOCARRAY 1
	| #define _REGEX_INCLUDE_LIMITS_H 1
	| #define _REGEX_LARGE_OFFSETS 1
	| #define re_syntax_options rpl_re_syntax_options
	| #define re_set_syntax rpl_re_set_syntax
	| #define re_compile_pattern rpl_re_compile_pattern
	| #define re_compile_fastmap rpl_re_compile_fastmap
	| #define re_search rpl_re_search
	| #define re_search_2 rpl_re_search_2
	| #define re_match rpl_re_match
	| #define re_match_2 rpl_re_match_2
	| #define re_set_registers rpl_re_set_registers
	| #define re_comp rpl_re_comp
	| #define re_exec rpl_re_exec
	| #define regcomp rpl_regcomp
	| #define regexec rpl_regexec
	| #define regerror rpl_regerror
	| #define regfree rpl_regfree
	| #define HAVE_LIBINTL_H 1
	| #define HAVE_DECL_ISBLANK 1
	| #define GNULIB_TEST_SETENV 1
	| #define HAVE_VISIBILITY 1
	| #define GNULIB_TEST_SETLOCALE_NULL 1
	| #define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1
	| #define GNULIB_TEST_SIGACTION 1
	| #define GNULIB_TEST_SIGPROCMASK 1
	| #define STACK_DIRECTION -1
	| #define HAVE_WORKING_SIGALTSTACK 1
	| #define REPLACE_FUNC_STAT_FILE 1
	| #define GNULIB_TEST_STAT 1
	| #define GNULIB_STAT 1
	| #define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1
	| #define GNULIB_TEST_FSCANF 1
	| #define GNULIB_FSCANF 1
	| #define GNULIB_TEST_SCANF 1
	| #define GNULIB_SCANF 1
	| #define GNULIB_TEST_FGETC 1
	| #define GNULIB_TEST_GETC 1
	| #define GNULIB_TEST_GETCHAR 1
	| #define GNULIB_TEST_FGETS 1
	| #define GNULIB_TEST_FREAD 1
	| #define GNULIB_TEST_FPRINTF 1
	| #define GNULIB_TEST_PRINTF 1
	| #define GNULIB_TEST_VFPRINTF 1
	| #define GNULIB_TEST_VPRINTF 1
	| #define GNULIB_TEST_FPUTC 1
	| #define GNULIB_TEST_PUTC 1
	| #define GNULIB_TEST_PUTCHAR 1
	| #define GNULIB_TEST_FPUTS 1
	| #define GNULIB_TEST_PUTS 1
	| #define GNULIB_TEST_FWRITE 1
	| #define HAVE_STPCPY 1
	| #define GNULIB_TEST_STPCPY 1
	| #define HAVE_STRCASECMP 1
	| #define GNULIB_TEST_STRDUP 1
	| #define GNULIB_STRERROR 1
	| #define GNULIB_TEST_STRERROR 1
	| #define HAVE_STRNCASECMP 1
	| #define HAVE_DECL_STRNCASECMP 1
	| #define GNULIB_TEST_STRNLEN 1
	| #define GNULIB_TEST_STRPTIME 1
	| #define HAVE_STRTOLL 1
	| #define GNULIB_TEST_STRTOLL 1
	| #define GNULIB_TEMPNAME 1
	| #define HAVE_DECL_LOCALTIME_R 1
	| #define GNULIB_TEST_TIME_R 1
	| #define GNULIB_TEST_TIME_RZ 1
	| #define HAVE_TIMEGM 1
	| #define GNULIB_TEST_TIMEGM 1
	| #define GNULIB_TEST_TIMESPEC_GET 1
	| #define GNULIB_TEST_TZSET 1
	| #define GNULIB_STDIO_SINGLE_THREAD 1
	| #define USE_UNLOCKED_IO GNULIB_STDIO_SINGLE_THREAD
	| #define HAVE_UNSETENV 1
	| #define VOID_UNSETENV 1
	| #define GNULIB_TEST_UNSETENV 1
	| #define HAVE_C_VARARRAYS 1
	| #define GNULIB_TEST_WCRTOMB 1
	| #define GNULIB_TEST_WCTYPE 1
	| #define HAVE_DECL_WCWIDTH 1
	| #define GNULIB_TEST_WCWIDTH 1
	| #define GNULIB_TEST_WMEMCHR 1
	| #define GNULIB_TEST_WMEMPCPY 1
	| #define GNULIB_XALLOC 1
	| #define GNULIB_XALLOC_DIE 1
	| #define GNULIB_XSTDOPEN 1
	| #define GNULIB_TEST_ACCEPT 1
	| #define GNULIB_ACCEPT IN_DIFFUTILS_GNULIB_TESTS
	| #define HAVE_C_ALIGNASOF 1
	| #define HAVE_ATOLL 1
	| #define GNULIB_TEST_ATOLL 1
	| #define GNULIB_TEST_BIND 1
	| #define GNULIB_BIND IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_C32RTOMB 1
	| #define GNULIB_TEST_C32TOB 1
	| #define GNULIB_TEST_CONNECT 1
	| #define GNULIB_CONNECT IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_FDOPEN 1
	| #define HAVE_FTRUNCATE 1
	| #define GNULIB_TEST_FTRUNCATE 1
	| #define HAVE_DUPLOCALE 1
	| #define HAVE_DECL_INET_PTON 1
	| #define WORDS_BIGENDIAN 1
	| #define HAVE_IOCTL 1
	| #define GNULIB_TEST_IOCTL 1
	| #define GNULIB_IOCTL IN_DIFFUTILS_GNULIB_TESTS
	| #define HAVE_ISNAND_IN_LIBC 1
	| #define HAVE_ISNANF_IN_LIBC 1
	| #define HAVE_ISNANL_IN_LIBC 1
	| #define GNULIB_TEST_LISTEN 1
	| #define GNULIB_LISTEN IN_DIFFUTILS_GNULIB_TESTS
	| #define HAVE_NEWLOCALE 1
	| #define GNULIB_TEST_NANOSLEEP 1
	| #define HAVE_USELOCALE 1
	| #define HAVE_WORKING_USELOCALE 1
	| #define GNULIB_TEST_PERROR 1
	| #define GNULIB_TEST_PIPE 1
	| #define GNULIB_TEST_PSELECT 1
	| #define GNULIB_TEST_PTHREAD_COND 1
	| #define PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED 1
	| #define GNULIB_TEST_PTHREAD_MUTEX 1
	| #define PTHREAD_RWLOCK_UNIMPLEMENTED 1
	| #define GNULIB_TEST_PTHREAD_RWLOCK 1
	| #define GNULIB_TEST_PTHREAD_THREAD 1
	| #define GNULIB_TEST_PTHREAD_MUTEX_TIMEDLOCK 1
	| #define PTHREAD_SIGMASK_FAILS_WITH_ERRNO 1
	| #define HAVE_PTHREAD_SIGMASK 1
	| #define GNULIB_TEST_PTHREAD_SIGMASK 1
	| #define GNULIB_TEST_PUTENV 1
	| #define HAVE_INITSTATE 1
	| #define HAVE_SETSTATE 1
	| #define GNULIB_TEST_RANDOM 1
	| #define GNULIB_TEST_RANDOM_R 1
	| #define GNULIB_TEST_RMDIR 1
	| #define GNULIB_TEST_SCHED_YIELD 1
	| #define GNULIB_TEST_SELECT 1
	| #define GNULIB_SELECT IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SETSOCKOPT 1
	| #define GNULIB_SETSOCKOPT IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SIGNBIT 1
	| #define HAVE_STDINT_H 1
	| #define HAVE_DECL_SLEEP 1
	| #define GNULIB_TEST_SLEEP 1
	| #define HAVE_SNPRINTF 1
	| #define GNULIB_TEST_SNPRINTF 1
	| #define GNULIB_SNPRINTF IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SOCKET 1
	| #define GNULIB_SOCKET IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_STR_STARTSWITH 1
	| #define HAVE_CATGETS 1
	| #define GNULIB_TEST_STRERROR_R 1
	| #define GNULIB_STRERROR_R_POSIX IN_DIFFUTILS_GNULIB_TESTS
	| #define GNULIB_TEST_SYMLINK 1
	| #define GNULIB_TEST_SYMLINKAT 1
	| #define HAVE_IPV4 1
	| #define HAVE_IPV6 1
	| #define HAVE_UNIXSOCKET 1
	| #define HAVE_PTHREAD_ATFORK 1
	| #define GNULIB_TEST_TIME 1
	| #define HAVE_STRUCT_TM_TM_GMTOFF 1
	| #define HAVE_STRUCT_TM_TM_ZONE 1
	| #define HAVE_TM_GMTOFF 1
	| #define GNULIB_TEST_UNLINK 1
	| #define GNULIB_TEST_UNLINKAT 1
	| #define GNULIB_TEST_VSNZPRINTF 1
	| #define HAVE_DECL_WCTOB 1
	| #define GNULIB_TEST_WCTOB 1
	| #define GNULIB_TEST_WCTOMB 1
	| #define HAVE_STDINT_H 1
	| #define GNULIB_NO_VLA 1
	| #define GNULIB_EXCLUDE_SINGLE_THREAD 1
	| #define GNULIB_MBRTOWC_SINGLE_THREAD 1
	| #define GNULIB_REGEX_SINGLE_THREAD 1
	| #define GNULIB_WCHAR_SINGLE_LOCALE 1
	| #define GNULIB_MBRTOC32_REGULAR 1
	| #define HAVE_STRUCT_STAT_ST_RDEV 1
	| #define HAVE_DIRENT_H 1
	| #define HAVE_SYS_WAIT_H 1
	| #define HAVE_WORKING_VFORK 1
	| #define HAVE_WORKING_FORK 1
	| #define DEFAULT_EDITOR_PROGRAM "ed"
	| #define PR_PROGRAM "/usr/bin/pr"
	| #define HAVE_CFPREFERENCESCOPYAPPVALUE 1
	| #define HAVE_CFLOCALECOPYCURRENT 1
	| /* end confdefs.h.  */
	| 
	| #include <iconv.h>
	| #include <string.h>
	| int main ()
	| {
	|   int result = 0;
	|   /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
	|      returns.  */
	|   {
	|     iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
	|     if (cd_utf8_to_88591 != (iconv_t)(-1))
	|       {
	|         static const char input[] = "\342\202\254"; /* EURO SIGN */
	|         char buf[10];
	|         const char *inptr = input;
	|         size_t inbytesleft = strlen (input);
	|         char *outptr = buf;
	|         size_t outbytesleft = sizeof (buf);
	|         size_t res = iconv (cd_utf8_to_88591,
	|                             (char **) &inptr, &inbytesleft,
	|                             &outptr, &outbytesleft);
	|         if (res == 0)
	|           result |= 1;
	|         iconv_close (cd_utf8_to_88591);
	|       }
	|   }
	|   /* Test against Solaris 10 bug: Failures are not distinguishable from
	|      successful returns.  */
	|   {
	|     iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
	|     if (cd_ascii_to_88591 != (iconv_t)(-1))
	|       {
	|         static const char input[] = "\263";
	|         char buf[10];
	|         const char *inptr = input;
	|         size_t inbytesleft = strlen (input);
	|         char *outptr = buf;
	|         size_t outbytesleft = sizeof (buf);
	|         size_t res = iconv (cd_ascii_to_88591,
	|                             (char **) &inptr, &inbytesleft,
	|                             &outptr, &outbytesleft);
	|         if (res == 0)
	|           result |= 2;
	|         iconv_close (cd_ascii_to_88591);
	|       }
	|   }
	|   /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
	|   {
	|     iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
	|     if (cd_88591_to_utf8 != (iconv_t)(-1))
	|       {
	|         static const char input[] = "\304";
	|         static char buf[2] = { (char)0xDE, (char)0xAD };
	|         const char *inptr = input;
	|         size_t inbytesleft = 1;
	|         char *outptr = buf;
	|         size_t outbytesleft = 1;
	|         size_t res = iconv (cd_88591_to_utf8,
	|                             (char **) &inptr, &inbytesleft,
	|                             &outptr, &outbytesleft);
	|         if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
	|           result |= 4;
	|         iconv_close (cd_88591_to_utf8);
	|       }
	|   }
	| #if 0 /* This bug could be worked around by the caller.  */
	|   /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
	|   {
	|     iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
	|     if (cd_88591_to_utf8 != (iconv_t)(-1))
	|       {
	|         static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
	|         char buf[50];
	|         const char *inptr = input;
	|         size_t inbytesleft = strlen (input);
	|         char *outptr = buf;
	|         size_t outbytesleft = sizeof (buf);
	|         size_t res = iconv (cd_88591_to_utf8,
	|                             (char **) &inptr, &inbytesleft,
	|                             &outptr, &outbytesleft);
	|         if ((int)res > 0)
	|           result |= 8;
	|         iconv_close (cd_88591_to_utf8);
	|       }
	|   }
	| #endif
	|   /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
	|      provided.  */
	|   if (/* Try standardized names.  */
	|       iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
	|       /* Try IRIX, OSF/1 names.  */
	|       && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
	|       /* Try AIX names.  */
	|       && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
	|       /* Try HP-UX names.  */
	|       && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
	|     result |= 16;
	|   return result;
	| }
	configure:61096: result: no


--
Greetings

  Pete

A monsoon is a French gentleman.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Mon, 16 Jun 2025 20:08:01 GMT) Full text and rfc822 format available.

Message #89 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Mon, 16 Jun 2025 13:07:17 -0700
Looking at this a bit more, it seems that this bug was introduced by GNU 
diff's colorizing code, introduced in diffutils 3.4. Do you see the same 
problem with diffutils 3.3? How about diffutils 3.11 (the previous 
diffutils)?

I guess what I'm trying to ask is: do you know which commit introduced 
the problem? That would simplify finding the problem. "git bisect" can 
help here.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Mon, 16 Jun 2025 20:53:02 GMT) Full text and rfc822 format available.

Message #92 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Mon, 16 Jun 2025 22:52:10 +0200
> Am 16.06.2025 um 22:07 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> How about diffutils 3.11 (the previous diffutils)?

I think it already had the same problem. That's why I deleted diffutils for some time. Could be the problem started with 3.10…

Anyway, I can go backwards version by version until I'll find the once working version. The test is sufficiently fast and easy. It could take some time to retrieve the changes to MacPorts' Portfiles to understand which patches were applied then.

I think tomorrow and the day after tomorrow I'll be busy with some other work…


You are writing that your suspect is the "colorizing code" – can you point me to a particular function? I thought it's rather unimportant – but when it's manipulating the contents of the output lines array some error might occur…


The assignment "char const *const *line = &curr.file[0].linbuf[i++];" with "const *const" is OK? On Mac OS X the assignment seems to fail because curr is not accessible by GDB, seeing only an "unknown type".

--
Greeting

  Pete

               (This space left blank for technical reasons.)





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Mon, 16 Jun 2025 21:04:04 GMT) Full text and rfc822 format available.

Message #95 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Mon, 16 Jun 2025 14:03:04 -0700
On 2025-06-16 13:52, Peter Dyballa wrote:

> You are writing that your suspect is the "colorizing code" – can you point me to a particular function? 

No, but I'm suspicious about this commit:

https://cgit.git.savannah.gnu.org/cgit/diffutils.git/commit/?id=c0fa19fe92da71404f809aafb5f51cfd99b1bee2




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 17 Jun 2025 07:35:02 GMT) Full text and rfc822 format available.

Message #98 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 17 Jun 2025 09:34:15 +0200
A small remark: 'diff A B' works OK, but 'diff -u A B' does not. Adding --color does not change anything.

"diff -ud A B" brings only *one* 'program error' plus a "+Abort" message (Exit 134):

	tiger pete 225 /\  /opt/local/var/macports/build/_Users_btest_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/diff --color --minimal -u Portfile-graphite2-312 Portfile-graphite2
	--- Portfile-graphite2-312 2025-06-17 08:43:05.000000000 +0200
	+++ Portfile-graphite2 2025-06-17 08:42:18.000000000 +0200
	@@ -31,10 +22,19 @@
	 compiler.cxx_standard \
	                     2011
	  -set py_ver          3.12
	-set py_ver_nodot    [string map {. {}} ${py_ver}]
	-
	-test.run            yes
	diff: program error
	+Abort
	Exit 134

The last two lines are green. "diff: program error" and "compiler.cxx_standard \\              2011" are in terminal text colour. Leaving '--minimal' away produces:

	tiger pete 226 /\  /opt/local/var/macports/build/_Users_btest_ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src/diff --color -u Portfile-graphite2-312 Portfile-graphite2
	--- Portfile-graphite2-312 2025-06-17 08:43:05.000000000 +0200
	+++ Portfile-graphite2 2025-06-17 08:42:18.000000000 +0200
	@@ -27,14 +18,23 @@
	diff: program error
	diff: program error
	 Abort
	Exit 134


Anyway, I am going backwards!

--
Greetings

  Pete
              <\
                \__     O                       __O
                | O\   _\\/\-%                _`\<,
                '()-'-(_)--(_)               (_)/(_)





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 17 Jun 2025 10:14:04 GMT) Full text and rfc822 format available.

Message #101 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 17 Jun 2025 12:12:48 +0200
Diffutils 3.11 fail exactly as 3.12 do.

Diffutils 3.10 did not compile here since May 2023, see for example: https://trac.macports.org/ticket/67488, https://trac.macports.org/ticket/67248, https://trac.macports.org/ticket/68964.
They were never installed here (from time to time I am recording what is installed). This little patch, as taken from the resolutions of tickets mentioned above, makes diffutils 3.10 compile:

	--- lib/stdio.in.h~ 2023-05-14 08:33:35.000000000 +0200
	+++ lib/stdio.in.h 2025-06-17 11:20:27.000000000 +0200
	@@ -37,7 +37,7 @@
	 #ifndef _ <at> GUARD_PREFIX <at> _STDIO_H
	   /* Suppress macOS deprecation warnings for sprintf and vsprintf.  */
	-#if (defined __APPLE__ && defined __MACH__) && !defined _POSIX_C_SOURCE
	+#if (defined __APPLE__ && defined __MACH__) && !defined _POSIX_C_SOURCE && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1050)
	 # define _POSIX_C_SOURCE 200809L
	 # define _GL_DEFINED__POSIX_C_SOURCE
	 #endif

Well, what can I write, or cite:

	tiger pete 234 /\  /opt/local/var/macports/build/_Users_btest_ports_sysutils_diffutils/diffutils/work/diffutils-3.10/src/diff -u Portfile-graphite2-312 Portfile-graphite2
	--- Portfile-graphite2-312 2025-06-17 08:43:05.000000000 +0200
	+++ Portfile-graphite2 2025-06-17 08:42:18.000000000 +0200
	@@ -31,7 +31,7 @@
	 compiler.cxx_standard \
	                     2011
	  -set py_ver          3.12
	+set py_ver          3.13
	 set py_ver_nodot    [string map {. {}} ${py_ver}]
	   test.run            yes
	Exit 1

(Even the line numbers are the same as on my High Sierra Mac.) I tried also a few more pairs to diff from some regular routine, and all was successful. So the bug was introduced quite recently between versions 3.10 and 3.11.


If bisecting with git does not bring a result, I'd try a parallel GDB session in two Emacsen with both. (A Mac allows to use an X client, the NeXTStep successor, and the "Carbon" unofficial variant.) This might show differences in behaviour.

--

Greetings

  Pete

We need a president who's fluent in at least one language.
				– Buck Henry

  Pete

Radio heißt: Erst denken, dann reden.
TV heißt: Erst schminken, dann reden.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Wed, 18 Jun 2025 08:11:01 GMT) Full text and rfc822 format available.

Message #104 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Wed, 18 Jun 2025 10:09:57 +0200
This morning I tested diffutils 3.10 on PPC Mac OS X 10.4.11, Tiger – with pretty good results:

	============================================================================
	Testsuite summary for GNU diffutils 3.10
	============================================================================
	# TOTAL: 25
	# PASS:  19
	# SKIP:  3
	# XFAIL: 1
	# FAIL:  2
	# XPASS: 0
	# ERROR: 0
	============================================================================
	See tests/test-suite.log
	Please report to bug-diffutils <at> gnu.org
	============================================================================

Tests diff3 ("subsidiary program 'gdiff' not found") and sdiff ("gdiff: No such file or directory") as well as help-version "(exit status: 1)" FAILed, large-subopt XFAILed.

I am preparing now a setup with both diffutils 3.10 and diffutils 3.12 built to be able to debug them in parallel (for which diffutils 3.10 has to be recompiled with -O0 -ggdb).

--
Greetings

  Pete       (:
        _    / __    -    -
      _/ \__/_/        -     -
     (´`)      (´`)   -    -
      `´        `´





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Thu, 19 Jun 2025 18:28:01 GMT) Full text and rfc822 format available.

Message #107 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Thu, 19 Jun 2025 20:27:28 +0200
> Am 16.06.2025 um 22:07 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> "git bisect" can help here.

I never learned to use this, so I'm still on the old way underway – and think that this might make the difference:

	diffutils-3.10/src/context.c:#include "c-ctype.h"

vs.

	diffutils-3.12/src/context.c:#include <c-ctype.h>

None of my Macs has this C header file, it comes with some software.


Tomorrow in the morning I'll have a few hours to test this… Defective diffutils 3.11 also has <c-ctype.h>.

--

Greetings

  Pete

We've got to pause and ask ourselves: How much clean air do we need?
				- Lee Iacocca





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 20 Jun 2025 06:18:02 GMT) Full text and rfc822 format available.

Message #110 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Thu, 19 Jun 2025 23:16:52 -0700
On 2025-06-19 11:27, Peter Dyballa wrote:
> I never learned to use this, so I'm still on the old way underway – and think that this might make the difference:
> 
> 	diffutils-3.10/src/context.c:#include "c-ctype.h"
> 
> vs.
> 
> 	diffutils-3.12/src/context.c:#include <c-ctype.h>
> 
> None of my Macs has this C header file,

They're not supposed to. It comes with the diffutils source.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 20 Jun 2025 07:54:02 GMT) Full text and rfc822 format available.

Message #113 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 20 Jun 2025 09:52:42 +0200
> Am 20.06.2025 um 08:16 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-19 11:27, Peter Dyballa wrote:
>> I never learned to use this, so I'm still on the old way underway – and think that this might make the difference:
>> diffutils-3.10/src/context.c:#include "c-ctype.h"
>> vs.
>> diffutils-3.12/src/context.c:#include <c-ctype.h>
>> None of my Macs has this C header file,
> 
> They're not supposed to. It comes with the diffutils source.

Correct! Therefore I thought "c-ctype.h" should be included. But it does not change anything, same failure.

Since debugging does not seem to point me to the cause I am going to examine the programme flow. Context and unified diff are causing the crashes, so something in the print_context_header() branch of function calls must be faulty…

--
Greetings

  Pete

Who the fsck is "General Failure" and why is he reading my disk?





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 20 Jun 2025 10:03:02 GMT) Full text and rfc822 format available.

Message #116 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 20 Jun 2025 12:01:56 +0200
In diff.c:882 we have in main():

	exit_status = compare_files (&noparent, de_unknowns, argv[optind], argv[optind + 1]);.

This function is defined in diff.c, starting at lines #1376 (comments) or #1387 (code). It has close to its end on line #1633/1634:

	  if (status == EXIT_SUCCESS)
	    status = compare_prepped_files (parent, &cmp, O_RDONLY | oflags);

compare_prepped_files() is new, compared to diffutils 3.10, and is also defined in diff.c, lines #1158 (comments) or #1162 (code). It has at its end on line #1372:

	  return diff_2_files (cmp);

This function is defined in analyze.c, starting at lines #451 (comments) or #452 (code). It has inside a switch statement

  621	              switch (output_style)
  622	                {
  623	                case OUTPUT_CONTEXT:
  624	                  print_context_script (script, false);
  625	                  break;
  626	
  627	                case OUTPUT_UNIFIED:
  628	                  print_context_script (script, true);
  629	                  break;

So it's the print_context_script() branch of function calls that contains the faulty code. It's defined in context.c, starting at lines #109 (comments) or #111 (code). It makes a comparison between context and unified diff:

  123	  if (unidiff)
  124	    print_script (script, find_hunk, pr_unidiff_hunk);
  125	  else
  126	    print_script (script, find_hunk, pr_context_hunk);

The array script was created before, it is created in (almost?) any case:

	context.c:124:    print_script (script, find_hunk, pr_unidiff_hunk);
	context.c:126:    print_script (script, find_hunk, pr_context_hunk);
	ed.c:33:  print_script (script, find_change, print_ed_hunk);
	ed.c:97:  print_script (script, find_change, pr_forward_ed_hunk);
	ed.c:136:  print_script (script, find_change, print_rcs_hunk);
	ifdef.c:54:  print_script (script, find_change, print_ifdef_hunk);
	normal.c:31:  print_script (script, find_change, print_normal_hunk);
	side.c:41:  print_script (script, find_change, print_sdiff_hunk);

The function print_script() is defined in util.c, starting at lines #941 (comments) or #952 (code), find_hunk() and find_change() are functions (find_change() is defined in util.c, find_hunk() is defined in context.c) and presumingly OK (although I could see contradicting line numbers in output?). The third argument of print_script() varies a bit in name (pr_ vs. print_), they are defined in different files, each working on a particular diff case (ed script, "normal", side-by-side, and context/unified). So it's possible that pr_unidiff_hunk and pr_context_hunk can have the faulty code, twice?

find_hunk() has only one argument (struct change *script), works on its contents and returns the finished struct. Rather negligible:

  429	/* Scan a (forward-ordered) edit script for the first place that more than
  430	   2*CONTEXT unchanged lines appear, and return a pointer
  431	   to the 'struct change' for the last change before those lines.  */
  432	
  433	static struct change * ATTRIBUTE_PURE
  434	find_hunk (struct change *script)
  435	{
  436	  /* Threshold distance is CONTEXT if the second change is ignorable,
  437	     min (2 * CONTEXT + 1, LIN_MAX) otherwise.  */
  438	  lin ignorable_threshold = context;
  439	  lin non_ignorable_threshold = (ckd_mul (&non_ignorable_threshold, context, 2)
  440					 ? LIN_MAX
  441					 : non_ignorable_threshold + 1);
  442	
  443	  for (struct change *next; ; script = next)
  444	    {
  445	      next = script->link;
  446	      /* Compute number of first line in each file beyond this changed.  */
  447	      lin top0 = script->line0 + script->deleted;
  448	      lin top1 = script->line1 + script->inserted;
  449	      lin thresh = (next && next->ignore
  450			    ? ignorable_threshold
  451			    : non_ignorable_threshold);
  452	      /* It is not supposed to matter which file we check in the end-test.  */
  453	      dassert (!next || next->line0 - top0 == next->line1 - top1);
  454	
  455	      /* Keep going if less than THRESH lines elapse
  456		 before the affected line.  */
  457	      if (!next || thresh <= next->line0 - top0)
  458		return script;
  459	    }
  460	}

pr_context_hunk()/pr_unidiff_hunk() make internal use of the curr struct, change its contents, obviously not a file name or such. Instead they call begin_output() – a function that is also used in the other diff cases… But it has a special clause near its end:

	  886	  /* A special header is needed at the beginning of context output.  */
	  887	  if (output_style == OUTPUT_CONTEXT || output_style == OUTPUT_UNIFIED)
	  888	    print_context_header (curr.file, names,
	  889				  output_style == OUTPUT_UNIFIED);

Only in our two faulty cases, unified and context diff, the malfunction happens. So 'print_context_header()' must contain the bug, but it's too simple, in context.c:

	   92	/* Print a header for a context diff, with the file names and dates.  */
	   93	
	   94	void
	   95	print_context_header (struct file_data inf[], char const *const *names, bool unidiff)
	   96	{
	   97	  if (unidiff)
	   98	    {
	   99	      print_context_label ("---", &inf[0], names[0], file_label[0]);
	  100	      print_context_label ("+++", &inf[1], names[1], file_label[1]);
	  101	    }
	  102	  else
	  103	    {
	  104	      print_context_label ("***", &inf[0], names[0], file_label[0]);
	  105	      print_context_label ("---", &inf[1], names[1], file_label[1]);
	  106	    }
	  107	}

This function has the declaration 'char const *const *names', but definition of 'print_context_label()' starts with:

	   40	static void
	   41	print_context_label (char const *mark,
	   42	                     struct file_data *inf,
	   43	                     char const *name,
	   44	                     char const *label)
	   45	{

To me "char const *const *" is not the same as "char const *" – could be for PPC Mac OS X 10.4.11 too? I do not understand these code differences anyway.


Comparing the function definition in both versions 3.12 and 3.10 I see that time is handled differently – cause found? In the end both functions simply have:

	  set_color_context (RESET_CONTEXT);
	  putc ('\n', outfile);

The newer version has

     24      int nsec = ts.tv_nsec;

On Tiger /usr/include/time.h has:

     87 #ifndef _TIMESPEC                 88 #define _TIMESPEC
     89 struct timespec {
     90         time_t  tv_sec;         /* seconds */
     91         long    tv_nsec;        /* and nanoseconds */
     92 };
     93 #endif
     94
     95 struct tm {
     96         int     tm_sec;         /* seconds after the minute [0-60] */
     97         int     tm_min;         /* minutes after the hour [0-59] */
     98         int     tm_hour;        /* hours since midnight [0-23] */
     99         int     tm_mday;        /* day of the month [1-31] */
    100         int     tm_mon;         /* months since January [0-11] */
    101         int     tm_year;        /* years since 1900 */
    102         int     tm_wday;        /* days since Sunday [0-6] */
    103         int     tm_yday;        /* days since January 1 [0-365] */
    104         int     tm_isdst;       /* Daylight Savings Time flag */
    105         long    tm_gmtoff;      /* offset from CUT in seconds */
    106         char    *tm_zone;       /* timezone abbreviation */
    107 };


nstrftime() is not known on Tiger, but defined in lib/strftime.h. I'll check that area, either (much) later or tomorrow!

--
Greetings

  Pete

We also sponsor National Invisible Chronic Illness Awareness Week annually in September.
Join the millions!





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Fri, 20 Jun 2025 22:06:02 GMT) Full text and rfc822 format available.

Message #119 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Fri, 20 Jun 2025 15:05:40 -0700
On 2025-06-20 03:01, Peter Dyballa wrote:
> To me "char const *const *" is not the same as "char const *" – could be for PPC Mac OS X 10.4.11 too? I do not understand these code differences anyway.

Correct. Read the types right to left. The former is a pointer to a 
constant pointer to a constant char. The latter is a pointer to a 
constant char. If you have an expression P of the former type, then *P 
has the latter type.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sat, 21 Jun 2025 07:54:02 GMT) Full text and rfc822 format available.

Message #122 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sat, 21 Jun 2025 09:52:44 +0200
> Am 21.06.2025 um 00:05 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> On 2025-06-20 03:01, Peter Dyballa wrote:
>> To me "char const *const *" is not the same as "char const *" – could be for PPC Mac OS X 10.4.11 too? I do not understand these code differences anyway.
> 
> Correct. Read the types right to left. The former is a pointer to a constant pointer to a constant char. The latter is a pointer to a constant char. If you have an expression P of the former type, then *P has the latter type.

And that's alright? Because print_context_label() only uses parts of the name or names struct? Or a different view…

--
Greetings

  Pete

The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka!" (I found it!) but "That's funny..."
				– Isaac Asimov





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sat, 21 Jun 2025 07:56:01 GMT) Full text and rfc822 format available.

Message #125 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sat, 21 Jun 2025 00:55:50 -0700
On 2025-06-21 00:52, Peter Dyballa wrote:
>> Am 21.06.2025 um 00:05 schrieb Paul Eggert<eggert <at> cs.ucla.edu>:
>>
>> On 2025-06-20 03:01, Peter Dyballa wrote:
>>> To me "char const *const *" is not the same as "char const *" – could be for PPC Mac OS X 10.4.11 too? I do not understand these code differences anyway.
>> Correct. Read the types right to left. The former is a pointer to a constant pointer to a constant char. The latter is a pointer to a constant char. If you have an expression P of the former type, then *P has the latter type.
> And that's alright?

I expect it's intended, yes. I haven't looked at it carefully recently.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sat, 21 Jun 2025 14:23:02 GMT) Full text and rfc822 format available.

Message #128 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sat, 21 Jun 2025 16:22:34 +0200
> Am 20.06.2025 um 12:01 schrieb Peter Dyballa <Peter_Dyballa <at> Web.DE>:
> 
> Comparing the function definition in both versions 3.12 and 3.10 I see that time is handled differently – cause found? In the end both functions simply have:
> 
>   set_color_context (RESET_CONTEXT);
>   putc ('\n', outfile);
> 
> The newer version has
> 
>     24      int nsec = ts.tv_nsec;
> 
> On Tiger /usr/include/time.h has:
> 
>     87 #ifndef _TIMESPEC                 88 #define _TIMESPEC
>     89 struct timespec {
>     90         time_t  tv_sec;         /* seconds */
>     91         long    tv_nsec;        /* and nanoseconds */
>     92 };
>     93 #endif
>     94
>     95 struct tm {
>     96         int     tm_sec;         /* seconds after the minute [0-60] */
>     97         int     tm_min;         /* minutes after the hour [0-59] */
>     98         int     tm_hour;        /* hours since midnight [0-23] */
>     99         int     tm_mday;        /* day of the month [1-31] */
>    100         int     tm_mon;         /* months since January [0-11] */
>    101         int     tm_year;        /* years since 1900 */
>    102         int     tm_wday;        /* days since Sunday [0-6] */
>    103         int     tm_yday;        /* days since January 1 [0-365] */
>    104         int     tm_isdst;       /* Daylight Savings Time flag */
>    105         long    tm_gmtoff;      /* offset from CUT in seconds */
>    106         char    *tm_zone;       /* timezone abbreviation */
>    107 };

In print_context_label()

   61		ts = get_stat_mtime (&inf->stat);

is executed. get_stat_mtime() is defined in lib/stat-time.h as:

  144	/* Return *ST's data modification time.  */
  145	_GL_STAT_TIME_INLINE struct timespec _GL_ATTRIBUTE_PURE
  146	get_stat_mtime (struct stat const *st)
  147	{
  148	#ifdef STAT_TIMESPEC
  149	  return STAT_TIMESPEC (st, st_mtim);
  150	#else
  151	  return (struct timespec) { .tv_sec = st->st_mtime,
  152	                             .tv_nsec = get_stat_mtime_ns (st) };
  153	#endif
  154	}

GDB goes to line #149, so STAT_TIMESPEC must be TRUE. ts reports that I have already spent 1¾·10⁹ seconds in front of my tv – plus zero nsec. Then in print_context_label()

   73	      struct tm const *tm = localtime (&ts.tv_sec);
   74	      int nsec = ts.tv_nsec;
 
is executed. If tm_mon = 0 stands for January, then tm holds the correct date (since 1900-01-01T00:00:00), nsec is zero. On nect line

   75	      if (tm && nstrftime (buf, sizeof buf, time_format, tm, localtz, nsec))

nstrftime() is called, which is #define'd in

	lib/nstrftime.c:18:#define my_strftime nstrftime

as:

 1057	/* Write information from TP into S according to the format
 1058	   string FORMAT, writing no more that MAXSIZE characters		==> shouldn't it be "than"?
 1059	   (including the terminating '\0') and returning number of
 1060	   characters written.  If S is NULL, nothing will be written
 1061	   anywhere, so to determine how many characters would be
 1062	   written, use NULL for S and (size_t) -1 for MAXSIZE.  */
 1063	size_t
 1064	my_strftime (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
 1065	             const CHAR_T *format,
 1066	             const struct tm *tp extra_args_spec LOCALE_PARAM)
 1067	{
 1068	  bool tzset_called = false;
 1069	  return __strftime_internal (s, STRFTIME_ARG (maxsize) format, tp, false,
 1070	                              ZERO_PAD, -1,
 1071	                              &tzset_called extra_args LOCALE_ARG);
 1072	}

nstrftime is called with (s=0xbfffcb80 "\277\377\313\320", maxsize=52, format=0x5be2c "%Y-%m-%d %H:%M:%S.%N %z", tp=0xa000fd84, tz=0x0, ns=0). The value of localtz seems to be wrong, because it is never declared (tm contains tm_gmtoff = 7200 (2 hrs) and tm_zone = "CEST", both correct).


•••	And in the definition of my_strftime() it seems at least two COMMAs are missing:	•••

	    between "STRFTIME_ARG (size_t maxsize)" and "const CHAR_T *format",
	    between "const struct tm *tp" and "extra_args_spec LOCALE_PARAM",

and also a variable for nsec, separated by another COMMA? (lib/strftime.c has not changed from 3.11 to 3.12; 3.10 does not have this file, all is in lib/nstrftime.c while this file is in 3.11 and 3.12 almost empty.) diffutils 3.10 has the same function definition with missing COMMAs…

The call on line #1069 is:

	__strftime_internal (s=0xbfffcb80 "\277\377\313\320", maxsize=52, format=0x5be2c "%Y-%m-%d %H:%M:%S.%N %z", tp=0xa000fd84, upcase=false, yr_spec=ZERO_PAD, width=-1, tzset_called=0xbfffcb08, tz=0x0, ns=0) at strftime.c:1093

Near the end a breakpoint reveals that the form(at) has been filled in:

	__strftime_internal (s=0xbfffcb80 "2025-06-17 08:43:05.000000000 +0200", maxsize=52, format=0x5be2c "%Y-%m-%d %H:%M:%S.%N %z", tp=0xa000fd84, upcase=false, yr_spec=ZERO_PAD, width=-1, tzset_called=0xbfffcb08, tz=0x0, ns=0) at strftime.c:2240

and so __strftime_internal() finishes with:

	return i=35
	nstrftime (s=0xbfffcb80 "2025-06-17 08:43:05.000000000 +0200", maxsize=52, format=0x5be2c "%Y-%m-%d %H:%M:%S.%N %z", tp=0xa000fd84, tz=0x0, ns=0) at strftime.c:1072

So both

   99       print_context_label ("---", &inf[0], names[0], file_label[0]);
  100       print_context_label ("+++", &inf[1], names[1], file_label[1]);

succeed, with obviously no failure when accessing the files' time stamps.



--
Greetings

  Pete                           <]
             o        __o         |__    o       HPV, the real
    ___o    /I       -\<,         |o \  -\),-%     high speed!
___/\ /\___./ \___...O/ O____.....`-O-'-()--o_________________





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sat, 21 Jun 2025 16:32:02 GMT) Full text and rfc822 format available.

Message #131 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sat, 21 Jun 2025 18:31:18 +0200
I mentioned earlier:

> Am 20.06.2025 um 12:01 schrieb Peter Dyballa <Peter_Dyballa <at> Web.DE>:
> 
> In diff.c:882 we have in main():
> 
> exit_status = compare_files (&noparent, de_unknowns, argv[optind], argv[optind + 1]);.
> 
> This function is defined in diff.c, starting at lines #1376 (comments) or #1387 (code). It has close to its end on line #1633/1634:
> 
>  if (status == EXIT_SUCCESS)
>    status = compare_prepped_files (parent, &cmp, O_RDONLY | oflags);
> 
> compare_prepped_files() is new, compared to diffutils 3.10, and is also defined in diff.c, lines #1158 (comments) or #1162 (code). It has at its end on line #1372:
> 
>  return diff_2_files (cmp);
> 
> This function is defined in analyze.c, starting at lines #451 (comments) or #452 (code). It has inside a switch statement
> 
>  621              switch (output_style)
>  622                {
>  623                case OUTPUT_CONTEXT:
>  624                  print_context_script (script, false);
>  625                  break;
>  626 
>  627                case OUTPUT_UNIFIED:
>  628                  print_context_script (script, true);
>  629                  break;
> 
> So it's the print_context_script() branch of function calls that contains the faulty code. It's defined in context.c, starting at lines #109 (comments) or #111 (code). It makes a comparison between context and unified diff:
> 
>  123  if (unidiff)
>  124    print_script (script, find_hunk, pr_unidiff_hunk);
>  125  else
>  126    print_script (script, find_hunk, pr_context_hunk);

The last argument of print_script() is later substituted for "printfun" on line #974 here in util.c:

  941	/* Divide SCRIPT into pieces by calling HUNKFUN and
  942	   print each piece with PRINTFUN.
  943	   Both functions take one arg, an edit script.
  944	
  945	   HUNKFUN is called with the tail of the script
  946	   and returns the last link that belongs together with the start
  947	   of the tail.
  948	
  949	   PRINTFUN takes a subscript which belongs together (with a null
  950	   link at the end) and prints it.  */
  951	
  952	void
  953	print_script (struct change *script,
  954	              struct change * (*hunkfun) (struct change *),
  955	              void (*printfun) (struct change *))
  956	{
  957	  struct change *next = script;
  958	
  959	  while (next)
  960	    {
  961	      /* Find a set of changes that belong together.  */
  962	      struct change *this = next;
  963	      struct change *end = (*hunkfun) (next);
  964	
  965	      /* Disconnect them from the rest of the changes,
  966	         making them a hunk, and remember the rest for next iteration.  */
  967	      next = end->link;
  968	      end->link = nullptr;
  969	#ifdef DEBUG
  970	      debug_script (this);
  971	#endif
  972	
  973	      /* Print this hunk.  */
>>974	      (*printfun) (this);
  975	
  976	      /* Reconnect the script so it will all be freed properly.  */
  977	      end->link = next;
  978	    }
  979	}

So it's either pr_unidiff_hunk() or pr_context_hunk() that is executed here. pr_unidiff_hunk() has more than 100 lines. The interesting ones are:

  363	  putc ('\n', out);
  364	
  365	  struct change *next = hunk;
  366	  lin i = first0;
  367	  lin j = first1;
  368	
  369	  while (i <= last0 || j <= last1)
  370	    {
  371	
  372	      /* If the line isn't a difference, output the context from file 0. */
  373	
  374	      if (!next || i < next->line0)
  375	        {
  376		  char const *const *line = &curr.file[0].linbuf[i++];
  377	          if (! (suppress_blank_empty && **line == '\n'))
  378	            putc (initial_tab ? '\t' : ' ', out);
>>379	          print_1_line (nullptr, line);					<<===
  380	          j++;
  381	        }
  382	      else

With line #363 the header of the diff output was finally printed and now the actual script will follow. Start is on line #379 and a null pointer for place to output. The function is defined in util.c, starting a cascade of function calls:

  981	/* Print the text of a single line LINE,
  982	   flagging it with the characters in LINE_FLAG (which say whether
  983	   the line is inserted, deleted, changed, etc.).  LINE_FLAG must not
  984	   end in a blank, unless it is a single blank.  */
  985	
  986	void
  987	print_1_line (char const *line_flag, char const *const *line)
  988	{
>>989	  print_1_line_nl (line_flag, line, false);				<<===
  990	}


  992	/* Print the text of a single line LINE,
  993	   flagging it with the characters in LINE_FLAG (which say whether
  994	   the line is inserted, deleted, changed, etc.).  LINE_FLAG must not
  995	   end in a blank, unless it is a single blank.  If SKIP_NL is set, then
  996	   the final '\n' is not printed.  */
  997	
  998	void
  999	print_1_line_nl (char const *line_flag, char const *const *line, bool skip_nl)
 1000	{
 1001	  char const *base = line[0], *limit = line[1]; /* Help the compiler.  */
 1002	  FILE *out = outfile; /* Help the compiler some more.  */
 1003	  char const *flag_format = nullptr;
 1004	
 1005	  /* If -T was specified, use a Tab between the line-flag and the text.
 1006	     Otherwise use a Space (as Unix diff does).
 1007	     Print neither space nor tab if line-flags are empty.
 1008	     But omit trailing blanks if requested.  */
 1009	
 1010	  if (line_flag && *line_flag)
 1011	    {
 1012	      char const *flag_format_1 = flag_format = initial_tab ? "%s\t" : "%s ";
 1013	      char const *line_flag_1 = line_flag;
 1014	
 1015	      if (suppress_blank_empty && **line == '\n')
 1016	        {
 1017	          flag_format_1 = "%s";
 1018	
 1019	          /* This hack to omit trailing blanks takes advantage of the
 1020	             fact that the only way that LINE_FLAG can end in a blank
 1021	             is when LINE_FLAG consists of a single blank.  */
 1022	          line_flag_1 += *line_flag_1 == ' ';
 1023	        }
 1024	
 1025	      fprintf (out, flag_format_1, line_flag_1);
 1026	    }
 1027	
»1028	  output_1_line (base, limit - (skip_nl && limit[-1] == '\n'), flag_format, line_flag);		<<===
 1029	
 1030	  if ((!line_flag || line_flag[0]) && limit[-1] != '\n')
 1031	    {
 1032	      set_color_context (RESET_CONTEXT);
 1033	      fprintf (out, "\n\\ %s\n", _("No newline at end of file"));
 1034	    }
 1035	}

The null pointer, passed to print_1_line(), is passed unchanged to print_1_line_nl() and then to output_1_line():

 1037	/* Output a line from BASE up to LIMIT.
 1038	   With -t, expand white space characters to spaces, and if FLAG_FORMAT
 1039	   is nonzero, output it with argument LINE_FLAG after every
 1040	   internal carriage return, so that tab stops continue to line up.  */
 1041	
 1042	void
 1043	output_1_line (char const *base, char const *limit, char const *flag_format,
 1044	               char const *line_flag)
 1045	{
 1046	  enum { MAX_CHUNK = 1024 };
 1047	  if (!expand_tabs)
 1048	    {
 1049	      idx_t left = limit - base;
 1050	      while (left)
 1051	        {
 1052	          idx_t to_write = MIN (left, MAX_CHUNK);
»1053	          idx_t written = fwrite (base, sizeof (char), to_write, outfile);		<<===
 1054	          process_signals ();
 1055	          if (written < to_write)
 1056	            return;
 1057	          base += written;
 1058	          left -= written;
 1059	        }
 1060	    }
 1061	  else

So, this is happening on PPC Mac OS X 10.4.11, Tiger. On x86_64 macOS High Sierra, Version 10.13.6, it's exactly the same, but something else seems to be passed as line…


GDB prints on Tiger in output_1_line():

	print_1_line    (line_flag=0x0, line=0x40139c) at util.c:989
	print_1_line_nl (line_flag=0x0, line=0x40139c, skip_nl=false) at util.c:1001
	(gdb) p line[0]
	$1 = 0x0
	(gdb) p line[1]
	$2 = 0x18015ef "distname", ' ' <repeats 12 times>, "${name}-${version}\nextract.suffix      .tgz\n\ncompiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run "...

On High Sierra it's:

	print_1_line    (line_flag=0x0, line=0x100607118) at util.c:989
	print_1_line_nl (line_flag=0x0, line=0x100607118, skip_nl=false) at util.c:1001
	(gdb) p line[0]
	$1 = 0x101800430 "compiler.cxx_standard \\\n", ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARGS=-V\n# Use the same python"...
	(gdb) p line[1]
	$2 = 0x101800448 ' ' <repeats 20 times>, "2011\n\nset py_ver          3.12\nset py_ver_nodot    [string map {. {}} ${py_ver}]\n\ntest.run", ' ' <repeats 12 times>, "yes\n#test.env", ' ' <repeats 12 times>, "ARGS=-V\n# Use the same python as fonttools.\nconfigure"...


So something is filling 'line' incorrectly on Tiger…

Could there be a problem with 32-bit value vs. 64-bit values or addresses? The text string "distname" is on line #28, "compiler.cxx_standard \\\n" comes on line #31, three lines before the single difference of the two files. Working "diff -u" outputs this script:

	 compiler.cxx_standard \
	                     2011
	  
	-set py_ver          3.12
	+set py_ver          3.13
	 set py_ver_nodot    [string map {. {}} ${py_ver}]
	  
	 test.run            yes


So the next job is to find the code that fills the large curr struct with (partial/commented?) contents of first file, containing the text string "3.12"…

--
Greetings

  Pete

Our enemies are innovative and resourceful, and so are we. They never stop thinking about new ways to harm our country and our people, and neither do we.
				– Georges W. Bush





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sun, 22 Jun 2025 08:37:01 GMT) Full text and rfc822 format available.

Message #134 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sun, 22 Jun 2025 10:35:46 +0200
Hello Paul!

The differences start earlier:

	Breakpoint 1 at 0xf1ac: file diff.c, line 1633.
	Breakpoint 2 at 0x8e10: file context.c, line 349.
	Breakpoint 3 at 0x69f4: file analyze.c, line 624.
	Breakpoint 4 at 0x6a04: file analyze.c, line 628.
	Breakpoint 5 at 0x82f4: file context.c, line 123.
	Breakpoint 6 at 0x8fa8: file context.c, line 379.
	Breakpoint 7 at 0x222e4: file util.c, line 989.
	Breakpoint 8 at 0x2244c: file util.c, line 1028.
	
	Breakpoint 1, compare_files (parent=0x61000, detype=0x5e2b4, name0=0xbfffd8a1 "Portfile-graphite2-312", name1=0xbfffd8b8 "Portfile-graphite2") at diff.c:1633
	(gdb) n, step
	compare_prepped_files (parent=0x61000, cmp=0xbfffd218, open_flags=1073741824) at diff.c:1167
	(gdb) cont
	Breakpoint 4, diff_2_files (cmp=0xbfffd218) at analyze.c:628
	(gdb) p *script
	$1 = {
	  link = 0x0, 
	  inserted = 17, 
	  deleted = 8, 
	  line0 = -1, 
	  line1 = -10, 
	  ignore = true
	}

This was on PPC Mac OS X 10.4.11. On macOS High Sierra, Version 10.13.6, I get in the end:

	(gdb) p *script
	$1 = {
	  link = 0x0,
	  inserted = 1,
	  deleted = 1,
	  line0 = 3,
	  line1 = 3,
	  ignore = true
	}

On Tiger the computed different numbers lead to first0 = -4 and first1 = -13 and use of negative indexes in pr_unidiff_hunk(), context.c:376:

  363	  putc ('\n', out);		# prints line numbers header/label before the actual script
  364	
  365	  struct change *next = hunk;
  366	  lin i = first0;
  367	  lin j = first1;
  368	
  369	  while (i <= last0 || j <= last1)
  370	    {
  371	
  372	      /* If the line isn't a difference, output the context from file 0. */
  373	
  374	      if (!next || i < next->line0)
  375	        {
  376		  char const *const *line = &curr.file[0].linbuf[i++];
  377	          if (! (suppress_blank_empty && **line == '\n'))
  378	            putc (initial_tab ? '\t' : ' ', out);
  379	          print_1_line (nullptr, line);
  380	          j++;
  381	        }
  382	      else


Why are the values negative? Does this lead to defective struct curr or line? When does it start?

--
Greetings

  Pete

With Capitalism man exploits man. With communism it's the exact opposite.





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Sun, 22 Jun 2025 16:38:03 GMT) Full text and rfc822 format available.

Message #137 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Sun, 22 Jun 2025 09:37:40 -0700
On 2025-06-22 01:35, Peter Dyballa wrote:
> Why are the values negative?

As I recall, these are pointers into the middle of arrays, so negative 
indexes are allowed as long as they aren't too negative.




Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 24 Jun 2025 10:43:04 GMT) Full text and rfc822 format available.

Message #140 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 24 Jun 2025 12:42:29 +0200
I have one more clue: on old Tiger the changed component of curr (or filevec) holds TRUE instead of FALSE. Here are excepts from the debug sessions, side by side:

Session on PPC Mac OS X 10.4.11, Tiger, Darwin 8.11.0                           | Session on x86_64 macOS High Sierra, Version 10.13.6, Darwin 17.7.0
=====================================================                           | ===================================================================
Current directory is …/work/diffutils-3.12/src/                                 | Current directory is …/work/diffutils-3.12/src/
GNU gdb 6.3.50-20050815 (Apple version gdb-696) (Sat Oct 20 18:20:28 GMT 2007)  | GNU gdb (GDB) 14.2
Copyright 2004 Free Software Foundation, Inc.                                   | Copyright (C) 2023 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are    | License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
welcome to change it and/or distribute copies of it under certain conditions.   | This is free software: you are free to change and redistribute it.
Type "show copying" to see the conditions.                                      | There is NO WARRANTY, to the extent permitted by law.
There is absolutely no warranty for GDB.  Type "show warranty" for details.     | Type "show copying" and "show warranty" for details.
This GDB was configured as "powerpc-apple-darwin"...DISPLAY = Mac               | This GDB was configured as "x86_64-apple-darwin17.7.0".
TERM = dumb                                                                     | Type "show configuration" for configuration details.
                                                                                | For bug reporting instructions, please see:
                                                                                |   <https://www.gnu.org/software/gdb/bugs/>.
                                                                                |   Find the GDB manual and other documentation resources online at:
                                                                                |       <http://www.gnu.org/software/gdb/documentation/>.
                                                                                |
warning: --arch option not supported in this gdb.                               | For help, type "help".
Reading symbols for shared libraries ..... done                                 | Type "apropos word" to search for commands related to "word"...
                                                                                | Reading symbols from …/work/diffutils-3.12/src/diff...
Breakpoint 1 at 0xe1c8: file diff.c, line 1372.                                 | Breakpoint 1 at 0x10000ab7a: file diff.c, line 1372.
Breakpoint 2 at 0x5fa8: file analyze.c, line 463.                               | Breakpoint 2 at 0x100001c44: file analyze.c, line 463.
Breakpoint 3 at 0x6764: file analyze.c, line 578.                               | Breakpoint 3 at 0x1000022d5: file analyze.c, line 578.
Breakpoint 4 at 0xf1ac: file diff.c, line 1633.                                 | Breakpoint 4 at 0x1000098b6: file diff.c, line 1633.
Breakpoint 5 at 0x8e10: file context.c, line 349.                               | Breakpoint 5 at 0x1000057ec: file context.c, line 349.
Breakpoint 6 at 0x69f4: file analyze.c, line 624.                               | Breakpoint 6 at 0x100002527: file analyze.c, line 624.
Breakpoint 7 at 0x6a04: file analyze.c, line 628.                               | Breakpoint 7 at 0x10000253d: file analyze.c, line 628.
Breakpoint 8 at 0x82f4: file context.c, line 123.                               | Breakpoint 8 at 0x10000523e: file context.c, line 123.
Breakpoint 9 at 0x8fa8: file context.c, line 379.                               | Breakpoint 9 at 0x1000059ab: file context.c, line 379.
Breakpoint 10 at 0x222e4: file util.c, line 989.                                | Breakpoint 10 at 0x100013092: file util.c, line 989.
Breakpoint 11 at 0x2244c: file util.c, line 1028.                               | Breakpoint 11 at 0x1000131ab: file util.c, line 1028.
DISPLAY = Mac                                                                   | DISPLAY = :0
TERM = dumb                                                                     | TERM = dumb
(gdb) run                                                                       | (gdb) run
Starting program: …/work/diffutils-3.12/src/diff -a -u \                        | Starting program: …/work/diffutils-3.12/src/diff -a -u \
                Portfile-graphite2-312 Portfile-graphite2                       |               Portfile-graphite2-P312 Portfile-graphite2
                                                                                | [New Thread 0x1803 of process 55582]
                                                                                | [Thread 0x1803 of process 55582 exited]
                                                                                | [New Thread 0x1a03 of process 55582]
                                                                                | [Thread 0x1a03 of process 55582 exited]
                                                                                | [New Thread 0x1b03 of process 55582]
Reading symbols for shared libraries ..................+ done                   |
                                                                                |
Breakpoint 4, compare_files (parent=0x61000, detype=0x5e2b4, \                  | Thread 3 hit Breakpoint 4, compare_files (parent=0x100060520, detype=0x10004c164
                name0=0xbfffd8a1 "Portfile-graphite2-312", \                    |     name0=0x7ffeefbff5e9 "Portfile-graphite2-P312",
                name1=0xbfffd8b8 "Portfile-graphite2") at diff.c:1633           |     name1=0x7ffeefbff601 "Portfile-graphite2") at diff.c:1633
(gdb) n                                                                         | (gdb) n
(gdb) step                                                                      | (gdb) step
compare_prepped_files (parent=0x61000, cmp=0xbfffd218,                          | compare_prepped_files (parent=0x100060520, cmp=0x7ffeefbfed90, \
                                       open_flags=1073741824) at diff.c:1167    |                                          open_flags=16777216) at diff.c:1167
(gdb) cont                                                                      | (gdb) cont
Continuing.                                                                     | Continuing.
                                                                                |
Breakpoint 1, compare_prepped_files (parent=0x61000, \                          | Thread 3 hit Breakpoint 1, compare_prepped_files (parent=0x100060520,
                cmp=0xbfffd218, open_flags=1073741824) at diff.c:1372           |               cmp=0x7ffeefbfed90, open_flags=16777216) at diff.c:1372
(gdb) step                                                                      | (gdb) step
                                                                                |
Breakpoint 2, diff_2_files (cmp=0xbfffd218) at analyze.c:463                    | Thread 3 hit Breakpoint 2, diff_2_files (cmp=0x7ffeefbfed90) at analyze.c:463
(gdb) cont                                                                      | (gdb) cont
Continuing.                                                                     | Continuing.
                                                                                |
Breakpoint 3, diff_2_files (cmp=0xbfffd218) at analyze.c:578                    | Thread 3 hit Breakpoint 3, diff_2_files (cmp=0x7ffeefbfed90) at analyze.c:578
(gdb) step                                                                      | (gdb) step    # from 578 back to 575
                                                                                | (gdb) step                                            
build_script (filevec=0xbfffd218) at analyze.c:411                              | build_script (filevec=0x7ffeefbfed90) at analyze.c:411
(gdb) n                                                                         | (gdb) n                             
(gdb) n                                                                         | (gdb) n                             
(gdb) n                                                                         | (gdb) n                             
(gdb) n         # at line #418                                                  | (gdb) n               # at line #418
                                                                                | (gdb) n               # at line #420

So this OK for both until here, but here a difference now shows up:

(gdb) p i0                                                                      | (gdb) p i0                  
$1 = 7                                                                          | $1 = 7                              
(gdb) p i1                                                                      | (gdb) p i1                  
$2 = 7                                                                          | $2 = 7                              
(gdb) p *changed0                                                               | 
$3 = true                                                                       | 
(gdb) p *changed1                                                               | 
$4 = true                                                                       | 
(gdb) n         # at line #420                                                  | 
(gdb) n         # at line #422                                                  | 
(gdb) p changed0[6]                                                             | (gdb) p changed0[6]                 
$5 = true                                                                       | $3 = false                          
(gdb) p changed1[6]                                                             | (gdb) p changed1[6]                 
$6 = true                                                                       | $4 = false                          
(gdb) n         # at line #425                                                  | (gdb) n               # at line #433

On Tiger it's TRUE and on High Sierra it's FALSE, which is the correct value… (the "at line #xyz" comments report the line number in analyze.c to which GDB points.


I also examined the output of the C pre-processor: no difference. So some time before build_script() is called the wrong value is written into the component changed of both files' filevec or curr structs. Let's find out!


BTW, on High Sierra at first changed0[3] and changed1[3] are TRUE. At all other positions the value is FALSE.

--
Greetings

  Pete

These are my principles and if you don't like them... well, I have others.
				- Groucho Marx





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 24 Jun 2025 11:10:02 GMT) Full text and rfc822 format available.

Message #143 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 24 Jun 2025 13:09:12 +0200
> Am 24.06.2025 um 12:42 schrieb Peter Dyballa <Peter_Dyballa <at> Web.DE>:
> 
> So some time before build_script() is called the wrong value is written into the component changed of both files' filevec or curr structs. Let's find out!

It presumingly happens in shift_boundaries().

--
Greetings

  Pete

                  Sorry my terrible English, my native language Lisp





Information forwarded to bug-diffutils <at> gnu.org:
bug#77840; Package diffutils. (Tue, 24 Jun 2025 15:25:01 GMT) Full text and rfc822 format available.

Message #146 received at 77840 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77840 <at> debbugs.gnu.org
Subject: Re: [bug-diffutils] bug#77840: Testing diffutils 3.12 on PPC Mac OS X
 10.4.11, Tiger, produces so many failures
Date: Tue, 24 Jun 2025 17:24:20 +0200
> Am 24.06.2025 um 13:09 schrieb Peter Dyballa <Peter_Dyballa <at> Web.DE>:
> 
> It presumingly happens in shift_boundaries().

No, it does not happen there, because filevec|cmp|curr is not changed. The function reads the component changed but does not write back. It just wastes time? I cannot see that the function's results are saved anywhere and are used somewhere else…

The following function called from diff_2_files() is already build_script() from type declaration of struct change *script. Before, I found that build_script() already uses faulty data, so it's compareseq (), the function that gets called before build_script() and shift_boundaries(), that creates the faulty data values?

--

Greetings

  Pete

A monsoon is a French gentleman.






This bug report was last modified 92 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.