Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions api/docs/release.dox
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,15 @@ changes:
The changes between version \DR_VERSION and 11.3.0 include the following minor
compatibility changes:

- Added drmgr_register_filter_syscall_event() and
drmgr_register_filter_syscall_event_user_data() which are required to be used
instead of dr_register_filter_syscall_event() when using drmgr.
- Added drmgr_register_exit_event(), drmgr_unregister_exit_event(),
drmgr_register_exit_event_user_data(), and drmgr_unregister_exit_event_user_data(),
which are required to be used instead of dr_register_exit_event() when using drmgr
and provide priorities and user data to the exit event.
- Added drmgr_register_filter_syscall_event(), drmgr_unregister_filter_syscall_event(),
drmgr_register_filter_syscall_event_user_data(), and
drmgr_unregister_filter_syscall_event_user_data(), which are required to be used
instead of dr_register_filter_syscall_event() when using drmgr and provide
priorities and user data to the filter event.
- Added a separate cache replacement policy object to `caching_device_t`. `init` now
takes an `std::unique_ptr<cache_replacement_policy_t>` that defines the replacement
policy. It can be created manually or by using `create_cache_replacement_policy`.
Expand Down
2 changes: 1 addition & 1 deletion api/samples/bbbuf.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(buf);

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_thread_init_event(event_thread_init) ||
!drmgr_register_bb_instrumentation_event(NULL, event_app_instruction, NULL))
DR_ASSERT(false);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/bbcount.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_bb_instrumentation_event(NULL, event_app_instruction, NULL))
DR_ASSERT(false);

Expand Down
2 changes: 1 addition & 1 deletion api/samples/bbsize.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
drmgr_init();
stats_mutex = dr_mutex_create();
drmgr_register_bb_instrumentation_event(event_bb_analysis, NULL, NULL);
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
#ifdef SHOW_RESULTS
if (dr_is_notify_on()) {
# ifdef WINDOWS
Expand Down
2 changes: 1 addition & 1 deletion api/samples/callstack.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
drsym_init(0) != DRSYM_SUCCESS ||
!drmgr_register_module_load_event(dynamorio::samples::module_load_event))
DR_ASSERT(false);
dr_register_exit_event(dynamorio::samples::event_exit);
drmgr_register_exit_event(dynamorio::samples::event_exit);
// Improve performance as we only need basic wrapping support.
drwrap_set_global_flags(
static_cast<drwrap_global_flags_t>(DRWRAP_NO_FRILLS | DRWRAP_FAST_CLEANCALLS));
Expand Down
2 changes: 1 addition & 1 deletion api/samples/cbr.c
Original file line number Diff line number Diff line change
Expand Up @@ -501,5 +501,5 @@ dr_client_main(client_id_t id, int argc, const char *argv[])

if (!drmgr_register_bb_instrumentation_event(NULL, event_app_instruction, NULL))
DR_ASSERT_MSG(false, "fail to register event_app_instruction!");
dr_register_exit_event(dr_exit);
drmgr_register_exit_event(dr_exit);
}
2 changes: 1 addition & 1 deletion api/samples/cbrtrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
client_id = id;
tls_idx = drmgr_register_tls_field();

dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_thread_init_event(event_thread_init) ||
!drmgr_register_thread_exit_event(event_thread_exit) ||
!drmgr_register_bb_instrumentation_event(NULL, event_app_instruction, NULL))
Expand Down
2 changes: 1 addition & 1 deletion api/samples/countcalls.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
if (!drmgr_init() || drreg_init(&ops) != DRREG_SUCCESS)
DR_ASSERT(false);
/* register events */
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_bb_instrumentation_event(NULL, event_instruction, NULL);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/div.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
dr_set_client_name("DynamoRIO Sample Client 'div'", "http://dynamorio.org/issues");
if (!drmgr_init())
DR_ASSERT(false);
dr_register_exit_event(exit_event);
drmgr_register_exit_event(exit_event);
if (!drmgr_register_bb_instrumentation_event(NULL, event_app_instruction, NULL))
DR_ASSERT(false);
count_mutex = dr_mutex_create();
Expand Down
2 changes: 1 addition & 1 deletion api/samples/hot_bbcount.c
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);

hashtable_init_ex(&hit_count_table, HASH_BITS, HASH_INTPTR, false /*!strdup*/,
false /*synchronization is external*/, destroy_hit_count, NULL,
Expand Down
2 changes: 1 addition & 1 deletion api/samples/inc2add.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
* We're changing the app's code, rather than just inserting observational
* instrumentation.
*/
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_bb_app2app_event(event_instruction_change, NULL))
DR_ASSERT(false);

Expand Down
2 changes: 1 addition & 1 deletion api/samples/inline.c
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
false /*synchronization is external*/, free_trace_head_entry, NULL,
NULL);

dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_bb_instrumentation_event(event_analyze_bb, NULL, NULL))
DR_ASSERT(false);
dr_register_delete_event(event_fragment_deleted);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/inscount.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
}

/* register events */
dr_register_exit_event(dynamorio::samples::event_exit);
drmgr_register_exit_event(dynamorio::samples::event_exit);
drmgr_register_bb_instrumentation_event(dynamorio::samples::event_bb_analysis,
dynamorio::samples::event_app_instruction,
NULL);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/instrace_simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_thread_init_event(event_thread_init) ||
!drmgr_register_thread_exit_event(event_thread_exit) ||
!drmgr_register_bb_instrumentation_event(NULL /*analysis_func*/,
Expand Down
2 changes: 1 addition & 1 deletion api/samples/instrace_x86.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);
client_id = id;
mutex = dr_mutex_create();
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_thread_init_event(event_thread_init) ||
!drmgr_register_thread_exit_event(event_thread_exit) ||
!drmgr_register_bb_instrumentation_event(NULL /*analysis func*/, event_bb_insert,
Expand Down
2 changes: 1 addition & 1 deletion api/samples/instrcalls.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
dr_fprintf(STDERR, "Client instrcalls is running\n");
}
#endif
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
drmgr_register_bb_instrumentation_event(NULL, event_app_instruction, NULL);
drmgr_register_thread_init_event(event_thread_init);
drmgr_register_thread_exit_event(event_thread_exit);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/memtrace_simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_thread_init_event(event_thread_init) ||
!drmgr_register_thread_exit_event(event_thread_exit) ||
!drmgr_register_bb_app2app_event(event_bb_app2app, NULL) ||
Expand Down
2 changes: 1 addition & 1 deletion api/samples/memtrace_x86.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
drutil_init();
client_id = id;
mutex = dr_mutex_create();
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_thread_init_event(event_thread_init) ||
!drmgr_register_thread_exit_event(event_thread_exit) ||
!drmgr_register_bb_app2app_event(event_bb_app2app, &priority) ||
Expand Down
2 changes: 1 addition & 1 deletion api/samples/memval_simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_thread_init_event(event_thread_init) ||
!drmgr_register_thread_exit_event(event_thread_exit) ||
!drmgr_register_bb_app2app_event(event_bb_app2app, NULL) ||
Expand Down
2 changes: 1 addition & 1 deletion api/samples/modxfer.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);
drx_init();
/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_bb_instrumentation_event(event_analyze_bb,
event_insert_instrumentation, NULL))
DR_ASSERT(false);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/modxfer_app2lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_bb_instrumentation_event(event_analyze_bb,
event_insert_instrumentation, NULL))
DR_ASSERT(false);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/opcode_count.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* Register opcode event. */
dr_register_exit_event(dynamorio::samples::event_exit);
drmgr_register_exit_event(dynamorio::samples::event_exit);
if (!drmgr_register_opcode_instrumentation_event(
dynamorio::samples::event_opcode_instruction, valid_opcode, NULL, NULL) ||
!drmgr_register_bb_instrumentation_event(
Expand Down
2 changes: 1 addition & 1 deletion api/samples/opcodes.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
drx_init();

/* Register events: */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_bb_instrumentation_event(NULL, event_app_instruction, NULL))
DR_ASSERT(false);

Expand Down
2 changes: 1 addition & 1 deletion api/samples/prefetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
"http://dynamorio.org/issues");
if (!drmgr_init())
DR_ASSERT(false);
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
/* Only need to remove prefetches for Intel processors. */
if (proc_get_vendor() == VENDOR_INTEL) {
/* We may remove app instructions, so we should register app2app event
Expand Down
2 changes: 1 addition & 1 deletion api/samples/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
#ifdef UNIX
drmgr_register_signal_event(event_signal);
#endif
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
#ifdef SHOW_RESULTS
if (dr_is_notify_on()) {
# ifdef WINDOWS
Expand Down
2 changes: 1 addition & 1 deletion api/samples/ssljack.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ dr_init(client_id_t id)

drmgr_init();
drwrap_init();
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
drmgr_register_module_load_event(module_load_event);
}

Expand Down
2 changes: 1 addition & 1 deletion api/samples/statecmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -151,5 +151,5 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
NULL))
DR_ASSERT(false);

dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
}
2 changes: 1 addition & 1 deletion api/samples/stats.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
strncpy(stats->names[i], stat_names[i], CLIENTSTAT_NAME_MAX_LEN);
stats->names[i][CLIENTSTAT_NAME_MAX_LEN - 1] = '\0';
}
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
if (!drmgr_register_bb_instrumentation_event(event_analyze_bb,
event_insert_instrumentation, NULL))
DR_ASSERT(false);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/strace.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ dr_init(client_id_t id)
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
Expand Down
2 changes: 1 addition & 1 deletion api/samples/syscall.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
drmgr_register_filter_syscall_event(event_filter_syscall);
drmgr_register_pre_syscall_event(event_pre_syscall);
drmgr_register_post_syscall_event(event_post_syscall);
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
tcls_idx =
drmgr_register_cls_field(event_thread_context_init, event_thread_context_exit);
DR_ASSERT(tcls_idx != -1);
Expand Down
2 changes: 1 addition & 1 deletion api/samples/wrap.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
#endif
drmgr_init();
drwrap_init();
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
drmgr_register_module_load_event(module_load_event);
max_lock = dr_mutex_create();
}
Expand Down
4 changes: 2 additions & 2 deletions clients/drcachesim/tracer/tracer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2079,7 +2079,7 @@ event_exit(void)
DR_ASSERT(false);
}
}
dr_unregister_exit_event(event_exit);
drmgr_unregister_exit_event(event_exit);

/* Clear callbacks and globals to support re-attach when linked statically. */
file_ops_func = file_ops_func_t();
Expand Down Expand Up @@ -2530,7 +2530,7 @@ drmemtrace_client_main(client_id_t id, int argc, const char *argv[])
}

/* register events */
dr_register_exit_event(event_exit);
drmgr_register_exit_event(event_exit);
#ifdef UNIX
dr_register_fork_init_event(fork_init);
#endif
Expand Down
2 changes: 1 addition & 1 deletion clients/drcpusim/drcpusim.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ dr_client_main(client_id_t id, int argc, const char *argv[])
DR_ASSERT(false);

/* register events */
dr_register_exit_event(dynamorio::drcpusim::event_exit);
drmgr_register_exit_event(dynamorio::drcpusim::event_exit);
if (!drmgr_register_bb_instrumentation_event(
NULL, dynamorio::drcpusim::event_app_instruction, NULL))
DR_ASSERT(false);
Expand Down
4 changes: 1 addition & 3 deletions ext/drcovlib/drcovlib.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* **********************************************************
* Copyright (c) 2016-2022 Google, Inc. All rights reserved.
* Copyright (c) 2016-2025 Google, Inc. All rights reserved.
* **********************************************************/

/*
Expand Down Expand Up @@ -35,8 +35,6 @@
#ifndef _DRCOVLIB_H_
#define _DRCOVLIB_H_ 1

#include "drmgr.h"

/**
* @file drcovlib.h
* @brief Header for DynamoRIO Code Coverage Library
Expand Down
3 changes: 2 additions & 1 deletion ext/drcovlib/modules.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* ***************************************************************************
* Copyright (c) 2012-2022 Google, Inc. All rights reserved.
* Copyright (c) 2012-2025 Google, Inc. All rights reserved.
* ***************************************************************************/

/*
Expand Down Expand Up @@ -31,6 +31,7 @@
*/

#include "dr_api.h"
#include "drmgr.h"
#include "drvector.h"
#include "drcovlib.h"
#include "drcovlib_private.h"
Expand Down
2 changes: 1 addition & 1 deletion ext/drmf/framework/samples/strace.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ dr_init(client_id_t id)
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
Expand Down
Loading
Loading