Skip to content

Commit

Permalink
Update to Version 6.0.0-Alpha2 (#2554)
Browse files Browse the repository at this point in the history
* Update changelog for V6.0.0-Alpha1 (#2493)

* update version to v6-alpha1

* update bindings const values

* Update changelog for V6.0.0-Alpha1

* Remove irrelevant changes. (#2495)

* Fixing UB santizer, `LITBASE` and assert errors. (#2499)

* Update labeler with Xtensa and v6 files. (#2500)

* Add hard asserts to all SStream functions and memset MCInst. (#2501)

* Only trigger on released action. (#2497)

* Fix cstest build with Ninja (#2506)

* Tricore EA calculation (#2504)

* Update libcyaml dependency in cstest to 1.4.2 (#2508)

* AArch64: Replace vararg add_cs_detail by multiple concrete functions

Fixes UB caused by various mismatches on how these arguments are passed
and read. This became visible when running on PowerPC hosts with e.g.
`cstool -d aarch64 204862f8`.
Apart from the UB fix, this is meant to be a pure refactor.

Partially addresses #2458

* xtensa: Fix Branch Target (#2516)

* xtensa: Fix Branch Target

* auto-sync: fix byte pattern

* xtensa: add branch insn tests

* Revert "auto-sync: fix byte pattern"

This reverts commit cf8e870.

* Fix #2509. (#2510)

Compatibility headers should always include the header in the same dir.

* Fix stringop-truncation warning some compilers raise. (#2522)

* Add CC and VAS compatibility macros (#2525)

* Fix endianess issue during assignment. (#2528)

* This time actually fix big endian issue. (#2530)

* tricore: fixes #2474 (#2523)

* tricore: fix auto-sync tricore

* tricore: fixes TriCoreGenCSMappingInsnName.inc

* tricore: fixes

* tricore: try fix ld.a SC

* tricore: fixes all

* Add TriCore to .github/workflows/auto-sync.yaml

* Add TriCore details tests(a15, d15, a10|sp)

* Change CI to create Debian Package to Release (#2521)

* Updating CI to create Debian package and version is assigned by tag
version. Also updating release CI to not use end-of-life workflows

* Clear up usage of static libraries.

- Python bindings only use the dynamic lib. But built and copied the static ones sometimes nonetheless.
- Add toggles to build only static, static/dyn or only dynamic.

---------

Co-authored-by: Rot127 <unisono@quyllur.org>

* Rename build arguments: (#2534)

- BUILD_SHARED_LIBS -> CAPSTONE_BUILD_SHARED_LIBS
- BUILD_STATIC_LIBS -> CAPSTONE_BUILD_STATIC_LIBS
- BUILD_STATIC_LIBS -> CAPSTONE_BUILD_STATIC_MSVC_RUNTIME

* xtensa: update to espressif/llvm-project (#2533)

* fix coverity (#2546)

- cid 514642

- cid 514643

- cid 514644

- cid 514645

* Move debian package generation to a dispatch only workflow (#2543)

* Move deb package gen files int package/deb

* Fix basename check

* Make debian package generation dispatch only

* Python package building rework (#2538)

* - Refactored setup.py to remove hacks regarding packaging of wheels for different platforms, improve and cleanup the code
- Updated README.txt
- Removed old Makefile and build_wheel.sh scripts
- Created a new workflow that takes care of building and testing python packages for different platforms/architectures/python versions

* Added SPDX headers to the setup.py

* - cstest_py: Fixed positional argument since it doesn't accept a `required` flag. It turns to have a mandatory tests folder path
- integration_tests.py: Use pathlib to determine the required path
- GitHub action: Simplified the tests execution command

* GitHub Actions: Run python 3.8 (lowest) and 3.13 (current highest) for native runners only during testings and the rest during tag release

* GitHub Action:
- Fixed the cibw_build matrix element
- Added a step to prepare artifact name

* GitHub Action: Added run_tests.py script to run all tests during CI workflow

* - Added SPDX headers to the run_tests.py script and to the build-wheels-publish.yml workflow file
- Minor fixes to the workflow as pointed out in the PR review
- Updated MANIFEST.in to reflect the actual libraries built during python wheel creation process
- Use subprocess.run in place of os.system in run_tests.py script

* GitHub Action:
- Run qemu step only if non-native Linux runner
- Added arch:universal2 matrix element for macos-latest runner

* Python bindings: Refreshed the list of files needed to be copied for sdist archive

* GitHub Action: Commented out arch:x86 matrix elements

* GitHub Action: Run qemu step only if non-native Linux runner

* GitHub Action: Minor fixes

* Python bindings: Added missing .in pattern when collecting src files for sdist archive

* Auto-Sync reproducability + ARM update (#2532)

* fix xtensa DecodeMR23RegisterClass and add tests for MAC16 instru… (#2551)

* fix xtensa `DecodeMR23RegisterClass` and add tests for `MAC16` instructions

* revert

* Prepare for update (#2552)

* Bindings(chore): Fix DeprecationWarning

* Version(upgrade): update bindings const

* Fix(chore): Fix ARMCC_Invalid is not defined

* Update Changelog Version to 6.0.0-Alpha2 (#2553)

* Bindings(chore): Fix DeprecationWarning

* Version(upgrade): update bindings const

* Fix(chore): Fix ARMCC_Invalid is not defined

* Changelog: Update to version 6.0.0-Alpha2

---------

Co-authored-by: Rot127 <45763064+Rot127@users.noreply.github.com>
Co-authored-by: Florian Märkl <info@florianmaerkl.de>
Co-authored-by: billow <billow.fun@gmail.com>
Co-authored-by: Andrew <afq2101@columbia.edu>
Co-authored-by: Rot127 <unisono@quyllur.org>
Co-authored-by: @Antelox <anteloxrce@gmail.com>
  • Loading branch information
7 people authored Nov 24, 2024
1 parent 97db712 commit 66b0843
Show file tree
Hide file tree
Showing 175 changed files with 172,981 additions and 250,958 deletions.
21 changes: 21 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Ignore source control directories
.git
.svn

# Ignore build directories
build
dist

# Ignore dependency directories
node_modules
vendor

# Ignore temporary files
*.log
*.tmp

# Ignore environment files
.env

# Ignore tests
tests
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
/arch/**/*.inc linguist-language=C

# Ensure shell scripts have LF line endings
*.sh text eol=lf
64 changes: 43 additions & 21 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,139 +28,161 @@ ARM:
- cstool/cstool_arm.c
- include/capstone/arm.h
- suite/MC/ARM/**
- tests/test_arm.c
- tests/MC/ARM/**
- tests/details/arm.yaml

AArch64:
- arch/AArch64/**
- cstool/cstool_aarch64.c
- include/capstone/aarch64.h
- include/capstone/arm64.h
- suite/MC/AArch64/**
- tests/test_aarch64.c
- tests/MC/AArch64/**
- tests/details/aarch64.yaml

Alpha:
- arch/Alpha/**
- cstool/cstool_alpha.c
- include/capstone/alpha.h
- suite/MC/Alpha/**
- tests/test_alpha.c
- tests/MC/Alpha/**
- tests/details/alpha.yaml

BPF:
- arch/BPF/**
- cstool/cstool_bpf.c
- include/capstone/bpf.h
- suite/MC/BPF/**
- tests/test_bpf.c
- tests/MC/BPF/**
- tests/details/bpf.yaml

EVM:
- arch/EVM/**
- cstool/cstool_evm.c
- include/capstone/evm.h
- tests/test_evm.c
- tests/details/evm.yaml

HPPA:
- arch/HPPA/**
- cstool/cstool_hppa.c
- include/capstone/hppa.h
- suite/MC/HPPA/**
- tests/test_hppa.c
- tests/MC/HPPA/**
- tests/details/hppa.yaml

LoongArch:
- arch/LoongArch/**
- cstool/cstool_loongarch.c
- include/capstone/loongarch.h
- suite/MC/LoongArch/**
- tests/test_loongarch.c
- tests/MC/LoongArch/**
- tests/details/loongarch.yaml

M680X:
- arch/M680X/**
- cstool/cstool_m680x.c
- include/capstone/m680x.h
- tests/test_m680x.c
- tests/details/m680x.yaml

M68K:
- arch/M68K/**
- cstool/cstool_m68k.c
- include/capstone/m68k.h
- tests/test_m68k.c
- tests/details/m68k.yaml

MOS65XX:
- arch/MOS65XX/**
- cstool/cstool_mos65xx.c
- include/capstone/mos65xx.h
- tests/test_mos65xx.c
- tests/details/mos65xx.yaml

Mips:
- arch/Mips/**
- cstool/cstool_mips.c
- include/capstone/mips.h
- suite/MC/Mips/**
- tests/test_mips.c
- tests/MC/Mips/**
- tests/details/mips.yaml

PowerPC:
- arch/PowerPC/**
- cstool/cstool_powerpc.c
- include/capstone/ppc.h
- suite/MC/PowerPC/**
- tests/test_powerpc.c
- tests/MC/PowerPC/**
- tests/details/ppc.yaml

RISCV:
- arch/RISCV/**
- cstool/cstool_riscv.c
- include/capstone/riscv.h
- suite/MC/RISCV/**
- tests/test_riscv.c
- tests/MC/RISCV/**
- tests/details/riscv.yaml

SH:
- arch/SH/**
- cstool/cstool_sh.c
- include/capstone/sh.h
- tests/test_sh.c
- tests/details/sh.yaml

Sparc:
- arch/Sparc/**
- cstool/cstool_sparc.c
- include/capstone/sparc.h
- suite/MC/Sparc/**
- tests/test_sparc.c
- tests/MC/Sparc/**
- tests/details/sparc.yaml

SystemZ:
- arch/SystemZ/**
- cstool/cstool_systemz.c
- include/capstone/systemz.h
- include/capstone/systemz_compatibility.h
- suite/MC/SystemZ/**
- tests/test_systemz.c
- tests/MC/SystemZ/**
- tests/details/systemz.yaml

TMS320C64x:
- arch/TMS320C6x/**
- cstool/cstool_tms320c64x.c
- include/capstone/tms320x64x.h
- tests/test_tms320c64x.c
- tests/details/tms320c64x.yaml

TriCore:
- arch/TriCore/**
- cstool/cstool_tricore.c
- include/capstone/tricore.h
- suite/MC/Tricore/**
- tests/test_tricore.c
- tests/MC/Tricore/**
- tests/details/tricore.yaml

WASM:
- arch/WASM/**
- cstool/cstool_wasm.c
- include/capstone/wasm.h
- tests/test_wasm.c
- tests/details/wasm.yaml

X86:
- arch/X86/**
- cstool/cstool_x86.c
- include/capstone/x86.h
- suite/MC/X86/**
- tests/test_x86.c
- tests/MC/X86/**
- tests/details/x86.yaml

XCore:
- arch/XCore/**
- cstool/cstool_xcore.c
- include/capstone/xcore.h
- tests/test_xcore.c
- tests/details/xcore.yaml

Xtensa:
- arch/Xtensa/**
- cstool/cstool_xtensa.c
- include/capstone/xtensa.h
- tests/MC/Xtensa/**
- tests/details/xtensa.yaml

python:
- bindings/python/**
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/CITest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ concurrency:

env:
CI: true
UBSAN_OPTIONS: "halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1"
ASAN_OPTIONS: "halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1"
LSAN_OPTIONS: "halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1"

jobs:
Linux:
Expand Down Expand Up @@ -86,10 +89,10 @@ jobs:
mkdir build && cd build
# build static library
cmake -DCAPSTONE_INSTALL=1 -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_ASAN=${asan} -DCAPSTONE_BUILD_DIET=${diet_build} ..
cmake --build . --config Release
cmake --build . --config Debug
# build shared library
cmake -DCAPSTONE_INSTALL=1 -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=/usr -DCAPSTONE_BUILD_CSTEST=ON -DENABLE_ASAN=${asan} ..
sudo cmake --build . --config Release --target install
cmake -DCAPSTONE_INSTALL=1 -DCAPSTONE_BUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=/usr -DCAPSTONE_BUILD_CSTEST=ON -DENABLE_ASAN=${asan} ..
sudo cmake --build . --config Debug --target install
- name: Lower number of KASL randomized address bits
run: |
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/auto-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ jobs:
./src/autosync/ASUpdater.py -d -a Mips -s IncGen
./src/autosync/ASUpdater.py -d -a SystemZ -s IncGen
./src/autosync/ASUpdater.py -d -a Xtensa -s IncGen
./src/autosync/ASUpdater.py -d -a TriCore -s IncGen
- name: CppTranslator - Patch tests
run: |
Expand All @@ -98,3 +99,4 @@ jobs:
./src/autosync/ASUpdater.py --ci -d -a Mips -s Translate
./src/autosync/ASUpdater.py --ci -d -a SystemZ -s Translate
./src/autosync/ASUpdater.py --ci -d -a Xtensa -s Translate
./src/autosync/ASUpdater.py --ci -d -a TriCore -s Translate
Loading

0 comments on commit 66b0843

Please sign in to comment.