[lldb][NFC] Try to adapt Cortex-M API test for an Unbuntu bot

When I added support for the Cortex-M exception return unwinding,
I got CI test failures on the lldb-remote-linux-ubuntu bot.  The
triple from my test `binary.json`, "armv7m-apple", was not being
used for the Target, so the incorrect SysV / AAPCS ABI was being
selected, and that ABI plugin has default unwind plans that hardcode
the arm-code r11 frame pointer behavior.  This is a Cortex-M
core, and r7 should be used.  The Darwin Arm ABI plugin uses r7 for
both arm and thumb, and behaves correctly.

Try getting the triple from `binary.json` in the API test, creating
the target with that triple explicitly before loading the corefile.
This may help prevent however we were losing the "-apple-" part of
the triple.  We'll see what the CI bot looks like with this added.
diff --git a/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py b/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
index 30b2a52..7ccb7ba 100644
--- a/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
+++ b/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
@@ -12,34 +12,16 @@
 class TestCortexMExceptionUnwind(TestBase):
     NO_DEBUG_INFO_TESTCASE = True
 
-    # on the lldb-remote-linux-ubuntu CI, the binary.json's triple of
-    # armv7m-apple is not being set in the Target triple, and we're
-    # picking the wrong ABI plugin, ABISysV_arm.
-    # ABISysV_arm::CreateDefaultUnwindPlan() doesn't have a way to detect
-    # arm/thumb for a stack frame, or even the Target's triple for a
-    # Cortex-M part that is always thumb.  It hardcodes r11 as the frame
-    # pointer register, which is correct for arm code but not thumb.
-    # It is never correct # on a Cortex-M target.
-    # The Darwin ABIMacOSX_arm diverges from AAPCS and always uses r7 for
-    # the frame pointer -- the thumb convention -- whether executing arm or
-    # thumb.  So its CreateDefaultUnwindPlan picks the correct register for
-    # the frame pointer, and we can walk the stack.
-    # ABISysV_arm::CreateDefaultUnwindPlan will only get one frame and
-    # not be able to continue.
-    #
-    # This may only be occuring on a 32-bit Ubuntu bot; need to test
-    # 64-bit Ubuntu and confirm.
-    @skipUnlessDarwin
     def test_no_fpu(self):
         """Test that we can backtrace correctly through an ARM Cortex-M Exception return stack"""
 
-        target = self.dbg.CreateTarget("")
         exe = "binary.json"
         with open(exe) as f:
             exe_json = json.load(f)
             exe_uuid = exe_json["uuid"]
+            triple = exe_json["triple"]
 
-        target.AddModule(exe, "", exe_uuid)
+        target = self.dbg.CreateTargetWithFileAndTargetTriple(exe, triple)
         self.assertTrue(target.IsValid())
 
         core = self.getBuildArtifact("core")