Skip to content

Cannot build JDK21 on macOS AArch64: error: invalid CFI advance_loc expression #23922

Description

@kgibm

macOS 26.5 Tahoe AArch64:

[  0%] Building ASM object runtime/libffi/CMakeFiles/ffi.dir/aarch64/sysv.S.o
/var/folders/gl/hvxny9491xj6wz7l1whk836w0000gn/T/sysv-abaf1f.s:27:2: error: invalid CFI advance_loc expression
 .cfi_def_cfa x1, 40;
 ^
/var/folders/gl/hvxny9491xj6wz7l1whk836w0000gn/T/sysv-abaf1f.s:187:2: error: invalid CFI advance_loc expression
 .cfi_adjust_cfa_offset (8*2 + (8 * 16 + 8 * 8) + 64)
 ^
make[6]: *** [runtime/libffi/CMakeFiles/ffi.dir/aarch64/sysv.S.o] Error 1
make[5]: *** [runtime/libffi/CMakeFiles/ffi.dir/all] Error 2

/var/folders/gl/hvxny9491xj6wz7l1whk836w0000gn/T/sysv-abaf1f.s does not exist after the build despite not running make clean.

Steps:
16:40:18 ~/git $ git clone https://github.com/ibmruntimes/openj9-openjdk-jdk21.git
Cloning into 'openj9-openjdk-jdk21'...
remote: Enumerating objects: 1322747, done.
remote: Counting objects: 100% (5995/5995), done.
remote: Compressing objects: 100% (2032/2032), done.
remote: Total 1322747 (delta 4223), reused 3963 (delta 3963), pack-reused 1316752 (from 4)
Receiving objects: 100% (1322747/1322747), 395.68 MiB | 28.66 MiB/s, done.
Resolving deltas: 100% (935256/935256), done.
Updating files: 100% (63991/63991), done.
16:40:53 ~/git $ cd openj9-openjdk-jdk21
16:40:54 ~/git/openj9-openjdk-jdk21 $ bash get_source.sh

Cloning omr version openj9 from https://github.com/eclipse-openj9/openj9-omr.git

Cloning into 'omr'...
remote: Enumerating objects: 132661, done.
remote: Total 132661 (delta 0), reused 0 (delta 0), pack-reused 132661 (from 1)
Receiving objects: 100% (132661/132661), 74.53 MiB | 26.22 MiB/s, done.
Resolving deltas: 100% (106576/106576), done.

Cloning openj9 version master from https://github.com/eclipse-openj9/openj9.git

Cloning into 'openj9'...
remote: Enumerating objects: 306728, done.
remote: Counting objects: 100% (177/177), done.
remote: Compressing objects: 100% (105/105), done.
remote: Total 306728 (delta 127), reused 72 (delta 72), pack-reused 306551 (from 2)
Receiving objects: 100% (306728/306728), 208.60 MiB | 33.08 MiB/s, done.
Resolving deltas: 100% (232859/232859), done.
Updating files: 100% (10163/10163), done.
16:42:22 ~/git/openj9-openjdk-jdk21 $ bash configure --with-boot-jdk=/Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home --with-noncompressedrefs
Runnable configure script is not present
Generating runnable configure script at /Users/kevin/git/openj9-openjdk-jdk21/build/.configure-support/generated-configure.sh
Using autoconf at /opt/homebrew/bin/autoconf [autoconf (GNU Autoconf) 2.73]
configure: Configuration created at Mon May 18 16:42:29 CDT 2026.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... no
checking for echo... echo [builtin]
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /opt/homebrew/bin/gsed
checking for cygpath... [not found]
checking for wslpath... [not found]
checking for cmd.exe... [not found]
checking build system type... aarch64-apple-darwin25.5.0
checking host system type... aarch64-apple-darwin25.5.0
checking target system type... aarch64-apple-darwin25.5.0
checking openjdk-build os-cpu... macosx-aarch64
checking openjdk-target os-cpu... macosx-aarch64
checking compilation type... native
checking for top-level directory... /Users/kevin/git/openj9-openjdk-jdk21
checking for bash... /opt/homebrew/bin/bash
checking for cat... /bin/cat
checking for chmod... /bin/chmod
checking for cp... /bin/cp
checking for cut... /usr/bin/cut
checking for date... /bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for expr... /bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /bin/ln
checking for ls... /bin/ls
checking for gmkdir... [not found]
checking for mkdir... /bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /bin/mv
checking for gawk... [not found]
checking for nawk... [not found]
checking for awk... /usr/bin/awk
checking for printf... printf [builtin]
checking for rm... /bin/rm
checking for rmdir... /bin/rmdir
checking for sh... /bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... /opt/homebrew/bin/gtar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for xargs... /usr/bin/xargs
checking for fgrep... /usr/bin/grep -F
checking for df... /bin/df
checking for git... /opt/homebrew/bin/git
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for whoami... /usr/bin/whoami
checking for lsb_release... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking for build environment type... dev, default (calculated from 'auto')
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... disabled, default
checking which debug level to use... release
checking which variants of the JVM to build... server
checking for cmake... /opt/homebrew/bin/cmake
checking for m4... /usr/bin/m4
checking for Continuation profiling... no (default)
checking for CRAC support... no (default)
checking for CRIU support... no (default)
checking for cuda... no (default)
checking for ddr... yes (default for or64)
checking if demos should be included in jdk image... no
checking for inline types... no (default)
checking for jfr... yes (default)
checking for jitserver... no (default)
checking for snapshot support... no (default)
checking if OMR compile warnings are considered errors... yes (default)
checking if OpenJ9 native compile warnings are considered errors... yes (default)
checking for OpenJCEPlus... no (default)
checking if absolute paths should be allowed in the build output... no, release build
checking for toolchain path... 
checking for sdk name... macosx
checking for xcodebuild... /usr/bin/xcodebuild
configure: Setting sysroot from xcodebuild with SDK macosx
checking for sysroot... /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk
checking for extra path... 
checking where to store configuration... in default location
checking what configuration name to use... macosx-aarch64-server-release
checking for zypper... [not found]
checking for apt-get... [not found]
checking for yum... [not found]
checking for brew... /opt/homebrew/bin/brew
checking for pandoc... /opt/homebrew/bin/pandoc
checking for pandoc version... 3.9.0.2
configure: WARNING: pandoc is version 3.9.0.2, not the recommended version 2.19.2
checking if the pandoc smart extension needs to be disabled for markdown... yes
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 3.81)
checking if make --output-sync is supported... no
checking for make --output-sync value... <invalid>, not available
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... [not found]
checking for dot... /opt/homebrew/bin/dot
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /opt/homebrew/opt/util-linux/bin/flock
checking for dtrace... /usr/sbin/dtrace
checking for gpatch... [not found]
checking for patch... /usr/bin/patch
checking if date is a GNU compatible version... no
checking for dsymutil... /usr/bin/dsymutil
checking for mig... /usr/bin/mig
checking for xattr... /usr/bin/xattr
checking for codesign... /usr/bin/codesign
checking for SetFile... /usr/bin/SetFile
checking for ulimit... ulimit [builtin]
checking bash version... 5.3.9
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... /opt/homebrew/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for default LOG value... 
checking for JMOD compression type... zip-6, default
checking if packaged modules are kept... enabled, default
checking for --with-build-user... kevin, default
checking for --with-jdk-rc-name... OpenJDK Platform, default
checking for --with-vendor-name... Eclipse OpenJ9, default
checking for --with-jdk-rc-company-name... Eclipse OpenJ9, default
checking for --with-vendor-url... http://eclipse.dev/openj9, default
checking for --with-vendor-bug-url... https://github.com/eclipse-openj9/openj9/issues/new?labels=userRaised&template=user-problem.md, default
checking for --with-vendor-vm-bug-url... https://github.com/eclipse-openj9/openj9/issues/new?labels=userRaised&template=user-problem.md, default
checking for --with-version-string... <none>, default
checking for --with-version-feature... 21, default
checking for --with-version-date... 2026-07-21, default
checking for --with-vendor-version-string... <disabled>, default
checking for --with-macosx-bundle-name-base... OpenJDK, default
checking for --with-macosx-bundle-id-base... net.java.openjdk-internal, default
checking for --with-macosx-bundle-build-version... 0, default
checking for version string... 21.0.12-internal-adhoc.kevin.openj9-openjdk-jdk21
configure: Found potential Boot JDK using configure arguments
checking for Boot JDK... /Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home
checking Boot JDK version... openjdk version "21.0.11" 2026-04-21 LTS IBM Semeru Runtime Open Edition 21.0.11.0 (build 21.0.11+10-LTS) Eclipse OpenJ9 VM 21.0.11.0 (build 21.0.11+10-openj9-0.59.0, JRE 21 Mac OS X amd64-64-Bit Compressed References 20260421_748 (JIT enabled, AOT enabled) OpenJ9 - c53b6b93f4 OMR - 6426f03fa JCL - 4c4f297fe6e based on jdk-21.0.11+10)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... true
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... no, creation failed
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking what source date to use... 1779140559, from 'current' (default)
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... yes
checking for pandoc... yes
checking for --enable-full-docs... enabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... yes
checking if static build is enabled... disabled, default
configure: Using default toolchain clang (clang/LLVM)
checking for clang... /usr/bin/clang
checking resolved symbolic links for CC... no symlink
configure: Using clang C compiler version 21.0.0 [Apple clang version 21.0.0 (clang-2100.1.1.101) Target: arm64-apple-darwin25.5.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin]
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether /usr/bin/clang accepts -g... yes
checking for clang++... /usr/bin/clang++
checking resolved symbolic links for CXX... no symlink
configure: Using clang C++ compiler version 21.0.0 [Apple clang version 21.0.0 (clang-2100.1.1.101) Target: arm64-apple-darwin25.5.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin]
checking whether /usr/bin/clang++ accepts -g... yes
checking how to run the C preprocessor... /usr/bin/clang -E
checking how to run the C++ preprocessor... /usr/bin/clang++ -E
configure: Using clang linker version 1267 [@(#)PROGRAM:ld PROJECT:ld-1267]
checking for ar... /usr/bin/ar
checking for lipo... /usr/bin/lipo
checking for otool... /usr/bin/otool
checking for install_name_tool... /usr/bin/install_name_tool
checking for metal... [not found]
checking if metal can be run using xcrun... yes, will be using 'xcrun -sdk macosx metal'
checking for metallib... [not found]
checking if metallib can be run using xcrun... yes, will be using 'xcrun -sdk macosx metallib'
checking for strip... /usr/bin/strip
checking for nm... /usr/bin/nm
checking for gobjdump... [not found]
checking for objdump... /usr/bin/objdump
checking for c++filt... /usr/bin/c++filt
checking if CC supports "-m64"... yes
checking if CXX supports "-m64"... yes
checking if both CC and CXX support "-m64"... yes
checking for jtreg... [not found]
checking for jtreg test harness... no, not found
checking for jtreg jdk... no, using BOOT_JDK
checking for jmh (Java Microbenchmark Harness)... no, disabled
checking for jib... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for stdio.h... (cached) yes
checking size of int *... 8
checking for target address size... 64 bits
checking whether byte ordering is bigendian... no
checking if CC supports "-mbranch-protection=standard"... yes
checking if CXX supports "-mbranch-protection=standard"... yes
checking if both CC and CXX support "-mbranch-protection=standard"... yes
checking for --enable-branch-protection... disabled, default
checking if CC supports "-fdebug-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking if CXX supports "-fdebug-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking if both CC and CXX support "-fdebug-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking if CC supports "-gdwarf-4 -gdwarf-aranges"... yes
checking if CXX supports "-gdwarf-4 -gdwarf-aranges"... yes
checking if both CC and CXX support "-gdwarf-4 -gdwarf-aranges"... yes
checking for --enable-warnings-as-errors... enabled, default
checking if TARGET is x86... no
checking if CC supports "-fmacro-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking if CXX supports "-fmacro-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking if both CC and CXX support "-fmacro-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking how to prevent absolute paths in output... using compiler options
checking if CC supports "-ffp-contract=off"... yes
checking if CXX supports "-ffp-contract=off"... yes
checking if both CC and CXX support "-ffp-contract=off"... yes
checking if BUILD is x86... no
checking if BUILD_CC supports "-fmacro-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking if BUILD_CXX supports "-fmacro-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking if both BUILD_CC and BUILD_CXX support "-fmacro-prefix-map=/Users/kevin/git/openj9-openjdk-jdk21/="... yes
checking how to prevent absolute paths in output... using compiler options
checking if BUILD_CC supports "-ffp-contract=off"... yes
checking if BUILD_CXX supports "-ffp-contract=off"... yes
checking if both BUILD_CC and BUILD_CXX support "-ffp-contract=off"... yes
checking how to run strip... -S
checking what type of native debug symbols to use... external
checking if we should add external native debug symbols to the shipped bundles... no
checking if native coverage is available... yes
checking for --enable-native-coverage... disabled, default
checking if AddressSanitizer (asan) is available... yes
checking for --enable-asan... disabled, default
checking for --with-additional-ubsan-checks... <disabled>, default
checking if UndefinedBehaviorSanitizer (ubsan) is available... yes
checking for --enable-ubsan... disabled, default
checking if LeakSanitizer (lsan) is available... yes
checking for --enable-lsan... disabled, default
checking if static analyzer is available... no
checking for --enable-static-analyzer... disabled, default
checking if fallback linker enabled... disabled, default
checking for which libjpeg to use... bundled
checking for which giflib to use... bundled
checking for PNG... yes
checking for which libpng to use... bundled
checking for compress in -lz... yes
checking for which zlib to use... bundled
checking for which lcms to use... bundled
checking for which harfbuzz to use... bundled
checking for cups/cups.h... yes
checking for cups/ppd.h... yes
Using freetype: bundled
checking for --enable-hsdis-bundling... disabled, default
checking what hsdis backend to use... 'none', hsdis will not be built
checking if hsdis should be bundled... no
checking for --enable-libffi-bundling... disabled, default
checking for cos in -lm... yes
checking for dlopen in -ldl... yes
checking for JVM features enabled by the user... none
checking for JVM features disabled by the user... none
checking if platform is supported by CDS... no, OpenJ9
checking if JVM feature 'cds' is available... no
checking for dtrace tool and platform support... /usr/sbin/dtrace
checking for sys/sdt.h... yes
checking if JVM feature 'dtrace' is available... yes
checking if platform is supported by JVMCI... no, OpenJ9
checking if JVM feature 'jvmci' is available... no
checking if platform is supported by Shenandoah... no, OpenJ9
checking if JVM feature 'shenandoahgc' is available... no
checking if static-build is enabled in configure... no, use --enable-static-build to enable static build.
checking if JVM feature 'static-build' is available... no
checking if platform is supported by ZGC... no, OpenJ9
checking if JVM feature 'zgc' is available... no
checking JVM features to use for variant 'server'... 'dtrace jfr management'
checking what hotspot build time to use... 2026-05-18T21:42:39Z (from --with-source-date)
checking if the jtreg failure handler is available... no (jtreg not present)
checking if the jtreg failure handler should be built... disabled, default
checking if the jtreg test thread factory is available... no (jtreg not present)
checking if the jtreg test thread factory should be built... disabled, from default 'auto'
checking if the CDS classlist generation should be enabled... disabled, from default 'auto'
checking if any translations should be excluded... no
checking if static man pages should be copied... enabled, default
checking if CDS archive is available... no (CDS is disabled)
checking if a default CDS archive should be generated... disabled, from default 'auto'
checking if CDS archive is available... no (CDS is disabled)
checking if compatible cds region alignment enabled... disabled, default
checking for macosx code signing mode... auto, default
checking for macosx code signing identity... openjdk_codesign, default
checking if codesign with hardened runtime is possible... no
checking if debug mode codesign is possible... yes
checking for macosx code signing mode... debug
checking for number of cores... 12
checking for memory size... 32768 MB
checking for appropriate number of jobs to run in parallel... 12
checking whether to use javac server... enabled, default
checking flags for boot jdk java command ...  -Duser.language=en -Duser.country=US -Xshare:auto 
checking flags for boot jdk java command for big workloads...  -Xms64M -Xmx1600M
checking flags for bootcycle boot jdk java command for big workloads... -Xms64M -Xmx1600M
checking flags for boot jdk java command for small workloads...  -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
checking for --enable-icecc... disabled, default
checking if precompiled headers are available... yes
checking for --enable-precompiled-headers... enabled, from default 'auto'
checking for ccache... [not found]
checking if ccache is available... no, ccache binary missing or not executable
checking if ccache is enabled... disabled, default
checking if build directory is on local disk... yes
checking whether to enable link-time optimization... no
configure: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/configure-support/config.status
config.status: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/spec.gmk
config.status: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/bootcycle-spec.gmk
config.status: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/buildjdk-spec.gmk
config.status: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/compare.sh
config.status: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/Makefile
config.status: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/custom-spec.gmk
config.status: creating /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/toolchain.cmake

====================================================
A new configuration has been successfully created in
/Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release
using configure arguments '--with-boot-jdk=/Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home --with-noncompressedrefs'.

Configuration summary:
* Name:           macosx-aarch64-server-release
* Debug level:    release
* HS debug level: product
* JVM variants:   server
* JVM features:   server: 'dtrace jfr management' 
* OpenJDK target: OS: macosx, CPU architecture: aarch64, address length: 64
* Version string: 21.0.12-internal-adhoc.kevin.openj9-openjdk-jdk21 (21.0.12-internal)
* Source date:    1779140559 (2026-05-18T21:42:39Z)

Tools summary:
* Boot JDK:       openjdk version "21.0.11" 2026-04-21 LTS IBM Semeru Runtime Open Edition 21.0.11.0 (build 21.0.11+10-LTS) Eclipse OpenJ9 VM 21.0.11.0 (build 21.0.11+10-openj9-0.59.0, JRE 21 Mac OS X amd64-64-Bit Compressed References 20260421_748 (JIT enabled, AOT enabled) OpenJ9 - c53b6b93f4 OMR - 6426f03fa JCL - 4c4f297fe6e based on jdk-21.0.11+10) (at /Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home)
* Toolchain:      clang (clang/LLVM from Xcode 26.5)
* Sysroot:        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk
* C Compiler:     Version 21.0.0 (at /usr/bin/clang)
* C++ Compiler:   Version 21.0.0 (at /usr/bin/clang++)

Build performance summary:
* Build jobs:     12
* Memory limit:   32768 MB

The following warnings were produced. Repeated here for convenience:
WARNING: pandoc is version 3.9.0.2, not the recommended version 2.19.2

16:42:57 ~/git/openj9-openjdk-jdk21 $ make all
Building OpenJ9 Java Preprocessor
Building /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9tools/jpp.jar
Generating J9JCL sources
/Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home/bin/java -cp /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9tools/jpp.jar -Dfile.encoding=US-ASCII com.ibm.jpp.commandline.CommandlineBuilder -verdict -config JAVA21 -baseDir /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/ -srcRoot overlay/ -xml /Users/kevin/git/openj9-openjdk-jdk21/openj9/jcl/jpp_configuration.xml -dest /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9jcl -tag:define JFR_SUPPORT;PLATFORM-or64 -includeIfUnsure -noWarnIncludeIf
Reading preprocess instructions from xml...
[builder] 
Preprocessing /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/overlay/src
[builder] 30 of 30 file(s) included in preprocess
[builder] PREPROCESS WAS SUCCESSFUL
/Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home/bin/java -cp /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9tools/jpp.jar -Dfile.encoding=US-ASCII com.ibm.jpp.commandline.CommandlineBuilder -verdict -config JAVA21 -baseDir /Users/kevin/git/openj9-openjdk-jdk21/ -srcRoot closed/ -xml /Users/kevin/git/openj9-openjdk-jdk21/openj9/jcl/jpp_configuration.xml -dest /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9jcl -tag:define JFR_SUPPORT;PLATFORM-or64 -includeIfUnsure -noWarnIncludeIf
Reading preprocess instructions from xml...
[builder] 
Preprocessing /Users/kevin/git/openj9-openjdk-jdk21/closed/src
[builder] 57 of 59 file(s) included in preprocess
[builder] PREPROCESS WAS SUCCESSFUL
/Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home/bin/java -cp /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9tools/jpp.jar -Dfile.encoding=US-ASCII com.ibm.jpp.commandline.CommandlineBuilder -verdict -config JAVA21 -baseDir /Users/kevin/git/openj9-openjdk-jdk21/openj9/ -srcRoot jcl/ -xml /Users/kevin/git/openj9-openjdk-jdk21/openj9/jcl/jpp_configuration.xml -dest /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9jcl -tag:define JFR_SUPPORT;PLATFORM-or64
Reading preprocess instructions from xml...
[builder] 
Preprocessing /Users/kevin/git/openj9-openjdk-jdk21/openj9/jcl/src
[preprocessor] No INCLUDE-IF directives found.  File will be EXCLUDED
    file: /Users/kevin/git/openj9-openjdk-jdk21/openj9/jcl/src/java.base/share/classes/java/lang/about.html
    line: 1 (char 0 to 109)
[builder] 973 of 1136 file(s) included in preprocess
[msg] Messages written to "/Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9jcl/java.base/share/classes/com/ibm/oti/util/ExternalMessages.properties
[builder] PREPROCESS WAS SUCCESSFUL
Generating DDR_VM sources
/Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home/bin/java -cp /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9tools/jpp.jar -Dfile.encoding=US-ASCII com.ibm.jpp.commandline.CommandlineBuilder -verdict -config GENERIC -baseDir /Users/kevin/git/openj9-openjdk-jdk21/openj9/debugtools/DDR_VM/ -srcRoot src/ -xml /Users/kevin/git/openj9-openjdk-jdk21/openj9/jcl/jpp_configuration.xml -dest /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/support/j9jcl/openj9.dtfj/share/classes -tag:define JFR_SUPPORT;PLATFORM-or64 -includeIfUnsure -noWarnIncludeIf -macro:define JAVA_SPEC_VERSION=21
Reading preprocess instructions from xml...
[builder] 
Preprocessing /Users/kevin/git/openj9-openjdk-jdk21/openj9/debugtools/DDR_VM/src/.
[builder] 827 of 828 file(s) included in preprocess
[builder] PREPROCESS WAS SUCCESSFUL
Building target 'all' in configuration 'macosx-aarch64-server-release'
Compiling up to 8 files for BUILD_TOOLS_LANGTOOLS
Compiling up to 2 files for BUILD_TOOLS_HOTSPOT
Generating classes for compiler.properties launcher.properties
Compiling 17 properties into resource bundles for jdk.javadoc
Compiling 9 properties into resource bundles for jdk.jshell
Compiling 15 properties into resource bundles for jdk.jdeps
==== openj9_version_info.h ====
#define OPENJ9_VERSION_INFO_H
#define J9COMPILER_VERSION_STRING "Apple clang version 21.0.0 (clang-2100.1.1.101) Target: arm64-apple-darwin25.5.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin"
#define J9JDK_EXT_NAME            "Extensions for OpenJDK for Eclipse OpenJ9"
#define J9JDK_EXT_VERSION         "21.0.12.0-ea"
#define J9JVM_VERSION_STRING      "master-13ef821b62"
#define J9PRODUCT_NAME            "OpenJDK Runtime Environment"
#define J9TARGET_CPU_BITS         "64"
#define J9TARGET_CPU_OSARCH       "aarch64"
#define J9TARGET_OS               "macosx"
#define J9USERNAME                "kevin"
#define JAVA_VENDOR               "Eclipse OpenJ9"
#define JDK_DEBUG_LEVEL           "release"
#define OPENJ9_TAG                ""
#define OPENJDK_SHA               "e481ee7baf7"
#define OPENJDK_TAG               "jdk-21.0.12+2"
#define OPENJDK_VERSION_STRING    "21.0.12-internal-adhoc.kevin.openj9-openjdk-jdk21"
====
Compiling 20 properties into resource bundles for jdk.compiler
Compiling up to 127 files for BUILD_java.compiler.interim
Compiling up to 353 files for BUILD_jdk.compiler.interim
loading initial cache file /Users/kevin/git/openj9-openjdk-jdk21/openj9/runtime/cmake/caches/osx_aarch64.cmake
Compiling up to 242 files for BUILD_jdk.javadoc.interim
Compiling up to 17 files for BUILD_JAVAC_SERVER
-- The C compiler identification is AppleClang 21.0.0.21000101
-- The CXX compiler identification is AppleClang 21.0.0.21000101
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using BOOT_JDK: '/Users/kevin/work/openj9/bootjdk/21/jdk-21.0.11+10/Contents/Home'
CMake Deprecation Warning at runtime/CMakeLists.txt:34 (cmake_policy):
  The OLD behavior for policy CMP0079 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- OMR: The CPU architecture is aarch64
-- OMR: The OS is osx
-- OMR: The tool configuration is gnu
-- OMR: The target data size is 64
-- Looking for dladdr
-- Looking for dladdr - found
-- The ASM compiler identification is AppleClang
-- Found assembler: /usr/bin/clang
-- OMR: trace root is '/Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/vm/runtime'
-- Starting with CMake version 4.3.2
-- Found Git: /opt/homebrew/bin/git (found version "2.54.0")
-- Found Perl: /usr/bin/perl (found version "5.34.1")
-- Creating shared library for j9jit
-- Adding PRIVATE compiler options to j9jit for j9jit.
-- Configuring done (3.8s)
-- Generating done (0.8s)
-- Build files have been written to: /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/vm
Compiling OpenJ9 in /Users/kevin/git/openj9-openjdk-jdk21/build/macosx-aarch64-server-release/vm
  Source version info:
    openjdk - e481ee7baf7
    openj9  - 13ef821b62
    omr     - d405296cb
[  0%] Building Java objects for j9vmcp.jar
[  0%] Building Java objects for j9nls.jar
[  0%] Building CXX object runtime/omr/ddr/test/CMakeFiles/ddrgentest.dir/test_subdir/testFileInSubDir.cpp.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/closures.c.o
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/ArgParser.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/ClassType.cpp.o
[  0%] Generating redirector/generated.c
[  0%] Built target j9jit_generate
[  0%] Built target header_check
[  0%] Built target copy_default_options
[  0%] Building CXX object runtime/omr/ddr/test/CMakeFiles/ddrgentest.dir/sample1.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/ClassUDT.cpp.o
[  0%] Building CXX object runtime/omr/third_party/pugixml-1.8/CMakeFiles/pugixml.dir/pugixml.cpp.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/debug.c.o
[  0%] Generating j9vm/generated.h
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/CFileWriter.cpp.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/java_raw_api.c.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/prep_cif.c.o
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/DATFileWriter.cpp.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/raw_api.c.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/types.c.o
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/FileReader.cpp.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/tramp.c.o
[  0%] Building CXX object runtime/omr/ddr/test/CMakeFiles/ddrgentest.dir/sample2.cpp.o
[  0%] Building C object runtime/libffi/CMakeFiles/ffi.dir/aarch64/ffi.c.o
[  0%] Generating include/jni.h
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/FileUtils.cpp.o
[  0%] Building CXX object runtime/omr/ddr/test/CMakeFiles/ddrgentest.dir/sample3.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/EnumMember.cpp.o
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/Port.cpp.o
[  0%] Building ASM object runtime/libffi/CMakeFiles/ffi.dir/aarch64/sysv.S.o
/var/folders/gl/hvxny9491xj6wz7l1whk836w0000gn/T/sysv-abaf1f.s:27:2: error: invalid CFI advance_loc expression
 .cfi_def_cfa x1, 40;
 ^
/var/folders/gl/hvxny9491xj6wz7l1whk836w0000gn/T/sysv-abaf1f.s:187:2: error: invalid CFI advance_loc expression
 .cfi_adjust_cfa_offset (8*2 + (8 * 16 + 8 * 8) + 64)
 ^
make[6]: *** [runtime/libffi/CMakeFiles/ffi.dir/aarch64/sysv.S.o] Error 1
make[5]: *** [runtime/libffi/CMakeFiles/ffi.dir/all] Error 2
make[5]: *** Waiting for unfinished jobs....
[  0%] Generating include/jvmti.h
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/StringUtils.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/EnumUDT.cpp.o
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/TDFParser.cpp.o
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/TraceGen.cpp.o
[  0%] Building C object runtime/omr/ddr/test/CMakeFiles/ddrgentest.dir/sample4.c.o
[  0%] Building CXX object runtime/omr/ddr/test/CMakeFiles/ddrgentest.dir/test.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/Field.cpp.o
[  0%] Linking CXX executable ../../../ddrgentest
[  0%] Building CXX object runtime/omr/tools/tracegen/CMakeFiles/trace.dir/TraceHeaderWriter.cpp.o
[  0%] Linking CXX static library ../../../lib/libtrace.a
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/Macro.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/Members.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/Modifiers.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/NamespaceUDT.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/Symbol_IR.cpp.o
[  0%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/Type.cpp.o
[  1%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/TextFile.cpp.o
[  1%] Linking CXX static library ../../../lib/libpugixml.a
[  1%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/TypedefUDT.cpp.o
[  1%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/UDT.cpp.o
[  1%] Built target j9vm_m4gen
[  1%] Building CXX object runtime/omr/ddr/lib/ddr-ir/CMakeFiles/omr_ddr_ir.dir/UnionUDT.cpp.o
[  1%] Linking CXX static library ../../../../lib/libomr_ddr_ir.a
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
[  1%] Generating CMakeFiles/j9nls.dir/java_class_filelist
[  1%] Creating Java archive j9nls.jar
[  1%] Generating CMakeFiles/j9vmcp.dir/java_class_filelist
[  1%] Creating Java archive j9vmcp.jar
[  1%] Built target j9nls
[  1%] Built target j9vmcp
[  1%] Built target ddrgentest
[  1%] Built target omr_ddr_ir
[  1%] Built target pugixml
[  1%] Built target trace
make[4]: *** [all] Error 2
make[3]: *** [build-j9] Error 2
make[2]: *** [j9vm-build] Error 2
make[2]: *** Waiting for unfinished jobs....

ERROR: Build failed for target 'all' in configuration 'macosx-aarch64-server-release' (exit code 2) 

No indication of failed target found.
HELP: Try searching the build log for '] Error'.
HELP: Run 'make doctor' to diagnose build problems.

make[1]: *** [main] Error 2
make: *** [all] Error 2
Software:
$ xcodebuild -version
Xcode 26.5
Build version 17F42
$ clang --version
Apple clang version 21.0.0 (clang-2100.1.1.101)
Target: arm64-apple-darwin25.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ system_profiler SPSoftwareDataType SPHardwareDataType | grep -v -e UUID -e UDID -e 'User Name' -e 'Computer Name' -e Serial
2026-05-18 16:47:24.306 system_profiler[8192:44373] hw.cpufamily: 0xda33d83d
Software:

    System Software Overview:

      System Version: macOS 26.5 (25F71)
      Kernel Version: Darwin 25.5.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Secure Virtual Memory: Enabled
      System Integrity Protection: Disabled
      Time since boot: 9 minutes, 13 seconds

Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac14,10
      Model Number: Z1740017JLL/A
      Chip: Apple M2 Pro
      Total Number of Cores: 12 (8 Performance and 4 Efficiency)
      Memory: 32 GB
      System Firmware Version: 18000.120.36
      OS Loader Version: 18000.120.36
      Activation Lock Status: Disabled

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions