[Flac-dev] AMD debugging test files available

Matt Zimmerman mdz at debian.org
Sat Aug 17 08:41:02 PDT 2002

On Sat, Aug 17, 2002 at 08:03:53AM -0700, Josh Coalson wrote:

> --- Matt Zimmerman <mdz at debian.org> wrote:
> > 
> > I am able to reproduce this on my system.  I am of course using the
> > same
> > Debian packaged binary, and the test files from the bug tracker.  It
> > does
> > not happen every time.  Sometimes I can get the failure in a few
> > tries, and
> > sometimes I run several hundred iterations with no problems.
> In wierd way this is almost a relief.  :)

Don't be too relieved...my system has also begun to exhibit other odd
symptoms just recently.  After many months of stability, I am experiencing
random hangs.  I ran a memtest86 yesterday, and the test turned up many
errors.  The errors seem to occur in many areas of memory, though, across
both memory modules that I have installed.  I am not overclocking or
anything else questionable, though during the summer months my apartment has
gotten rather warm due to lack of air conditioning.

> These are the things I would suspect, in order:
> * 3DNOW code (configure --enable-3dnow, turned off by default,
>   but I'm not sure how the package was built)
> * Other IA32 assembly code (on by default)
> * gcc -march=? (AMD-specific optimizations?)

The package is built to work on all i386+ systems, so 3dnow is disabled,
and CFLAGS=-O2.

The final command lines end up looking like this:

/bin/sh ../../libtool --mode=compile gcc -DPACKAGE=\"flac\" -DVERSION=\"1.0.3\" -DHAVE_DLFCN_H=1 -DHAVE_GETOPT_LONG=1 -DFLAC__CPU_IA32=1 -DFLAC__ALIGN_MALLOC_DATA=1 -DFLAC__HAS_OGG=1 -DFLAC__HAS_NASM=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8  -I. -I.      -I../.. -I./include -I../../include -O2 -O3 -DNDEBUG -fomit-frame-pointer -funroll-loops -finline-functions -Wall -W -Winline -DFLaC__INLINE=__inline__  -c bitbuffer.c

And now that I notice it, your -O3 is overriding my -O2. :-/  I really want
-O2, as this is recommended policy for Debian packages.  I seem to recall
that this worked correctly in earlier releases, but it looks like you've
reorganized the CFLAGS stuff in configure.in since then.

I'm running a test now with a binary built with --enable-debug
--disable-asm-optimizations, and so far I have seen no failures after
several hundred iterations.

> * Pointer aliasing vs. gcc3 (I would think this would show up
>   on other architectures.  I have not built with gcc3 yet.
>   The pointer aliasing rules are new to me; there is pointer
>   aliasing in flac and the plugins)

The Debian packages are built with gcc version 2.95.4 20011002 (Debian
prerelease), which has proven extremely robust and reliable (including
building the Debian Linux kernels on i386).

Some other Debian architectures use gcc 3.x by default, but not i386.

 - mdz

More information about the Flac-dev mailing list