[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Error with -O3 but not -O2: "Wrong type argument: listp".
From: |
Richard M. Stallman |
Subject: |
Re: Error with -O3 but not -O2: "Wrong type argument: listp". |
Date: |
Sun, 29 Jan 2006 19:57:33 -0500 |
I've encountered errors in temacs, the same one described by Clemens
Schueller, when make bootstrap is run with "-O3" optimization; -O0,
-O1, and -O2 work fine. The errors vary with build options but they
all start with "Wrong type argument: listp":
Wrong type argument: listp, -134393892
Wrong type argument: listp, 0
Wrong type argument: listp, [-134218836 [-134218836 #0 gmake[2]: ***
[bootstrap-emacs] Segmentation fault
Wrong type argument: listp, []
The first step is to run under GDB with a breakpoint at
Fsignal and see where the error is signaled. Then just keep
debugging, tracing things back till you see what caused the
behavior.
What makes this hard is that the bug may not be in the Emacs sources.
It could be that some code was miscompiled.
I can try compiling at -O2 and try out one of the -O3 optimizations at
a time, if that would help.
As evidence, it is unlikely to prove anything. There's no chance
anyone could guess which code is miscompiled just by knowing which
optimization did it. You will still need to find the miscompiled
line by debugging.
The only way that this is likely to help
is if you can turn off some optimization
that impedes understanding of the machine code.
Having it out of the way would make the job easier.