No public description

PiperOrigin-RevId: 800538604
Change-Id: I2b1c098aa545b694e1569a7a9482e0d3efed175e
diff --git a/riscv/BUILD b/riscv/BUILD
index 8519c32..8d7eab3 100644
--- a/riscv/BUILD
+++ b/riscv/BUILD
@@ -1574,24 +1574,27 @@
         "riscv32_renode.h",
     ],
     # List the symbols for the functions called by renode as undefined.
-    linkopts = [
-        "-u construct",
-        "-u construct_with_sysbus",
-        "-u connect",
-        "-u connect_with_sysbus",
-        "-u destruct",
-        "-u get_reg_info_size",
-        "-u get_reg_info",
-        "-u load_elf",
-        "-u read_register",
-        "-u write_register",
-        "-u read_memory",
-        "-u write_memory",
-        "-u reset",
-        "-u step",
-        "-u set_config",
-        "-u set_irq_value",
-    ],
+    linkopts = select({
+        "darwin_arm64_cpu": ["-undefined=dynamic_lookup"],
+        "//conditions:default": [
+            "-uconnect",
+            "-uconnect_with_sysbus",
+            "-uconstruct",
+            "-uconstruct_with_sysbus",
+            "-udestruct",
+            "-uget_reg_info",
+            "-uget_reg_info_size",
+            "-uload_elf",
+            "-uread_memory",
+            "-uread_register",
+            "-ureset",
+            "-uset_config",
+            "-uset_irq_value",
+            "-ustep",
+            "-uwrite_memory",
+            "-uwrite_register",
+        ],
+    }),
     linkshared = True,
     linkstatic = True,
     deps = [
@@ -1610,24 +1613,27 @@
         "riscv64_renode.h",
     ],
     # List the symbols for the functions called by renode as undefined.
-    linkopts = [
-        "-u construct",
-        "-u construct_with_sysbus",
-        "-u connect",
-        "-u connect_with_sysbus",
-        "-u destruct",
-        "-u get_reg_info_size",
-        "-u get_reg_info",
-        "-u load_elf",
-        "-u read_register",
-        "-u write_register",
-        "-u read_memory",
-        "-u write_memory",
-        "-u reset",
-        "-u step",
-        "-u set_config",
-        "-u set_irq_value",
-    ],
+    linkopts = select({
+        "darwin_arm64_cpu": ["-undefined=dynamic_lookup"],
+        "//conditions:default": [
+            "-uconnect",
+            "-uconnect_with_sysbus",
+            "-uconstruct",
+            "-uconstruct_with_sysbus",
+            "-udestruct",
+            "-uget_reg_info",
+            "-uget_reg_info_size",
+            "-uload_elf",
+            "-uread_memory",
+            "-uread_register",
+            "-ureset",
+            "-uset_config",
+            "-uset_irq_value",
+            "-ustep",
+            "-uwrite_memory",
+            "-uwrite_register",
+        ],
+    }),
     linkshared = True,
     linkstatic = True,
     deps = [
diff --git a/riscv/test/librenode_mpact_riscv32_so_test.cc b/riscv/test/librenode_mpact_riscv32_so_test.cc
index b46a452..1e1863c 100644
--- a/riscv/test/librenode_mpact_riscv32_so_test.cc
+++ b/riscv/test/librenode_mpact_riscv32_so_test.cc
@@ -12,7 +12,11 @@
 
 namespace {
 
+#if defined(__APPLE__)
+constexpr char kFileName[] = "librenode_mpact_riscv32.dylib";
+#else
 constexpr char kFileName[] = "librenode_mpact_riscv32.so";
+#endif
 constexpr char kDepotPath[] = "riscv/";
 constexpr char kExecFileName[] = "hello_world_arm.elf";
 
diff --git a/riscv/test/librenode_mpact_riscv64_so_test.cc b/riscv/test/librenode_mpact_riscv64_so_test.cc
index 3fd2355..fa375c4 100644
--- a/riscv/test/librenode_mpact_riscv64_so_test.cc
+++ b/riscv/test/librenode_mpact_riscv64_so_test.cc
@@ -12,7 +12,11 @@
 
 namespace {
 
+#if defined(__APPLE__)
+constexpr char kFileName[] = "librenode_mpact_riscv64.dylib";
+#else
 constexpr char kFileName[] = "librenode_mpact_riscv64.so";
+#endif
 constexpr char kDepotPath[] = "riscv/";
 constexpr char kArm64FileName[] = "hello_world_64.elf";