Skip to content

Tags: paulhdk/llvm-project

Tags

ddd-x86-poc

Toggle ddd-x86-poc's commit message
DynDepChecker x86 PoC (#15)

* WIP AddrDep: fix diagnostic warnings

* AddrDep: formatting

* AddrDep: rename variables in addAddrDep()

* AddrDep: add PC sections with ADBs and ADEs for all dependencies

There are two PC sections, one for ADBs and one for ADEs. Each entry
holds the address of the instruction it was attached to as well as a
hash of the dependency's string ID. The hash value connects entries in
the two PC sections.

* AddrDep: rename isADBBroken() -> wasADBPreserved()

* AddrDep: if an element was inserted, make addBrokenEnding() return a pointer to it. Nullptr otherwise.

* AddrDep: add infrastructure for delegating dependencies to DynDepChecker

For now, this only happens for a hard-coded ID

* AddrDep: delegate rr_addr_dep_begin_simple to DynDepChecker

* AddrDep: remove llvm::Optional header

* AddrDep: Fix handling of non-traversable functions

The analysis falsely skipped non-traversable functions even if they had a
PTR-level value running into them.

Fix this s.t. only void intrinsics, receiving a PTE-level dep chain value
through a function argument are marked as safe. In any other case where a
PTE-level value runs into a non-traversable function, the dep chain must be
thrown away in favour of avoiding false positives.

This commit fixes bd4d17a

* AddrDep: simplify (and fix) if-condition in handleCall()

* build: enable x86 backend

* nix: set $LD_LIBRARY_FLAGS

* AddrDep: fix possibility of returning too early in visitReturnInst()

* AddrDep: remove debug print

* AddrDep: remove one '-' when reporting to make headers and footers fit
on one 80-char line

* ddd: introduce addPCSectionEntriesForDepOrdering()

* ddd: modify condition for delegating to dynamic analysis (debug)

* ddd-debug: remove requirement line + column requirement when delegating to ddd

llvmorg-17.0.0-rc3

Toggle llvmorg-17.0.0-rc3's commit message

Verified

This tag was signed with the committer’s verified signature.
tru Tobias Hieta
LLVM 17.0.0-rc3 Release

llvmorg-17.0.0-rc2

Toggle llvmorg-17.0.0-rc2's commit message

Verified

This tag was signed with the committer’s verified signature.
tru Tobias Hieta
LLVM 17.0.0-rc2 Release

llvmorg-17.0.0-rc1

Toggle llvmorg-17.0.0-rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
tru Tobias Hieta
LLVM 17.0.0-rc1 Release

llvmorg-18-init

Toggle llvmorg-18-init's commit message

Verified

This tag was signed with the committer’s verified signature.
tru Tobias Hieta
LLVM 18.0.0 start tag

llvmorg-16.0.6

Toggle llvmorg-16.0.6's commit message

Verified

This tag was signed with the committer’s verified signature.
tstellar Tom Stellard
Tag 16.0.6

llvmorg-16.0.5

Toggle llvmorg-16.0.5's commit message

Verified

This tag was signed with the committer’s verified signature.
tstellar Tom Stellard
Tag 16.0.5

llvmorg-16.0.4

Toggle llvmorg-16.0.4's commit message

Verified

This tag was signed with the committer’s verified signature.
tstellar Tom Stellard
Tag 16.0.4

llvmorg-16.0.3

Toggle llvmorg-16.0.3's commit message

Verified

This tag was signed with the committer’s verified signature.
tstellar Tom Stellard
Tag 16.0.3

llvmorg-16.0.2

Toggle llvmorg-16.0.2's commit message

Verified

This tag was signed with the committer’s verified signature.
tstellar Tom Stellard
Tag 16.0.2