History log of /external/elfutils/libdwfl/dwfl_module.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e2cf85cd35d33f92ff3d032e941783238a8fdaa1 19-Nov-2015 Mark Wielaard <mjw@redhat.com> libdw: Make sure Ebl is always freed from cfi frame cache.

libdwfl sets the Dwfl_Module Ebl for the eh_cfi and dwarf_cfi cache to
save a bit of memory. It also calls ebl_closebackend on the ebl to free
it. The Dwarf_CFI never frees the Ebl in the cache, even when it opened
one itself. This means that if only libdw calls are used to access the
Dwarf_CFI the Ebl might be leaked.

Always destroy the Dwarf_CFI cache Ebl in __libdw_destroy_frame_cache.
And in __libdwfl_module_free clear the Dwarf_CFI Ebl if it is the
Dwfl_Module Ebl before calling dwarf_cfi_end and dwarf_end.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/dwfl_module.c
1ac2041156c3ecda5932069f1e295cc0b9727f7c 22-Oct-2015 Chih-Hung Hsieh <chh@google.com> Move nested functions in dwfl_module.c

* Nested functions in this file are moved to file scope
to compile with clang. Extra parameters are added to pass
local variables.

Signed-off-by: Chih-Hung Hsieh <chh@google.com>
/external/elfutils/libdwfl/dwfl_module.c
df85bf99021119fcbb2ced66dd69f1cceafb180c 01-May-2014 Mark Wielaard <mjw@redhat.com> libdwfl: Move dwz alt multi file searching to find_debuginfo callback.

Don't hard code the Dwarf dwz alt multi file search but allow the user
to override it through the standard Dwfl_Callbacks. Also move ownership
completely to the user of dwarf_setalt by removing free_alt from Dwarf
and adding alt, fd and elf fields to Dwfl_Module. Add a relative .dwz
file test case.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/dwfl_module.c
e6e6cc83ea27413facb310ce48bebb1579a47130 14-Dec-2013 Mark Wielaard <mjw@redhat.com> libdwfl: Fix various frame related memory leaks.

The result of dwarf_cfi_addrframe should have been freed when done.
Dwfl_Module cached the reloc_info and the eh_cfi it which also should
have been released when disposing of the module.

Reported-by: Masatake YAMATO <yamato@redhat.com>
Tested-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/dwfl_module.c
5083a70d3b64946fa47ea5766943a15a3ecc6891 16-Jan-2013 Mark Wielaard <mjw@redhat.com> libdwfl: Add minisymtab support.

Add an auxiliary symbol table dwfl_file aux_sym to Dwfl_Module if all we
have is the dynsym table. The main file might contain a .gnu_debugdata
section. The .gnu_debugdata section is a compressed embedded ELF file
that contains the text (code) section symbols from the symtab table
that are not in the main file dynsym table. dwfl_module_getsymtab (),
dwfl_module_addrsym () and dwfl_module_getsym () will use the auxiliary
symbol table when available (and no full symtab is available from the
debug file).

* libdwflP.h (struct Dwfl_Module): Add aux_sym, aux_symdata,
aux_syments, aux_symstrdata, aux_symxndxdata and aux_first_global.
(dwfl_adjusted_aux_sym_addr): New function.
(dwfl_deadjust_aux_sym_addr): Likewise.
(dwfl_adjusted_st_value): Take and check symfile argument.
(dwfl_deadjust_st_value): Likewise.
* dwfl_module_getdwarf.c (find_prelink_address_sync): Take and
use dwfl_file as argument to set address_sync.
(find_debuginfo): Call find_prelink_address_sync with debug file.
(find_aux_sym): New function.
(find_symtab): Use find_aux_sym if all we have is the dynsym table
and fill in aux DwflModule fields.
(dwfl_module_getsymtab): Return syments plus aux_syments.
(load_symtab): Always set first_global.
* dwfl_module_addrsym.c (dwfl_module_addrsym): Check symfile
when using same_section. Calculate first_global based on both
mod->first_global and mod->aux_first_global.
* dwfl_module.c (__libdwfl_module_free): Free aux_sym.
* dwfl_module_getsym.c (dwfl_module_getsym): Use auxsym table
to retrieve symbol and name if necessary, making sure all locals
from any table come before any globals.
* dwfl_module_info.c (dwfl_module_info): Call dwfl_adjusted_st_value
with symfile.
* relocate.c (resolve_symbol): Likewise.

https://fedoraproject.org/wiki/Features/MiniDebugInfo

Signed-off-by: Mark Wielaard <mjw@redhat.com>
/external/elfutils/libdwfl/dwfl_module.c
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/dwfl_module.c
b4d6f0f8064f2b706ea9035ef0393d8299671390 26-Aug-2008 Roland McGrath <roland@redhat.com> Fix up bogon and missing log entries from .pmachata.threads branch.
/external/elfutils/libdwfl/dwfl_module.c
e4c22ea004c02a58f5db5eb53794275344c17958 23-Oct-2007 Roland McGrath <roland@redhat.com> 2007-10-23 Roland McGrath <roland@redhat.com>

* linux-kernel-modules.c (report_kernel_archive): Reorder the kernel
module to appear first.
/external/elfutils/libdwfl/dwfl_module.c
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/dwfl_module.c
87d4780beb37f265fa89ffd909e77513ef516180 17-Jul-2007 Roland McGrath <roland@redhat.com> libdwfl/
2007-07-16 Roland McGrath <roland@redhat.com>

* dwfl_module.c (dwfl_report_module): Increment DWFL->nmodules when
reviving an existing module.

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

* dwfl-bug-report.c: New file.
* Makefile.am (noinst_PROGRAMS, TESTS): Add it.
(dwfl_bug_report_LDADD): New variable.
/external/elfutils/libdwfl/dwfl_module.c
4be1524398af8e24011cfdfa77c66832f8654a56 25-Apr-2007 Roland McGrath <roland@redhat.com> 2007-04-24 Roland McGrath <roland@redhat.com>

* run-strip-test.sh: When we saved the debug info, test unstrip too.
/external/elfutils/libdwfl/dwfl_module.c
c07fbb3ff74a8c7b4916ff8155060a35f4b08aaa 30-Mar-2007 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head b584b7056d679db0fc272b47667047d07737ca55)
to branch 'com.redhat.elfutils' (head 5f150a0b2f07e8c60913d4e6ad833ef026ccd26e)
/external/elfutils/libdwfl/dwfl_module.c
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/dwfl_module.c
7000880e78fd68f00accb80e11437b824884aea4 29-Dec-2006 Roland McGrath <roland@redhat.com> remove extra log entry
/external/elfutils/libdwfl/dwfl_module.c
a33c3013e80383342825c1af7fad2a6f3979ceee 29-Dec-2006 Ulrich Drepper <drepper@redhat.com> Correct result for whole address range in compare_modules.
/external/elfutils/libdwfl/dwfl_module.c
8190db6a86a37aec86c81626ab1b083c96aff891 18-Dec-2006 Roland McGrath <roland@redhat.com> propagate from branch 'com.redhat.elfutils' (head b4944cf70801d9dac056f4f80ef1334e5acb8bdc)
to branch 'com.redhat.elfutils.roland.pending' (head e7e402c668fb0670fc5f6b6a522853ae88f32f11)
/external/elfutils/libdwfl/dwfl_module.c
077c65f3be02e5d01b0c4dea3f6c854077d156fc 12-Jul-2006 Ulrich Drepper <drepper@redhat.com> merge of 67f3844b544f03a64b3ac896c19f94744923d76a
and ba017f6b59b4ad649cf32f4eefdfecca8b31332c
/external/elfutils/libdwfl/dwfl_module.c
cc41562f94052f307da4429f33cc18c7d510b2f5 12-Jul-2006 Ulrich Drepper <drepper@redhat.com> propagate from branch 'com.redhat.elfutils.roland.pending' (head e5cfdd13aa39dfae16b905fd57ff56ad8a131bb5)
to branch 'com.redhat.elfutils' (head 60222fc1981540f15e674b6705fd7a6f628f95a4)
/external/elfutils/libdwfl/dwfl_module.c
7f7f1bc0e20aa95f780b55272c19d514ee3dd1c7 12-Jul-2006 Ulrich Drepper <drepper@redhat.com> Adjust for internal_function_def removal.
/external/elfutils/libdwfl/dwfl_module.c
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/dwfl_module.c
c87b6e76285a0f6da401a5de2aa7b096b9ec731a 12-Jul-2006 Ulrich Drepper <drepper@redhat.com> Fix overflow in compare_modules return value.
/external/elfutils/libdwfl/dwfl_module.c
1e9ef50681e20ef14c2ba38aef37a71ff148be08 05-Apr-2006 Ulrich Drepper <drepper@redhat.com> Fix FSF address. No exception for libdwarf.
/external/elfutils/libdwfl/dwfl_module.c
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/dwfl_module.c
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/dwfl_module.c
4959bf89d92b59ba72bea5786d7b3f9b5564f750 09-Aug-2005 Roland McGrath <roland@redhat.com> libdw/
2005-08-09 Roland McGrath <roland@redhat.com>

* dwarf_end.c: Add INTDEF.
* dwarf_error.c (dwarf_errmsg): Likewise.
* libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs.

libdwfl/
2005-08-09 Roland McGrath <roland@redhat.com>

* libdwflP.h: Include ../libdw/libdwP.h for its INTDECLs.
* cu.c: Use INTUSE on dwarf_* calls.
* dwfl_error.c: Likewise.
* dwfl_module.c: Likewise.
* dwfl_module_getdwarf.c: Likewise.
* dwfl_module_getsrc_file.c: Likewise.
* lines.c: Likewise.
/external/elfutils/libdwfl/dwfl_module.c
b08d5a8fb42f4586d756068065186b5af7e48dad 26-Jul-2005 Ulrich Drepper <drepper@redhat.com> Adjust for monotone.
/external/elfutils/libdwfl/dwfl_module.c