summaryrefslogtreecommitdiffstats
path: root/NEWS
Commit message (Collapse)AuthorAgeFilesLines
* Prepare for 0.175Mark Wielaard2018-11-141-0/+18
| | | | | | | | Set version to 0.175 Update NEWS and elfutils.spec.in. Regenerate po/*.po files. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare for 0.174elfutils-0.174Mark Wielaard2018-09-141-0/+16
| | | | | | | | Set version to 0.174. Mention new functionality in NEWS. Update po/*.po files. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare for 0.173elfutils-0.173Mark Wielaard2018-06-291-0/+18
| | | | | | | | Set version to 0.173. Mention new functionality in NEWS. Update po/*.po files. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare for 0.172.elfutils-0.172Mark Wielaard2018-06-111-0/+9
| | | | | | | | | | It has been only 10 days since the previous release and there are no functional changes compared to 0.171. The speedup of eu-readelf -N is pretty nice. And ~25 patches fix various bugs (hangs and crashes) in dealing with bad DWARF5 data. Most have been found by running the afl fuzzer on eu-readelf and various testcases. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare for 0.171.elfutils-0.171Mark Wielaard2018-06-011-0/+38
| | | | | | | Set version to 0.171. Update po/*.po files. Mention DWARF5, split dwarf and GNU DebugFission support in NEWS. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare for 0.170.elfutils-0.170Mark Wielaard2017-08-021-1/+1
| | | | | | | Set version to 0.170. Update po/*.po files. Add some more user visible changes to NEWS. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add DW_MACRO constants and DW_MACRO_GNU compatibility defines.Mark Wielaard2017-08-021-1/+3
| | | | | | | | | | Accept version 5 .debug_macro format, which is identical to the GNU version 4 format. No real support yet for the new supplementary object file (sup) and indirect string references (strx). GCC doesn't generate them yet. readelf does recognize them, but doesn't try to decode them. dwarf_getmacros currently rejects the new formats. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Handle DWARF5 immutable, packed and shared in dwarf_peel_type.Mark Wielaard2017-08-021-0/+1
| | | | | | | | | | Also update the documentation to explain that any type alias or modifier that doesn't modify, change the structural layout or the way to access the underlying type is peeled. Explicitly mention pointer and reference types as examples of modifiers that don't obey that rule and so aren't peeled. Signed-off-by: Mark Wielaard <[email protected]>
* Handle DWARF5 defaulted member function encodings.Mark Wielaard2017-08-021-2/+2
| | | | | | | | | Add DW_DEFAULTED_no, DW_DEFAULTED_in_class and DW_DEFAULTED_out_of_class to dwarf.h. Print value (no, in_class or out_of_class) of DW_AT_defaulted in readelf. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: DWARF5 Add DW_CC_pass_by_reference and DW_CC_pass_by_reference.Mark Wielaard2017-08-021-2/+2
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add dwarf_default_lower_bound.Mark Wielaard2017-08-021-0/+1
| | | | | | | | | | Add dwarf_default_lower_bound to get the default lower bound for a language when not given as attribute for an subrange type. Implementation extracted from dwarf_aggregate_size. Add a test to check all known language codes are handled. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: DWARF5 Add new DW_LANG codes and default lower array bound.Mark Wielaard2017-08-021-2/+2
| | | | | | | | | | Add DW_LANG_OpenCL, DW_LANG_Modula3, DW_LANG_C_plus_plus_03, DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift, DW_LANG_Julia, DW_LANG_Dylan, DW_LANG_RenderScript and DW_LANG_BLISS to dwarf.h. Update default language array lower bounds in dwarf_aggregate_size.c. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add new DWARF5 character encodings.Mark Wielaard2017-08-021-1/+2
| | | | | | | Add DW_ATE_UCS and DW_ATE_ASCII for Fortran 2003 string kinds ASCII (ISO/IEC 646:1991) and ISO_10646 (UCS-4 in ISO/IEC 10646:2000). Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add new DWARF5 tag constants.Mark Wielaard2017-08-021-1/+1
| | | | | | | | | | Add DW_TAG_coarray_type, DW_TAG_generic_subrange, DW_TAG_dynamic_type, DW_TAG_call_site, DW_TAG_call_site_parameter, DW_TAG_skeleton_unit, DW_TAG_immutable_type. Just the constants, no further interpretion yet. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add DWARF5 attributes.Mark Wielaard2017-08-021-0/+2
| | | | | | | | | | | | Add new DWARF5 attribute constant names to the attributes enum. Also add reserved comments between non-consecutive (reserved) numbers. Remove DW_AT_subscr_data, DW_AT_element_list and DW_AT_member from the enum list and turn them into compatibility defines because they are not part of DWARF2+. That way code that directly references them still compiles but they won't show up in known-dwarf.h. Signed-off-by: Mark Wielaard <[email protected]>
* backends: Don't depend on linux/bpf.h to compile bpf disassembler.Mark Wielaard2017-07-241-0/+2
| | | | | | | | | We only need a few constants and one structure definition from linux/bpf. Just define those in a local lib/bpf.h file. This makes sure the bpf disassembler is always build and included even when elfutils is build on older GNU/Linux systems (and even on other platforms). Signed-off-by: Mark Wielaard <[email protected]>
* strip: Add --keep-section=SECTION and --remove-section=SECTION.Mark Wielaard2017-07-171-0/+4
| | | | | | | | | | | | | | | | | | | | | Adds two new output options: --keep-section=SECTION Keep the named section. SECTION is an extended wildcard pattern. May be given more than once. --remove-section=SECTION Remove the named section. SECTION is an extended wildcard pattern. May be given more than once. Only non-allocated sections can be removed. The --remove-section was already partially implemented, but only for the .comment section. The short option -R is to be compatible with binutils. The new testcase makes sure that various combinations of kept/removed sections pull the correct dependencies into the output and/or debug files. https://bugzilla.redhat.com/show_bug.cgi?id=1465997 Signed-off-by: Mark Wielaard <[email protected]>
* Prepare for 0.169.elfutils-0.169Mark Wielaard2017-05-051-0/+7
| | | | | | | Set version to 0.169. Update copyright year. Update po/*.po files. And add user visible changes to new 0.169 NEWS section. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare for elfutils 0.168 release.elfutils-0.168Mark Wielaard2016-12-271-0/+6
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Correct spelling of DW_LANG_PLI in dwarf.h.Mark Wielaard2016-11-101-0/+4
| | | | | | | | | The name used in the standard and other DWARF implementations for Programming Language One, PL/I, is DW_LANG_PLI (not DW_LANG_PL1). Fix usage in dwarf_aggregate_size. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.167 release.Mark Wielaard2016-08-041-0/+12
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* config: Use --program-prefix=eu- by default.Mark Wielaard2016-03-021-0/+5
| | | | | | | | | | | | We want eu- as default program prefix if none was given by the user. But if the user explicitly provided --program-prefix="" then pretend it wasn't set at all (NONE). This makes sure all tools will be installed as eu-<program>. We want this default since most tools would normally conflict with the GNU binutils variants that have similar names. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.165 release.Mark Wielaard2016-01-081-0/+17
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.164 release.Mark Wielaard2015-10-151-0/+21
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.163 release.elfutils-0.163Mark Wielaard2015-06-191-0/+4
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.162 release.Mark Wielaard2015-06-101-0/+7
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* addr2line: Add --pretty-print option to show all information on one line.Mark Wielaard2015-05-271-0/+1
| | | | | | | | | | | | | | | | | | This adds an option --pretty-print to eu-addr2line to show all information on one line and all inlines on a line of their own. This mimics the same option from binutils addr2line, but without the short option variant -p. Since we already use -p to select the process. Example output: eu-addr2line --pretty-print -s -i -f -C -p$(pidof firefox) 0x00007f368c6f8915 mozilla::ReentrantMonitor::Wait(unsigned int) at ReentrantMonitor.h:92 (inlined by) mozilla::ReentrantMonitorAutoEnter::Wait(unsigned int) at ReentrantMonitor.h:190 A couple of tests were added to check the output matches that of binutils addr2line. Signed-off-by: Mark Wielaard <[email protected]>
* addr2line: Add demangler support.Mark Wielaard2015-05-271-0/+1
| | | | | | | Makes the -C, --demangle option visible and implements it (ignoring the demangle style argument). Adds a new test with sample output. Signed-off-by: Mark Wielaard <[email protected]>
* addr2line: Add -a, --address. Print address before for each entry.Mark Wielaard2015-05-271-0/+1
| | | | | | Adds test cases with sample output. Signed-off-by: Mark Wielaard <[email protected]>
* addr2line: Always parse addresses as hex numbers.Mark Wielaard2015-05-271-0/+3
| | | | | | | | We would sometimes interpret input addresses as decimal or octal. That could be confusing and isn't what binutils addr2line does. Be consistent and always treat input addresses as hex. Signed-off-by: Mark Wielaard <[email protected]>
* Publish known-dwarf.hPetr Machata2015-03-311-0/+4
| | | | | | | | | | | | | - Make the macro names properly scoped (DWARF_ALL_KNOWN_* and DWARF_ONE_KNOWN_*). - Simplify the calling convention: don't keep track of the comment associated with the enumerator, always use the non-_DESC DWARF_ONE_KNOWN_* callback. - Install known-dwarf.h alongside libdw.h and others. Signed-off-by: Petr Machata <[email protected]>
* Prepare 0.161 release.Mark Wielaard2014-12-181-0/+2
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* Change calling convention of dwarf_getmacros to allow opcode 0xffPetr Machata2014-12-101-2/+0
| | | | | | | | | We now require callers to pass DWARF_GETMACROS_START to start the iteration. 0 is still accepted, but signals to libdw that the iteration request comes from an old-style caller, and that opcode 0xff should be rejected when iterating .debug_macro, to avoid confusion. Signed-off-by: Petr Machata <[email protected]>
* Support .debug_macroPetr Machata2014-11-101-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - This code is based on the following proposal: http://www.dwarfstd.org/ShowIssue.php?issue=110722.1 - dwarf_getmacros serves either of .debug_macinfo or .debug_macro transparently, but if the latter uses opcode 0xff, it bails out with an error. The reason is that in .debug_macro, 0xff is a custom code that can mean anything, while in .debug_macinfo there's fixed semantics associated with 0xff. - dwarf_getmacros_off is a new interface used for requesting iteration through transparently included units. - dwarf_macro_getparamcnt and dwarf_macro_param are new interfaces used for requesting number of parameters of an opcode and individual parameters. dwarf_macro_getsrcfiles is a new interface used for requesting a file part of .debug_line unit associated with macro unit that the opcode comes from. - The existing interfaces dwarf_macro_opcode, dwarf_macro_param1 and dwarf_macro_param2 remain operational for old- as well as new-style Dwarf macro sections, if applicable. - dwarf_getsrclines was made into a light wrapper around a worker function that loads line unit given its offset. The worker also caches loaded units in an offset-keyed search tree, so that we don't end up re-reading units even though they were read in a different domain (e.g. a macro unit request can prime cache for later CU lookup). dwarf_macro_getsrcfiles calls the worker function under covers. Signed-off-by: Petr Machata <[email protected]>
* libdw: Add dwarf_peel_type. Use it in dwarf_aggregate_size.Mark Wielaard2014-11-051-0/+5
| | | | | | | | | | | | | | | Add new function dwarf_peel_type. Some type annotations in DWARF are specified by modifier tag type wrappers instead of attributes. For type aliases (typedef) and qualifiers (const, volatile, restrict) tags dwarf_peel_type follows the DW_AT_type attributes till it finds a base, user-defined, reference or pointer type DIE. Use this new function in the backends for return type DIEs (replacing the existing dwarf_peel_type there) and in dwarf_aggregate_size so it can provide the sizes for qualified types too. Add a new version and testcase for the new dwarf_aggregate_size functionality. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.160 release.Mark Wielaard2014-08-251-0/+5
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add new function dwarf_cu_die.Mark Wielaard2014-08-151-1/+1
| | | | | | | | | | Given a Dwarf_Die or Dwarf_Attribute it is often convenient to get at the CU DIE and the CU header information. There is dwarf_diecu but that doesn't provide all information from the header and it doesn't work for attributes. Add a new dwarf_cu_die function that provides all information given a Dwarf_CU, which both Dwarf_Die and Dwarf_Attribute reference. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add new function dwarf_cu_getdwarf.Mark Wielaard2014-08-151-0/+2
| | | | | | | | | | | In both systemtap and libabigail there is a need to get the actual Dwarf underlying an Dwarf_Die or Dwarf_Attribute. Following a DIE reference might end up in an alternate Dwarf since the addition of DWZ multifile forms. Both Dwarf_Die and Dwarf_Attribute already contain a Dwarf_CU handle. Add a function dwarf_cu_getdwarf to retrieve the underlying Dwarf using the Dwarf_CU. Signed-off-by: Mark Wielaard <[email protected]>
* unstrip: Add --force to force combining files when ELF headers don't match.Mark Wielaard2014-05-271-0/+5
| | | | | | | | | | | | | | Older versions of GNU binutils strip would drop some ELF header flags. Causing the main ELF file and the separate .debug file to have mismatched ELF header fields. Unfortunately some distros are still shipping such files. eu-unstrip doesn't want to recombine such files. Add a more explicit explanation which fields don't match and provide a --force, -F flag to force combining such files anyway (producing a warning). https://bugzilla.redhat.com/show_bug.cgi?id=698005 https://bugzilla.redhat.com/show_bug.cgi?id=806474 Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.159 release.Mark Wielaard2014-05-181-0/+10
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* Remove --enable-dwz. dwz alt debug is no longer experimental.Mark Wielaard2014-05-031-1/+10
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* libdwelf: New DWARF ELF Low-level Functions. Add dwelf_elf_gnu_debuglink.Mark Wielaard2014-04-241-0/+3
| | | | | | | | New public header elfutils/libdwelf.h for low-level DWARF/ELF helper functions. The new function dwelf_elf_gnu_debuglink returns the name and crc as found in the .gnu_debuglink section of an ELF file. Signed-off-by: Mark Wielaard <[email protected]>
* stack: Add -i, --inlines. Show inlined call frames using DWARF debuginfo.Mark Wielaard2014-01-271-0/+1
| | | | | | | | | | Using dwarf_getscopes_die we can get all scopes that make up the current subprogram representing an address. Using the call_file/line/column attributes we can also show the source locations of these "inlined" calls. Includes a test that shows that when DWARF debuginfo is available all inlined function call frames and their source location can be shown. Signed-off-by: Mark Wielaard <[email protected]>
* stack: Add -d, --debugname. Lookup DWARF debuginfo name for frame address.Mark Wielaard2014-01-271-0/+4
| | | | | | | Includes test that shows -d matches the function name that corresponds to the actual source line we report with -s for a frame address. Signed-off-by: Mark Wielaard <[email protected]>
* Prepare 0.158 release.Mark Wielaard2014-01-031-0/+3
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* libdwfl: Add dwfl_getthread_frames.Mark Wielaard2013-12-231-1/+4
| | | | | | | | | | | | | | | | 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 <[email protected]>
* libdwfl: Introduce dwfl_module_getsym_info and dwfl_module_addrinfo.Mark Wielaard2013-12-201-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* Add NEWS items for the new functions in 0.158.Jan Kratochvil2013-12-181-0/+5
| | | | Signed-off-by: Jan Kratochvil <[email protected]>
* libdwfl: Add dwfl_module_getsymtab_first_global.Mark Wielaard2013-12-161-0/+1
| | | | | | | | | | 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 <[email protected]>
* Fix executable_for_core for non-dwfl_standard_argpJan Kratochvil2013-10-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | ./ 2013-10-30 Jan Kratochvil <[email protected]> * NEWS (Version 0.158): New. libdw/ 2013-10-30 Jan Kratochvil <[email protected]> * libdw.map (ELFUTILS_0.158): New. libdwfl/ 2013-10-30 Jan Kratochvil <[email protected]> * 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 <[email protected]>