A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[mc] Fix memory leak in MC_get_memory_regions()
[simgrid.git]
/
src
/
mc
/
mc_location.h
diff --git
a/src/mc/mc_location.h
b/src/mc/mc_location.h
index
455a716
..
1f82a16
100644
(file)
--- a/
src/mc/mc_location.h
+++ b/
src/mc/mc_location.h
@@
-13,6
+13,7
@@
#include <libunwind.h>
#include <dwarf.h>
#include <libunwind.h>
#include <dwarf.h>
+#include <elfutils/libdw.h>
#include <simgrid_config.h>
#include "mc_base.h"
#include <simgrid_config.h>
#include "mc_base.h"
@@
-22,15
+23,8
@@
namespace simgrid {
namespace mc {
namespace simgrid {
namespace mc {
-typedef struct
-{
- uint8_t atom;
- std::uint64_t number;
- std::uint64_t number2;
- std::uint64_t offset;
-} DwarfInstruction;
+typedef std::vector<Dwarf_Op> DwarfExpression;
-typedef std::vector<DwarfInstruction> DwarfExpression;
/** \brief A DWARF expression with optional validity contraints */
class LocationListEntry {
/** \brief A DWARF expression with optional validity contraints */
class LocationListEntry {
@@
-107,6
+101,10
@@
void mc_dwarf_resolve_locations(
void* frame_pointer_address, simgrid::mc::AddressSpace* address_space,
int process_index);
void* frame_pointer_address, simgrid::mc::AddressSpace* address_space,
int process_index);
+XBT_PRIVATE void mc_dwarf_location_list_init(
+ simgrid::mc::LocationList*, simgrid::mc::ObjectInformation* info, Dwarf_Die* die,
+ Dwarf_Attribute* attr);
+
#define MC_EXPRESSION_STACK_SIZE 64
#define MC_EXPRESSION_OK 0
#define MC_EXPRESSION_STACK_SIZE 64
#define MC_EXPRESSION_OK 0
@@
-128,9
+126,8
@@
typedef struct s_mc_expression_state {
int process_index;
} s_mc_expression_state_t, *mc_expression_state_t;
int process_index;
} s_mc_expression_state_t, *mc_expression_state_t;
-int mc_dwarf_execute_expression(
- size_t n, const simgrid::mc::DwarfInstruction* ops, mc_expression_state_t state);
-
+XBT_PUBLIC(int) mc_dwarf_execute_expression(
+ size_t n, const Dwarf_Op* ops, mc_expression_state_t state);
void* mc_find_frame_base(
simgrid::mc::Frame* frame, simgrid::mc::ObjectInformation* object_info, unw_cursor_t* unw_cursor);
void* mc_find_frame_base(
simgrid::mc::Frame* frame, simgrid::mc::ObjectInformation* object_info, unw_cursor_t* unw_cursor);