794 Commits
Author SHA1 Message Date
Samir Shetty 0d9567f08c Fix build compatibility with CMake 4, GCC 15, and MSVC (#600)
* Support building with CMake 4

Adapted from https://github.com/NixOS/nixpkgs/pull/450265

* Support building with GCC 15

Adapted from https://github.com/NixOS/nixpkgs/pull/450265

* Fix building with MSVC

* RISCV: Add RegSize/Alignment fields to RISCVGenRegisterInfo.inc initializers

Keystone's MCRegisterClass retains the RegSize and Alignment fields from
the LLVM 4.0 era, before they were moved to TargetRegisterInfo in LLVM 5.0
(D31783) and eventually removed from MCRegisterClass entirely in LLVM 7.0
(rL339350).

The RISCV backend was ported from a newer LLVM snapshot where these fields
no longer existed, so RISCVGenRegisterInfo.inc was generated without them,
causing a member count mismatch against keystone's MCRegisterClass definition
and a compile error on MSVC (C3852).

Add the missing RegSize and Alignment values to each register class
initializer to match the layout expected by MCRegisterClass. The values
chosen reflect the natural register width of each class (4 bytes for FPR32,
8 bytes for all others). These fields are structurally required to satisfy
the initializer but are never consulted by the assembler — spill slot
calculations belong to the codegen layer which keystone does not include.

All other architectures in keystone were ported from pre-LLVM-5.0 and have
correct initializers. This change makes RISCV consistent with them.
2026-07-18 17:28:10 -04:00
lazymio fb92f32391 Merge pull request #524 from raehik/bindings-haskell-build-fix-include
Haskell bindings: fix sdist generation/pkg install
2023-05-20 00:01:25 +02:00
lazymio ce229be183 Merge pull request #549 from null-cell/master
Adds RISCV support to Keystone
2023-05-19 23:59:54 +02:00
null-cell 5199a5aa79 fix typos in intro_to_porting 2023-05-15 13:58:12 +02:00
null-cell 2a611d9a8c adds documentation for porting, resolves PR comments 2023-05-15 11:05:31 +02:00
null-cell 00bd22a8a6 Code cleanup and formatting 2023-03-28 14:11:31 +02:00
null-cell 796d0c0f35 cleanup and formatting 2023-03-28 14:09:12 +02:00
null-cell db034e597e Merge pull request #1 from null-cell/RISCV
Adds RISCV support
2023-03-28 07:42:19 -04:00
null-cell bc980f071e local build cleanup 2023-03-28 13:35:27 +02:00
null-cell fd4345d49b Update README.md 2023-03-28 13:06:34 +02:00
null-cell d973e0c0ce cleanup comments 2023-03-28 12:50:20 +02:00
null-cell d1eee1b6b1 adds support for relaxation, compression, code cleanup 2023-03-28 12:01:25 +02:00
null-cell 49b11315cc fixes required extensions per processor, adds procsched 2023-03-27 15:13:12 +02:00
null-cell 6efbce1a7a fixes FeatureBitset implemetation 2023-03-27 13:48:54 +02:00
null-cell 8700fab143 adds correct ABI selection for RISCV 2023-03-27 12:33:14 +02:00
null-cell 508a57ae20 adds a root DESTDIR to Makefile for global install 2023-03-23 14:40:33 +01:00
null-cell db85c1e08a updates extra version of keystone, updated generated consts with RISCV 2023-03-23 12:18:11 +01:00
null-cell d026e349d3 fixes runtime errors, first clean build that runs kstool correctly 2023-03-21 15:24:30 +01:00
null-cell 0dd179e142 compiles without errors 2023-03-21 10:30:56 +01:00
null-cell fca8bdd04b fixes most errors with FeatureBitset, bugfixes 2023-03-20 20:08:53 +01:00
null-cell e32e4aed6c port write statements, fix applyFixup and adjustFixupValue, bugfix 2023-03-20 11:02:36 +01:00
null-cell 7563c9fa50 adds RISCV e-flags and backports writeNopData 2023-03-17 14:33:54 +01:00
null-cell aa2ba719a8 backport createObjectWriter return type 2023-03-17 13:32:31 +01:00
null-cell 647c901717 change createObjectTargetWriter to createObjectWriter 2023-03-17 13:29:34 +01:00
null-cell 6b207adbeb overloads applyFixup with RISCV definition and extends KsError 2023-03-17 13:23:10 +01:00
null-cell c2e56b3f72 pruned RISCV.h, adds .inc files and fixes createRISCVELFObjectWriter 2023-03-17 13:19:28 +01:00
null-cell b45b16a725 edits config to support RISCV - known from v4 2023-03-16 17:29:33 +01:00
null-cell 29042efd2c removes unused files (disassembler, target lowering, ..) 2023-03-16 16:29:59 +01:00
null-cell 6190add45f adds RISCV compiled from LLVM 9.0.1 2023-03-16 16:18:41 +01:00
Ben Orchard 93f1939eb0 Haskell bindings: explain how to use as dependency 2022-03-30 19:17:36 +01:00
Ben Orchard b0994fac24 Haskell bindings: fix sdist generation/pkg install
Cabal adds C source files to the sdist automatically, but not the
contents of header dirs. That must be done explicitly. With this
change,`cabal sdist` will produce a buildable sdist (previously, it
would fail due to missing a header file).

Also update package minor version to specifying the fixed version in
dependencies.
2022-03-30 19:16:39 +01:00
Jonko 1856935100 Add nuget targets file for cross plat packaging (#512) 2022-03-03 09:36:48 +08:00
David Zimmer cfbb6aca24 vb6 bindings: clarify specific Apache license as v2.0 (#520) 2022-03-03 09:36:13 +08:00
Saagar Jha 1475885daa Cherry-pick https://reviews.llvm.org/D25112 (#505)
This fixes #504.
2021-07-21 02:37:42 +08:00
S.J.R. van Schaik 6bfc23feb0 rust: force CMake to use lib as libdir on systems that would normally use lib64 as libdir (#497) 2021-07-08 20:42:26 +08:00
Vanessa McHale be0f29f3eb Update Haskell bindings (#495)
* update for latest transformers + either

* not used

* for older ghc compat
2021-07-08 20:41:39 +08:00
chfl4gs e1547852d9 Fixing python binding build and installation on cygwin (#478)
* Travis-CI build & nmake batch file updates

* Fixed zip_safe and cygwin setup
2020-09-01 22:49:55 +08:00
Michael Mohr 1597c894ed Update Debian packaging for 0.9.2 (#476)
* Update Debian packaging for 0.9.2.

Signed-off-by: Michael Mohr <[email protected]>

* Fix the Python package version declaration

Signed-off-by: Michael Mohr <[email protected]>
2020-07-27 12:44:31 +08:00
Duncan Ogilvie 03d5d24a00 CMake fixes (#473)
* Respect the BUILD_LIBS_ONLY option

* Do not export symbols when building a static library
2020-07-21 10:14:19 +08:00
Nguyen Anh Quynh dc7932ef2b ChangeLog 0.9.2 2020-06-21 20:03:54 +08:00
Nguyen Anh Quynh 9d713d5a98 rust: change version from 0.10.0 to 0.9.2 2020-06-19 09:40:02 +08:00
Nguyen Anh Quynh d0c5ffb560 .NOTE 2020-06-18 22:26:14 +08:00
Nguyen Anh Quynh 428d9be917 ChangeLog 2020-06-18 22:25:53 +08:00
Nguyen Anh Quynh 4c4f956e94 python: ready to release 0.9.2 2020-06-18 22:24:10 +08:00
Nguyen Anh Quynh eab3a8d3b0 add .NOTE 2020-06-14 11:14:29 +08:00
Nguyen Anh Quynh 137d4aa063 python: 0.9.2rc1.post2 0.9.2-rc1.post2 2020-06-14 11:05:25 +08:00
Nguyen Anh Quynh ceb5df4ec4 Merge branch 'master' of github.com:keystone-engine/keystone 2020-06-14 11:04:15 +08:00
chfl4gs e405f7b1a1 PyPI updates (#469)
* Travis-CI build & nmake batch file updates

* pypi fix
2020-06-14 01:45:32 +08:00
Nguyen Anh Quynh 9d36a3992f python: update MANIFEST.in 2020-06-13 22:11:03 +08:00
Nguyen Anh Quynh 56315660eb version 0.9.2rc1p1 0.9.2-rc1.post1 2020-06-13 22:00:28 +08:00