summaryrefslogtreecommitdiff
path: root/tests/allfcts.c
Commit message (Collapse)AuthorAgeFilesLines
* libdw: Resolve alt file on first use.Mark Wielaard2018-01-251-1/+4
| | | | | | | | | | | | | | | | | | | | | Add a new alt_fd field to the Dwarf struct. This tracks whether we tried to open the alt file ourselves. This is used in dwarf_getalt to see if we should try to find and open the alt file ourselves (if the user hasn't called dwarf_setalt yet). dwarf_formref_die and dwarf_formstring now call dwarf_getalt instead of accessing the alt_dwarf Dwarf field directly. For applications using libdwfl nothing changes (dwfl will find, set and clean up the alt file). For programs that set the alt file themselves already through other means, nothing changes. But for applications that don't create the Dwarf through libdwfl and don't set the alt file already libdw will now try to find and set it on first access. If found the application will now not get errors for missing alt files. Add a simple testcase based on the existing allfcts test which already tries to set the alt file, but is too simplistic to find it in some subdir (relative to the main debug file). Signed-off-by: Mark Wielaard <mark@klomp.org>
* tests/allfcts.c: Install alternate debug informationFlorian Weimer2014-04-241-1/+34
| | | | | | This change also adds more error checking and reporting. Signed-off-by: Florian Weimer <fweimer@redhat.com>
* tests: allfcts.c (main): Correct dwarf_getfuncs return value check.Mark Wielaard2013-11-051-1/+1
| | | | | | | | The return value of dwarf_getfuncs is a ptrdiff_t that is zero on success, or non-zero (an offset to continue the search) when the callback returned DWARF_CB_ABORT or on error. When an error occurs dwarf_errno is set. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* libdw: Make dwarf_getfuncs find all (defining) DW_TAG_subprogram DIEs.Mark Wielaard2013-09-241-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | dwarf_getfuncs used to return only the DW_TAG_subprogram DIEs that were direct children of the given CU. This is normally how GCC outputs the subprogram DIEs. But not always. For nested functions the subprogram DIE is placed under the code construct DIE where it is nested. Other compilers might output the defining subprogram DIE of a C++ class function under the DW_TAG_namespace DIE where it was defined. Both such constructs seem allowed by the DWARF specification. So just searching the CU DIE children was wrong. To find all (defining) subprogram DIEs in a CU dwarf_getfuncs should use __libdw_visit_scopes to walk the tree for all DIEs that can contain subprograms as children. The only tricky part is making sure the offset returned and used when the callback returns DWARF_CB_ABORT is correct and the search continues at the right spot in the CU DIE tree. This operation now needs to rewalk the whole tree. Two new testcases were added that fail without this patch. And the allfcts test was tweaked so that it always returns DWARF_CB_ABORT from its callback to make sure the offset handling is correct. Signed-off-by: Mark Wielaard <mjw@redhat.com>
* Update name, license and contributor policy.Mark Wielaard2012-06-051-19/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* 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/+22
| | | | | | 4f8fc821345feef58624f0aa5b470d4827577d8c) to branch 'com.redhat.elfutils' (head 76e26cb54695fd3b21ee8fb5be3036bd68200633)
* 2005-11-16 Roland McGrath <roland@redhat.com>Roland McGrath2005-11-171-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Define HAVE_LIBASM and STANDALONE conditionals. In config.h, define ELFUTILS_HEADER macro. tests/ 2005-11-16 Roland McGrath <roland@redhat.com> * configure.ac: New file, for standalone build/dist of test suite. * Makefile.am [!STANDALONE] (INCLUDES): Don't define it. (asm_TESTS): New variable, broken out of ... (TESTS): ... here. Also remove msg_tst. [!STANDALONE] (TESTS, noinst_PROGRAMS): Add in $(asm_TESTS), msg_tst. (installed_TESTS_ENVIRONMENT): New variable. [STANDALONE] (TESTS_ENVIRONMENT): Use that. [!STANDALONE] (installcheck-local): Likewise. [STANDALONE] (libdw, libelf, libasm, libebl): Define using -lfoo. * addrscopes.c: Include <config.h>. Use ELFUTILS_HEADER macro in #include of installed elfutils/ headers. * allfcts.c: Likewise. * asm-tst1.c: Likewise. * asm-tst2.c: Likewise. * asm-tst3.c: Likewise. * asm-tst4.c: Likewise. * asm-tst5.c: Likewise. * asm-tst6.c: Likewise. * asm-tst7.c: Likewise. * asm-tst8.c: Likewise. * asm-tst9.c: Likewise. * dwflmodtest.c: Likewise. * find-prologues.c: Likewise. * funcscopes.c: Likewise. * get-aranges.c: Likewise. * get-files.c: Likewise. * get-lines.c: Likewise. * get-pubnames.c: Likewise. * line2addr.c: Likewise. * newscn.c: Likewise. * show-abbrev.c: Likewise. * show-die-info.c: Likewise. * update3.c: Likewise. * update4.c: Likewise. * dwflmodtest.c (print_instance): Don't use INTUSE. (options): Don't use N_ macro.
* NEWS updatesRoland McGrath2005-10-281-4/+4
|
* Adjust for monotone.Ulrich Drepper2005-07-261-0/+50