In trying to update from m4-1.4.17 to m4-1.4.18, I encountered a number on new testsuite fails. There were no test fails with 1.4.17. Both versions were configured identically and used the same build compiler. I suspect the problem is with gnulib update. The generated config.h files are quite different.
Here is the test log. As can be seen, there are cases where 'm4' changes to '?'. Everything looks like problems in handling the standard output files. Dave nohup: ignoring input GEN public-submodule-commit make check-recursive make[1]: Entering directory '/xxx/gnu/m4-1.4.18/objdir' Making check in . make[2]: Entering directory '/xxx/gnu/m4-1.4.18/objdir' make[2]: Nothing to be done for 'check-am'. make[2]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir' Making check in examples make[2]: Entering directory '/xxx/gnu/m4-1.4.18/objdir/examples' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir/examples' Making check in lib make[2]: Entering directory '/xxx/gnu/m4-1.4.18/objdir/lib' make check-am make[3]: Entering directory '/xxx/gnu/m4-1.4.18/objdir/lib' make[3]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir/lib' make[2]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir/lib' Making check in src make[2]: Entering directory '/xxx/gnu/m4-1.4.18/objdir/src' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir/src' Making check in doc make[2]: Entering directory '/xxx/gnu/m4-1.4.18/objdir/doc' make[2]: Nothing to be done for 'check'. make[2]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir/doc' Making check in checks make[2]: Entering directory '/xxx/gnu/m4-1.4.18/objdir/checks' make check-local make[3]: Entering directory '/xxx/gnu/m4-1.4.18/objdir/checks' PATH=`pwd`/../src":"$PATH; export PATH; \ ../../checks/check-them -I ../../checks/../examples ../../checks/*[0-9][0-9][0-9].* ../../checks/stackovf.test m4 (GNU M4) 1.4.18 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://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 Rene' Seindal. Checking ../../checks/001.preprocess Checking ../../checks/002.debugging_ Checking ../../checks/003.command_li Checking ../../checks/004.command_li Checking ../../checks/005.command_li Checking ../../checks/006.command_li Checking ../../checks/007.command_li Checking ../../checks/008.comments Checking ../../checks/009.comments Checking ../../checks/010.input_proc Checking ../../checks/011.input_proc Checking ../../checks/012.inhibiting Checking ../../checks/013.inhibiting Checking ../../checks/014.inhibiting Checking ../../checks/015.inhibiting Checking ../../checks/016.inhibiting Checking ../../checks/017.inhibiting Checking ../../checks/018.inhibiting Checking ../../checks/019.inhibiting Checking ../../checks/020.macro_argu Checking ../../checks/021.macro_argu Checking ../../checks/022.macro_argu Checking ../../checks/023.macro_argu Checking ../../checks/024.macro_argu Checking ../../checks/025.quoting_ar Checking ../../checks/026.macro_expa Checking ../../checks/027.macro_expa Checking ../../checks/028.define Checking ../../checks/029.define Checking ../../checks/030.define Checking ../../checks/031.arguments Checking ../../checks/032.arguments Checking ../../checks/033.arguments Checking ../../checks/034.arguments Checking ../../checks/035.arguments Checking ../../checks/036.arguments Checking ../../checks/037.pseudo_arg Checking ../../checks/038.pseudo_arg Checking ../../checks/039.pseudo_arg Checking ../../checks/040.pseudo_arg Checking ../../checks/041.pseudo_arg Checking ../../checks/042.pseudo_arg Checking ../../checks/043.pseudo_arg Checking ../../checks/044.pseudo_arg Checking ../../checks/045.pseudo_arg Checking ../../checks/046.undefine Checking ../../checks/047.undefine Checking ../../checks/048.defn Checking ../../checks/049.defn Checking ../../checks/050.defn Checking ../../checks/051.defn Checking ../../checks/052.defn Checking ../../checks/053.defn @ ../doc/m4.texi:2350: Origin of test ../../checks/053.defn: status was 2, expected 0 @ ../doc/m4.texi:2350: Origin of test ../../checks/053.defn: stdout mismatch --- m4-tmp.12547/m4-xout 2020-02-06 13:11:56 +0000 +++ m4-tmp.12547/m4-out 2020-02-06 13:11:56 +0000 @@ -1,4 +1 @@ - -0 -0 @ ../doc/m4.texi:2350: Origin of test ../../checks/053.defn: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:11:56 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:11:56 +0000 @@ -1 +1,2 @@ -m4:stdin:2: Warning: define: invalid macro name ignored +m4: unable to display error message: Illegal byte sequence +m4: internal error detected; please report this bug to <bug-m4@gnu.org>: Aborted Checking ../../checks/054.defn @ ../doc/m4.texi:2367: Origin of test ../../checks/054.defn: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:11:56 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:11:56 +0000 @@ -1,6 +1,6 @@ -m4:stdin:3: Warning: cannot concatenate builtin `divnum' +?:stdin:3: Warning: cannot concatenate builtin `divnum' m4trace: -1- defn(`a', `divnum', `a') -> ``A'`A'' -m4:stdin:4: Warning: cannot concatenate builtin `divnum' -m4:stdin:4: Warning: cannot concatenate builtin `divnum' +?:stdin:4: Warning: cannot concatenate builtin `divnum' +?:stdin:4: Warning: cannot concatenate builtin `divnum' m4trace: -2- defn(`divnum', `divnum') m4trace: -1- define(`mydivnum', `') Checking ../../checks/055.pushdef Checking ../../checks/056.pushdef Checking ../../checks/057.indir Checking ../../checks/058.indir @ ../doc/m4.texi:2525: Origin of test ../../checks/058.indir: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:11:57 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:11:57 +0000 @@ -1 +1 @@ -m4:stdin:4: undefined macro `f' +?:stdin:4: undefined macro `f' Checking ../../checks/059.indir @ ../doc/m4.texi:2543: Origin of test ../../checks/059.indir: status was 2, expected 0 @ ../doc/m4.texi:2543: Origin of test ../../checks/059.indir: stdout mismatch --- m4-tmp.12547/m4-xout 2020-02-06 13:11:57 +0000 +++ m4-tmp.12547/m4-out 2020-02-06 13:11:57 +0000 @@ -1,5 +0,0 @@ - - - -0 - @ ../doc/m4.texi:2543: Origin of test ../../checks/059.indir: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:11:57 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:11:57 +0000 @@ -1,3 +1,2 @@ -m4:stdin:1: Warning: indir: invalid macro name ignored -m4:stdin:2: Warning: define: invalid macro name ignored -m4:stdin:5: empty string treated as 0 in builtin `divert' +m4: unable to display error message: Illegal byte sequence +m4: internal error detected; please report this bug to <bug-m4@gnu.org>: Aborted Checking ../../checks/060.builtin Checking ../../checks/061.builtin @ ../doc/m4.texi:2614: Origin of test ../../checks/061.builtin: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:11:57 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:11:57 +0000 @@ -1,2 +1,2 @@ -m4:stdin:2: undefined builtin `m4_divnum' -m4:stdin:3: undefined macro `divnum' +?:stdin:2: undefined builtin `m4_divnum' +?:stdin:3: undefined macro `divnum' Checking ../../checks/062.builtin Checking ../../checks/063.builtin Checking ../../checks/064.builtin Checking ../../checks/065.ifdef Checking ../../checks/066.ifelse Checking ../../checks/067.ifelse Checking ../../checks/068.ifelse Checking ../../checks/069.ifelse Checking ../../checks/070.ifelse Checking ../../checks/071.shift Checking ../../checks/072.shift Checking ../../checks/073.shift Checking ../../checks/074.shift Checking ../../checks/075.shift Checking ../../checks/076.shift Checking ../../checks/077.shift Checking ../../checks/078.shift Checking ../../checks/079.forloop Checking ../../checks/080.forloop Checking ../../checks/081.forloop Checking ../../checks/082.foreach Checking ../../checks/083.foreach Checking ../../checks/084.foreach Checking ../../checks/085.foreach Checking ../../checks/086.foreach Checking ../../checks/087.foreach Checking ../../checks/088.stacks Checking ../../checks/089.stacks Checking ../../checks/090.compositio Checking ../../checks/091.compositio Checking ../../checks/092.compositio Checking ../../checks/093.compositio Checking ../../checks/094.dumpdef Checking ../../checks/095.dumpdef @ ../doc/m4.texi:3776: Origin of test ../../checks/095.dumpdef: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:01 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:01 +0000 @@ -1,2 +1,2 @@ f: ``$0'1' -m4:stdin:3: undefined macro `f' +?:stdin:3: undefined macro `f' Checking ../../checks/096.trace Checking ../../checks/097.trace @ ../doc/m4.texi:3847: Origin of test ../../checks/097.trace: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:01 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:01 +0000 @@ -2,4 +2,4 @@ m4trace: -3- ifelse m4trace: -2- ifelse m4trace: -1- ifelse -m4:stdin:3: recursion limit of 3 exceeded, use -L<N> to change it +?:stdin:3: recursion limit of 3 exceeded, use -L<N> to change it Checking ../../checks/098.trace Checking ../../checks/099.trace Checking ../../checks/100.trace Checking ../../checks/101.debug_leve Checking ../../checks/102.debug_leve Checking ../../checks/103.debug_leve Checking ../../checks/104.debug_outp Checking ../../checks/105.dnl Checking ../../checks/106.dnl @ ../doc/m4.texi:4194: Origin of test ../../checks/106.dnl: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:02 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:02 +0000 @@ -1 +1 @@ -m4:stdin:1: Warning: excess arguments to builtin `dnl' ignored +?:stdin:1: Warning: excess arguments to builtin `dnl' ignored Checking ../../checks/107.dnl @ ../doc/m4.texi:4205: Origin of test ../../checks/107.dnl: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:02 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:02 +0000 @@ -1 +1 @@ -m4:stdin:1: Warning: end of file treated as newline +?:stdin:1: Warning: end of file treated as newline Checking ../../checks/108.changequot Checking ../../checks/109.changequot Checking ../../checks/110.changequot Checking ../../checks/111.changequot Checking ../../checks/112.changequot Checking ../../checks/113.changequot Checking ../../checks/114.changequot Checking ../../checks/115.changequot Checking ../../checks/116.changequot Checking ../../checks/117.changequot Checking ../../checks/118.changequot Checking ../../checks/119.changecom Checking ../../checks/120.changecom Checking ../../checks/121.changecom Checking ../../checks/122.changecom Checking ../../checks/123.changecom Checking ../../checks/124.changecom Checking ../../checks/125.changeword skipping: no changeword support Checking ../../checks/126.changeword skipping: no changeword support Checking ../../checks/127.changeword skipping: no changeword support Checking ../../checks/128.changeword skipping: no changeword support Checking ../../checks/129.changeword skipping: no changeword support Checking ../../checks/130.changeword skipping: no changeword support Checking ../../checks/131.m4wrap Checking ../../checks/132.m4wrap Checking ../../checks/133.m4wrap Checking ../../checks/134.m4wrap Checking ../../checks/135.m4wrap Checking ../../checks/136.m4wrap Checking ../../checks/137.include @ ../doc/m4.texi:5023: Origin of test ../../checks/137.include: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:06 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:06 +0000 @@ -1,2 +1,2 @@ -m4:stdin:1: cannot open `none': No such file or directory -m4:stdin:2: cannot open `': No such file or directory +?:stdin:1: cannot open `none': No such file or directory +?:stdin:2: cannot open `': No such file or directory Checking ../../checks/138.include Checking ../../checks/139.include Checking ../../checks/140.include Checking ../../checks/141.include Checking ../../checks/142.include Checking ../../checks/143.diversions @ ../doc/m4.texi:5180: Origin of test ../../checks/143.diversions: status was 2, expected 0 @ ../doc/m4.texi:5180: Origin of test ../../checks/143.diversions: stdout mismatch --- m4-tmp.12547/m4-xout 2020-02-06 13:12:08 +0000 +++ m4-tmp.12547/m4-out 2020-02-06 13:12:07 +0000 @@ -1,2 +0,0 @@ -1048576 -bye @ ../doc/m4.texi:5180: Origin of test ../../checks/143.diversions: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:08 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:08 +0000 @@ -0,0 +1 @@ +m4: internal error detected; please report this bug to <bug-m4@gnu.org>: Segmentation fault Checking ../../checks/144.diversions @ ../doc/m4.texi:5217: Origin of test ../../checks/144.diversions: status was 2, expected 0 @ ../doc/m4.texi:5217: Origin of test ../../checks/144.diversions: stdout mismatch --- m4-tmp.12547/m4-xout 2020-02-06 13:12:09 +0000 +++ m4-tmp.12547/m4-out 2020-02-06 13:12:08 +0000 @@ -1 +0,0 @@ -1048576 @ ../doc/m4.texi:5217: Origin of test ../../checks/144.diversions: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:09 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:08 +0000 @@ -0,0 +1 @@ +m4: internal error detected; please report this bug to <bug-m4@gnu.org>: Segmentation fault Checking ../../checks/145.diversions Checking ../../checks/146.diversions Checking ../../checks/147.divert Checking ../../checks/148.divert Checking ../../checks/149.divert Checking ../../checks/150.divert Checking ../../checks/151.divert Checking ../../checks/152.undivert Checking ../../checks/153.undivert Checking ../../checks/154.undivert Checking ../../checks/155.undivert Checking ../../checks/156.undivert Checking ../../checks/157.undivert Checking ../../checks/158.divnum Checking ../../checks/159.cleardiver Checking ../../checks/160.cleardiver Checking ../../checks/161.len Checking ../../checks/162.index_macr Checking ../../checks/163.index_macr Checking ../../checks/164.index_macr Checking ../../checks/165.index_macr Checking ../../checks/166.regexp Checking ../../checks/167.regexp Checking ../../checks/168.regexp Checking ../../checks/169.substr Checking ../../checks/170.substr Checking ../../checks/171.translit Checking ../../checks/172.translit Checking ../../checks/173.translit Checking ../../checks/174.translit Checking ../../checks/175.patsubst Checking ../../checks/176.patsubst Checking ../../checks/177.patsubst Checking ../../checks/178.patsubst Checking ../../checks/179.patsubst Checking ../../checks/180.format @ ../doc/m4.texi:6069: Origin of test ../../checks/180.format: stdout mismatch --- m4-tmp.12547/m4-xout 2020-02-06 13:12:14 +0000 +++ m4-tmp.12547/m4-out 2020-02-06 13:12:14 +0000 @@ -1,8 +1,8 @@ -The string "The brown fox jumped over the lazy dog" uses 38 characters +The string "" uses 38 characters 1 56790 -5000 +0 success success 20 Checking ../../checks/181.format Checking ../../checks/182.format Checking ../../checks/183.format Checking ../../checks/184.incr Checking ../../checks/185.eval Checking ../../checks/186.eval Checking ../../checks/187.eval Checking ../../checks/188.eval Checking ../../checks/189.eval Checking ../../checks/190.eval @ ../doc/m4.texi:6438: Origin of test ../../checks/190.eval: status was 2, expected 0 @ ../doc/m4.texi:6438: Origin of test ../../checks/190.eval: stdout mismatch --- m4-tmp.12547/m4-xout 2020-02-06 13:12:15 +0000 +++ m4-tmp.12547/m4-out 2020-02-06 13:12:15 +0000 @@ -6,6 +6,3 @@ 10 0r1:01111111111 a - - -0 @ ../doc/m4.texi:6438: Origin of test ../../checks/190.eval: stderr mismatch --- m4-tmp.12547/m4-xerr 2020-02-06 13:12:15 +0000 +++ m4-tmp.12547/m4-err 2020-02-06 13:12:15 +0000 @@ -1,3 +1,2 @@ -m4:stdin:9: radix 37 in builtin `eval' out of range -m4:stdin:10: negative width to builtin `eval' -m4:stdin:11: empty string treated as 0 in builtin `eval' +m4: unable to display error message: Illegal byte sequence +m4: internal error detected; please report this bug to <bug-m4@gnu.org>: Aborted Checking ../../checks/191.platform_m Checking ../../checks/192.platform_m Checking ../../checks/193.platform_m Checking ../../checks/194.syscmd Checking ../../checks/195.syscmd Checking ../../checks/196.esyscmd Checking ../../checks/197.sysval Checking ../../checks/198.sysval Checking ../../checks/199.mkstemp Checking ../../checks/200.mkstemp Checking ../../checks/201.mkstemp Checking ../../checks/202.errprint Checking ../../checks/203.location Checking ../../checks/204.location Checking ../../checks/205.location Checking ../../checks/206.m4exit Checking ../../checks/207.m4exit Checking ../../checks/208.using_froz Checking ../../checks/209.using_froz Checking ../../checks/210.using_froz Checking ../../checks/211.extensions Checking ../../checks/212.other_inco Checking ../../checks/213.other_inco Checking ../../checks/214.improved_e Checking ../../checks/215.improved_f Checking ../../checks/216.improved_f Checking ../../checks/217.improved_f Checking ../../checks/218.improved_f Checking ../../checks/219.improved_f Checking ../../checks/220.improved_f Checking ../../checks/221.improved_f Checking ../../checks/222.improved_f Checking ../../checks/223.improved_f Checking ../../checks/224.improved_f Checking ../../checks/225.improved_f Checking ../../checks/226.improved_f Checking ../../checks/227.improved_f Checking ../../checks/228.improved_f Checking ../../checks/229.improved_c Checking ../../checks/230.improved_c Checking ../../checks/231.improved_m Checking ../../checks/232.improved_m Checking ../../checks/233.improved_c Checking ../../checks/234.improved_c Checking ../../checks/235.improved_c Checking ../../checks/236.improved_f Checking ../../checks/stackovf.test Stack soft limit set to 300K Pass Skipped checks were: ../../checks/125.changeword ../../checks/126.changeword ../../checks/127.changeword ../../checks/128.changeword ../../checks/129.changeword ../../checks/130.changeword Failed checks were: ../../checks/053.defn:status ../../checks/053.defn:out ../../checks/053.defn:err ../../checks/054.defn:err ../../checks/058.indir:err ../../checks/059.indir:status ../../checks/059.indir:out ../../checks/059.indir:err ../../checks/061.builtin:err ../../checks/095.dumpdef:err ../../checks/097.trace:err ../../checks/106.dnl:err ../../checks/107.dnl:err ../../checks/137.include:err ../../checks/143.diversions:status ../../checks/143.diversions:out ../../checks/143.diversions:err ../../checks/144.diversions:status ../../checks/144.diversions:out ../../checks/144.diversions:err ../../checks/180.format:out ../../checks/190.eval:status ../../checks/190.eval:out ../../checks/190.eval:err make[3]: *** [Makefile:1621: check-local] Error 1 make[3]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir/checks' make[2]: *** [Makefile:1497: check-am] Error 2 make[2]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir/checks' make[1]: *** [Makefile:1572: check-recursive] Error 1 make[1]: Leaving directory '/xxx/gnu/m4-1.4.18/objdir' make: *** [Makefile:1865: check] Error 2