commit fe45e2a91be1bdf14f379029084faf2a02e68edf Author: Mark Wielaard Date: Tue Jul 24 22:33:03 2012 +0200 libdw: dwarfstrings.c use known-dwarf.h ALL_KNOWN_DW macros if possible. This is possible for dwarf_access_string, dwarf_visibility_string, dwarf_virtuality_string, dwarf_identifier_case_string, dwarf_calling_convention_string, dwarf_ordering_string and dwarf_discr_list_string by defining the known array because there are no code value gaps. For dwarf_tag_string, dwarf_attr_string and dwarf_form_string, which do contain large code value gaps use a switch-case statement. dwarf_lang_string and dwarf_lang_description contain both code value gaps, dulicates and use special return strings, so they are still maintained by hand. Signed-off-by: Mark Wielaard libdw/ChangeLog | 26 +++ libdw/dwarfstrings.c | 505 +++++--------------------------------------------- 2 files changed, 71 insertions(+), 460 deletions(-) commit 34e3a4bb725f430433a1c95c1013c202dacf7227 Author: Mark Wielaard Date: Tue Jul 24 20:00:14 2012 +0200 libdw: Add DWARF4 DW_ATE_UTF. Signed-off-by: Mark Wielaard libdw/ChangeLog | 6 ++++++ libdw/dwarf.h | 1 + libdw/dwarfstrings.c | 19 +++---------------- 3 files changed, 10 insertions(+), 16 deletions(-) commit 38f6dfae880d585d9a4eed7e67fa98337c20b505 Author: Mark Wielaard Date: Tue Jul 24 19:18:52 2012 +0200 tests: Add C++ test binary. Only build and tested by run-readelf-unknown.sh if a g++ with c++x0 is available. Fairly simple C++ program, can be extended to test more features. Signed-off-by: Mark Wielaard ChangeLog | 4 + configure.ac | 5 ++ m4/ChangeLog | 4 + m4/ax_cxx_compile_stdcxx_0x.m4 | 107 +++++++++++++++++++++++++++++++ tests/ChangeLog | 8 +++ tests/Makefile.am | 9 ++- tests/cpp-various.cxx | 136 ++++++++++++++++++++++++++++++++++++++++ tests/run-readelf-unknown.sh | 5 ++ 8 files changed, 276 insertions(+), 2 deletions(-) commit b66cd796193974471e7b8e7f0b18577e3a84cc31 Author: Mark Wielaard Date: Tue Jul 24 19:16:45 2012 +0200 libdw: Fix make distcheck. Add known-dwarf.h to EXTRA_DIST. Signed-off-by: Mark Wielaard libdw/ChangeLog | 4 ++++ libdw/Makefile.am | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) commit f6755d1bcf074e28b3dbcb2e021a6c3179912565 Author: Mark Wielaard Date: Tue Jul 24 13:50:03 2012 +0200 libdw: Add dwarf_lang_description. dwarf_lang_string was different from all other dwarf_foobar_string functions. It used to return a description of the language, not the actual string of the DW_LANG language code. Added a new function dwarf_lang_description that does this and make dwarf_lang_string return the same thing as all other dwarf_foobar_string functions. Signed-off-by: Mark Wielaard libdw/ChangeLog | 10 ++++++++++ libdw/dwarfstrings.c | 35 +++++++++++++++++++++++++++++++++++ libdw/libdw.h | 6 +++++- libdw/libdw.map | 1 + src/ChangeLog | 4 ++++ src/readelf.c | 6 +++--- tests/ChangeLog | 4 ++++ tests/run-readelf-unknown.sh | 2 +- 8 files changed, 63 insertions(+), 5 deletions(-) commit fd0aa1fc90bbc6180c568376a948a6c1b315a114 Author: Mark Wielaard Date: Tue Jul 24 13:39:24 2012 +0200 Add DW_LANG_Go to dwarf_lang_string. Signed-off-by: Mark Wielaard libdw/ChangeLog | 4 ++++ libdw/dwarfstrings.c | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) commit 13e4f0e94d86aea9b44255d1ad7b48d1edffe796 Author: Mark Wielaard Date: Tue Jul 24 13:20:41 2012 +0200 Add correct spelling of DW_LANG_ObjC in dwarf.h. Keep old DW_LANG_Objc as alias for backwards compatibility. Signed-off-by: Mark Wielaard libdw/ChangeLog | 8 ++++++++ libdw/dwarf.h | 3 ++- libdw/dwarf_aggregate_size.c | 2 +- libdw/dwarfstrings.c | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) commit 8661cdade816b0abde6c528cb0c5361817fd9a98 Author: Mark Wielaard Date: Fri Jul 20 00:09:56 2012 +0200 Add DW_OP_GNU_parameter_ref to dwarf.h and handle it in readelf. 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 libdw/ChangeLog | 4 ++++ libdw/dwarf.h | 1 + src/ChangeLog | 4 ++++ src/readelf.c | 12 ++++++++++++ 4 files changed, 21 insertions(+), 0 deletions(-) commit 4be9fafed16bf912274a6f96ce16cf71cd73d339 Author: Mark Wielaard Date: Thu Jul 19 23:31:45 2012 +0200 config: known-dwarf.awk Fix "Generated by" header. Generated header had wrong file names for config/known-dwarf.awk and libdw/dwarf.h contents. Signed-off-by: Mark Wielaard config/ChangeLog | 5 +++++ config/known-dwarf.awk | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) commit 76993cff76cd8ed8901ddbbb8d8538388cc1b803 Author: Mark Wielaard Date: Thu Jul 19 22:54:43 2012 +0200 Add run-readelf-unknown.sh test to find unknown dwarfstring codes. Signed-off-by: Mark Wielaard tests/ChangeLog | 6 ++++ tests/Makefile.am | 5 ++- tests/run-readelf-unknown.sh | 59 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 2 deletions(-) commit 42a38c94ff8475e6d7fb7465ff4dd04a4aa60410 Author: Mark Wielaard Date: Sun Jul 15 16:46:25 2012 +0200 libdw: Add dwarfstrings functions from dwarf branch. Add public functions dwarf_tag_string, dwarf_attr_string, dwarf_form_string, dwarf_lang_string, dwarf_inline_string, dwarf_encoding_string, dwarf_access_string, dwarf_visibility_string, dwarf_virtuality_string, dwarf_identifier_case_string, dwarf_calling_convention_string, dwarf_ordering_string, dwarf_discr_list_string, dwarf_locexpr_opcode_string, dwarf_line_standard_opcode_string and dwarf_line_extended_opcode_string. Use them in readelf and tests. Signed-off-by: Mark Wielaard libdw/ChangeLog | 32 ++ libdw/Makefile.am | 5 +- libdw/dwarfstrings.c | 751 ++++++++++++++++++++++++++++++++++++ libdw/libdw.h | 80 ++++- libdw/libdw.map | 20 + src/readelf.c | 1021 ++++++++----------------------------------------- tests/ChangeLog | 7 + tests/allregs.c | 36 -- tests/show-die-info.c | 199 +---------- 9 files changed, 1065 insertions(+), 1086 deletions(-)