> 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...

Galder Zamarreño has refreshed the contents of this pull request, and previous 
commits have been removed. The incremental views will show differences compared 
to the previous content of the PR. The pull request contains two new commits 
since the last revision:

 - 8320533: Use autoconf to select the right capstone arch name
 - 8320533: Update capstone aarch64 integration
   
   * `CAPSTONE_ARCH` for aarch64 is now `CS_ARCH_AARCH64` instead
   of `CS_ARCH_ARM64`.
   * The `-Daarch64` macro was getting in the way
   and was causing invalid C to be produced.
   Undefined it before including `capstone.h`.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/16788/files
  - new: https://git.openjdk.org/jdk/pull/16788/files/53434808..06aeba6b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16788&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16788&range=00-01

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/16788.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16788/head:pull/16788

PR: https://git.openjdk.org/jdk/pull/16788

Reply via email to