RFR: 8343883: Cannot resolve user specified toolchain-path for lld after JDK-8338304

Magnus Ihse Bursie ihse at openjdk.org
Tue Nov 12 13:24:39 UTC 2024


On Sun, 10 Nov 2024 04:09:58 GMT, SendaoYan <syan at openjdk.org> wrote:

> Hi all,
> After [JDK-8338304](https://bugs.openjdk.org/browse/JDK-8338304), below configure command will generate failure `error: Could not find required tool for LLD`. The lld linker located in path which config with option `--with-toolchain-path`, but the check `UTIL_REQUIRE_PROGS(LLD, lld)` introduced by [JDK-8338304](https://bugs.openjdk.org/browse/JDK-8338304) was unable to find the lld. This PR add the condition to deal with user specidied `--with-toolchain-path` to find the correct lld fullpath. The change has beeen verified locally, trivial fix, the risk is low.
> 
> 
> bash configure --with-jobs=128 --with-debug-level=release --enable-unlimited-crypto --with-jvm-variants=server --with-version-opt=f4008968 --with-zlib=system --with-toolchain-type=clang --with-toolchain-path=/home/yansendao/software/acc/x86_64/bin

Changes requested by ihse (Reviewer).

make/autoconf/flags-ldflags.m4 line 78:

> 76:       if test "x$CXX_IS_USER_SUPPLIED" = xfalse && test "x$CC_IS_USER_SUPPLIED" = xfalse; then
> 77:         if test "x$TOOLCHAIN_PATH" != x; then
> 78:           UTIL_REQUIRE_PROGS(LLD, lld, $TOOLCHAIN_PATH)

No, this is not correct. Did you test this patch *without* setting a toolchain path? Doing this will remove the normal lookup in `$PATH` and only look in `$TOOLCHAIN_PATH`.

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

PR Review: https://git.openjdk.org/jdk/pull/21999#pullrequestreview-2429580194
PR Review Comment: https://git.openjdk.org/jdk/pull/21999#discussion_r1838091186


More information about the build-dev mailing list