Skip to content

Commit

Permalink
model/dr: [chore] upgraded DR dependency to v11.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
OleksiiOleksenko committed Feb 17, 2025
1 parent 337c94a commit 78764a3
Show file tree
Hide file tree
Showing 10 changed files with 22 additions and 20 deletions.
12 changes: 7 additions & 5 deletions src/model_dynamorio/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,24 @@ current_dir = $(dir $(mkfile_path))
dr_path := $(HOME)/.local/dynamorio/
model_path := $(HOME)/.local/dynamorio/model/

release := 11.2.0

.PHONY: all download_dr backend adapter

all: download_dr backend adapter

download_dr:
mkdir -p $(dr_path)
wget https://github.com/DynamoRIO/dynamorio/releases/download/release_10.0.0/DynamoRIO-Linux-10.0.0.tar.gz -O $(dr_path)/DynamoRIO-Linux-10.0.0.tar.gz
tar xf $(dr_path)/DynamoRIO-Linux-10.0.0.tar.gz -C $(dr_path)
rm $(dr_path)/DynamoRIO-Linux-10.0.0.tar.gz
wget https://github.com/DynamoRIO/dynamorio/releases/download/release_$(release)/DynamoRIO-Linux-$(release).tar.gz -O $(dr_path)/DynamoRIO-Linux-$(release).tar.gz
tar xf $(dr_path)/DynamoRIO-Linux-$(release).tar.gz -C $(dr_path)
rm $(dr_path)/DynamoRIO-Linux-$(release).tar.gz
echo "#!/usr/bin/env bash" > $(dr_path)/drrun
echo '$(dr_path)/DynamoRIO-Linux-10.0.0/bin64/drrun $$@' >> $(dr_path)/drrun
echo '$(dr_path)/DynamoRIO-Linux-$(release)/bin64/drrun $$@' >> $(dr_path)/drrun
chmod +x $(dr_path)/drrun

backend:
mkdir -p $(model_path)/build
cd $(model_path)/build && cmake -DDynamoRIO_DIR=$(dr_path)/DynamoRIO-Linux-10.0.0/cmake --config Debug $(current_dir)/backend
cd $(model_path)/build && cmake -DDynamoRIO_DIR=$(dr_path)/DynamoRIO-Linux-$(release)/cmake --config Debug $(current_dir)/backend
make -C $(model_path)/build
cp $(model_path)/build/libdr_model.so $(dr_path)

Expand Down
2 changes: 1 addition & 1 deletion src/model_dynamorio/backend/cli.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ const droption_t<bool> op_list_exec_clauses(DROPTION_SCOPE_CLIENT, "list-exec-cl
// =================================================================================================
// CLI parser
// =================================================================================================
void parse_cli(int argc, const char **argv, OUT cli_args_t &parsed_args)
void parse_cli(int argc, const char **argv, DR_PARAM_OUT cli_args_t &parsed_args)
{
// Parse the arguments using DynamoRIO's droption parser
string err_msg;
Expand Down
4 changes: 2 additions & 2 deletions src/model_dynamorio/backend/dispatcher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,15 +107,15 @@ Dispatcher::~Dispatcher()
// =================================================================================================
// Public Methods
// =================================================================================================
void Dispatcher::start(void *wrapcxt, OUT void **user_data)
void Dispatcher::start(void *wrapcxt, DR_PARAM_OUT void **user_data)
{
instrumentation_on = true;

// Turn service modules on
module_bundle->tracer->tracing_start(wrapcxt, user_data);
}

void Dispatcher::finalize(void *wrapcxt, OUT void *user_data)
void Dispatcher::finalize(void *wrapcxt, DR_PARAM_OUT void *user_data)
{
// Turn service modules off
module_bundle->tracer->tracing_finalize(wrapcxt, user_data);
Expand Down
4 changes: 2 additions & 2 deletions src/model_dynamorio/backend/include/cli.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

#pragma once

#include <dr_defines.h> // OUT
#include <dr_defines.h> // DR_PARAM_OUT
#include <string>

struct cli_args_t {
Expand All @@ -25,4 +25,4 @@ struct cli_args_t {
/// @param parsed_args Output structure with the parsed arguments
/// @return void
/// @exception dr_abort() if the arguments cannot be parsed
void parse_cli(int argc, const char **argv, OUT cli_args_t &parsed_args);
void parse_cli(int argc, const char **argv, DR_PARAM_OUT cli_args_t &parsed_args);
4 changes: 2 additions & 2 deletions src/model_dynamorio/backend/include/dispatcher.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ class Dispatcher
/// @param wrapcxt The machine context of the wrapped function
/// @param user_data Unused
/// @return void
void start(void *, OUT void **);
void start(void *, DR_PARAM_OUT void **);

/// @brief Finalizes the instrumentation process for a wrapped function
/// @param wrapcxt The machine context of the wrapped function
/// @param user_data Unused
/// @return void
void finalize(void *, OUT void *);
void finalize(void *, DR_PARAM_OUT void *);

/// @brief Instruments the instruction \p instr with calls to callback functions of the
/// corresponding type
Expand Down
4 changes: 2 additions & 2 deletions src/model_dynamorio/backend/include/tracer_abc.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@ class TracerABC
/// @param wrapcxt The machine context of the wrapped function
/// @param user_data Unused
/// @return void
virtual void tracing_start(void *, OUT void **);
virtual void tracing_start(void *, DR_PARAM_OUT void **);

/// @brief Finalizes the tracing process for a wrapped function
/// @param wrapcxt The machine context of the wrapped function
/// @param user_data Unused
/// @return void
virtual void tracing_finalize(void *, OUT void *);
virtual void tracing_finalize(void *, DR_PARAM_OUT void *);

/// @brief Record per-instruction information on the trace (e.g., its address) as defined
/// by the target contract.
Expand Down
2 changes: 1 addition & 1 deletion src/model_dynamorio/backend/include/util.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
/// @param [out] reg The reserved register
/// @return void
void reserve_register_checked(void *drcontext, instrlist_t *ilist, instr_t *where,
drvector_t *permitted, OUT reg_id_t *reg);
drvector_t *permitted, DR_PARAM_OUT reg_id_t *reg);

/// @brief A wrapper around drreg_reserve_register that aborts on failure
/// @param drcontext The drcontext of the current thread
Expand Down
4 changes: 2 additions & 2 deletions src/model_dynamorio/backend/model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ std::unique_ptr<Dispatcher> dispatcher = nullptr; // NOLINT
/// @brief Name of the function to instrument
std::string instrumented_func_name; // NOLINT

void event_instrumentation_start(void *wrapcxt, OUT void **user_data);
void event_instrumentation_start(void *wrapcxt, DR_PARAM_OUT void **user_data);
void event_instrumentation_end(void *wrapcxt, void *user_data);
void dr_model_del() noexcept;

Expand Down Expand Up @@ -113,7 +113,7 @@ dr_emit_flags_t event_bb_instrumentation(void *drcontext, [[maybe_unused]] void
/// @param wrapcxt The wrap context
/// @param user_data
/// @return void
void event_instrumentation_start(void *wrapcxt, OUT void **user_data)
void event_instrumentation_start(void *wrapcxt, DR_PARAM_OUT void **user_data)
{
dispatcher->start(wrapcxt, user_data);
}
Expand Down
4 changes: 2 additions & 2 deletions src/model_dynamorio/backend/tracer_abc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,13 +110,13 @@ TracerABC::~TracerABC() {}
// =================================================================================================
// Public Methods
// =================================================================================================
void TracerABC::tracing_start(void *, OUT void **)
void TracerABC::tracing_start(void *, DR_PARAM_OUT void **)
{
tracing_on = true;
tracing_finalized = false;
}

void TracerABC::tracing_finalize(void *, OUT void *)
void TracerABC::tracing_finalize(void *, DR_PARAM_OUT void *)
{
if (tracing_finalized) {
return;
Expand Down
2 changes: 1 addition & 1 deletion src/model_dynamorio/backend/util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#include "include/util.hpp"

void reserve_register_checked(void *drcontext, instrlist_t *ilist, instr_t *where,
drvector_t *permitted, OUT reg_id_t *reg)
drvector_t *permitted, DR_PARAM_OUT reg_id_t *reg)
{
if (drreg_reserve_register(drcontext, ilist, where, permitted, reg) != DRREG_SUCCESS) {
dr_printf("ERROR: failed to reserve a register\n");
Expand Down

0 comments on commit 78764a3

Please sign in to comment.