| -*-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. |