Index: Makefile =================================================================== --- Makefile +++ Makefile @@ -609,10 +609,13 @@ # XXX: Passing HOST_OBJTOP into the PATH would allow skipping legacy, # bootstrap-tools, and cross-tools. Need to ensure each tool actually # supports all TARGETS though. +# For now we only pass UNIVERSE_TOOLCHAIN_PATH which will be added at the end +# of STRICTTMPPATH to ensure that the target-specific binaries come first. MAKE_PARAMS_${target}+= \ XCC="${HOST_OBJTOP}/tmp/usr/bin/cc" \ XCXX="${HOST_OBJTOP}/tmp/usr/bin/c++" \ - XCPP="${HOST_OBJTOP}/tmp/usr/bin/cpp" + XCPP="${HOST_OBJTOP}/tmp/usr/bin/cpp" \ + UNIVERSE_TOOLCHAIN_PATH=${HOST_OBJTOP}/tmp/usr/bin .endif .if defined(_need_lld_${target}_${target_arch}) && \ ${_need_lld_${target}_${target_arch}} == "yes" Index: Makefile.inc1 =================================================================== --- Makefile.inc1 +++ Makefile.inc1 @@ -576,7 +576,9 @@ XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin # When building we want to find the cross tools before the host tools in tmp/legacy -STRICTTMPPATH= ${XPATH}:${BPATH} +# We also need to add UNIVERSE_TOOLCHAIN_PATH so that we can find the shared +# toolchain files (clang, lld, etc.) during make universe/tinderbox +STRICTTMPPATH= ${XPATH}:${BPATH}:${UNIVERSE_TOOLCHAIN_PATH} # Avoid using tools from /usr/bin accidentally since this could cause the build # to break on other systems that don't have that tool. For now we still allow # using the old behaviour (inheriting $PATH) if BUILD_WITH_STRICT_TMPPATH is set