Eric Sunshine a dit: > On Sun, 28 Sep 2003 11:58:54 +0200 (CEST), Akim Demaille wrote: >> Could you make the test case smaller? Are you sure all the tests were >> run with the modified m4? > > I was able to narrow down the "failed with exit status: 139" error to the > following tiny case: > > AC_INIT([crystal], [1], [someone]) > AC_ARG_ENABLE([cpu-specific-optimizations], > [AC_HELP_STRING([--enable-cpu-specific-optimizations=level], > [enable CPU-specific optimizations; recognized levels are no, > minimum or min, maximum or max default MINIMUM; the minimum > one processor will not work with earlier processors for example, Intel > 686-specific code will not work with a 586])], > [], []) > AC_OUTPUT I managed to make it even smaller, and I can now explain why the behavior depends upon the arch. Running the following: m4 <<\EOF changequote([, ]) format([ %-23s ], [[--enable-cpu-specific-optimizations=level],[enable CPU-specific optimizations; recognized levels are no, minimum or min, maximum or max default MINIMUM; the minimum one processor will not work with earlier processors for example, Intel 686-specific code will not work with a 586]]) EOF gives a SEGV on Darwin, while on Debian GNU/Linux, I have the expected output. But the implementation of format depends upon the arch: there are two available. One when #ifdef HAVE_EFGCVT (my case), and the other if not. I'm not fond of fixing this issue which is addressed in newer M4. But at least we learned a lot about this issue, and we can document it. Anyway, people are very unlikely to find it again, now that AC_HELP_STRING is fixed. Thanks a lot!