diff --git a/common/utils.h b/common/utils.h index edcea35c..536fbc79 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 @@ extern "C" { # 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 @@ extern "C" { * 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 @@ extern "C" { # 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 fbcf04de..1a00a619 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 @@ dr_init(client_id_t client_id) 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 @@ dr_init(client_id_t client_id) #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 3c0e436a..9ffeeeb8 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 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 d5ee8e47..0859b6a0 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 @@ dr_init(client_id_t id) 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 a843526d..6fe96164 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 @@ syscall_init(void *drcontext _IF_WINDOWS(app_pc ntdll_base)) /* 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 cc4f7db3..f9a6c6ac 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 @@ void dr_init(client_id_t id) #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 37f0494e..82669007 100644 --- a/drsyscall/drsyscall.c +++ b/drsyscall/drsyscall.c @@ -2239,7 +2239,7 @@ drsys_init(client_id_t client_id, drsys_options_t *ops) 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 f233a38f..92be9e40 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 cd1f4564..2f6f476f 100644 --- a/framework/samples/strace.c +++ b/framework/samples/strace.c @@ -73,12 +73,12 @@ dr_init(client_id_t id) { 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 5c8b1089..622ae568 100644 --- a/tests/framework/drfuzz_client_empty.c +++ b/tests/framework/drfuzz_client_empty.c @@ -51,5 +51,5 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 21eb6cd1..5da3a307 100644 --- a/tests/framework/drfuzz_client_repeat.c +++ b/tests/framework/drfuzz_client_repeat.c @@ -86,7 +86,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 bd681846..3421b80b 100644 --- a/tests/framework/drfuzz_client_segfault.c +++ b/tests/framework/drfuzz_client_segfault.c @@ -246,7 +246,7 @@ void dr_client_main(client_id_t id, int argc, const char *argv[]) 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 65d50bf9..768abcda 100644 --- a/tests/framework/drsyscall_client.c +++ b/tests/framework/drsyscall_client.c @@ -387,9 +387,9 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 e62fa945..3156f19c 100644 --- a/tests/framework/strace_client.c +++ b/tests/framework/strace_client.c @@ -248,9 +248,9 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 e0557836..ae4e5b96 100644 --- a/tests/framework/umbra_client_consistency.c +++ b/tests/framework/umbra_client_consistency.c @@ -79,7 +79,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 7e064c36..97a1fa1c 100644 --- a/tests/framework/umbra_client_empty.c +++ b/tests/framework/umbra_client_empty.c @@ -66,5 +66,5 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 da66df3d..24b96e50 100644 --- a/tests/framework/umbra_client_faulty_redzone.c +++ b/tests/framework/umbra_client_faulty_redzone.c @@ -93,7 +93,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) #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 84f017c1..d578a4b0 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 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) #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 dbc70219..7524cfe0 100644 --- a/tests/framework/umbra_client_shadow_mem.c +++ b/tests/framework/umbra_client_shadow_mem.c @@ -79,7 +79,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[]) 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 3ce19acc..0ecc5e33 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 @@ umbra_init(client_id_t client_id) /* 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_exit(void) 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