- Enable C++20 on both Windows and Linux
- Remove unnecessary set_property calls to silence LOCATION warnings
- Replace duplicate -fPIC flags with INTERFACE_POSITION_INDEPENDENT_CODE
- Set FETCHCONTENT_BASE_DIR to speed up sleigh and ghidra-fork downloads/builds
- fixed: Does not match the generator used previously: Unix Makefiles,use ninja instead
Remill tries to infer the proper type of an argument for a semantic function.
If the argument is unused that won't work and yields wrong results.
However, in that case, it doesn't matter what's passed,
as nobody uses the value, so passing undef works and prevents issues.
* Change Docker name and ignore tests on aarch64
* Remove architecture indicator from Docker image name
* Remove unused ARCH arg in Dockerfile
* Update Docker image CI job
* Update Docker info in README
* initial WIP sleigh based SPARC32 arch
* add install option to build script
* fix register names
* fix incorrect index into current_bytes in loadFill implementation
* add didrestore register
* dlog register adding
* ignore categories
* remove decompile_mode from llvm
* fix register mapping for flags
* remove nextpc/npc since it doesn't appear to be used and breaks anvill
* overlay NPC with NEXT_PC
* remove next_pc correctly since it was still breaking stuff
* Don't mark instruction as "invalid" when we can't determine a control
flow category
* fix pcode cfg for calls and branches
* add double registers to sparc state structure
* match up with ghidra register names
* fix missing header
* add starts for blocks after control flow ops to guarentee a block split for a term
* remove sparc64_sleigh, fix initialization order
* lift floating point numbers using ghidra names
---------
Co-authored-by: Alex Cameron <asc@tetsuo.sh>
Co-authored-by: 2over12 <ian.smith@trailofbits.com>
* llvm 17 fix
* more instances
* more fixes
* add inline
* bump ci
* bump cxx common
* add 17 case
* bump xcode version
* macos 13
* xcode 15
* bump docker to llvm 17
* change actual matrix value
* opaque pointers are the default now
* actually remove the option
* debug size
* install tree
* fix install
* fix install?
* get tree after
* build dir?
* tree above
* accumulate
* bug?
* try to remove intermediate packaging
* fix opt
* only inline
* give up on function inlining
* llvm 17
* remove debug tasks
* Update scripts/build.sh
Co-authored-by: William Tan <1284324+Ninja3047@users.noreply.github.com>
* Revert "Update scripts/build.sh"
This reverts commit 6c727a539d.
* debug
* try clear out old build
* retest
* try to save more space
* up
* Clear space and don't use cxx-common docker image (#689)
* Clear space and don't use cxx-common docker image
* Run on all PRs
* Fix perms
* Remove some unnecessary apt commands
* Install LLVM version as root
* Allow writing to external target
* Build before running tests
* Install with sudo
* Simplify with container volume mounts
---------
Co-authored-by: William Tan <1284324+Ninja3047@users.noreply.github.com>
Co-authored-by: Eric Kilmer <eric.d.kilmer@gmail.com>
* add sleigh state
* remove bad include
* add volatile
* dont run tests in docker deploys
* remove ccache
* Revert "remove ccache"
This reverts commit 221b70a1bc.
* Revert "dont run tests in docker deploys"
This reverts commit 72229acd6e.
* disable packaging in dockerfile
* fix block packagingA
* fix syntax
* Fix compilation with GCC
Fixes a few errors reported by GCC and not Clang
1. "non-trivial designated initializers not supported"
- Fixed by adding array entries that were missing initializers and
reordering
2. "Cannot bind packed field"
- This fixes arrays missing initializers for some entries. This
isn't the greatest fix because instead of using a reference, we
use a pointer, which is basically the same thing, but it is
checked less strictly. I think a real fix would be to remove the
'packed' annotations.
* Add GCC to CI