Skip to content

Conversation

@misonijnik
Copy link
Owner

No description provided.

ccadar and others added 30 commits March 16, 2023 15:54
… C standard, characters should be compared as unsigned chars.
LLVM became more complex, use LLVM's CMake functionality directly instead
of replicating this behaviour in KLEE's build system.

Use the correct build flags provided by LLVM itself.
This is influenced by the way LLVM is built in the first place.

Remove older CMake support (< 3.0).
* Support for Ubuntu 22.04
* Remove support for Python2
* Better separation between sanitizer builds and non-sanitizer builds
* Fix build of metaSMT on newer Ubuntu versions
* Use ninja to build LLVM
* Simplifying building arbitrary LLVM configurations, e.g. different
  LLVM sanitizer builds (MemSan, UBSan, ASan)
* Use MemSan with origin tracking
* Build sqlite3 container correctly
* Add support to provide sqlite3 version number
Former build system provided additional flags for building bitcode while
they were not required, e.g. under BSD or MacOS.
`>>` can fail and sets internal error information in the istream.
Check the state of istream before pushing the value onto the buffer.
* Use Ubuntu 22.04
* Use newer TCMalloc 2.9.1
* use Z3 4.8.15
* Use SQLite 3400100
* Use Ubuntu 22.04 instead of 18.04
* Use LLVM 11 instead of 9
* Use TCMalloc 2.9.1
* Use Z3 4.8.15
* Use Sqlite3 3400100

Clean-up comments and structure to satisfy yaml linter
... for LLVM 14 in [1] and has already been removed from the LLVM 15
branch in [2].

Some changes are only temporary to silence the warning though, as
Type::getPointerElementType() is planned to be removed as well. [3]

[1] https://reviews.llvm.org/D117885/new/
[2] llvm/llvm-project@d593cf7
[3] https://llvm.org/docs/OpaquePointers.html#migration-instructions
LLVM 14 has introduced the noundef function argument attribute.
Previously, the code did two consecutive checks.  First one succeeded
only if the given index was not already seen and the second one did
an analogous check but for arrays.  However, if the given index usage
was already detected for some array, its usage for another array that
already had some other index detected would be silently skipped and the
`incompatible` flag would not be set.

Therefore, if the code contained e.g. the following conditional jump on two
arrays with two symbolic indices, the multi-index access would remain
undetected:

if ((array1[k] + array2[x] + array2[k]) == 0)

Resulting in the following output:

KLEE: WARNING: OPT_I: infeasible branch!
KLEE: WARNING: OPT_I: successful
Ignore test in the first place, if no 32bit is enabled.
Under 64bit architecture, a ptr-error might be found.
Ignore this for now.
This is the default version for Ubuntu 20.04 and should be available
for most distributions.

Moreover this should allow to move STP forward with their changes.

(stp/stp#375 (comment))
ccadar and others added 24 commits April 7, 2024 20:40
- set default shell to bash

klee#1713 (comment)
To mitigate the following warning:

```
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
```
…piler does not generate a call to __ubsan_handle_invalid_builtin. This seems to be an issue with Clang rather than KLEE.
Klee-replay references PATH_MAX, but the corresponding
header <limits.h> was not included.
This patch adds files p-{clang,llvm,libcxx}-linux-debian.inc; this
will greatly speed-up Debian & Arch builds when LLVM has been
installed via the distribution-specific packages.

Remove the extra "lib*" directory level in `install_libcxx()` when
building form LLVM version < 14. At least on Debian, using LLVM 13.0
from the apt repos, this doesn't exist & breaks bitcode extraction.
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shellcheck found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@misonijnik misonijnik force-pushed the misonijnik/write-xml-testcases branch from 2f30b7a to 0562059 Compare July 9, 2024 23:28
@misonijnik misonijnik force-pushed the misonijnik/write-xml-testcases branch from 0562059 to f6d4fef Compare July 9, 2024 23:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.