@@ -1520,65 +1520,8 @@ RegisterContextUnwind::SavedLocationForRegister(
1520
1520
1521
1521
ExecutionContext exe_ctx (m_thread.shared_from_this ());
1522
1522
Process *process = exe_ctx.GetProcessPtr ();
1523
- <<<<<<< HEAD
1524
- if (!have_unwindplan_regloc) {
1525
- // If the UnwindPlan failed to give us an unwind location for this
1526
- // register, we may be able to fall back to some ABI-defined default. For
1527
- // example, some ABIs allow to determine the caller's SP via the CFA. Also,
1528
- // the ABI may set volatile registers to the undefined state.
1529
- ABI *abi = process ? process->GetABI ().get () : nullptr ;
1530
- if (abi) {
1531
- const RegisterInfo *reg_info =
1532
- GetRegisterInfoAtIndex (regnum.GetAsKind (eRegisterKindLLDB));
1533
- if (reg_info &&
1534
- abi->GetFallbackRegisterLocation (reg_info, unwindplan_regloc)) {
1535
- UnwindLogMsg (
1536
- " supplying caller's saved %s (%d)'s location using ABI default" ,
1537
- regnum.GetName (), regnum.GetAsKind (eRegisterKindLLDB));
1538
- have_unwindplan_regloc = true ;
1539
- }
1540
- }
1541
- }
1542
-
1543
- if (!have_unwindplan_regloc) {
1544
- if (IsFrameZero ()) {
1545
- // This is frame 0 - we should return the actual live register context
1546
- // value
1547
- lldb_private::UnwindLLDB::ConcreteRegisterLocation new_regloc;
1548
- new_regloc.type =
1549
- UnwindLLDB::ConcreteRegisterLocation::eRegisterInLiveRegisterContext;
1550
- new_regloc.location .register_number = regnum.GetAsKind (eRegisterKindLLDB);
1551
- #ifdef _AIX
1552
- if (UGLY_HACK_NULL_TOPFRAME && new_regloc.location .register_number == 0x20 ) {
1553
- new_regloc.location .register_number = 0x24 ;
1554
- }
1555
- #endif
1556
- m_registers[regnum.GetAsKind (eRegisterKindLLDB)] = new_regloc;
1557
- regloc = new_regloc;
1558
- UnwindLogMsg (" supplying caller's register %s (%d) from the live "
1559
- " RegisterContext at frame 0" ,
1560
- regnum.GetName (), regnum.GetAsKind (eRegisterKindLLDB));
1561
- return UnwindLLDB::RegisterSearchResult::eRegisterFound;
1562
- } else {
1563
- std::string unwindplan_name;
1564
- if (m_full_unwind_plan_sp) {
1565
- unwindplan_name += " via '" ;
1566
- unwindplan_name += m_full_unwind_plan_sp->GetSourceName ().AsCString ();
1567
- unwindplan_name += " '" ;
1568
- }
1569
- UnwindLogMsg (" no save location for %s (%d) %s" , regnum.GetName (),
1570
- regnum.GetAsKind (eRegisterKindLLDB),
1571
- unwindplan_name.c_str ());
1572
- }
1573
- return UnwindLLDB::RegisterSearchResult::eRegisterNotFound;
1574
- }
1575
-
1576
- // unwindplan_regloc has valid contents about where to retrieve the register
1577
- if (unwindplan_regloc.IsUnspecified ()) {
1578
- =======
1579
1523
// abs_regloc has valid contents about where to retrieve the register
1580
1524
if (abs_regloc->IsUnspecified ()) {
1581
- >>>>>>> upstream/main
1582
1525
lldb_private::UnwindLLDB::ConcreteRegisterLocation new_regloc = {};
1583
1526
new_regloc.type = UnwindLLDB::ConcreteRegisterLocation::eRegisterNotSaved;
1584
1527
m_registers[regnum.GetAsKind (eRegisterKindLLDB)] = new_regloc;
0 commit comments