/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#include <stdint.h>
-#include <stdarg.h>
+#include <cstdint>
+#include <cstdarg>
#include <dwarf.h>
#include <elfutils/libdw.h>
*/
static int mc_dwarf_register_to_libunwind(int dwarf_register)
{
-#if defined(UNW_TARGET_X86_64)
+#if defined(__x86_64__)
// It seems for this arch, DWARF and libunwind agree in the numbering:
return dwarf_register;
-#elif defined(UNW_TARGET_X86)
+#elif defined(__i386__)
// Could't find the authoritative source of information for this.
// This is inspired from http://source.winehq.org/source/dlls/dbghelp/cpu_i386.c#L517.
switch (dwarf_register) {
for (size_t i = 0; i != n; ++i) {
int error = 0;
const Dwarf_Op *op = ops + i;
- uint8_t atom = op->atom;
+ std::uint8_t atom = op->atom;
switch (atom) {
unw_step(&cursor);
unw_word_t res;
- unw_get_reg(&cursor, UNW_TDEP_SP, &res);
+ unw_get_reg(&cursor, UNW_REG_SP, &res);
error = mc_dwarf_push_value(state, res);
break;
}
{
if (!state->frame_base)
return MC_EXPRESSION_E_MISSING_FRAME_BASE;
- uintptr_t fb = ((uintptr_t) state->frame_base) + op->number;
+ std::uintptr_t fb = ((std::uintptr_t) state->frame_base) + op->number;
error = mc_dwarf_push_value(state, fb);
break;
}
return MC_EXPRESSION_E_NO_BASE_ADDRESS;
if (state->stack_size == MC_EXPRESSION_STACK_SIZE)
return MC_EXPRESSION_E_STACK_OVERFLOW;
- Dwarf_Off addr = (Dwarf_Off) (uintptr_t)
+ Dwarf_Off addr = (Dwarf_Off) (std::uintptr_t)
state->object_info->base_address() + op->number;
error = mc_dwarf_push_value(state, addr);
break;
if (state->stack_size < 2)
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
- uintptr_t temp = state->stack[state->stack_size - 2];
+ std::uintptr_t temp = state->stack[state->stack_size - 2];
state->stack[state->stack_size - 2] =
state->stack[state->stack_size - 1];
state->stack[state->stack_size - 1] = temp;
if (state->stack_size < 2)
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
- uintptr_t result =
+ std::uintptr_t result =
state->stack[state->stack_size - 2] +
state->stack[state->stack_size - 1];
state->stack[state->stack_size - 2] = result;
if (state->stack_size < 2)
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
- uintptr_t result =
+ std::uintptr_t result =
state->stack[state->stack_size - 2] -
state->stack[state->stack_size - 1];
state->stack[state->stack_size - 2] = result;
if (state->stack_size < 2)
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
- uintptr_t result =
+ std::uintptr_t result =
state->stack[state->stack_size - 2] -
state->stack[state->stack_size - 1];
state->stack[state->stack_size - 2] = result;
if (state->stack_size < 2)
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
- uintptr_t result =
+ std::uintptr_t result =
state->stack[state->stack_size -
2] & state->stack[state->stack_size - 1];
state->stack[state->stack_size - 2] = result;
if (state->stack_size < 2)
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
- uintptr_t result =
+ std::uintptr_t result =
state->stack[state->stack_size -
2] | state->stack[state->stack_size - 1];
state->stack[state->stack_size - 2] = result;
if (state->stack_size < 2)
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
- uintptr_t result =
+ std::uintptr_t result =
state->stack[state->stack_size -
2] ^ state->stack[state->stack_size - 1];
state->stack[state->stack_size - 2] = result;
return MC_EXPRESSION_E_STACK_UNDERFLOW;
{
// Computed address:
- uintptr_t address = (uintptr_t) state->stack[state->stack_size - 1];
+ std::uintptr_t address = (std::uintptr_t) state->stack[state->stack_size - 1];
if (!state->address_space)
xbt_die("Missing address space");
state->address_space->read_bytes(
{
list->clear();
- ptrdiff_t offset = 0;
+ std::ptrdiff_t offset = 0;
Dwarf_Addr base, start, end;
Dwarf_Op *ops;
- size_t len;
+ std::size_t len;
while (1) {