Page MenuHomePhabricator

Do not set LLDB_DEBUGSERVER_PATH if --out-of-tree-debugserver is passed.

Authored by davide on Jun 29 2020, 1:56 PM.



Now that there are two implementations of debugserver, one for native and the other for Rosetta [on Apple Silicon], this is needed.

Diff Detail

Event Timeline

davide created this revision.Jun 29 2020, 1:56 PM
aprantl added inline comments.Jun 29 2020, 2:51 PM

Does this have any surprising interplay with the existing LLDB_USE_SYSTEM_DEBUGSERVER cmake flag?

davide marked an inline comment as done.Jun 29 2020, 3:10 PM
davide added inline comments.

I don't think so?

aprantl added inline comments.Jun 29 2020, 4:49 PM

Great. The name made it sound dangerous!

aprantl accepted this revision.Jun 29 2020, 4:50 PM
This revision is now accepted and ready to land.Jun 29 2020, 4:50 PM
vsk added inline comments.Jun 29 2020, 5:09 PM

This actually gets rid of some surprising interplay between --server and --out-of-tree-debugserver.

That surprising situation arises due to the fact that the Rosetta debugserver is not built as part of lldb. I.e. when we need to run tests on Apple Silicon under x86_64 emulation, we still build debugserver as arm64 (if at all).

Now, at some point, it was common practice for lldb-dotest to always set --server to path/to/native/build/debugserver: this would break testing under Rosetta emulation, because the arm64 debugserver couldn't interoperate with the emulator.

So that's why it was necessary to prevent --server and --out-of-tree-debugserver from both being in effect at the same time.


Now that I think about this a bit more, it could be a good idea to log a warning when args.out_of_tree_debugserver and args.server are both set.

This revision was automatically updated to reflect the committed changes.
davide marked an inline comment as done.
Herald added a project: Restricted Project. · View Herald TranscriptJul 7 2020, 3:01 PM