Re: Autoconf 2.57d instability

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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!



[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux