On Thu, 23 Nov 2023 05:28:28 GMT, Galder Zamarreño <d...@openjdk.org> wrote:
> FYI @theRealAph > > It includes a couple of commits to integrate with Capstone v6 while still > working with Capstone v5 and before: > * `CAPSTONE_ARCH` for aarch64 is now `CS_ARCH_AARCH64` instead of > `CS_ARCH_ARM64`. See [this > document](https://github.com/Rot127/capstone/blob/v6-release-guide/docs/cs_v6_release_guide.md) > to understand motivation for this Capstone change. > * The `-Daarch64` macro was getting in the way and was causing invalid C to > be produced. Undefined it before including `capstone.h`. Thx @rwestrel for > suggesting the fix! > * Enhanced autoconf to select the right aarch64 arch name depending on the > capstone library in use. > > Here's some output to demonstrate autoconf: > > 1. If using capstone v6, you will see: > > checking capstone aarch64 arch name... AARCH64 > > > 2. If using capstone v5, or earlier, you will see: > > checking capstone aarch64 arch name... ARM64 > > > With v5 or earlier, the compilation error in the config log file is the > expected one: > > > configure:142906: checking capstone aarch64 arch name > configure:142919: /usr/bin/clang -c -arch arm64 -isysroot > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk > -iframework > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks > -isysroot > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk > -iframework > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks > conftest.c >&5 > conftest.c:27:16: error: use of undeclared identifier 'CS_ARCH_AARCH64'; did > you mean 'CS_ARCH_ARM64'? > cs_arch test = CS_ARCH_AARCH64 > ^~~~~~~~~~~~~~~ > CS_ARCH_ARM64 > /Users/galder/opt/capstone-5/include/capstone/capstone.h:76:2: note: > 'CS_ARCH_ARM64' declared here > CS_ARCH_ARM64, ///< ARM-64, also called AArch64 > ^ > 1 error generated. > configure:142919: $? = 1 > configure: failed program was: > | /* confdefs.h */ > | #define PACKAGE_NAME "OpenJDK" > | #define PACKAGE_TARNAME "openjdk" > | #define PACKAGE_VERSION "openjdk" > | #define PACKAGE_STRING "OpenJDK openjdk" > | #define PACKAGE_BUGREPORT "build-dev@openjdk.org" > | #define PACKAGE_URL "https://openjdk.org" > | #define HAVE_STDIO_H 1 > | #define HAVE_STDLIB_H 1 > | #define HAVE_STRING_H 1 > | #define HAVE_INTTYPES_H 1 > | #define HAVE_STDINT_H 1 > | #define HAVE_STRINGS_H 1 > | #define HAVE_SYS_STAT_H 1 > | #define HAVE_SYS_TYPES_H 1 > | #defi... This pull request has now been integrated. Changeset: 20aae3c4 Author: Galder Zamarreño <gal...@openjdk.org> Committer: Andrew Dinn <ad...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/20aae3c4388ac33af54bbe25328c5fe817c0bd5f Stats: 23 lines in 4 files changed: 21 ins; 0 del; 2 mod 8320533: Adjust capstone integration for v6 changes Reviewed-by: ihse, aph ------------- PR: https://git.openjdk.org/jdk/pull/16788