Skip to content

Add LLDB builder for x86_64/win target host -- lldb-x86_64-win. #452

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

vvereschaka
Copy link
Contributor

Add a new builder for LLDB project to support x86_64/Windows target and host.

@vvereschaka vvereschaka self-assigned this May 21, 2025
@vvereschaka vvereschaka marked this pull request as draft May 21, 2025 23:01
@vvereschaka
Copy link
Contributor Author

@slydiman @dzhidzhoev there is a draft for the x86_64/Windows LLDB builder. Would you take a look for the parameters and provide the updates if necessary? I suppose these updates are necessary because I got the following API test failures on the builder during the builder configuration check:

Failed Tests (3):
  lldb-api :: functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
  lldb-api :: functionalities/reverse-execution/TestReverseContinueBreakpoints.py
  lldb-api :: functionalities/reverse-execution/TestReverseContinueWatchpoints.py

Do you get the same failed test for the llvm-project TOT?

@dzhidzhoev
Copy link
Member

dzhidzhoev commented May 22, 2025

I've run this builder locally, and there were 680 (API) + 166 (Shell) = 846 unsupported tests, which is comparable to the lldb-aarch64-windows buildbot. Both builders have the same list of disabled test categories.

The API tests in question are reported to fail llvm/llvm-project#138083, llvm/llvm-project#138084.

@dzhidzhoev
Copy link
Member

I also see this failure:

Failed Tests (1):
  lldb-shell :: SymbolFile/PDB/pointers.test

Does it pass on your setup?

"LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS" : "ON",
},
env = {
'CC' : "clang-cl.exe",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you using preinstalled clang? It seems we need MSVC anyway.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, clang-cl is a part of the "Clang for MSVC" Visual Studio package.
I'll check with cl.exe.

@slydiman
Copy link
Contributor

slydiman commented May 22, 2025

I'm using also

-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL
-DLIBCXX_ABI_VERSION=1
-DLLVM_HOST_TRIPLE=x86_64-pc-windows-msvc
-DLLDB_TEST_COMPILER=...

MultiThreadedDLL is most important for lldb on Windows. The default is static which means MultiThreaded.

@vvereschaka
Copy link
Contributor Author

@dzhidzhoev got it, thank you.

The API tests in question are reported to fail llvm/llvm-project#138083, llvm/llvm-project#138084.

So, it is known issue with these test. Understood, thank you.

Failed Tests (1):
lldb-shell :: SymbolFile/PDB/pointers.test
Does it pass on your setup?

yes, it is getting passed on my side.

@vvereschaka
Copy link
Contributor Author

I'm using also

-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL
-DLIBCXX_ABI_VERSION=1
-DLLVM_HOST_TRIPLE=x86_64-pc-windows-msvc
-DLLDB_TEST_COMPILER=...

MultiThreadedDLL is most important for lldb on Windows. The default is static which means MultiThreaded.

got it, thank you. I'll update the configuration with these options.

@vvereschaka
Copy link
Contributor Author

I have update the build configuration for the builder and tried to test it with the latest llvm-project TOT. I still see the same test failures:

********************
Failed Tests (3):
  lldb-api :: functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
  lldb-api :: functionalities/reverse-execution/TestReverseContinueBreakpoints.py
  lldb-api :: functionalities/reverse-execution/TestReverseContinueWatchpoints.py

full log: check-lldb.005.log

@slydiman
Copy link
Contributor

slydiman commented May 27, 2025

lldb-api :: functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py

llvm/llvm-project#138083
It is necessary to set LLDB_USE_LLDB_SERVER=1 in the test environment, not build.
I see LLDB_USE_LLDB_SERVER in your config, but it seems something is wrong.
It might be easier to set LLDB_USE_LLDB_SERVER=1 in the systems environment on the worker machine similar to https://lab.llvm.org/buildbot/#/builders/141

lldb-api :: functionalities/reverse-execution/TestReverseContinueBreakpoints.py
lldb-api :: functionalities/reverse-execution/TestReverseContinueWatchpoints.py

llvm/llvm-project#138084
I think we can ignore them for now.
We need the working buildbot first to use it as a reason to disable these tests for x86_64 or force authors to fix them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants