# Vendored: libunwind (Datadog fork)
## Source
- Repository: https://github.com/DataDog/libunwind.git
- Branch: kevin/v1.8.3-custom-1
- Vendored commit: eb3f9eac177869d9dd6d10431e3b6340bd9978df
- Vendor date: 2026-04-30
## Upstream base
- Upstream tag: v1.8.3 (commit 44aa1a5be2ca68825a17acdf534be4d25cff09b3)
- Upstream repository: https://github.com/libunwind/libunwind
## Datadog-specific commits (v1.8.3..HEAD)
| eb3f9eac | Add unw_get_cursor_snapshot API |
| df2e2c45 | Fix get_frame_state for different layout of assembly code |
To review the diff against upstream v1.8.3, run in a clone of
https://github.com/DataDog/libunwind.git:
```
git diff v1.8.3 cc1d0728 -- src/ include/
```
## Autotools-generated files
The following files were generated by `autoreconf -i` from the source tree at
the commit above and are committed here to eliminate the need for autoconf,
automake, and libtool at build time. They are normally excluded by the upstream
`.gitignore`.
- `configure`
- `aclocal.m4`
- `INSTALL`
- `Makefile.in`, `doc/Makefile.in`, `src/Makefile.in`, `tests/Makefile.in`
- `include/config.h.in`
- `m4/libtool.m4`, `m4/ltoptions.m4`, `m4/ltsugar.m4`, `m4/ltversion.m4`, `m4/lt~obsolete.m4`
- `config/ar-lib`, `config/compile`, `config/config.guess`, `config/config.sub`
- `config/depcomp`, `config/install-sh`, `config/ltmain.sh`, `config/missing`, `config/test-driver`
The `autom4te.cache/` directory is NOT committed (it is a build-system cache only).
## Updating
To update the vendored source:
1. Clone https://github.com/DataDog/libunwind.git and check out the desired commit.
2. Run `autoreconf -i` in the cloned directory.
3. Copy the contents into `libdd-libunwind-sys/libunwind/`, replacing all files.
4. Remove `.git/` and `autom4te.cache/` from the copied tree.
5. Update this file with the new commit hash and date.