forked from OSchip/llvm-project
[lldb] Only override target arch if it is compatible
It looks like the goal of this code is to provide a more precise architecture definition for the target when attaching to a process. When attaching to a foreign debugserver, you might get into a situation where the active (host) platform will give you bogus information on the target process. This change allows the platform to override the target arch only with a compatible architecture. This fixes TestTargetXMLArch.py on Apple Silicon. Another alternative would be to just fail in this scenario and update the test(s).
This commit is contained in:
parent
ded660495f
commit
87183b1a75
|
@ -2865,8 +2865,10 @@ void Process::CompleteAttach() {
|
|||
ProcessInstanceInfo process_info;
|
||||
GetProcessInfo(process_info);
|
||||
const ArchSpec &process_arch = process_info.GetArchitecture();
|
||||
const ArchSpec &target_arch = GetTarget().GetArchitecture();
|
||||
if (process_arch.IsValid() &&
|
||||
!GetTarget().GetArchitecture().IsExactMatch(process_arch)) {
|
||||
target_arch.IsCompatibleMatch(process_arch) &&
|
||||
!target_arch.IsExactMatch(process_arch)) {
|
||||
GetTarget().SetArchitecture(process_arch);
|
||||
LLDB_LOGF(log,
|
||||
"Process::%s switching architecture to %s based on info "
|
||||
|
|
Loading…
Reference in New Issue