Age | Commit message (Collapse) | Author |
|
RaiseAsm always created a target machine for the host target and not for
the bitcode one. Therefore, KLEE could crash on i686 bitcode as x86_64
target machine cannot be used to raise i686 assembly.
Fixes:
LLVM ERROR: 64-bit code requested on a subtarget that doesn't support it!
|
|
|
|
platforms
|
|
.. so that `linux` is not a defined macro.
Without the `-std=c99` option, linux is an implicitly defined macro so all
such substrings in the given path will be replaced with `1` during
stringification. Unfortunately, Fedora's rpmbuild uses
`x86_64-redhat-linux-gnu` as a build directory for all CMake projects which
leads to a failure due to a change to `x86_64-redhat-1-gnu`.
Fixes: #1424
|
|
This test started to fail on LLVM 13 because FileCheck switched the
default setting regarding the allowance of unused prefixes. This is now
considered to be a fatal error.
|
|
Codecov depends on git to detect the SHA sum of the repository.
Install as a dependency.
|
|
The vector variants are not implemented at the moment.
See: https://reviews.llvm.org/D84125
Co-authored-by: Lukas Zaoral <lzaoral@redhat.com>
Co-authored-by: Martin Nowack <m.nowack@imperial.ac.uk>
|
|
See: https://reviews.llvm.org/D75670
|
|
The vector variants are not implemented at the moment.
See: https://reviews.llvm.org/D84125
Co-authored-by: Lukas Zaoral <lzaoral@redhat.com>
Co-authored-by: Martin Nowack <m.nowack@imperial.ac.uk>
|
|
|
|
|
|
|
|
... and has already been removed from the LLVM 13 source tree.
See:
https://reviews.llvm.org/D78127
https://reviews.llvm.org/D95570
|
|
|
|
Before, we reused the llvm::Function* value in the target program,
even though it stems from KLEE's own address space. This leads to
non-deterministic function pointers, even with --allocate-determ.
This issue was identified in the MoKLEE paper. Now, we allocate a
memory object per function, for its (potentially) deterministic
address. Mapping this address back to llvm::Functions is done by
the legalFunctions map.
Also, pointer width now depends on the target, not the host.
|
|
Part of the test was already disabled in the initial checkin.
However, we do support function pointers if they are restricted to
one or more possible values.
|
|
|
|
|
|
stats when not dumping states
|
|
|
|
|
|
Only absolute times were displayed, and were marked as %.
Fixes CexCacheTime, ForkTime and ResolveTime columns.
|
|
performed with one expressed in terms of number of forks.
|
|
|
|
|
|
reached
|
|
the MaxStatic*Pct checks are performed.
|
|
|
|
Some Linux distributions, e.g. Fedora, do not install the unversioned Python
binary by default and Python 2 has been dead for more than a year.
|
|
Increase the size of the buffer to PATH_MAX in create_link as that is the
maximal possible length of fname and check whether output truncation occurred.
Fixes:
tools/klee-replay/file-creator.c: In function 'create_file':
tools/klee-replay/file-creator.c:55:31: warning: '%s' directive output may be truncated writing up to 4095 bytes into a region of size 64 [-Wformat-truncation=]
55 | snprintf(buf, sizeof(buf), "%s.lnk", fname);
| ^~
......
344 | target = tmpname;
| ~~~~~~~
In file included from /usr/include/stdio.h:866,
from tools/klee-replay/file-creator.c:16:
/usr/include/bits/stdio2.h:70:10: note: '__snprintf_chk' output between 5 and 4100 bytes into a destination of size 64
70 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 | __bos (__s), __fmt, __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
It may happen that some older instance of klee is already present
in PATH. All tests that call plain klee instead of %klee may use
it and then unexpectedly fail.
This commit will make all tests that rely on klee tools being
explicitly in PATH fail in our CI. From now on, only LLVM tools,
FileCheck and not will be in lit's PATH.
|
|
CMake 3.19+ started to issue warnings if this policy is set to OLD:
CMake Deprecation Warning at test/CMakeLists.txt:143 (cmake_policy):
The OLD behavior for policy CMP0026 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
|
|
`make uninstall` is enabled.
Without this, uninstalling was done manually with `rm` command.
|
|
|
|
|
|
Fixes:
CMake Warning (dev) at CMakeLists.txt:478 (set):
implicitly converting 'String' to 'STRING' type.
This warning is for project developers. Use -Wno-dev to suppress it.
|
|
|
|
commit 8ed005daf0ab of glibc-2.33 (Remove stat wrapper functions, move
them to exported symbols) removed renames of `__fxstat`, `__xstat`, and
`__lxstat` to `__fxstat64`, `__xstat64`, and `__lxstat64`, respectively.
But we relied on the renames to build `fd_64.c` properly. With glibc
2.33, we now see link failures of the POSIX runtime:
error: Linking globals named '__xstat': symbol multiply defined!
Rename the functions using `__REDIRECT_NTH` in the code as
`__USE_FILE_OFFSET64` case (which we define at the top of the file by
`#define _FILE_OFFSET_BITS 64`) did exactly that.
Fixes #1384.
|
|
__cxa_throw and __cxa_rethrow were not handled by special function handlers in
the final version of #966 (which introduced support for C++ exception handling)
|
|
otherwise, it is hard to tell whether EH support is available or not
|
|
restoring old behavior without EH support
|
|
|
|
* failing malloc was not handled before, now returns null/ENOMEM
* when path is non-null and size is zero return null/EINVAL
|
|
|
|
|
|
|
|
|
|
|
|
- `-DNDebug` -> `-DNDEBUG`
- different flags for `Release{+Debug,}+Asserts`
- `-g` is no longer part of common flags
- `-D_DEBUG` is now only set for debug builds
- removed unused `LIB_BC_FLAGS_{32,64}`
- added example, architecture prefix for specific flags
|