2002-04-06 01:37:55 +02:00
|
|
|
|
-*-Mode: outline-*-
|
|
|
|
|
|
2011-08-16 06:02:26 +02:00
|
|
|
|
* News for v1.0:
|
|
|
|
|
|
|
|
|
|
** Fast unwind (rbp, rsp, rip only) on x86_64 with a fallback to
|
|
|
|
|
slow code path (Lassi Turra)
|
|
|
|
|
** 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!
|
|
|
|
|
|
2007-08-07 04:26:50 +02:00
|
|
|
|
* News for v0.99:
|
|
|
|
|
|
|
|
|
|
** Greatly improved x86-64 support thanks to Arun Sharma.
|
|
|
|
|
** Support for PPC64 added by Jose Flavio Aguilar Paulino.
|
|
|
|
|
|
2007-06-07 04:58:25 +02:00
|
|
|
|
* News for v0.98.6:
|
|
|
|
|
|
|
|
|
|
** Fix address-leak triggered by invalid byte-order. Fixed by Andreas Schwab.
|
2007-11-14 21:04:15 +01:00
|
|
|
|
** 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.
|
2007-06-07 04:58:25 +02:00
|
|
|
|
|
2005-04-20 23:32:20 +02:00
|
|
|
|
* 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.
|
|
|
|
|
|
2005-02-24 22:36:40 +01:00
|
|
|
|
* 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.
|
|
|
|
|
|
2004-11-16 23:03:04 +01:00
|
|
|
|
* 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.
|
|
|
|
|
|
2004-10-13 16:14:10 +02:00
|
|
|
|
* News for v0.98.1:
|
|
|
|
|
|
|
|
|
|
** Fixed a bug which caused "make install" to install libunwind-common.h.in
|
|
|
|
|
instead of libunwind-common.h.
|
2004-10-15 15:37:27 +02:00
|
|
|
|
** 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!
|
2004-10-13 16:14:10 +02:00
|
|
|
|
** 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.
|
2004-10-15 15:37:27 +02:00
|
|
|
|
** 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.
|
2004-10-13 16:14:10 +02:00
|
|
|
|
|
2004-09-09 15:15:24 +02:00
|
|
|
|
* News for v0.98:
|
|
|
|
|
|
|
|
|
|
** Update libunwind to be compliant with the updated/expanded
|
2004-09-15 10:37:00 +02:00
|
|
|
|
ia64 unwind specificiation by HJ Lu [1]. This is needed for
|
2004-09-09 15:15:24 +02:00
|
|
|
|
GCC 3.4 compatibility.
|
|
|
|
|
|
2004-09-15 10:37:00 +02:00
|
|
|
|
[1] http://www.kernel.org/pub/linux/devel/gcc/unwind/
|
|
|
|
|
|
2004-09-09 15:15:24 +02:00
|
|
|
|
** 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.
|
|
|
|
|
|
2004-04-23 03:32:43 +02:00
|
|
|
|
* 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).
|
|
|
|
|
|
|
|
|
|
|
2002-04-06 01:37:55 +02:00
|
|
|
|
* 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
|
2002-12-19 08:16:50 +01:00
|
|
|
|
such as x86, ia64, etc.)
|
2002-04-06 01:37:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* News for v0.1:
|
|
|
|
|
|
|
|
|
|
** Added support for exception handling.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* News for v0.0:
|
|
|
|
|
|
|
|
|
|
** It's a brand new package.
|