> Support the clang toolchain when link time optimization is configured. > Please note that this is NOT intended to enable lto by default and NOT to fix > all possible clang-supporting builds or test issues . > > It works on my Linux x86_64 SUSE 15 test machine with clang15.0.7, also on > macOS with Xcode 13.1 devkit and Xcode 15.4 . > > To be able to build on macOS with Xcode, I had to deal with one issue. The > lto-link process runs into this error > > > ld: <inline asm>:11:1: symbol 'SpinPause_return' is already defined > SpinPause_return: > ^ > for architecture arm64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > > > Seems that when building with LTO, the inline assembler code in SpinPause() > is not handled well. In the lto inlining the label SpinPause_return is > generated multiple times and causes an 'already defined' error. This goes > away when adding NOINLINE to this function. > Linux/clang did not show this issue, probably the toolchain there does not > have the error.
Matthias Baesken has updated the pull request incrementally with one additional commit since the last revision: use fat lto objects on AIX/clang ------------- Changes: - all: https://git.openjdk.org/jdk/pull/22412/files - new: https://git.openjdk.org/jdk/pull/22412/files/68bb4ccc..f799bcc8 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=22412&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22412&range=02-03 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/22412.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/22412/head:pull/22412 PR: https://git.openjdk.org/jdk/pull/22412