123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- -*-Mode: outline-*-
- * News for v1.0:
- ** Fast unwind (rbp, rsp, rip only) on x86_64 with a fallback to
- slow code path (Lassi Tuura)
- ** Improved local and remote unwinding on ARM (Ken Werner)
- ** Testing, stability and many fixes on x86 (Paul Pluzhnikov)
- ** FreeBSD port and clean separation of OS specific bits
- (Konstantin Belousov)
- ** Thanks for all the bug reports, contributions and testing!
- * News for v0.99:
- ** Greatly improved x86-64 support thanks to Arun Sharma.
- ** Support for PPC64 added by Jose Flavio Aguilar Paulino.
- * News for v0.98.6:
- ** Fix address-leak triggered by invalid byte-order. Fixed by Andreas Schwab.
- ** On ia64, get_static_proc_name() no longer uses a weak reference to
- _Uelf64_get_proc_name(), since that was causing problems with archive
- libraries and no longer served any apparent purpose. Fixed by
- Curt Wohlgemuth.
- * News for v0.98.5:
- ** Fix a typo in the man-page of unw_create_addr_space().
- ** Fix an off-by-1 bug in the handling of the dynamic ALIAS directive
- for ia64. Reported by Todd L. Miller.
- ** Fix a bug in libunwind-ptrace which could cause crash due to extraneous
- munmap() calls.
- * News for v0.98.4:
- ** Fix a typo in _ReadSLEB.c which caused hangs when throwing exceptions
- from Intel ICC-compiled programs. Reported by Tommy Hoffner.
- * News for v0.98.3:
- ** Make it possible to link against libunwind-ia64.a only (i.e., without
- requiring libunwind.a as well). This keeps apps which need only
- remote unwinding cleaner, since they logically have no dependency
- on libunwind.a.
- ** Dont link against libatomic_ops for now. Due to a packaging bug on
- Debian, linking against this library causes libunwind.so to get
- a dependency on libatomic_ops.so, which is not at all what we want.
- Fortunately, we don't have to link against that library on x86 or
- ia64 since the library is strictly needed only for platforms with
- poor atomic operation support. Once the libatomic_ops package is fixed,
- we can re-enable linking against libatomic_ops.
- * News for v0.98.2:
- ** Fixed bug which caused _UPT_get_dyn_info_list_addr() to sometimes fail
- needlessly. Found by Todd L. Miller.
- ** When using GCC to build libunwind on ia64, libunwind.so had an
- unresolved reference to __divdi3. This is undesirable since it
- creates an implicit dependency on libgcc. This problem has been
- fixed in the 0.98.2 release by explicitly linking against libgcc.a
- when building libunwind.
- * News for v0.98.1:
- ** Fixed a bug which caused "make install" to install libunwind-common.h.in
- instead of libunwind-common.h.
- ** Fixed a bug in the ia64 {sig,}longjmp() which showed on
- SuSE Linux 9 because it's using a newer compiler & the EPC-based system
- call stubs.
- ** Fixed incorrect offsets in tests/ia64-test-nat-asm.S.
- Warning: you'll need a GNU assembler dated later than 21-Sep-2004 to
- get this file translated correctly. With an old assembler, "make check"
- will get lots of failures when running Gia64-test-nat or Lia64-test-nat!
- ** Convert tests/bt into a full-blown test-case. It's designed to
- trigger a (rarely-encountered) bug in the GNU assembler on ia64.
- The assembler has been fixed and once the libraries (libc etc)
- have been rebuilt, this test will pass.
- ** Added test-case tests/run-ptrace-misc which, on ia64, triggers a bug in
- current GCC (including v3.4.2) which causes bad unwind info.
- * News for v0.98:
- ** Update libunwind to be compliant with the updated/expanded
- ia64 unwind specificiation by HJ Lu [1]. This is needed for
- GCC 3.4 compatibility.
- [1] http://www.kernel.org/pub/linux/devel/gcc/unwind/
- ** Initial support for x86-64 has been added courtesy of Max Asbock.
- Along with this came a bunch of DWARF2 unwinder fixes.
- ** A new rountine unw_strerror() has been added courtesy of
- Thomas Hallgren.
- ** Including <libunwind.h> now defines 4 macros that can be used
- to determine the version number of libunwind. Specifically,
- UNW_VERSION_MAJOR, UNW_VERSION_MINOR, UNW_VERSION, and
- UNW_VERSION_CODE are defined by the header now.
- ** Bug fixes
- *** Fix a memory-leak in _UPT_get_dyn_info_list_addr() courtesy of Ed Connell.
- *** Fix a crash in libunwind-ptrace courtesy of Mark Young.
- *** Fix a bug in ia64-version of unw_init_remote() which prevented
- it from working correctly for the local address space. Reported by
- Troy Heber.
- *** Many other small and not so small fixes.
- * News for v0.97:
- ** unw_get_proc_name() may now be called from signal-handler.
- ** The ptrace-helper routines are now declared in libunwind-ptrace.h.
- Applications which use ptrace-based unwinding should include
- <libunwind-ptrace.h> to get the _UPT_*() routines declared.
- ** libunwind has been split into a "local-only" and a "generic" versions.
- The former is optimized for local unwinding (within a process) and
- is called libunwind.so (shared version) or libunwind.a (archive
- version). The generic version is not limited to unwinding within a
- process and is called libunwind-generic.so (shared version)
- libunwind-generic.a (archive version). Similarly, the ptrace()
- support has been separated out into a convenience library called
- libunwind-ptrace.a. For the most part, backwards-compatibility
- is retained. However, when building an application which uses
- libunwind, it may be necessary to change the linker command-line
- as shown in the table below:
- Application which does: Before v0.97: With v0.97:
- ----------------------- ------------- -----------
- local unwinding only: -lunwind -lunwind
- remote unwinding: -lunwind -lunwind-generic
- cross unwinding: -lunwind-PLAT -lunwind-PLAT
- ptrace-based unwinding: -lunwind -lunwind-ptrace -lunwind-generic
- The motivation for this splitting is to keep libunwind.so as minimal
- as possible. This library will eventually be loaded by most (if not
- all) executables and hence it is important to ensure that it can
- be loaded as quickly as possible.
- ** unw_getcontext() tuned on IA-64.
- The unw_getcontext() routine used to be provided by (GNU) libc
- (getcontext()). This caused unnecessary overhead (e.g., an
- unnecessary system-call to sigprocmask()). The new
- unw_getcontext() only does the work really needed for libunwind and
- hence performs much better. However, this change implies that
- programs linked against libunwind v0.97 won't be
- backwards-compatible with earlier versions (there would be an
- unresolved symbol for _Uia64_getcontext()).
- ** Fix NaT-bit handling on IA-64.
- New test-cases have been added to test the handling of the NaT bit
- (and floating-point NaT values) and all discovered/known bugs have
- been fixed.
- ** Initial DWARF-based unwinder for x86.
- There is a beginning for a DWARF-based unwinder for x86. Work for
- x86-64-support based on this DWARF unwinder is currently underway
- at IBM and it is expected that this support will be merged into the
- official tree soon.
- * News for v0.96:
- ** _Unwind_*() routines defined by the C++ ABI are now included in
- libunwind.
- * News for v0.95:
- ** Bigger, better, faster, or so the theory goes.
- * News for v0.93:
- ** More bug-fixes & improved HP-UX support.
- * News for v0.92:
- ** Bug-fix release. IA-64 unwinder can now be built with Intel compiler (ECC).
- * News for v0.91:
- ** Lots of documentation updates
- ** Some portability fixes.
- * News for v0.9:
- ** The libunwind API is mostly feature-complete at this point (hence the
- version jump from v0.2 to v0.9).
- * News for v0.2:
- ** Automated configuration/build with autoconf and automake.
- ** Added support for building libunwind as a shared library.
- ** Added support for remote unwinding.
- ** Added support for cross-building.
- ** Added two new routines to the API:
- - unw_is_fpreg()
- - unw_get_save_loc()
- ** Added multi-architecture supports (lets a single application use
- the unwind libraries for multiple target architectures; this is useful,
- e.g., useful for building a debugger that can support multiple targets
- such as x86, ia64, etc.)
- * News for v0.1:
- ** Added support for exception handling.
- * News for v0.0:
- ** It's a brand new package.
|