Update DR to fix Windows build warning (#2570)

Updates DR to 92be9e40f to pull in the fix for a drreg compiler warning
which is breaking the build,
along with the drmgr fix for the umbra_test_allscales failure.

Updates drmemory usage of several DR events to use drmgr instead to
comply with drmgr changes.

Avoids some double-definitions of macros.

Issue DynamoRIO/dynamorio#7739
diff --git a/common/utils.h b/common/utils.h
index edcea35..536fbc7 100644
--- a/common/utils.h
+++ b/common/utils.h
@@ -1,5 +1,5 @@
 /* **********************************************************
- * Copyright (c) 2010-2024 Google, Inc.  All rights reserved.
+ * Copyright (c) 2010-2025 Google, Inc.  All rights reserved.
  * Copyright (c) 2007-2010 VMware, Inc.  All rights reserved.
  * **********************************************************/
 
@@ -203,10 +203,12 @@
 # define inline __inline
 # define INLINE_FORCED __forceinline
 /* Use special C99 operator _Pragma to generate a pragma from a macro */
-# if _MSC_VER <= 1200 /* XXX: __pragma may work w/ vc6: then don't need #if */
-#  define ACTUAL_PRAGMA(p) _Pragma ( #p )
-# else
-#   define ACTUAL_PRAGMA(p) __pragma ( p )
+# ifndef ACTUAL_PRAGMA
+#  if _MSC_VER <= 1200 /* XXX: __pragma may work w/ vc6: then don't need #if */
+#   define ACTUAL_PRAGMA(p) _Pragma ( #p )
+#  else
+#    define ACTUAL_PRAGMA(p) __pragma ( p )
+#  endif
 # endif
 # define DO_NOT_OPTIMIZE ACTUAL_PRAGMA( optimize("g", off) )
 # define END_DO_NOT_OPTIMIZE ACTUAL_PRAGMA( optimize("g", on) )
@@ -215,8 +217,10 @@
  * struct have to be typedef-ed in two steps.
  * see example struct _packed_frame_t at common/callstack.c
  */
-# define START_PACKED_STRUCTURE ACTUAL_PRAGMA( pack(push,1) )
-# define END_PACKED_STRUCTURE ACTUAL_PRAGMA( pack(pop) )
+# ifndef START_PACKED_STRUCTURE
+#  define START_PACKED_STRUCTURE ACTUAL_PRAGMA( pack(push,1) )
+#  define END_PACKED_STRUCTURE ACTUAL_PRAGMA( pack(pop) )
+# endif
 #else /* UNIX */
 # define inline __inline__
 # define INLINE_FORCED inline
@@ -226,8 +230,10 @@
 #   define DO_NOT_OPTIMIZE /* nothing */
 # endif
 # define END_DO_NOT_OPTIMIZE /* nothing */
-# define START_PACKED_STRUCTURE /* nothing */
-# define END_PACKED_STRUCTURE __attribute__ ((__packed__))
+# ifndef START_PACKED_STRUCTURE
+#  define START_PACKED_STRUCTURE /* nothing */
+#  define END_PACKED_STRUCTURE __attribute__ ((__packed__))
+# endif
 #endif
 #define INLINE_ONCE inline
 
diff --git a/drheapstat/drheapstat.c b/drheapstat/drheapstat.c
index fbcf04d..1a00a61 100644
--- a/drheapstat/drheapstat.c
+++ b/drheapstat/drheapstat.c
@@ -1,5 +1,5 @@
 /* **********************************************************
- * Copyright (c) 2010-2024 Google, Inc.  All rights reserved.
+ * Copyright (c) 2010-2025 Google, Inc.  All rights reserved.
  * Copyright (c) 2009-2010 VMware, Inc.  All rights reserved.
  * **********************************************************/
 
@@ -2193,7 +2193,7 @@
     create_global_logfile();
     LOG(0, "options are \"%s\"\n", opstr);
 
-    dr_register_exit_event(event_exit);
+    drmgr_register_exit_event(event_exit);
     drmgr_register_thread_init_event(event_thread_init);
     drmgr_register_thread_exit_event(event_thread_exit);
 
@@ -2214,7 +2214,7 @@
 #endif
     }
 
-    dr_register_filter_syscall_event(event_filter_syscall);
+    drmgr_register_filter_syscall_event(event_filter_syscall);
     drmgr_register_pre_syscall_event(event_pre_syscall);
     drmgr_register_post_syscall_event(event_post_syscall);
     /* simplest to filter all for pre-syscall-arg access: else we'd
diff --git a/drltrace/drltrace.cpp b/drltrace/drltrace.cpp
index 3c0e436..9ffeeeb 100644
--- a/drltrace/drltrace.cpp
+++ b/drltrace/drltrace.cpp
@@ -1,5 +1,5 @@
 /* ***************************************************************************
- * Copyright (c) 2013-2024 Google, Inc.  All rights reserved.
+ * Copyright (c) 2013-2025 Google, Inc.  All rights reserved.
  * ***************************************************************************/
 
 /*
@@ -482,7 +482,7 @@
     drwrap_set_global_flags((drwrap_global_flags_t)
                             (DRWRAP_NO_FRILLS | DRWRAP_FAST_CLEANCALLS));
 
-    dr_register_exit_event(event_exit);
+    drmgr_register_exit_event(event_exit);
 #ifdef UNIX
     dr_register_fork_init_event(event_fork);
 #endif
diff --git a/drmemory/drmemory.c b/drmemory/drmemory.c
index d5ee8e4..0859b6a 100755
--- a/drmemory/drmemory.c
+++ b/drmemory/drmemory.c
@@ -1,5 +1,5 @@
 /* **********************************************************
- * Copyright (c) 2010-2024 Google, Inc.  All rights reserved.
+ * Copyright (c) 2010-2025 Google, Inc.  All rights reserved.
  * Copyright (c) 2007-2010 VMware, Inc.  All rights reserved.
  * **********************************************************/
 
@@ -1865,7 +1865,7 @@
     ASSERT(app_base != NULL, "internal error finding executable base");
     LOG(2, "executable \"%s\" is "PFX"-"PFX"\n", app_path, app_base, app_end);
 
-    dr_register_exit_event(event_exit);
+    drmgr_register_exit_event(event_exit);
     drmgr_register_thread_init_event(event_thread_init);
     drmgr_register_thread_exit_event(event_thread_exit);
     drmgr_register_restore_state_ex_event(event_restore_state);
diff --git a/drmemory/syscall.c b/drmemory/syscall.c
index a843526..6fe9616 100644
--- a/drmemory/syscall.c
+++ b/drmemory/syscall.c
@@ -1,5 +1,5 @@
 /* **********************************************************
- * Copyright (c) 2010-2021 Google, Inc.  All rights reserved.
+ * Copyright (c) 2010-2025 Google, Inc.  All rights reserved.
  * Copyright (c) 2007-2010 VMware, Inc.  All rights reserved.
  * **********************************************************/
 
@@ -701,7 +701,7 @@
     /* We register our own filter to be independent of
      * drsys_filter_all_syscalls() for our own syscall tracking needs.
      */
-    dr_register_filter_syscall_event(event_filter_syscall);
+    drmgr_register_filter_syscall_event(event_filter_syscall);
     drmgr_register_pre_syscall_event(event_pre_syscall);
     drmgr_register_post_syscall_event(event_post_syscall);
     if (drsys_filter_all_syscalls() != DRMF_SUCCESS)
diff --git a/drstrace/drstrace.c b/drstrace/drstrace.c
index cc4f7db..f9a6c6a 100644
--- a/drstrace/drstrace.c
+++ b/drstrace/drstrace.c
@@ -1,5 +1,5 @@
 /* **********************************************************
- * Copyright (c) 2013-2020 Google, Inc.  All rights reserved.
+ * Copyright (c) 2013-2025 Google, Inc.  All rights reserved.
  * **********************************************************/
 
 /* Dr. Memory: the memory debugger
@@ -698,9 +698,9 @@
 #endif
     if (res != DRMF_SUCCESS)
         ASSERT(false, "drsys failed to init");
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 
-    dr_register_filter_syscall_event(event_filter_syscall);
+    drmgr_register_filter_syscall_event(event_filter_syscall);
     drmgr_register_pre_syscall_event(event_pre_syscall);
     drmgr_register_post_syscall_event(event_post_syscall);
     if (drsys_filter_all_syscalls() != DRMF_SUCCESS)
diff --git a/drsyscall/drsyscall.c b/drsyscall/drsyscall.c
index 37f0494..8266900 100644
--- a/drsyscall/drsyscall.c
+++ b/drsyscall/drsyscall.c
@@ -2239,7 +2239,7 @@
     drmgr_register_post_syscall_event_ex(drsys_event_post_syscall, &pri_postsys);
     drmgr_register_post_syscall_event_ex(drsys_event_post_syscall_last, &pri_postsys_last);
 
-    dr_register_filter_syscall_event(drsys_event_filter_syscall);
+    drmgr_register_filter_syscall_event(drsys_event_filter_syscall);
     hashtable_init(&filtered_table, FILTERED_TABLE_HASH_BITS, HASH_INTPTR,
                    false/*!strdup*/);
 
diff --git a/dynamorio b/dynamorio
index f233a38..92be9e4 160000
--- a/dynamorio
+++ b/dynamorio
@@ -1 +1 @@
-Subproject commit f233a38f98b88f370c8d698032742981cfc95f31
+Subproject commit 92be9e40f209525031b5407095f1f81abf483bac
diff --git a/framework/samples/strace.c b/framework/samples/strace.c
index cd1f456..2f6f476 100644
--- a/framework/samples/strace.c
+++ b/framework/samples/strace.c
@@ -73,12 +73,12 @@
 {
     drsys_options_t ops = { sizeof(ops), 0, };
     drmgr_init();
-    dr_register_filter_syscall_event(event_filter_syscall);
+    drmgr_register_filter_syscall_event(event_filter_syscall);
     drmgr_register_pre_syscall_event(event_pre_syscall);
     drmgr_register_post_syscall_event(event_post_syscall);
     if (drsys_init(id, &ops) != DRMF_SUCCESS)
         DR_ASSERT(false);
-    dr_register_exit_event(event_exit);
+    drmgr_register_exit_event(event_exit);
 #ifdef WINDOWS
     dr_enable_console_printing(); /* ensure output shows up in cmd */
 #endif
diff --git a/tests/framework/drfuzz_client_empty.c b/tests/framework/drfuzz_client_empty.c
index 5c8b108..622ae56 100644
--- a/tests/framework/drfuzz_client_empty.c
+++ b/tests/framework/drfuzz_client_empty.c
@@ -51,5 +51,5 @@
     drmgr_init();
     if (drfuzz_init(id) != DRMF_SUCCESS)
         DR_ASSERT_MSG(false, "drfuzz failed to init");
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 }
diff --git a/tests/framework/drfuzz_client_repeat.c b/tests/framework/drfuzz_client_repeat.c
index 21eb6cd..5da3a30 100644
--- a/tests/framework/drfuzz_client_repeat.c
+++ b/tests/framework/drfuzz_client_repeat.c
@@ -86,7 +86,7 @@
     drmgr_init();
     if (drfuzz_init(id) != DRMF_SUCCESS)
         EXPECT(false, "drfuzz failed to init");
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 
     /* fuzz repeatme */
     app = dr_get_main_module();
diff --git a/tests/framework/drfuzz_client_segfault.c b/tests/framework/drfuzz_client_segfault.c
index bd68184..3421b80 100644
--- a/tests/framework/drfuzz_client_segfault.c
+++ b/tests/framework/drfuzz_client_segfault.c
@@ -246,7 +246,7 @@
 
     drmgr_init();
     drsym_init(0);
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 
     if (drfuzz_init(id) != DRMF_SUCCESS)
         EXPECT(false, "drfuzz failed to init");
diff --git a/tests/framework/drsyscall_client.c b/tests/framework/drsyscall_client.c
index 65d50bf..768abcd 100644
--- a/tests/framework/drsyscall_client.c
+++ b/tests/framework/drsyscall_client.c
@@ -387,9 +387,9 @@
     drmgr_init();
     if (drsys_init(id, &ops) != DRMF_SUCCESS)
         ASSERT(false, "drsys failed to init");
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 
-    dr_register_filter_syscall_event(event_filter_syscall);
+    drmgr_register_filter_syscall_event(event_filter_syscall);
     drmgr_register_pre_syscall_event(event_pre_syscall);
     drmgr_register_post_syscall_event(event_post_syscall);
     if (drsys_filter_all_syscalls() != DRMF_SUCCESS)
diff --git a/tests/framework/strace_client.c b/tests/framework/strace_client.c
index e62fa94..3156f19 100644
--- a/tests/framework/strace_client.c
+++ b/tests/framework/strace_client.c
@@ -248,9 +248,9 @@
     drmgr_init();
     if (drsys_init(id, &ops) != DRMF_SUCCESS)
         ASSERT(false, "drsys failed to init");
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 
-    dr_register_filter_syscall_event(event_filter_syscall);
+    drmgr_register_filter_syscall_event(event_filter_syscall);
     drmgr_register_pre_syscall_event(event_pre_syscall);
     drmgr_register_post_syscall_event(event_post_syscall);
     if (drsys_filter_all_syscalls() != DRMF_SUCCESS)
diff --git a/tests/framework/umbra_client_consistency.c b/tests/framework/umbra_client_consistency.c
index e055783..ae4e5b9 100644
--- a/tests/framework/umbra_client_consistency.c
+++ b/tests/framework/umbra_client_consistency.c
@@ -79,7 +79,7 @@
         DR_ASSERT_MSG(false, "fail to create shadow memory mapping");
     drmgr_register_bb_instrumentation_event(event_app_analysis,
                                             event_app_instruction, NULL);
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 }
 
 static void
diff --git a/tests/framework/umbra_client_empty.c b/tests/framework/umbra_client_empty.c
index 7e064c3..97a1fa1 100644
--- a/tests/framework/umbra_client_empty.c
+++ b/tests/framework/umbra_client_empty.c
@@ -66,5 +66,5 @@
         DR_ASSERT_MSG(false, "fail to init umbra");
     if (umbra_create_mapping(&umbra_map_ops, &umbra_map) != DRMF_SUCCESS)
         DR_ASSERT_MSG(false, "fail to create shadow memory mapping");
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 }
diff --git a/tests/framework/umbra_client_faulty_redzone.c b/tests/framework/umbra_client_faulty_redzone.c
index da66df3..24b96e5 100644
--- a/tests/framework/umbra_client_faulty_redzone.c
+++ b/tests/framework/umbra_client_faulty_redzone.c
@@ -93,7 +93,7 @@
 #else
     drmgr_register_signal_event(event_signal_instrumentation);
 #endif
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 }
 
 static void
diff --git a/tests/framework/umbra_client_insert_app_to_shadow.c b/tests/framework/umbra_client_insert_app_to_shadow.c
index 84f017c..d578a4b 100644
--- a/tests/framework/umbra_client_insert_app_to_shadow.c
+++ b/tests/framework/umbra_client_insert_app_to_shadow.c
@@ -96,7 +96,7 @@
 #else
     drmgr_register_signal_event(event_signal_instrumentation);
 #endif
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 }
 
 #ifndef X64
diff --git a/tests/framework/umbra_client_shadow_mem.c b/tests/framework/umbra_client_shadow_mem.c
index dbc7021..7524cfe 100644
--- a/tests/framework/umbra_client_shadow_mem.c
+++ b/tests/framework/umbra_client_shadow_mem.c
@@ -79,7 +79,7 @@
         DR_ASSERT_MSG(false, "fail to create shadow memory mapping");
     drmgr_register_bb_instrumentation_event(event_app_analysis,
                                             event_app_instruction, NULL);
-    dr_register_exit_event(exit_event);
+    drmgr_register_exit_event(exit_event);
 }
 
 static void
diff --git a/umbra/umbra.c b/umbra/umbra.c
index 3ce19ac..0ecc5e3 100644
--- a/umbra/umbra.c
+++ b/umbra/umbra.c
@@ -1,5 +1,5 @@
 /* **********************************************************
- * Copyright (c) 2012-2024 Google, Inc.  All rights reserved.
+ * Copyright (c) 2012-2025 Google, Inc.  All rights reserved.
  * **********************************************************/
 
 /* Dr. Memory: the memory debugger
@@ -317,7 +317,7 @@
     /* register event callbacks */
     if (!drmgr_init())
         return DRMF_ERROR;
-    dr_register_filter_syscall_event(umbra_event_filter_syscall);
+    drmgr_register_filter_syscall_event(umbra_event_filter_syscall);
     drmgr_register_pre_syscall_event(umbra_event_pre_syscall);
     drmgr_register_post_syscall_event(umbra_event_post_syscall);
 #ifdef WINDOWS
@@ -356,7 +356,7 @@
     umbra_arch_exit();
     dr_mutex_destroy(umbra_global_lock);
 
-    dr_unregister_filter_syscall_event(umbra_event_filter_syscall);
+    drmgr_unregister_filter_syscall_event(umbra_event_filter_syscall);
     drmgr_unregister_pre_syscall_event(umbra_event_pre_syscall);
     drmgr_unregister_post_syscall_event(umbra_event_post_syscall);
 #ifdef WINDOWS