summaryrefslogtreecommitdiffstats
path: root/libdwfl/libdwflP.h
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2016-01-04 10:18:17 -0800
committerChih-Hung Hsieh <chh@google.com>2016-01-04 11:35:34 -0800
commit645a828a7aef8113f07efae9b48e742bb65b712e (patch)
treebcd20af43068df2ab3c279089461ef1c69ca6ff6 /libdwfl/libdwflP.h
parent611603536be3a6caaafb4289e2713cd117c70048 (diff)
parent9d1e2365db8499b50ffc767ec42fbd6e49d669ac (diff)
downloadandroid_external_elfutils-645a828a7aef8113f07efae9b48e742bb65b712e.tar.gz
android_external_elfutils-645a828a7aef8113f07efae9b48e742bb65b712e.tar.bz2
android_external_elfutils-645a828a7aef8113f07efae9b48e742bb65b712e.zip
Merge upstream SHA '9d1e236'
* git merge 9d1e236 * See all upstream changes since the previous merge in branch aosp/upstream-master: git diff b47fb23..9d1e236 * Android relevant upstream changes: Move nested functions to file scope to compile with clang/llvm: libdw/dwarf_entry_breakpoints.c libdw/libdw_visit_scopes.c libdwfl/core-file.c libdwfl/dwfl_module_addrsym.c libdwfl/dwfl_module_getdwarf.c libdwfl/link_map.c libdwfl/linux-proc-maps.c * Other upstream changes: backends: sparc: support for live backtraces elfcmp: Fix leaking Ebl handles. libdw: Don't leak fake_loc_cu. libdw: Don't leak duplicate FDEs. libdw: Don't use a FDE if it doesn't actually cover a real code range. libdw: Make sure Ebl is always freed from cfi frame cache. libdwfl: Don't leak core Elf and core file descriptor from argp-std. libdwfl: Fix memory leak in link_map.c dwfl_link_map_report. libdwfl: make the unwinder aware of the backend defined ra_offset. libebl: new backend attribute ra_offset. nm: Don't leak duplicate Dwarf local names. nm: If the file is ET_REL and we need Dwarf use libdwfl to get it relocated. tests: Fix some memory leaks in testcases. tests: Use valgrind --leak-check=full. unstrip: Don't leak new section data. * No changes to the following generated files: version.h, config.h, libdw/known-dwarf.h * Post merge change: Enable clang compilation in the libdw directory. Change-Id: Ifa9e60b1d5ab1c70da69410509cc9f3abdf58661
Diffstat (limited to 'libdwfl/libdwflP.h')
-rw-r--r--libdwfl/libdwflP.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h
index 63556d51..2a83646e 100644
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -1,5 +1,5 @@
/* Internal definitions for libdwfl.
- Copyright (C) 2005-2014 Red Hat, Inc.
+ Copyright (C) 2005-2015 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -104,6 +104,16 @@ typedef enum { DWFL_ERRORS DWFL_E_NUM } Dwfl_Error;
extern int __libdwfl_canon_error (Dwfl_Error) internal_function;
extern void __libdwfl_seterrno (Dwfl_Error) internal_function;
+/* Resources we might keep for the user about the core file that the
+ Dwfl might have been created from. Can currently only be set
+ through std-argp. */
+struct Dwfl_User_Core
+{
+ char *executable_for_core; /* --executable if --core was specified. */
+ Elf *core; /* non-NULL if we need to free it. */
+ int fd; /* close if >= 0. */
+};
+
struct Dwfl
{
const Dwfl_Callbacks *callbacks;
@@ -130,7 +140,7 @@ struct Dwfl
GElf_Off lookup_tail_offset;
int lookup_tail_ndx;
- char *executable_for_core; /* --executable if --core was specified. */
+ struct Dwfl_User_Core *user_core;
};
#define OFFLINE_REDZONE 0x10000