[EMAIL PROTECTED] writes:
> Package: gcc-3.3
> Version: 1:3.3.4-3
> Severity: critical
> 
> With the option -mpreferred-stack-boundary=2, gcc 3.3.4 is miscompiling
> automatic dynamic arrays.  Unfortunately both are used in the
> crypto/IPsec subsystems of the Linux kernel.

I assume the complete flags are -O2 -mpreferred-stack-boundary=2 ? Can
you provide a workaround for the kernel source?

> Here is a sample program:
> 
> #include <string.h>
> 
> int bar(char *s);
> 
> int foo(char *s, int len, int x)
> {
>       char buf[x ? len : 0];
> 
>       if (x) {
>               memcpy(buf, s, len);
>               s = buf;
>       }
> 
>       return bar(s);
> }


Reply via email to