Hello, klee developers and users,
This may be useful:
According to LLVM-2.8 Release Notes (klee section) there has been added
"long double" support to klee.
But there is still a case (on x86_64) of using long double with va_list
construct
which leads to false bug report: "KLEE: ERROR: memory error: out of bound
pointer"
This also leads to false bug report in printf (coreutils) with input -%*E
Details:
LLVM: 2.8
Klee: the latest svn version (Revision 126130)
Architecture: x86_64
OS: Ubuntu 10.10
//:------------------------------------------
#include <stdarg.h>
#include <assert.h>
void variadic_func(char anything, ...) {
va_list args;
va_start (args, anything);
klee_warning("------call to va_arg (args, int)..");
int i = va_arg (args, int);
klee_warning("OK\n");
klee_warning("------call to va_arg (args, long double)..");
long double ld = va_arg (args, long double);
klee_warning("OK\n");
assert(i != 0 && ld != 0); //avoid optimization of values
va_end (args);
}
int main(int argc, char** argv) {
variadic_func('T', (int)1, (long double)99.);
return 0;
}
//:~------------------------------------------
--
Best regards,
Ayrat Khalimov
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://keeda.Stanford.EDU/pipermail/klee-dev/attachments/20110223/c7b24a32/attachment.html