summaryrefslogtreecommitdiffstats
path: root/libdw/dwarf.h
Commit message (Collapse)AuthorAgeFilesLines
* libdw: Add DW_MACRO constants and DW_MACRO_GNU compatibility defines.upstream/mjw/DWARF5Mark Wielaard2016-10-281-10/+28
| | | | | | | | | | 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: Add new DWARF5 tag constants.Mark Wielaard2016-10-281-2/+7
| | | | | | | | | | 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: DWARF5 Add new DW_LANG codes and default lower array bound.Mark Wielaard2016-10-281-1/+9
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* libdw: DWARF5 Add DW_CC_pass_by_reference and DW_CC_pass_by_reference.Mark Wielaard2016-10-281-1/+6
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Correct spelling of DW_LANG_PLI in dwarf.h.Mark Wielaard2016-10-271-2/+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]>
* libdw: Add DW_LANG_Haskell.Mark Wielaard2015-08-251-0/+1
| | | | | | | | | See http://www.dwarfstd.org/ShowIssue.php?issue=120218.1 GHC emits this language code (0x18). Also updated https://fedorahosted.org/elfutils/wiki/DwarfExtensions Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add DWARF5/GCC5 DW_LANG_Fortran03 and DW_LANG_Fortran08 support.Mark Wielaard2015-02-161-0/+2
| | | | | | | | | | | GCC5 adds support for the new Fortran 2003 and 2008 standard DWARF5 language codes. Add them to dwarf.h and handle them in dwarf_aggregate_size. http://dwarfstd.org/ShowIssue.php?issue=141121.1 Also documented at https://fedorahosted.org/elfutils/wiki/DwarfExtensions Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add support for DWARF5/GCC5 DW_TAG_atomic_type.Mark Wielaard2015-02-161-0/+3
| | | | | | | | | | | GCC5 adds support for the new C11 _Atomic DWARF5 DW_TAG_atomic_type qualifier. Add it to dwarf.h and handle it in dwarf_peel_type. http://dwarfstd.org/ShowIssue.php?issue=131112.1 Also documented at https://fedorahosted.org/elfutils/wiki/DwarfExtensions Signed-off-by: Mark Wielaard <[email protected]>
* dwarf.h: Add DW_LANG_C11, DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14.Mark Wielaard2014-11-261-0/+4
| | | | | | | | | | | | | | The following patch is needed to recognize the new DW_LANG constants that GCC 5 might emit as implemented by this GCC patch: https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02852.html Also added to https://fedorahosted.org/elfutils/wiki/DwarfExtensions GCC 5 can emit these new DWARFv5 draft language constants. Handle them in dwarf_aggregate_size and dwarf_getfuncs. Also handle DW_LANG_Go in dwarf_aggregate_size (lower bound for array is zero for Go). Signed-off-by: Mark Wielaard <[email protected]>
* dwarf.h: Add DW_AT_noreturn.Mark Wielaard2014-11-261-0/+3
| | | | | | | | | | | DW_AT_noreturn is added by GCC5 for functions that don't return to their caller. It is set on a DW_TAG_subprogram for the traditional GNU noreturn attribute, the C11 _Noreturn keyword or C++11 [[noreturn]] attribute. It is a new DWARF5 extension. This is a constant only addition to dwarf.h. No other part of elfutils currently depends on this attribute. Also added to https://fedorahosted.org/elfutils/wiki/DwarfExtensions Signed-off-by: Mark Wielaard <[email protected]>
* dwarf.h: Add DW_AT_GNU_deleted.Mark Wielaard2014-10-051-0/+1
| | | | | | | | | DW_AT_GNU_deleted is added by G++ for C++11 deleted special member functions (= delete;). This is a constant only addition to dwarf.h. No other part of elfutils currently depends on this attribute. Also added to https://fedorahosted.org/elfutils/wiki/DwarfExtensions Signed-off-by: Mark Wielaard <[email protected]>
* dwarf.h: Remove non-existing DW_TAG_mutable_type.Mark Wielaard2014-06-221-2/+2
| | | | | | | | | | | | | | | The DW_TAG_mutable_type was only mentioned in an early draft of DWARFv3. But was removed because there are no C++ mutable qualified types. It was replaced by a new attribute DW_AT_mutable on DW_TAG_member DIEs. The new attribute is available in dwarf.h. http://dwarfstd.org/ShowIssue.php?issue=050223.1 DW_TAG_mutable_type was only used internally in some backends (which just ignored it anyway). dwarves did use it to turn it into a string value, libabigail used it and ignored it (patches to remove sent). GCC, GDB and binutils don't use nor define it. Signed-off-by: Mark Wielaard <[email protected]>
* Rewrite DWARF string functions using known-dwarf macros.Mark Wielaard2012-08-171-2/+2
| | | | | | | | readelf and tests were using hard coded string tables to produce DWARF string constants. Use the known-dwarf macros to redefine these and reduce code. Technique comes from dwarf branch dwarfstrings.c. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add support for DWZ multifile forms DW_FORM_GNU_ref_alt/strp_alt.Mark Wielaard2012-08-091-1/+4
| | | | | | | | | | | | | | | DWZ multifile forms http://www.dwarfstd.org/ShowIssue.php?issue=120604.1 DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt reference an alternative debuginfo file. dwarf_begin and dwarf_begin_elf will try to use this automatically. There are no user visible changes to the libdw interface. dwarf_formref_die, dwarf_formstring and dwarf_formudata can now return a Dwarf_Die which comes from a CU in the alternative Dwarf descriptor. __libdw_read_offset was adjusted to take an alternative Dwarf descriptor into account. Signed-off-by: Mark Wielaard <[email protected]>
* Add DW_OP_GNU_parameter_ref to dwarf.h and handle it in readelf.Mark Wielaard2012-07-261-0/+1
| | | | | | | DW_OP_GNU_parameter_ref takes as operand a 4 byte CU relative reference to the abstract optimized away DW_TAG_formal_parameter. Signed-off-by: Mark Wielaard <[email protected]>
* Correct spelling of DW_LANG_ObjC in dwarf.h.Mark Wielaard2012-07-261-1/+1
| | | | | | Fix usage in dwarf_aggregate_size. Signed-off-by: Mark Wielaard <[email protected]>
* libdw: Add DWARF4 DW_ATE_UTF.Mark Wielaard2012-07-261-0/+1
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* dwarf.h: Add DW_MACRO_GNU .debug_macro type encodings.Mark Wielaard2012-06-271-0/+15
| | | | Signed-off-by: Mark Wielaard <[email protected]>
* Add low-level support for .debug_macro.Mark Wielaard2012-06-271-0/+1
| | | | 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]>
* Add DW_OP_GNU_const_type/regval_type/deref_type/convert/reinterpret.Jakub Jelinek2011-05-171-1/+6
|
* Add support for call_site and entry_value to dwarf.h and readelf.Mark Wielaard2011-03-231-0/+11
| | | | | | | | | | New tags DW_TAG_GNU_call_site and DW_TAG_GNU_call_site_parameter. New attributes DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites, and DW_AT_GNU_all_source_call_sites. New operation DW_OP_GNU_entry_value.
* DWARF people changed their mind about the value.Roland McGrath2010-10-141-1/+1
|
* dwarf.h: Add DW_LANG_Go.Roland McGrath2010-10-131-0/+1
|
* Handle DW_OP_GNU_implicit_pointer.Roland McGrath2010-08-301-0/+1
|
* Add some missing DWARF constants and readelf support for them.Roland McGrath2010-06-221-0/+7
|
* dwarf.h: Fix DW_LANG_Python constant.Mark Wielaard2010-05-311-1/+1
|
* Add more DWARF4 constants.Roland McGrath2010-05-271-0/+8
|
* Add some more DW_AT_GNU_* types from gcc.Roland McGrath2010-01-051-0/+8
|
* Add DWARF attributes DW_AT_GNU_vector and DW_AT_GNU_template_name.Roland McGrath2010-01-051-1/+7
|
* Add constants from DWARF 4 working draft 3.Roland McGrath2009-07-161-1/+13
|
* Fix 32/64 CIE header format CIE_id matching.Roland McGrath2009-04-151-1/+2
|
* Add DW_CFA_GNU_negative_offset_extended.Roland McGrath2009-04-011-0/+1
|
* dwarf.h: Add DW_OP_GNU_encoded_addr.Roland McGrath2009-01-221-0/+1
|
* Merge commit 'origin/master' into roland/known-dwarfRoland McGrath2009-01-171-0/+4
|\ | | | | | | | | Conflicts: libdw/ChangeLog
| * Add DW_OP_GNU_* constants.Roland McGrath2009-01-171-1/+5
| |
* | Generate macros for tables of known dwarf.h constants.Roland McGrath2009-01-111-20/+20
|/
* Implement call frame information dumping.Ulrich Drepper2009-01-061-0/+34
|
* Add missing copyright year updates. Fix ChangeLog.Ulrich Drepper2008-01-221-2/+2
|
* propagate from branch 'com.redhat.elfutils.nickc.pending' (head ↵Ulrich Drepper2008-01-181-0/+15
| | | | | | 28d6423325f0cc14a133eb6b92a8c3604e437ba6) to branch 'com.redhat.elfutils' (head 6ef48518ed8497626058574c787852bd939d46ee)
* propagate from branch 'com.redhat.elfutils.roland.pending' (head ↵Ulrich Drepper2007-02-151-2/+2
| | | | | | e723b1541850630f0047cf0c73d64c909529f439) to branch 'com.redhat.elfutils' (head 4e5f7cffa97269b8cc9232cd1e299a2e1f3a819c)
* 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-10/+46
| | | | | | 4f8fc821345feef58624f0aa5b470d4827577d8c) to branch 'com.redhat.elfutils' (head 76e26cb54695fd3b21ee8fb5be3036bd68200633)
* 2006-02-28 Roland McGrath <[email protected]>Roland McGrath2006-02-281-6/+64
| | | | | | | * dwarf.h: Add missing DW_ATE_*, DW_TAG_*, DW_LANG_*, DW_CFA_*, DW_OP_* values, to match DWARF 3.0. Add new DW_DS_*, DW_END_* values from DWARF 3.0.
* libdw/Roland McGrath2005-10-281-1/+1
| | | | | | | | | | | | Fixes to last changes. tests/ 2005-10-27 Roland McGrath <[email protected]> * run-find-prologues.sh: New file. * Makefile.am (TESTS, EXTRA_DIST): Add it.
* 2005-08-09 Roland McGrath <[email protected]>Roland McGrath2005-08-091-1/+1
| | | | | * dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin.
* Adjust for monotone.Ulrich Drepper2005-07-261-0/+581