summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Include extra ia64 files in dist packagev1.5-stablekasperk812021-06-171-0/+3
|
* Promote to 1.5.0 from rc2v1.5.0v1.5Dave Watson2020-11-101-2/+2
|
* Make SHF_COMPRESSED use contingent on its existenceStephen Webb2020-07-021-0/+4
| | | | | | | | | | A recent change broke builds for many non-recent and non-Linux targets by adding code dependent on a non-portable preprocessor macro SHF_COMPRESSED found in some more recent GLIBC elf.h headers. This fixes the firt part of #190. Signed-off-by: Stephen Webb <swebb@blackberry.com>
* aarch64: Fix __sigset build issue on muslCDave Watson2020-05-271-1/+1
| | | | | | Described in issue #176. Taken from Alpine Linux project. Change __sigset_t to sigset_t
* Fix off-by-one error in x86_64 stack framesv1.5-rc2Jon Haslam2020-04-291-1/+1
|
* Reflect current status of Solaris x64 in the READMEAdeel2020-04-291-16/+2
|
* Update README to reflect Solaris x86-64 status w/ this PRJason King2020-04-291-1/+1
|
* Stop stepping on Solaris and illumos after reaching an IP of 0Jason King2020-04-291-0/+7
|
* Treat PT_SUNW_UNWIND sections on illumos and Solaris as equivalent to ↵Jason King2020-04-292-0/+7
| | | | PT_GNU_EH_FRAME
* Fix Gtest-trace output for illumos/SolarisJason King2020-04-291-1/+1
|
* Fix signal stacks on illumos/SolarisJason King2020-04-292-73/+51
|
* Add additional symbols to ignore on illumos and SolarisJason King2020-04-291-0/+5
|
* Update Gtest-bt for illumos and SolarisJason King2020-04-291-3/+3
|
* coredump: Unmap elf image before mapping another (#169)Hans-Christian Egtvedt2020-04-291-0/+4
| | | | | | | | Make sure to unmap the currently mapped elf image before mapping another image in CD_get_proc_name. If not, the reference to that image is lost and the memory is leaked. Signed-off-by: Sturle Mastberg <smastber@cisco.com> Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
* Update README versionDave Watson2020-03-311-1/+1
|
* Bump version to 1.5-rc1v1.5-rc1Dave Watson2020-03-311-1/+1
|
* Fix compilation with -fno-common.Yichao Yu2020-03-3115-80/+89
| | | | | | | Making all other archs consistent with IA64 which should not have this problem. Also move the FIXME to the correct place. Also add some minimum comments about this...
* arm: clear ip thumb/arm mode bit before move to previous instruction (#131)Sim Sun2020-03-263-3/+19
|
* tests: fix test-coredump-unwind without HAVE_EXECINFO_H (#165)TBK2020-03-261-2/+6
|
* There are 20 not 9 failing tests on Solaris (#162)Jorge Schrauwen2020-03-261-1/+1
|
* Adding s390x to Travis builds (#159)Namrata Bhave2020-03-091-0/+16
|
* Fix SmartOS/Solaris build (#158)Adeel Mujahid2020-03-092-1/+15
|
* change asm to __asm__ to support -std=c11 or similar (#149)Billy Donahue2020-03-094-7/+7
|
* x86-64: make `is_cached_valid_mem` functional (#146)Bert Wesarg2019-12-181-1/+1
| | | | | Comparing against an address of `last_good_addr` wont ever be true. Signed-off-by: Bert Wesarg <bert.wesarg@tu-dresden.de>
* Allow to build without weak `backtrace` symbol. (#142)Bert Wesarg2019-12-043-1/+12
| | | Signed-off-by: Bert Wesarg <bert.wesarg@tu-dresden.de>
* fix compile issue on SH platform (#137)Michael Schenk2019-10-311-1/+1
| | | The name must be unw_init_local_common
* Little FreeBSD build fix (#135)David CARLIER2019-10-313-5/+4
|
* Add support for zlib compressed elf .debug_frame sectionsDoug Nazar2019-10-034-12/+67
| | | | | In case zlib support is not available, fail to load instead of crashing while trying to read invalid data.
* README: add libc requirement description (#121)Yousong Zhou2019-06-131-0/+26
| | | | I made this table when trying to fix recent packaging issues in OpenWrt . It could help track progress on musl-libc support and may also help other distros.
* Older systems (e.g. RHEL5) do not have pipe2(). (#122)plopresti2019-06-122-2/+31
| | | Add a check and compatibility code.
* x86_64: Add fixup code if previous RIP was invalid (#120)Brock York2019-06-124-30/+210
| | | | | | | | | | | | * x86_64: Add fixup code if previous RIP was invalid Previous RIP could become invalid if a bad function pointer was followed. Calling unwind from a signal frame in this case skips the frame that called the bad pointer. Check if the value at RSP looks to be valid in this case. It should be the value of RIP pushed to the stack by the CALL instruction. If it looks valid use this value as the next frames RIP else fallback to the previous method.
* Add initial support for Solaris x86-64Adeel2019-06-1216-84/+145
|
* solaris portAlexander Esilevich2019-06-128-4/+256
|
* Fix format specifier for int64_t:29 (#117)Adeel Mujahid2019-05-061-1/+1
| | | | | | | clang 8: > x86_64/Gstash_frame.c:113:47: warning: format specifies type 'long' but the argument has type 'int' [-Wformat] gcc 8: > x86_64/Gstash_frame.c:113:15: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘int’ [-Wformat=]
* Delete hardcode of address size to support MIPS64. (#114)archerypp2019-04-242-4/+0
| | | | | Use the define for dwarf_addr_size in include/dwarf_i.h instead of hardcode(4) to support various MIPS architectures. Signed-off-by: Archer Yan <ayan@wavecomp.com>
* Added braces to suppress empty if/else warnings (#112)Stephen Roberts2019-04-243-9/+20
| | | | This change fixes all empty if/else block warnings from gcc. It does not change the functionality of libunwind in any way.
* mips: make _step_n64 as a static functionsnyh2019-04-111-50/+56
| | | | | | | | | | | 1. hidden _step_n64 to avoid a strange bug which will reproduce under `perf report`. The value `tdep_init_done` of suddenly be changed to zero when entering `_step_n64` from `unw_step`. 2. refactor code to improve the readability. use `FP_REG`, `SP_REG` and `RA_REG` to abstract the guessing logical.
* x86_64: Fix tdep_init_done when built with libatomic_opsDave Watson2019-04-112-1/+9
| | | | Use correct size variable.
* Tsan (#109)Dave Watson2019-04-034-9/+17
| | | x86_64: tsan clean
* Fixed a missing dependency in dwarf-eh.h Stephen Roberts2019-02-211-0/+1
| | | | | The dwarf-eh.h header is not self-contained, which causes problems depending on which order headers are included. In particular, it references the Elf_W macro but does not include its definition. If dwarf-eh.h is included after dwarf_i.h everything works, but if you reverse this order you get compile errors. This patch removes the implicit header ordering dependency by making sure the definition of Elf_W is visible in dwarf-eh.h. I include libunwind_i.h rather than the elfxx.h files directly because libunwind_i.h contains macro logic to choose which elf header to include, and I didn't want to duplicate that.
* dwarf: clang doesn't respect the static alias (#102)Dave Watson2019-01-091-0/+5
| | | | | Clang doesn't respect the static alias, resulting in global instead of local symbols, and name collisions. Work around for clang by always going through the PLT (at a small perf hit)
* Bump to 1.4-rc1v1.4-rc1Dave Watson2019-01-072-2/+2
|
* mips: Handle Gstep according the N64/N32 ABI if Dwarf way failed (#100)xiabin2018-12-122-7/+96
| | | | | - gp at 8(sp) - fp at 16(sp) - ra at 24(sp)
* Convert the README to markdown syntax (#96)Alex Arslan2018-12-111-105/+99
| | | | | | | | | | | | Currently the README's formatting shows up rather poorly on GitHub, as the file isn't written as a Markdown document but GitHub tries to render it as one due to the symlink from README.md to README. This commit reformats the file as a Markdown document, preserving the original content with two exceptions: 1. The platform support list has been converted to a Markdown table. 2. The severely outdated information regarding libexecinfo on FreeBSD has been amended and the note about FreeBSD 8.0 removed.
* dwarf: Push correct CFA onto stack for dwarf expression evaluation. (#93)Stephen Roberts2018-11-138-12/+190
| | | | | | | | dwarf: Push correct CFA onto stack for dwarf expression evaluation. This change fixes a bug where stale CFAs were pushed onto the dwarf expression stack before expression evaluation. Some optimising compilers emit CFI which relies on this being correct.
* dwarf: Add missing opcodes to the operands table in Gexpr.cStephen Roberts2018-10-121-0/+2
| | | This patch adds two opcodes to the operands table in Gexpr.c, which is a mapping between opcodes and the number and types of the operands for those opcodes. Two opcodes, DW_OP_constu and DW_OP_consts are missing from this table, which caused failures later in the CFI expression parsing logic. This patch adds the missing information into the table, and thus allows correct parsing of CFA_def_cfa_expression, CFA_expression and CFA_val_expression expressions which contain the offending opcodes.
* aarch64: Use __asm__ instead of asm (#89)Guido Günther2018-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise this fails to compile with -stc=c99 like: $ cat <<EOF > bla.c #include <libunwind.h> int main() { unw_tdep_context_t *uc = NULL; unw_tdep_getcontext(uc); } EOF # This works $ gcc bla.c # This does not $ gcc -std=c99 bla.c In file included from /usr/include/aarch64-linux-gnu/libunwind.h:7, from bla.c:1: bla.c: In function ‘main’: bla.c:6:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘asm’ unw_tdep_getcontext(uc); ^~~~~~~~~~~~~~~~~~~ bla.c:6:5: error: ‘mcontext_t’ {aka ‘struct <anonymous>’} has no member named ‘regs’; did you mean ‘__regs’? unw_tdep_getcontext(uc); ^~~~~~~~~~~~~~~~~~~ bla.c:6:5: error: ‘unw_base’ undeclared (first use in this function); did you mean ‘unw_ctx’? unw_tdep_getcontext(uc); ^~~~~~~~~~~~~~~~~~~ bla.c:6:5: note: each undeclared identifier is reported only once for each function it appears in bla.c:6:5: error: invalid lvalue in asm output 0 unw_tdep_getcontext(uc); ^~~~~~~~~~~~~~~~~~~ See https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html: The asm keyword is a GNU extension. When writing code that can be compiled with -ansi and the various -std options, use __asm__ instead of asm (see Alternate Keywords).
* Adopt two changes by Sergey Korolev to use mmap and a shell sort, ratherDoug Moore2018-09-282-158/+162
| | | | | than malloc and qsort, to process debug frames and reduce problems with non signal-safe functions in supposedly signal-safe libunwind procedures.
* aarch: [v2] aarch64 PLT entry recognition & fixes (#86)Dave Watson2018-09-281-1/+1
| | | | | Fix missing Gparser.c changes from patchset 'aarch64 PLT entry recognition & fixes'
* aarch64: fix freebsd supportmyfreeweb2018-08-074-1/+39
| | | implement _UPT_access_fpreg, _UCD_access_reg_freebsd for aarch64, and add a unw_fpsimd_context_t instead of using the one from the linux headers.