History log of /external/elfutils/libdwfl/libdwfl.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2d982861e5e23d38653df7d8dce1d2282cda8ce1 09-Sep-2015 Chih-Hung Hsieh <chh@google.com> Remove redundant NULL tests.

GCC6 and Clang give warnings on redundant NULL tests of parameters
that are declared with __nonnull_attribute__.

Signed-off-by: Chih-Hung Hsieh <chh@google.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
b901b5e742e03d781fe9b6ecf030d6d297948018 13-Aug-2015 Dodji Seketeli <dodji@seketeli.org> Fix finding split debug info files not located by the build-id mechanism

[This bug has been found by using elfutils in the context of
libabigail. The initial bug report is
https://sourceware.org/bugzilla/show_bug.cgi?id=18792. The
interesting comments start at is
https://sourceware.org/bugzilla/show_bug.cgi?id=18792#c4]

suppose we have a debug info file that is located at a
/prefix1/usr/lib/debug/prefix2/libfoo.so. Suppose also that the debug
info describes a binary that is located at /prefix1/prefix2/libfoo.so

Suppose the debug_link property inside the binary
/prefix1/prefix2/libfoo.so correctly contains the string "libfoo.so"
that designates the name of the debug info file.

The problem is, when find_debuginfo_in_path() is called with its
file_name parameter set to "/prefix1/prefix2/libfoo.so" and
mod->dwfl->callbacks->debuginfo_path set to
"/prefix1/lib/debug/", it fails to locate the debug
info file libfoo.so under "/prefix1/usr/lib/debug/prefix2/".

This patch fixes the issue by making find_debuginfo_in_path() try all
the sub-strings of "/prefix1/prefix2/libfoo.so "under"
"/prefix1/usr/lib/debug/", to find libfoo.so. That is, it tries, in
order:
- /prefix1/usr/lib/debug/prefix1/prefix2/libfoo.so
- /prefix1/usr/lib/debug/prefix2/libfoo.so <-- and boom, it finds it!

Note that the patch tries the variations between the two candidates
above too.

The patch uses a goto. I dislike gotos like anyone else, but then
here, not using this would imply a bigger change of the logic of that
function. So I am proposing the scheme based on the goto instead.

* libdwfl/find-debuginfo.c (find_debuginfo_in_path): Try to locate
the debug info file named debuglink_file under
mod->dwfl->callbacks->debuginfo_path, by looking at the set of
sub-trees under mod->dwfl->callbacks->debuginfo_path which is
common to the set of non-absolute parent trees of file_name.

https://bugzilla.redhat.com/show_bug.cgi?id=1253367

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
19108019192ab273c53ae324be448d29dac806ca 30-Dec-2013 Mark Wielaard <mjw@redhat.com> libdwfl: Add dwfl_core_file_attach and dwfl_linux_proc_attach.

Rewrite __libdwfl_attach_state_for_pid and __libdwfl_attach_state_for_core
as public functions and don't call them from dwfl_linux_proc_report and
dwfl_core_file_report anymore. This lets the user attach state explicitly
independ from how the dwfl modules have been reported. Since attaching
state is an explicit action now the error can be returned directly and we
don't need to keep track of process_attach_error. dwfl_linux_proc_attach
lets the user can tell libdwfl whether caller takes care of ptrace
attaching and stopping the threads under inspection, or whether the
callback needs to take care of that and detaching again.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
e962ec3bcbe8eccdcded36aaafee7bec41fa1bc4 20-Dec-2013 Mark Wielaard <mjw@redhat.com> libdwfl: Add dwfl_getthread_frames.

dwfl_getthread_frames is a convenience function for when the user is only
interested in one specific thread id of a process. It can be implemented by
a simple wrapper function that removes an extra callback layer just to
filter on thread id. But it also provides an optimized path to getting
access to just one particular Dwfl_Thread of the Dwfl process by providing
and (optional) new callback for the state provider. The pid_thread_callbacks
now provide an (optional) pid_getthread that doesn't need to travers all
threads anymore. Which is implemented for the linux-pid-attach provider.

stack now uses this to implement a new '-1' option that shows just one
specific thread of a process.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
159ac52b061c60947a943c102298cd692223274f 18-Dec-2013 Mark Wielaard <mjw@redhat.com> libdwfl: Introduce dwfl_module_getsym_info and dwfl_module_addrinfo.

Some arches like ppc64 use function descriptor values instead of function
addresses causing matching of names and addresses to fail when using
dwfl_module_getsym or dwfl_module_addrsym.

Add ebl hook to resolve any function descriptor values found in non-ET_REL
modules.

The new function dwfl_module_getsym_info doesn't adjust the symbol value
in any way, but returns the adjusted and/or resolved address associated
with the symbol separately. The new function dwfl_module_addrinfo resolves
against both the address associated with the symbol (which could be the
function entry address) value and the adjusted st_value. So that it is
easy to resolve and match either function descriptors and/or function
entry addresses.

Since these new functions also return more information they replace the
dwfl_module_getsym_elf and dwfl_module_addrsym_elf functions that never
made it into a released elfutils version.

addr2line and readelf now use the new functions when looking up functions
names. addr2line will now also display the section the address was found
in when given -x.

Extra testcases were added for both addr2line and the dwflsyms testscase.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
14c2d9e614cb0e3fd50ad757eaba686b37699580 16-Dec-2013 Mark Wielaard <mjw@redhat.com> libdwfl: Add dwfl_module_getsymtab_first_global.

New function that provides the index after the last non-local symbol as
returned by dwfl_module_getsym and dwfl_module_getsym_info. Allows users to
first search through all global symbols before searching the local symbols
in the table like dwfl_module_addrsym and dwfl_module_addrsym_info do as
optimization.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
819c349f6339512d6961a6172c539fdf2c2f1328 27-Nov-2013 Mark Wielaard <mjw@redhat.com> libdwfl: Add dwfl_module_addrsym_elf and dwfl_module_getsym_elf.

Introduce two new functions that also return the elf associated with a
symbol to make symbol section indexing work for non-special sections.
Simplify code by removing dwfl_file where appropriate and just track Elf
directly. Document limitations of shndx with existing dwfl_module_addrsym
and dwfl_module_getsym. Extend dwflsyms testcase to check some more symbol
and section (index) properties.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
1c1a53b657ef31b168928925884c01a7e4bcaf0c 14-Nov-2013 Jan Kratochvil <jan.kratochvil@redhat.com> Code cleanup: Remove const in prototype

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
ed78237ef7c31fb1d7dc80e2c2e07484e1216727 14-Nov-2013 Jan Kratochvil <jan.kratochvil@redhat.com> Fix dwfl_attach_state machine->elf

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
0b867460075c9f02cb305abc91a0e12b90017583 30-May-2013 Jan Kratochvil <jan.kratochvil@redhat.com> Unwinder for x86*.

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
3cf491ee10f10855a49e6a35cc9b8365a3197553 30-Oct-2013 Jan Kratochvil <jan.kratochvil@redhat.com> Fix executable_for_core for non-dwfl_standard_argp

./
2013-10-30 Jan Kratochvil <jan.kratochvil@redhat.com>

* NEWS (Version 0.158): New.

libdw/
2013-10-30 Jan Kratochvil <jan.kratochvil@redhat.com>

* libdw.map (ELFUTILS_0.158): New.

libdwfl/
2013-10-30 Jan Kratochvil <jan.kratochvil@redhat.com>

* argp-std.c (parse_opt): Use executable parameter of
dwfl_core_file_report.
* core-file.c (dwfl_core_file_report): Add parameter executable. Set
it to DWFL. Add NEW_VERSION for it.
(_compat_without_executable_dwfl_core_file_report): New. Twice.
* libdwfl.h (dwfl_core_file_report): Add parameter executable, update
the function comment.

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
904aec2c2f62b729a536c2259274fdd440b0d923 30-Apr-2013 Jan Kratochvil <jan.kratochvil@redhat.com> Add parameter add_p_vaddr to dwfl_report_elf.

libdwfl/
* dwfl_report_elf.c (__libdwfl_report_elf): Add parameter add_p_vaddr.
Set it to true for ET_EXEC and ET_CORE. Provide alternative
setup of START and BIAS if !ADD_P_VADDR. Set END from BIAS, not BASE.
(dwfl_report_elf): Add parameter add_p_vaddr. Pass it down. Add
NEW_VERSION.
(_compat_without_add_p_vaddr_dwfl_report_elf) <SHARED>: New, with
COMPAT_VERSION.
* libdwfl.h (dwfl_report_elf): Add parameter add_p_vaddr. Describe it.
* libdwflP.h (__libdwfl_report_elf): Add parameter add_p_vaddr.
* link_map.c (report_r_debug): Use true add_p_vaddr for dwfl_report_elf.
* linux-kernel-modules.c (report_kernel): Use false add_p_vaddr for
dwfl_report_elf.
* offline.c (process_elf): Use true add_p_vaddr for dwfl_report_elf.

tests/
* dwfl-report-elf-align.c: Use false add_p_vaddr for dwfl_report_elf.

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
50f413ee377f3e3987b89f9726ba493a2038e9a2 17-Oct-2012 Jan Kratochvil <jan.kratochvil@redhat.com> libdwfl/
2012-10-17 Jan Kratochvil <jan.kratochvil@redhat.com>

* libdwfl.h (dwfl_module_getelf): Add __nonnull_attribute__.

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
de2ed97f33139af5c7a0811e4ec66fc896a13cf2 05-Jun-2012 Mark Wielaard <mjw@redhat.com> Update name, license and contributor policy.

* Change name from "Red Hat elfutils" to "elfutils".
* Update license of standalone tools and test from GPLv2 to GPLv3+.
* Change license of libraries from GPLv2+exception to GPLv2/LGPLv3+.
* Add Developer Certificate of Origin based contributor policy.

top-level:

- COPYING: Upgraded from GPLv2 to GPLv3.
- CONTRIBUTING, COPYING-GPLv2, COPYING-LGPLv3: New files.
- NEWS: Added note about new contribution and license policy.
- Makefile.am: Updated to GPLv3, added new files to EXTRA_DIST.
- configure.ac: Update to GPLv3, changed AC_INIT name to 'elfutils'.

backends, lib, libasm, libcpu, libdw, libdwfl, libebl, libelf:

- All files updated to GPLv2/LGPLv3+. Except some very small files
(<5 lines) which didn't have any headers at all before, the linker
.maps files and the libcpu/defs files which only contain data and
libelf/elf.h which comes from glibc and is under LGPLv2+.

config:

- elfutils.spec.in: Add new License: headers and new %doc files.
- Update all license headers to GPLv2/LGPLv3+ for files used by libs.

src, tests:

- All files updated to GPLv3+. Except for the test bz2 data files, the
linker maps and script files and some very small files (<5 lines)
that don't have any headers.

Signed-off-by: Richard Fontana <rfontana@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/libdwfl.h
de44f133b20ecdd3e8dab9743fe6dce5c69ab85d 25-Aug-2010 Roland McGrath <roland@redhat.com> Add dwfl_dwarf_line, addr2line -F to print out more line info bits.
/external/elfutils/libdwfl/libdwfl.h
8068e06dd70d08789fafd8d6d22bbb42adbd2e7d 11-Mar-2010 Roland McGrath <roland@redhat.com> Export dwfl_core_file_report.
/external/elfutils/libdwfl/libdwfl.h
3c84db3b4b610bf636c4363abb6d3dac5ae020f9 25-Jun-2009 Roland McGrath <roland@redhat.com> CFI support: lookup by PC and translate into DWARF location per register
/external/elfutils/libdwfl/libdwfl.h
68f29f9019cc75044394eb5572e9ab0157cfb707 09-Apr-2009 Roland McGrath <roland@redhat.com> Make dwfl_module_getsym yield shndx -1 for any non-allocated section.
/external/elfutils/libdwfl/libdwfl.h
b4d6f0f8064f2b706ea9035ef0393d8299671390 26-Aug-2008 Roland McGrath <roland@redhat.com> Fix up bogon and missing log entries from .pmachata.threads branch.
/external/elfutils/libdwfl/libdwfl.h
59ea7f33f781e6e3f8c9d81d457e5d99eee8f1ce 04-Oct-2007 Roland McGrath <roland@redhat.com> src/
2007-10-04 Roland McGrath <roland@redhat.com>

* readelf.c (print_archive_index): New variable.
(options, parse_opt): Accept -c/--archive-index to set it.
(dump_archive_index): New function.
(process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX.
Call dump_archive_index on archives if set.
(main): Update caller.
(any_control_option): Give it file scope, moved out of ...
(parse_opt): ... here.

tests/
2007-10-04 Roland McGrath <roland@redhat.com>

* run-readelf-test4.sh: New file.
* Makefile.am (TESTS, EXTRA_DIST): Add it.
/external/elfutils/libdwfl/libdwfl.h
43da9895c6d828ceae65a47f2337e8ef24eb97c1 17-Apr-2007 Roland McGrath <roland@redhat.com> libdw/
2007-04-16 Roland McGrath <roland@redhat.com>

* libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section.

libdwfl/
2007-04-16 Roland McGrath <roland@redhat.com>

* derelocate.c (cache_sections): Apply bias to sh_addr.
(compare_secrefs): Fix address comparison to avoid signed overflow.
(find_section): New function, broken out of ...
(dwfl_module_relocate_address): ... here, call it.
(check_module): New function, broken out of ...
(dwfl_module_relocate_address): ... here, call it.
(dwfl_module_address_section): New function.
* libdwfl.h: Declare it.

tests/
2007-04-16 Roland McGrath <roland@redhat.com>

* dwfl-addr-sect.c: New file.
* Makefile.am (noinst_PROGRAMS): Add it.
(dwfl_addr_sect_LDADD): New variable.
/external/elfutils/libdwfl/libdwfl.h
6258e7486eb3eed6e50005946795c5fbf73aa106 13-Mar-2007 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head e0c7abd450c9e49093cfae30af8a22782a74a403)
to branch 'com.redhat.elfutils' (head 2c784d50eee72e33972c333138a3a28df304da63)
/external/elfutils/libdwfl/libdwfl.h
aa915fd3d70b4cbe4581f9ec170d986c6ba35063 05-Feb-2007 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head c44dcfac5b545aecb173fede31f34cb003be0173)
to branch 'com.redhat.elfutils' (head 4196d4e01486bdeb0c0632291881d1c6d7163fab)
/external/elfutils/libdwfl/libdwfl.h
ba949b3fdaf4fa8631af0d999a44d71c0964b5ce 10-Jan-2007 Roland McGrath <roland@redhat.com> 2007-01-10 Roland McGrath <roland@redhat.com>

* dwfl-bug-addr-overflow.c: New file.
* Makefile.am (TESTS): Add it.
(dwfl_bug_addr_overflow_LDADD): New variable.
/external/elfutils/libdwfl/libdwfl.h
c373d850ec9ca342f4c71d5e287c8d8bf0723cd6 10-Oct-2006 Roland McGrath <roland@redhat.com> 2006-10-09 Roland McGrath <roland@redhat.com>

* ia64_symbol.c (ia64_reloc_simple_type): Treat SECREL types as simple.
/external/elfutils/libdwfl/libdwfl.h
e1812e1d90090450e3d93be56a487e2f11affced 12-Jul-2006 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head 1ac619debea0e3ecfd2704e8bdc803c6c893b62a)
to branch 'com.redhat.elfutils' (head 830d38d0a2ce24911160a871963f093209e69d9e)
/external/elfutils/libdwfl/libdwfl.h
41cbd7620b0851da148d8aa2d1c21fd304024bba 27-May-2006 Ulrich Drepper <drepper@redhat.com> Add extern "C" for libdwfl.h and libebl.h.
/external/elfutils/libdwfl/libdwfl.h
1e9ef50681e20ef14c2ba38aef37a71ff148be08 05-Apr-2006 Ulrich Drepper <drepper@redhat.com> Fix FSF address. No exception for libdwarf.
/external/elfutils/libdwfl/libdwfl.h
361df7da6dfecd817b27e62b91752ac316d7cdd4 04-Apr-2006 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head 4f8fc821345feef58624f0aa5b470d4827577d8c)
to branch 'com.redhat.elfutils' (head 76e26cb54695fd3b21ee8fb5be3036bd68200633)
/external/elfutils/libdwfl/libdwfl.h
0833312829020d8283bdae9cd0a7c3ce995110b4 27-Feb-2006 Roland McGrath <roland@redhat.com> libdw/
2006-02-22 Roland McGrath <roland@redhat.com>

* libdw.map: Bump to 0.120; export dwfl_version.


libdwfl/
* dwfl_version.c: New file.
* Makefile.am (libdwfl_a_SOURCES): Add it.
* libdwfl.h: Declare dwfl_version.
/external/elfutils/libdwfl/libdwfl.h
1656bc00ae97fa16a941a8cefacc4e01488d0e8a 23-Dec-2005 Roland McGrath <roland@redhat.com> 2005-12-22 Roland McGrath <roland@redhat.com>

* argp-std.c (parse_opt): Call dwfl_end in failure cases.

* linux-proc-maps.c (proc_maps_report): New function, broken out of ...
(dwfl_linux_proc_report): ... here. Call it.
(dwfl_linux_proc_maps_report): New function.
* libdwfl.h: Declare it.
* libdwflP.h: Add INTDECL.
* argp-std.c (options, parse_opt): Grok -M/--linux-process-map.
/external/elfutils/libdwfl/libdwfl.h
994b4899278199fc4d307780dac0ea50b238bc74 05-Dec-2005 Roland McGrath <roland@redhat.com> merge of 2cc527e6d8c8ff19dab478f7d12e58f1cfa6d6f5
and 7b542932f3e2947183b45bdbf39d448f457da9fd
/external/elfutils/libdwfl/libdwfl.h
e47ab76f02c2a4f4d802ec298969ba67956435fe 17-Nov-2005 Roland McGrath <roland@redhat.com> Update new test after merge.
/external/elfutils/libdwfl/libdwfl.h
d17fac7e89666b47811581b10b5ca0d253a3a82d 23-Aug-2005 Roland McGrath <roland@redhat.com> 2005-08-23 Roland McGrath <roland@redhat.com>

* dwarf_attr_integrate.c (dwarf_attr_integrate): Treat
DW_AT_specification the same as DW_AT_abstract_origin.
/external/elfutils/libdwfl/libdwfl.h
4d52736e3118cd0537f032c9c2874a1b29627b9c 29-Jul-2005 Ulrich Drepper <drepper@redhat.com> Add a few missing extern for function prototypes.
/external/elfutils/libdwfl/libdwfl.h
d89bbe4e1e7502b2b8329185f8a60f9d0e82b824 28-Jul-2005 Roland McGrath <roland@redhat.com> libdwfl.h: Use "" for libdw.h #include.
/external/elfutils/libdwfl/libdwfl.h
b08d5a8fb42f4586d756068065186b5af7e48dad 26-Jul-2005 Ulrich Drepper <drepper@redhat.com> Adjust for monotone.
/external/elfutils/libdwfl/libdwfl.h