-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Promote ohos targets to tier2 with host tools. #137011
Conversation
This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp. These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
This comment has been minimized.
This comment has been minimized.
The |
This job runs on the free GitHub runners, so in terms of infra cost, the build time increase should be fine. |
Very appreciate it. |
It seems guard is ok |
r? @Amanieu |
@@ -2353,7 +2367,7 @@ dependencies = [ | |||
"libc", | |||
"libffi", | |||
"libloading", | |||
"measureme", | |||
"measureme 11.0.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems miri is still using measureme 11, could this cause problems?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I missed this tool in my local test.
@@ -51,7 +62,7 @@ ENV RUST_CONFIGURE_ARGS \ | |||
--enable-profiler \ | |||
--disable-docs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You want to add: --full-tools --extended --sanitizers
here as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry that should be --enable-extended --enable-full-tools --enable-sanitizers
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that should be --enable-extended --enable-full-tools --enable-sanitizers.
After --enable-sanitizers
, the unwinder library
is missing during sanitizers compilation.
Building sanitizers for aarch64-unknown-linux-ohos
CMAKE_TOOLCHAIN_FILE_aarch64-unknown-linux-ohos = None
CMAKE_TOOLCHAIN_FILE_aarch64_unknown_linux_ohos = None
TARGET_CMAKE_TOOLCHAIN_FILE = None
CMAKE_TOOLCHAIN_FILE = None
CMAKE_PREFIX_PATH_aarch64-unknown-linux-ohos = None
CMAKE_PREFIX_PATH_aarch64_unknown_linux_ohos = None
TARGET_CMAKE_PREFIX_PATH = None
CMAKE_PREFIX_PATH = None
CMAKE_aarch64-unknown-linux-ohos = None
CMAKE_aarch64_unknown_linux_ohos = None
TARGET_CMAKE = None
CMAKE = None
running: cd "/root/rust/build/aarch64-unknown-linux-ohos/native/sanitizers/build" && CMAKE_PREFIX_PATH="" DESTDIR="" "cmake" "/root/rust/src/llvm-project/compiler-rt" "-G" "Ninja" "-DCMAKE_C_COMPILER_TARGET=aarch64-unknown-linux-ohos" "-DCOMPILER_RT_BUILD_BUILTINS=OFF" "-DCOMPILER_RT_BUILD_CRT=OFF" "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" "-DCOMPILER_RT_BUILD_PROFILE=OFF" "-DCOMPILER_RT_BUILD_SANITIZERS=ON" "-DCOMPILER_RT_BUILD_XRAY=OFF" "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCOMPILER_RT_USE_LIBCXX=OFF" "-DLLVM_CONFIG_PATH=/root/rust/build/x86_64-unknown-linux-gnu/llvm/bin/llvm-config" "-DCMAKE_INSTALL_MESSAGE=LAZY" "-DCMAKE_CROSSCOMPILING=True" "-DCMAKE_SYSTEM_NAME=Linux" "-DCMAKE_C_COMPILER=/usr/local/bin/aarch64-unknown-linux-ohos-clang.sh" "-DCMAKE_CXX_COMPILER=/usr/local/bin/aarch64-unknown-linux-ohos-clang++.sh" "-DCMAKE_ASM_COMPILER=/usr/local/bin/aarch64-unknown-linux-ohos-clang.sh" "-DCMAKE_C_FLAGS=-ffunction-sections -fdata-sections -fPIC --target=aarch64-unknown-linux-ohos" "-DCMAKE_CXX_FLAGS=-ffunction-sections -fdata-sections -fPIC --target=aarch64-unknown-linux-ohos" "-DCMAKE_AR=/opt/ohos-sdk/native/llvm/bin/llvm-ar" "-DCMAKE_SHARED_LINKER_FLAGS=" "-DCMAKE_MODULE_LINKER_FLAGS=" "-DCMAKE_EXE_LINKER_FLAGS=" "-DCMAKE_INSTALL_PREFIX=/root/rust/build/aarch64-unknown-linux-ohos/native/sanitizers" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC --target=aarch64-unknown-linux-ohos" "-DCMAKE_BUILD_TYPE=Release"
CMake Deprecation Warning at /root/rust/src/llvm-project/cmake/Modules/CMakePolicy.cmake:6 (cmake_policy):
The OLD behavior for policy CMP0114 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.
Call Stack (most recent call first):
CMakeLists.txt:12 (include)
CMake Deprecation Warning at /root/rust/src/llvm-project/cmake/Modules/CMakePolicy.cmake:11 (cmake_policy):
The OLD behavior for policy CMP0116 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.
Call Stack (most recent call first):
CMakeLists.txt:12 (include)
CMake Warning at cmake/Modules/CompilerRTUtils.cmake:290 (message):
LLVM_CONFIG_PATH is deprecated, please use LLVM_CMAKE_DIR instead
Call Stack (most recent call first):
CMakeLists.txt:105 (load_llvm_config)
CMake Warning at cmake/Modules/CompilerRTUtils.cmake:335 (message):
LLVMTestingSupport not found in LLVM_AVAILABLE_LIBS
Call Stack (most recent call first):
CMakeLists.txt:105 (load_llvm_config)
-- LLVM_MAIN_SRC_DIR: "/root/rust/src/llvm-project/llvm"
-- cmake c compiler target: aarch64-unknown-linux-ohos
-- Compiler-RT supported architectures: aarch64
CMake Error at lib/scudo/standalone/CMakeLists.txt:167 (message):
No suitable unwinder library
-- Configuring incomplete, errors occurred!
I'm not particularly sure, but It should be automatically getting it from native/llvm/lib/aarch64-linux-ohos/libunwind.a
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking through the LLVM config, I think you need to pass COMPILER_RT_USE_BUILTINS_LIBRARY=ON to LLVM's cmake.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking through the LLVM config, I think you need to pass COMPILER_RT_USE_BUILTINS_LIBRARY=ON to LLVM's cmake.
yes, very appreciae, it does works.
rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead. cc @rust-lang/rust-analyzer The Miri subtree was changed cc @rust-lang/miri |
42df98f
to
494f28d
Compare
This comment has been minimized.
This comment has been minimized.
d9f8e75
to
088ed36
Compare
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #135726) made this pull request unmergeable. Please resolve the merge conflicts. |
6e2d47f
to
75bdb2f
Compare
…, r=<try> Promote ohos targets to tier2 with host tools. ### What does this PR try to resolve? Try to promote the following [[Tier 2 without Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools) targets to [[Tier 2 with Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools): - `aarch64-unknown-linux-ohos` - `armv7-unknown-linux-ohos` - `x86_64-unknown-linux-ohos` ### More Information? see MCP: rust-lang/compiler-team#811 ### Blockage to be solved? - [x] Submit an MCP - [x] Submit code of promote ohos targets - [x] Resolve related dependencies (`measureme`) The modified code of the measureme has been merged (see rust-lang/measureme#238). [done] The new version will was released (rust-lang/measureme#240). [done] try-job: dist-ohos
@bors r- (in case try job somehow gets promoted to full merge) |
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
No space left on device. You may wish to talk to infra over at https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra about a larger runner for this? |
6082516
to
1b31525
Compare
1b31525
to
4cd350f
Compare
@bors try |
…, r=<try> Promote ohos targets to tier2 with host tools. ### What does this PR try to resolve? Try to promote the following [[Tier 2 without Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools) targets to [[Tier 2 with Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools): - `aarch64-unknown-linux-ohos` - `armv7-unknown-linux-ohos` - `x86_64-unknown-linux-ohos` ### More Information? see MCP: rust-lang/compiler-team#811 ### Blockage to be solved? - [x] Submit an MCP - [x] Submit code of promote ohos targets - [x] Resolve related dependencies (`measureme`) The modified code of the measureme has been merged (see rust-lang/measureme#238). [done] The new version will was released (rust-lang/measureme#240). [done] try-job: dist-ohos
☀️ Try build successful - checks-actions |
The check should have passed. Maybe we can merge it? |
@bors r+ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (227690a): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (secondary -1.8%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (secondary -0.8%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 775.103s -> 775.741s (0.08%) |
What does this PR try to resolve?
Try to promote the following [Tier 2 without Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools) targets to [Tier 2 with Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools):
aarch64-unknown-linux-ohos
armv7-unknown-linux-ohos
x86_64-unknown-linux-ohos
More Information?
see MCP: rust-lang/compiler-team#811
Blockage to be solved?
measureme
)The modified code of the measureme has been merged (see https://github.com/rust-lang/measureme/pull/238). [done]
The new version will was released (rust-lang/measureme#240). [done]