================ @@ -17,23 +17,32 @@ image show-unwind --cached true -n foo # CHECK: UNWIND PLANS for {{.*}}`foo # -# CHECK: Assembly language inspection UnwindPlan: -# CHECK-NEXT: This UnwindPlan originally sourced from assembly insn profiling -# CHECK-NEXT: This UnwindPlan is sourced from the compiler: no. -# CHECK-NEXT: This UnwindPlan is valid at all instruction locations: yes. +# CHECK: eh_frame UnwindPlan: +# CHECK-NEXT: This UnwindPlan originally sourced from eh_frame CFI +# CHECK-NEXT: This UnwindPlan is sourced from the compiler: yes. +# CHECK-NEXT: This UnwindPlan is valid at all instruction locations: no. # CHECK-NEXT: This UnwindPlan is for a trap handler function: no. -# TODO: This address range isn't correct right now. We're just checking that -# it's a different range from the one in the next query. -# CHECK-NEXT: Address range of this UnwindPlan: [{{.*}}.text + 6-0x0000000000000046) +# CHECK-NEXT: Address range of this UnwindPlan: [{{.*}}.text + 6-0x0000000000000010)[{{.*}}.text + 17-0x000000000000001c)[{{.*}}.text + 44-0x0000000000000037)[{{.*}}.text + 56-0x000000000000003d) +# CHECK-NEXT: row[0]: 0: CFA=rsp +8 => rip=[CFA-8] +# CHECK-NEXT: row[1]: 1: CFA=rsp+16 => rbx=[CFA-16] rip=[CFA-8] +# CHECK-NEXT: row[2]: 11: CFA=rsp+16 => rbx=[CFA-16] rip=[CFA-8] +# CHECK-NEXT: row[3]: 15: CFA=rsp+32 => rbx=[CFA-16] rip=[CFA-8] +# CHECK-NEXT: row[4]: 38: CFA=rsp+16 => rbx=[CFA-16] rip=[CFA-8] +# CHECK-NEXT: row[5]: 42: CFA=rsp+32 => rbx=[CFA-16] rip=[CFA-8] +# CHECK-NEXT: row[6]: 50: CFA=rsp+32 => rbx=[CFA-16] rip=[CFA-8] +# CHECK-NEXT: row[7]: 54: CFA=rsp +8 => rbx=[CFA-16] rip=[CFA-8] +# CHECK-EMPTY: image show-unwind --cached true -n bar # CHECK: UNWIND PLANS for {{.*}}`bar -# CHECK: Assembly language inspection UnwindPlan: -# CHECK-NEXT: This UnwindPlan originally sourced from assembly insn profiling -# CHECK-NEXT: This UnwindPlan is sourced from the compiler: no. -# CHECK-NEXT: This UnwindPlan is valid at all instruction locations: yes. +# CHECK: eh_frame UnwindPlan: +# CHECK-NEXT: This UnwindPlan originally sourced from eh_frame CFI +# CHECK-NEXT: This UnwindPlan is sourced from the compiler: yes. +# CHECK-NEXT: This UnwindPlan is valid at all instruction locations: no. # CHECK-NEXT: This UnwindPlan is for a trap handler function: no. -# TODO: This address range isn't correct right now. We're just checking that -# it's a different range from the one in the previous query. -# CHECK-NEXT: Address range of this UnwindPlan: [{{.*}}.text + 35-0x0000000000000033) +# CHECK-NEXT: Address range of this UnwindPlan: [{{.*}}.text + 28-0x000000000000002c) ---------------- labath wrote:
Yeah, it's quite a mess. I've been planning to look into that. https://github.com/llvm/llvm-project/pull/137006 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits