summaryrefslogtreecommitdiffstats
path: root/libbacktrace
Commit message (Collapse)AuthorAgeFilesLines
* Mark ChangeLoggccadmin2014-07-161-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@212602 138bc75d-0d04-0410-961f-82ee72b054a4
* Backport from mainline:ian2014-05-092-2/+35
| | | | | | | | | | | * mmap.c (backtrace_free): If freeing a large aligned block of memory, call munmap rather than holding onto it. (backtrace_vector_grow): When growing a vector, double the number of pages requested. When releasing the old version of a grown vector, pass the correct size to backtrace_free. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@210255 138bc75d-0d04-0410-961f-82ee72b054a4
* Mark ChangeLoggccadmin2014-04-221-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@209578 138bc75d-0d04-0410-961f-82ee72b054a4
* * sort.c (backtrace_qsort): Use middle element as pivot.ian2014-03-072-0/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208403 138bc75d-0d04-0410-961f-82ee72b054a4
* * sort.c: New file.ian2014-03-078-15/+288
| | | | | | | | | | | | | | | * stest.c: New file. * internal.h (backtrace_qsort): Declare. * dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort. (read_line_info, read_function_entry): Likewise. (read_function_info, build_dwarf_data): Likewise. * elf.c (elf_initialize_syminfo): Likewise. * Makefile.am (libbacktrace_la_SOURCES): Add sort.c. (stest_SOURCES, stest_LDADD): Define. (check_PROGRAMS): Add stest. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208392 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/58710ian2014-02-074-4/+12
| | | | | | | | | * configure.ac: Use AC_LINK_IFELSE in check for _Unwind_GetIPInfo. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207612 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in libbacktrace/rsandifo2014-01-0222-21/+25
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206292 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c (ET_DYN): Undefine and define again.jakub2013-12-062-11/+56
| | | | | | | | | | | | | | | (elf_add): Add exe argument, if true and ehdr.e_type is ET_DYN, return early -1 without closing the descriptor. (struct phdr_data): Add exe_descriptor. (phdr_callback): If pd->exe_descriptor is not -1, for very first call if dlpi_name is NULL just call elf_add with the exe_descriptor, otherwise backtrace_close the exe_descriptor if not -1. Adjust call to elf_add. (backtrace_initialize): Adjust call to elf_add. If it returns -1, set pd.exe_descriptor to descriptor, otherwise set it to -1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205748 138bc75d-0d04-0410-961f-82ee72b054a4
* * alloc.c (backtrace_vector_finish): Add error_callback and dataian2013-12-055-14/+51
| | | | | | | | | | | | parameters. Call backtrace_vector_release. Return address base. * mmap.c (backtrace_vector_finish): Add error_callback and data parameters. Return address base. * dwarf.c (read_function_info): Get new address base from backtrace_vector_finish. * internal.h (backtrace_vector_finish): Update declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205716 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf.c (find_address_ranges): New static function, broken outian2013-11-283-156/+208
| | | | | | | | | | | of build_address_map. (build_address_map): Call it. * btest.c (check): Check for missing filename or function, rather than crashing. (f3): Check that enough frames were returned. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205490 138bc75d-0d04-0410-961f-82ee72b054a4
* * backtrace.h (backtrace_syminfo_callback): Add symsize argument.jakub2013-11-194-8/+44
| | | | | | | | | | | | | | | * elf.c (elf_syminfo): Pass 0 or sym->size to the callback as last argument. * btest.c (struct symdata): Add size field. (callback_three): Add symsize argument. Copy it to the data->size field. (f23): Set symdata.size to 0. (test5): Likewise. If sizeof (int) > 1, lookup address of ((uintptr_t) &global) + 1. Verify symdata.val and symdata.size values. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205028 138bc75d-0d04-0410-961f-82ee72b054a4
* * atomic.c: Include sys/types.h.jakub2013-11-192-0/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205008 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Check for support of __atomic extensions.ian2013-11-1911-79/+263
| | | | | | | | | | | | | | | | * internal.h: Declare or #define atomic functions for use in backtrace code. * atomic.c: New file. * dwarf.c (dwarf_lookup_pc): Use atomic functions. (dwarf_fileline, backtrace_dwarf_add): Likewise. * elf.c (elf_add_syminfo_data, elf_syminfo): Likewise. (backtrace_initialize): Likewise. * fileline.c (fileline_initialize): Likewise. * Makefile.am (libbacktrace_la_SOURCES): Add atomic.c. * configure, config.h.in, Makefile.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204994 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c (SHN_UNDEF): Define.jakub2013-11-182-3/+14
| | | | | | | | | (elf_initialize_syminfo): Add base_address argument. Ignore symbols with st_shndx == SHN_UNDEF. Add base_address to address fields. (elf_add): Adjust caller. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204975 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c (phdr_callback): Process info->dlpi_addr == 0 normally.jakub2013-11-182-6/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204971 138bc75d-0d04-0410-961f-82ee72b054a4
* * backtrace.h (backtrace_create_state): Correct comment aboutian2013-11-162-2/+6
| | | | | | | threading. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204905 138bc75d-0d04-0410-961f-82ee72b054a4
* * backtrace.h (backtrace_syminfo): Update comment and parameterian2013-11-164-25/+94
| | | | | | | | | | | | | | | name to take any address, not just a PC value. * elf.c (STT_OBJECT): Define. (elf_nosyms): Rename parameter pc to addr. (elf_symbol_search): Rename local variable pc to addr. (elf_initialize_syminfo): Add STT_OBJECT symbols to elf_symbols. (elf_syminfo): Rename parameter pc to addr. * btest.c (global): New global variable. (test5): New test. (main): Call test5. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204904 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c (elf_add): Don't get the wrong offsets if a debug sectionian2013-10-182-2/+14
| | | | | | | is missing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203810 138bc75d-0d04-0410-961f-82ee72b054a4
* Add --enable-host-shared configuration optiondmalcolm2013-10-153-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | / * configure.ac: Add --enable-host-shared * configure: Regenerate. gcc/ * Makefile.in (PICFLAG): New. (enable_host_shared): New. (INTERNAL_CFLAGS): Use PICFLAG. (LIBIBERTY): Use pic build of libiberty.a if configured with --enable-host-shared. * configure.ac: Add --enable-host-shared, setting up new PICFLAG variable. * configure: Regenerate. * doc/install.texi (--enable-shared): Add note contrasting it with... (--enable-host-shared): New option. libbacktrace/ * configure.ac: Add --enable-host-shared, setting up pre-existing PIC_FLAG variable within Makefile.am et al. * configure: Regenerate. libcpp/ * Makefile.in (PICFLAG): New. (ALL_CFLAGS): Add PICFLAG. (ALL_CXXFLAGS): Likewise. * configure.ac: Add --enable-host-shared, setting up new PICFLAG variable. * configure: Regenerate. libdecnumber/ * Makefile.in (PICFLAG): New. (ALL_CFLAGS): Add PICFLAG. * configure.ac: Add --enable-host-shared, setting up new PICFLAG variable. * configure: Regenerate. libiberty/ * configure.ac: If --enable-host-shared, use -fPIC. * configure: Regenerate. zlib/ * configure.ac: Add --enable-host-shared, setting up new PICFLAG variable. * Makefile.am: Add PICFLAG to libz_a_CFLAGS. * Makefile.in: Regenerate. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203632 138bc75d-0d04-0410-961f-82ee72b054a4
* * libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonicalamodra2013-09-202-5/+15
| | | | | | | | | ppc host match. Support little-endian powerpc linux hosts. Regenerate configure throughout. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202773 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c (elf_syminfo): Loop over the elf_syminfo_data chain.amonakov2013-07-232-5/+43
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201159 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c (backtrace_initialize): Pass elf_fileline_fn toamonakov2013-07-232-1/+6
| | | | | | | | dl_iterate_phdr callbacks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201158 138bc75d-0d04-0410-961f-82ee72b054a4
* * alloc.c: #include <sys/types.h>.ian2013-03-253-0/+7
| | | | | | | * mmap.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197057 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf.c (read_function_info): Permit fvec parameter to be NULL.ian2013-01-312-9/+41
| | | | | | | (dwarf_lookup_pc): Don't use ddata->fvec if threaded. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195620 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/56076ian2013-01-252-1/+8
| | | | | | | | * dwarf.c (read_line_header): Don't crash if DW_AT_comp_dir attribute was not seen. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195478 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf.c (struct unit): Add filename and abs_filename fields.ian2013-01-172-2/+58
| | | | | | | | | (build_address_map): Set new fields when reading unit. (dwarf_lookup_pc): If we don't find an entry in the line table, just return the main file name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195257 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in libbacktrace.rsandifo2013-01-1421-20/+24
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195165 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/54834ian2013-01-013-2/+9
| | | | | | | | | * Makefile.am (AM_CPPFLAGS): Remove -I ../gcc/include and -I $(MULTIBUILDTOP)/../../gcc/include. * Makefile.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194770 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/55536ian2013-01-012-4/+28
| | | | | | | | | * mmap.c (backtrace_alloc): Don't call sync functions if not threaded. (backtrace_free): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194768 138bc75d-0d04-0410-961f-82ee72b054a4
* * mmapio.c: Define MAP_FAILED if not defined.danglin2012-12-122-0/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194443 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/54926jakub2012-12-115-10/+63
| | | | | | | | | | | | * Makefile.am (AM_CFLAGS): Remove -frandom-seed=$@. * configure.ac: If --with-target-subdir, add -frandom-seed=$@ to EXTRA_FLAGS unconditionally, otherwise check whether the compiler accepts it. * Makefile.in: Regenerated. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194412 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/54926jakub2012-12-073-2/+8
| | | | | | | | * Makefile.am (AM_CFLAGS): Add -frandom-seed=$@. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194303 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf.c (read_attribute): Always clear val.ian2012-11-202-0/+10
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193670 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/55312ian2012-11-133-2/+7
| | | | | | | * configure.ac: Only add -Werror if building a target library. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193485 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Check for getexecname.ian2012-11-126-10/+111
| | | | | | | | | | | | | * fileline.c: #include <errno.h>. Define getexecname if not available. (fileline_initialize): Try to find the executable in a few different ways. * print.c (error_callback): Only print the filename if it came from the backtrace state. * configure, config.h.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193454 138bc75d-0d04-0410-961f-82ee72b054a4
* * mmap.c (backtrace_vector_release): Correct last patch: addian2012-10-292-1/+7
| | | | | | | aligned, not size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192956 138bc75d-0d04-0410-961f-82ee72b054a4
* * mmap.c (backtrace_vector_release): Make sure freed block isian2012-10-292-2/+17
| | | | | | | aligned on 8-byte boundary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192945 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/55087ian2012-10-265-7/+31
| | | | | | | | | | | | * posix.c (backtrace_open): Add does_not_exist parameter. * elf.c (phdr_callback): Do not warn if shared library could not be opened. * fileline.c (fileline_initialize): Update calls to backtrace_open. * internal.h (backtrace_open): Update declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192861 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55061ian2012-10-263-5/+40
| | | | | | | | * configure.ac: Check for _Unwind_GetIPInfo function declaration. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192853 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/55061ian2012-10-243-2/+53
| | | | | | | | * configure.ac: Check whether -funwind-tables option works. * configure: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192782 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Do not use dl_iterate_phdr on Solaris 10.ian2012-10-113-0/+17
| | | | | | | * configure: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192371 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c: Rename all Elf typedefs to start with b_elf, and be allian2012-10-102-61/+66
| | | | | | | lower case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192331 138bc75d-0d04-0410-961f-82ee72b054a4
* * elf.c (elf_add_syminfo_data): Add casts to avoid warning.hp2012-10-102-2/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192311 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf.c (dwarf_fileline): Add cast to avoid warning.ian2012-10-102-3/+8
| | | | | | | (backtrace_dwarf_add): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192288 138bc75d-0d04-0410-961f-82ee72b054a4
* Add support for tracing through shared libraries.ian2012-10-097-106/+579
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Check for link.h and dl_iterate_phdr. * elf.c: #include <link.h> if system has dl_iterate_phdr. #undef ELF macros before #defining them. (dl_phdr_info, dl_iterate_phdr): Define if system does not have dl_iterate_phdr. (struct elf_syminfo_data): Add next field. (elf_initialize_syminfo): Initialize next field. (elf_add_syminfo_data): New static function. (elf_add): New static function, broken out of backtrace_initialize. Call backtrace_dwarf_add instead of backtrace_dwarf_initialize. (struct phdr_data): Define. (phdr_callback): New static function. (backtrace_initialize): Call elf_add. * dwarf.c (struct dwarf_data): Add next and base_address fields. (add_unit_addr): Add base_address parameter. Change all callers. (add_unit_ranges, build_address_map): Likewise. (add_line): Add ddata parameter. Change all callers. (read_line_program, add_function_range): Likewise. (dwarf_lookup_pc): New static function, broken out of dwarf_fileline. (dwarf_fileline): Call dwarf_lookup_pc. (build_dwarf_data): New static function. (backtrace_dwarf_add): New function. (backtrace_dwarf_initialize): Remove. * internal.h (backtrace_dwarf_initialize): Don't declare. (backtrace_dwarf_add): Declare. * configure, config.h.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192267 138bc75d-0d04-0410-961f-82ee72b054a4
* * btest.c (f23): Avoid uninitialized variable warning.gerald2012-10-042-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192102 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf.c: If the system header files do not declare strnlen,ian2012-10-042-2/+21
| | | | | | | provide our own version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192082 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf.c (read_uleb128): Fix overflow test.ian2012-10-032-10/+25
| | | | | | | | (read_sleb128): Likewise. (build_address_map): Don't change unit_buf.start. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192053 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc/ChangeLog: Fix whitespace.uros2012-10-021-3/+3
| | | | | | | | * libbacktrace/ChangeLog: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191982 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/54761uros2012-10-025-5/+26
| | | | | | | | | | * configure.ac (EXTRA_FLAGS): New. * Makefile.am (AM_FLAGS): Add $(EXTRA_FLAGS). * configure, Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191981 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud