summaryrefslogtreecommitdiff
path: root/libebl
Commit message (Collapse)AuthorAgeFilesLines
...
* Check elf_strptr didn't fail getting section name.Mark Wielaard2014-11-172-2/+6
| | | | | | | | Since elf_strptr can fail and return NULL we should always check the result before usage. Debug sections are only handled by section name, so make sure the name actually exists. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* libebl: Add ebl_func_addr_mask plus ARM backend implementation.Mark Wielaard2014-06-225-4/+34
| | | | | | | | | | | | | | The ARM EABI says that the zero bit of function symbol st_value indicates whether the symbol points to a THUMB or ARM function. Also the return value address in an unwind will contain the same extra bit to indicate whether to return to a regular ARM or THUMB function. Add a new ebl function to mask off such bits and turn a function value into a function address so that we get the actual value that a function symbol or return address points to. It isn't easily possible to reuse the existing ebl_resolve_sym_value for this purpose, so we end up with another hook that can be used from dwfl_module_getsym, handle_cfi and elflint. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* backends: Add ebl_check_reloc_target_type.Mark Wielaard2014-05-196-3/+74
| | | | | | | | | And implement for arm and ia64. Both have special section types that are valid targets for a reloc. Both refer to unwind data. elflint now just calls ebl_check_reloc_target_type instead of hard coding the expected section types. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* libdwfl: Introduce dwfl_module_getsym_info and dwfl_module_addrinfo.Mark Wielaard2013-12-206-1/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* unwinder: s390 and s390xJan Kratochvil2013-12-186-1/+143
| | | | Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
* unwinder: ppc and ppc64Jan Kratochvil2013-12-155-2/+65
| | | | Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
* Support AArch64 architecturePetr Machata2013-11-262-1/+6
| | | | Signed-off-by: Petr Machata <pmachata@redhat.com>
* Code cleanup: Remove const in prototypeJan Kratochvil2013-11-142-4/+7
| | | | Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
* Unwinder for x86*.Jan Kratochvil2013-11-076-5/+97
| | | | | Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com> Signed-off-by: Mark Wielaard <mjw@redhat.com>
* backends: ppc_abi_cfi reg1 use DW_CFA_val_offset not DW_CFA_val_expression.Mark Wielaard2013-10-072-0/+10
| | | | | | | | | | | | | | | Register rules using expressions are stored using an offset from the start of the .eh_frame or .debug_frame ELF section data. Since abi_cfi rules aren't stored in those ELF sections they should use neither DW_CFA_expression nor DW_CFA_val_expression. The only backend that used DW_CFA_val_expression was ppc_cfi.c. It was easier to express the same rule using DW_CFA_val_offset than to change the code to handle register rules using expressions. On most architectures this did work by accident. See the definition of struct dwarf_frame_register value in libdw/cfi.h to see why. But on ia64 the abi_cfi data and actual frame data were placed too far apart and caused a crash in tests/run-addrcfi.sh for ppc32. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* Recognize names of some new core note types in ebl_core_note_type_namePetr Machata2013-09-272-1/+11
| | | | Signed-off-by: Petr Machata <pmachata@redhat.com>
* eblsectionstripp.c (ebl_section_strip_p): Check shdr_l is not NULL.Mark Wielaard2013-09-252-2/+6
| | | | Signed-off-by: Mark Wielaard <mjw@redhat.com>
* Updates for Automake 1.13.Mark Wielaard2013-04-262-1/+5
| | | | | | | autoreconf will install config/test-driver, ignore it. Update gettext m4 and po files to version 0.18.2. Use AM_CPPFLAGS instead of INCLUDES. All changes are backward compatible with Automake 1.11.
* libebl/Jan Kratochvil2012-10-124-3/+13
| | | | | | | | | | 2012-10-12 Jan Kratochvil <jan.kratochvil@redhat.com> * ebl-hooks.h (abi_cfi): Extend its comment for return value. * eblopenbackend.c (default_abi_cfi): Return -1. * libebl.h (ebl_abi_cfi): Extend its comment for return value. Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
* Handle new core note types in EBLPetr Machata2012-09-172-1/+18
| | | | Signed-off-by: Petr Machata <pmachata@redhat.com>
* Add support for Tilera TILE-Gx processor.Jeff Kenton2012-08-242-0/+5
| | | | Signed-off-by: Jeff Kenton <jkenton@tilera.com>
* Add low-level support for .debug_macro.Mark Wielaard2012-06-272-0/+6
| | | | Signed-off-by: Mark Wielaard <mjw@redhat.com>
* Update name, license and contributor policy.Mark Wielaard2012-06-0551-2016/+969
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Remove .mtn-ignore and .cvsignore files.Mark Wielaard2012-06-051-1/+0
| | | | We use .gitignore these days.
* Add support for printing SDT elf notes.Mark Wielaard2011-04-266-10/+118
| | | | | | | | | | | | | libebl/ * libebl.h (ebl_object_note_type_name): Add const char *name arg. * eblhooks.h (object_note_type_name): Likewise. * eblopenbackend.c (default_object_note_type_name): Likewise. * eblobjnotetypename.c (ebl_object_note_type_name): Likewise. And print version if name is "stapsdt". * eblobjnote.c (ebl_object_note): Add output for "stapsdt" notes. src/ * readelf.c (handle_notes_data): Call ebl_object_note_type_name with note name.
* Fix doubled words.Marek Polacek2011-04-161-1/+1
|
* Fix typo in TLSDESC_GOT.Marek Polacek2011-03-212-1/+5
|
* Add new ebl_check_st_other_bits function.mpolacek/autotestMark Wielaard2011-03-116-3/+93
|
* Consider .gdb_index as a debugging section.Roland McGrath2010-07-072-0/+6
|
* Clean up and consolidate automake magic to reduce duplication and to work ↵Roland McGrath2010-02-152-23/+9
| | | | with --disable-dependency-tracking.
* Make readelf -n check note name strings, handle "VMCOREINFO" flavor.Roland McGrath2010-01-045-19/+27
|
* Clean up NT_GNU_GOLD_VERSION printing.Roland McGrath2009-10-142-2/+6
|
* Match .debug_pubtypes and .debug_types as known DWARF section names.Roland McGrath2009-10-052-0/+8
|
* libebl: Fix allocation of memory for long stringsPetr Machata2009-09-022-7/+17
|
* ebl_strtabfinalize: Don't SEGV when no strings are presentPetr Machata2009-08-062-1/+7
| | | | (cherry picked from commit a3a81e8352571f8aa9721a8940fbe54543029958)
* Handle text output for NT_GNU_GOLD_VERSION.elfutils-0.142Mark Wielaard2009-07-262-1/+10
|
* Handle NT_GNU_GOLD_VERSION.Mark Wielaard2009-07-262-1/+7
|
* CFI support: lookup by PC and translate into DWARF location per registerRoland McGrath2009-07-087-6/+127
|
* Add support for STB_GNU_UNIQUE to libebl.Ulrich Drepper2009-07-083-2/+20
|
* Update elf.h and some tables; fill in sparc backend reloc table.Roland McGrath2009-04-013-3/+13
|
* Reduce common code in objdump.Ulrich Drepper2009-02-012-2/+7
| | | | Better error value on ebl_reloc_type_name.
* src/Roland McGrath2008-12-032-1/+5
| | | | | | | 2008-12-02 Roland McGrath <roland@redhat.com> * readelf.c (count_dwflmod, process_file): Don't presume encoding of nonzero OFFSET argument to dwfl_getmodules.
* src/Roland McGrath2008-08-077-3/+114
| | | | | | (find_symbol): Likewise. Convert plain number, or handle strings like "(section)+offset" or "symbol+offset".
* backends/Roland McGrath2008-04-017-4/+105
| | | | | | | | | | | * sparc_symbol.c (sparc_symbol_type_name): New function. (sparc_dynamic_tag_name): New function. (sparc_dynamic_tag_check): New function. * sparc_init.c (sparc_init): Initialize those hooks. libebl/ * ebldynamictagname.c (ebl_dynamic_tag_name): Use hex for unknown tag.
* Finish elflint .gnu.attributes checkingRoland McGrath2008-02-218-28/+170
|
* propagate from branch 'com.redhat.elfutils.disasm' (head ↵Ulrich Drepper2008-01-024-1/+8
| | | | | | d15b4eb794e81e477f9896fe82a74cb5ecf4514c) to branch 'com.redhat.elfutils' (head eaacbf01f8cc89d043ec6eca9b5e35cb5c4cde06)
* 2007-10-23 Roland McGrath <roland@redhat.com>Roland McGrath2007-10-232-6/+16
| | | | | | * linux-kernel-modules.c (report_kernel_archive): Reorder the kernel module to appear first.
* merge of '92c36bfdbc6468d1711c043b530e0dfe5abb6dec'Ulrich Drepper2007-10-162-37/+54
| | | | and 'c22c8c43f8f68b0bffd4d5ccdb2282c958268742'
* readelf register printing sort order tweakRoland McGrath2007-08-237-185/+254
|
* libdwfl/Roland McGrath2007-07-163-2/+22
| | | | | | | | | | | | | | | 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.
* 2007-04-24 Roland McGrath <roland@redhat.com>Roland McGrath2007-04-252-1/+7
| | | | | * run-strip-test.sh: When we saved the debug info, test unstrip too.
* propagate from branch 'com.redhat.elfutils.roland.pending' (head ↵Ulrich Drepper2007-03-302-9/+21
| | | | | | b584b7056d679db0fc272b47667047d07737ca55) to branch 'com.redhat.elfutils' (head 5f150a0b2f07e8c60913d4e6ad833ef026ccd26e)
* propagate from branch 'com.redhat.elfutils.roland.pending' (head ↵Ulrich Drepper2007-02-056-5/+92
| | | | | | c44dcfac5b545aecb173fede31f34cb003be0173) to branch 'com.redhat.elfutils' (head 4196d4e01486bdeb0c0632291881d1c6d7163fab)
* 2006-10-09 Roland McGrath <roland@redhat.com>Roland McGrath2006-10-106-15/+38
| | | | | * ia64_symbol.c (ia64_reloc_simple_type): Treat SECREL types as simple.
* merge of 2d5572f10b65f0ac7fdf54361b4dae41ebbd51d0Ulrich Drepper2006-07-0712-14/+205
| | | | and fda3a25581b7bfac581504e9e887e9b97f234f86