[lldb] [llvm] [lldb] Run the LLDB test suite under MTE on capable Apple HW (PR #185780)
David Spickett via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 11 01:46:01 PDT 2026
================
@@ -0,0 +1,74 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Support/WithColor.h"
+#include <dlfcn.h>
+#include <spawn.h>
+#include <string.h>
+#include <vector>
+
+using namespace llvm;
+
+int main(int argc, const char *argv[], const char *envp[]) {
+ const char *program = argv[1];
+
+ posix_spawnattr_t attr;
+ int ret = posix_spawnattr_init(&attr);
+ if (ret != 0) {
+ WithColor::error() << "posix_spawnattr_init failed\n";
+ return EXIT_FAILURE;
+ }
+
+ typedef int (*posix_spawnattr_set_use_sec_transition_shims_np_t)(
+ posix_spawnattr_t *attr, uint32_t flags);
+ posix_spawnattr_set_use_sec_transition_shims_np_t
+ posix_spawnattr_set_use_sec_transition_shims_np_fn =
+ (posix_spawnattr_set_use_sec_transition_shims_np_t)dlsym(
+ RTLD_DEFAULT, "posix_spawnattr_set_use_sec_transition_shims_np");
+
+ if (!posix_spawnattr_set_use_sec_transition_shims_np_fn) {
+ WithColor::error()
+ << "posix_spawnattr_set_use_sec_transition_shims_np not available\n";
+ return EXIT_FAILURE;
+ }
+
+ ret = posix_spawnattr_set_use_sec_transition_shims_np_fn(&attr, /*unused=*/0);
+ if (ret != 0) {
+ WithColor::error()
+ << "posix_spawnattr_set_use_sec_transition_shims_np failed\n";
+ return EXIT_FAILURE;
+ }
+
+ std::vector<char *> new_args;
----------------
DavidSpickett wrote:
Could you just pass address of argv[1] to posix spawn? Instead of making a new set of arguments.
https://github.com/llvm/llvm-project/pull/185780
More information about the llvm-commits
mailing list