summaryrefslogtreecommitdiffstats
path: root/libdw/dwarf_getattrs.c
Commit message (Collapse)AuthorAgeFilesLines
* libdw: Handle DWARF5 DW_FORM_implicit_const. Add dwarf_getabbrevattr_data.Mark Wielaard2018-02-211-1/+10
| | | | | | | | | | Handle the new DW_FORM_implicit_const. The value of this form is embedded in the abbrev data (as sleb128) and not in the info DIE data. This also adds a new function dwarf_getabbrevattr_data which allows getting any data/value associated with a form. eu-readelf will use this new function to show the DW_FORM_implicit_const value. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: New get_uleb128_unchecked to use with already checked Dwarf_Abbrev.Mark Wielaard2018-01-011-15/+5
| | | | | | | | | | When creating a Dwarf_Abbrev in dwarf_getabbrev (__libdw_getabbrev) we already check it is fully readable from the .debug_abbrev section. So whenever we reread it later using the attrp pointer we don't have to check it again. Introduce get_uleb128_unchecked to use for ulebs we know are safe to read directly. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add get_uleb128 and get_sleb128 bounds checking.Mark Wielaard2014-12-171-3/+4
| | | | | | | | | | | Both get_uleb128 and get_sleb128 now take an end pointer to prevent reading too much data. Adjust all callers to provide the end pointer. There are still two exceptions. "Raw" dwarf_getabbrevattr and read_encoded_valued don't have a end pointer associated yet. They will have to be provided in the future. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Make sure all attributes come with a (fake) CU for bound checks.Mark Wielaard2014-12-171-3/+1
| | | | | | | | | | All attributes now have a reference to a (fake) CU that has startp and endp set to the data section where the form data comes from. Use that for bounds checking in __libdw_form_val_len and dwarf_formblock to make sure data read doesn't overflow any data section. Remove libdwP.h cu_data and use cu startp and endp directly where appropriate. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: unify die->abbrev lookupsJosh Stone2014-12-111-12/+7
| | | | | | | Add a new internal function, __libdw_dieabbrev, which deals with checking a die for an abbrev, and setting it as needed. Signed-off-by: Josh Stone <[email protected]>
* libdw: Add overflow checking to __libdw_form_val_len.Mark Wielaard2014-12-111-6/+7
| | | | | | | | Pass endp as argument to __libdw_form_val_len and check we don't read beyond the end of expected data and don't return lengths that would overflow. Signed-off-by: Mark Wielaard <[email protected]>
* Update name, license and contributor policy.Mark Wielaard2012-06-051-40/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 <[email protected]> Signed-off-by: Mark Wielaard <[email protected]>
* dwarf_getattrs.c: Correctly skip attribute values when restarting.Roland McGrath2009-01-251-12/+21
|
* Minor optimizations.Ulrich Drepper2008-01-221-5/+3
|
* Add missing copyright year updates. Fix ChangeLog.Ulrich Drepper2008-01-221-1/+1
|
* Minimal cleanups after merge.Ulrich Drepper2008-01-181-1/+1
|
* propagate from branch 'com.redhat.elfutils.nickc.pending' (head ↵Ulrich Drepper2008-01-181-3/+12
| | | | | | 28d6423325f0cc14a133eb6b92a8c3604e437ba6) to branch 'com.redhat.elfutils' (head 6ef48518ed8497626058574c787852bd939d46ee)
* Fix FSF address. No exception for libdwarf.Ulrich Drepper2006-04-041-1/+1
|
* propagate from branch 'com.redhat.elfutils.roland.pending' (head ↵Ulrich Drepper2006-04-041-9/+45
| | | | | | 4f8fc821345feef58624f0aa5b470d4827577d8c) to branch 'com.redhat.elfutils' (head 76e26cb54695fd3b21ee8fb5be3036bd68200633)
* Adjust for monotone.Ulrich Drepper2005-07-261-0/+94