[cfe-dev] Illegal instruction problem
Philip Ashmore
contact at philipashmore.com
Sun Nov 27 18:02:15 PST 2011
Hi there.
I've just committed new versions of some of my packages in SourceForge:
v3c-2.2.0-01
treedb-1.2.0-02
meta-treedb-1.3.0-03
I've got a problem with the release build (which uses -03 optimisation)
of treedb.
The "fuse" tests fail with an illegal instruction fault.
This is with llvm/clang 2.9.svn-r145196.
They work fine with the debug build (-O0 optimisation).
Debug and release builds test fine with gcc.
I made a lot of changes to get this to even compile with clang, as it's
more picky,
and this process helped me clean up warnings and even find the odd bug.
I know you'd prefer if I provided stand-alone code to demonstrate the
problem, but
building and installing v3c (which treedb needs) with treedb in a
"sandbox" takes
about 5 minutes on a modern machine, and that includes the time to
download them
from SourceForge.
The problem is reproducible.
"$" denotes the command prompt for typing commands
STEPS:
1. install fuse-dev
The fuse tests need fuse-dev installed or they will be skipped.
2. download and unpack v3c and treedb from SourceForge.
3. type
$ v3c_default_build_mode=release bash v3c/v3c-tryout treedb-1.2.0-02
tryout
from the directory that contains the v3c and treedb directories.
4. When it's done type
$ tryout/enter-env
which will take you into a shell with the environment set up to play
around.
You'll notice that the command prompt changes to remind you you're
in a sandbox.
5. Then type
$ cd treedb-1.2.0-02; make release check
and after a minute or two you'll get to the error.
Regards,
Philip Ashmore
More information about the cfe-dev
mailing list