summaryrefslogtreecommitdiff
path: root/tests/run-readelf-loc.sh
Commit message (Collapse)AuthorAgeFilesLines
* readelf: Turn format_print_dwarf into print_dwarf_addr.Mark Wielaard2018-06-091-26/+26
| | | | | | | | | | | We don't really need to setup a buffer, print into it and then print it out to stdout. Simplify the code by directly printing the address (and symbol name). This also showed a small error in the output of DW_LLE_startx_length. It had two unintended trailing dots. Signed-off-by: Mark Wielaard <mark@klomp.org>
* readelf: Deal with combined normal and split dwarf DebugFission .debug_loc.Mark Wielaard2018-06-011-0/+289
| | | | | | | | | | | | | Normal and split dwarf from GNU DebugFission look the same, but should be treated competely separtely. When having a file with both skeletons and real compile units only note the secoffsets into the real .debug_loc in readelf. Otherwise or known_locslistptr will get confused. Add a testfile that combines an normal -gdwarf-4 object with a -gsplit-dwarf object. libdw already got this right, but add a run-varlocs.sh test to make sure. Signed-off-by: Mark Wielaard <mark@klomp.org>
* readelf, libdw: Add GNU DebugFission .debug_loc support.Mark Wielaard2018-05-311-0/+141
| | | | | | | | | | GNU DebugFission .debug_loc location lists uses the .debug_loc section in the split dwarf .dwo file. The encoding is a mix of old style DWARF .debug_loc and new style .debug_loclists. Add two testcases for the readelf and libdw decoders. Signed-off-by: Mark Wielaard <mark@klomp.org>
* readelf: Handle .debug_loclists.Mark Wielaard2018-05-291-0/+560
| | | | | | | | | The new DWARF5 .debug_loclists sections are like .debug_rnglists, but plus locations. For Split Dwarf GCC generates the .debug_loclists fully in the split .dwo file. Any references to addresses need to be resolved through the skeleton .debug_addr section. Signed-off-by: Mark Wielaard <mark@klomp.org>
* readelf: Print CU, base address and unresolved .debug_loc entries.Mark Wielaard2017-11-291-9/+42
| | | | | | | | | Also adjust the formatting for the resolved addresses to print them on separate lines so they nicely line up even when the addresses are resolved to symbol+offset names. And print the operands starting on a new line. Signed-off-by: Mark Wielaard <mark@klomp.org>
* readelf: Print CU, base address and unresolved .debug_range entries.Mark Wielaard2017-11-291-12/+40
| | | | | | | | Also adjust the formatting for the resolved addresses to print them on separate lines so they nicely line up even when the addresses are resolved to symbol+offset names. Signed-off-by: Mark Wielaard <mark@klomp.org>
* readelf: Adjust print_ops formatting.Mark Wielaard2017-11-291-9/+9
| | | | | | | Use only 2 spaces for index (there are never 10000, the most seen in the wild is 64). Adjust re-indenting after GNU_entry_value. Signed-off-by: Mark Wielaard <mark@klomp.org>
* Enable automake parallel-tests for make check.Mark Wielaard2013-04-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parallel-tests option was introduced in automake 1.11 and is the default since automake 1.13. All tests can now be ran in parallel with make check -j. To enable this all tests are ran in their own temporary directory so they don't stomp on each others input or output files. On my machine (4 cores) make check takes ~20 seconds, but now with make check -j8 takes only ~4 seconds. ChangeLog: * configure.ac (AM_INIT_AUTOMAKE): Request parallel-tests. tests/ChangeLog: * Makefile.am (installed_TESTS_ENVIRONMENT): Export environment, remove wrapper. (TESTS_ENVIRONMENT): Likewise. (installed_LOG_COMPILER): New variable defining wrapper. (LOG_COMPILER): Likewise. * run-*.sh: Fixup location of input and output files. * test-subr.sh: Create test_dir, pushd to execute test in. (trap): Remove test_dir. (testfiles): Use abs_srcdir. (installed_testrun): Match on abs_builddir or abs_top_builddir. (self_test_files): Adjust path. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* Add readelf test for --debug-dump=loc --debug-dump=ranges, -N and -U.Mark Wielaard2013-02-061-0/+109
Signed-off-by: Mark Wielaard <mjw@redhat.com>