/* Auxiliary vector support for GDB, the GNU debugger.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
+ Copyright (C) 2004-2015 Free Software Foundation, Inc.
This file is part of GDB.
#include "command.h"
#include "inferior.h"
#include "valprint.h"
-#include "gdb_assert.h"
#include "gdbcore.h"
#include "observer.h"
#include "filestuff.h"
+#include "objfiles.h"
#include "auxv.h"
#include "elf/common.h"
resides. DATA_ADDRESS is the inferior value present in
`_dl_auxv', therefore the real inferior AUXV address. */
- pointer_address = MSYMBOL_VALUE_ADDRESS (msym.minsym);
+ pointer_address = BMSYMBOL_VALUE_ADDRESS (msym);
/* The location of the _dl_auxv symbol may no longer be correct if
ld.so runs at a different address than the one present in the
target_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
{
+ struct gdbarch *gdbarch = target_gdbarch();
+
+ if (gdbarch_auxv_parse_p (gdbarch))
+ return gdbarch_auxv_parse (gdbarch, readptr, endptr, typep, valp);
+
return current_target.to_auxv_parse (¤t_target, readptr, endptr,
typep, valp);
}