|
12 | 12 | class TestCortexMExceptionUnwind(TestBase): |
13 | 13 | NO_DEBUG_INFO_TESTCASE = True |
14 | 14 |
|
15 | | - # on the lldb-remote-linux-ubuntu CI, the binary.json's triple of |
16 | | - # armv7m-apple is not being set in the Target triple, and we're |
17 | | - # picking the wrong ABI plugin, ABISysV_arm. |
18 | | - # ABISysV_arm::CreateDefaultUnwindPlan() doesn't have a way to detect |
19 | | - # arm/thumb for a stack frame, or even the Target's triple for a |
20 | | - # Cortex-M part that is always thumb. It hardcodes r11 as the frame |
21 | | - # pointer register, which is correct for arm code but not thumb. |
22 | | - # It is never correct # on a Cortex-M target. |
23 | | - # The Darwin ABIMacOSX_arm diverges from AAPCS and always uses r7 for |
24 | | - # the frame pointer -- the thumb convention -- whether executing arm or |
25 | | - # thumb. So its CreateDefaultUnwindPlan picks the correct register for |
26 | | - # the frame pointer, and we can walk the stack. |
27 | | - # ABISysV_arm::CreateDefaultUnwindPlan will only get one frame and |
28 | | - # not be able to continue. |
29 | | - # |
30 | | - # This may only be occuring on a 32-bit Ubuntu bot; need to test |
31 | | - # 64-bit Ubuntu and confirm. |
32 | | - @skipUnlessDarwin |
33 | 15 | def test_no_fpu(self): |
34 | 16 | """Test that we can backtrace correctly through an ARM Cortex-M Exception return stack""" |
35 | 17 |
|
36 | | - target = self.dbg.CreateTarget("") |
37 | 18 | exe = "binary.json" |
38 | 19 | with open(exe) as f: |
39 | 20 | exe_json = json.load(f) |
40 | 21 | exe_uuid = exe_json["uuid"] |
| 22 | + triple = exe_json["triple"] |
41 | 23 |
|
42 | | - target.AddModule(exe, "", exe_uuid) |
| 24 | + target = self.dbg.CreateTargetWithFileAndTargetTriple(exe, triple) |
43 | 25 | self.assertTrue(target.IsValid()) |
44 | 26 |
|
45 | 27 | core = self.getBuildArtifact("core") |
|
0 commit comments