NEWS 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. -*-Mode: outline-*-
  2. * News for v1.0:
  3. ** Fast unwind (rbp, rsp, rip only) on x86_64 with a fallback to
  4. slow code path (Lassi Tuura)
  5. ** Improved local and remote unwinding on ARM (Ken Werner)
  6. ** Testing, stability and many fixes on x86 (Paul Pluzhnikov)
  7. ** FreeBSD port and clean separation of OS specific bits
  8. (Konstantin Belousov)
  9. ** Thanks for all the bug reports, contributions and testing!
  10. * News for v0.99:
  11. ** Greatly improved x86-64 support thanks to Arun Sharma.
  12. ** Support for PPC64 added by Jose Flavio Aguilar Paulino.
  13. * News for v0.98.6:
  14. ** Fix address-leak triggered by invalid byte-order. Fixed by Andreas Schwab.
  15. ** On ia64, get_static_proc_name() no longer uses a weak reference to
  16. _Uelf64_get_proc_name(), since that was causing problems with archive
  17. libraries and no longer served any apparent purpose. Fixed by
  18. Curt Wohlgemuth.
  19. * News for v0.98.5:
  20. ** Fix a typo in the man-page of unw_create_addr_space().
  21. ** Fix an off-by-1 bug in the handling of the dynamic ALIAS directive
  22. for ia64. Reported by Todd L. Miller.
  23. ** Fix a bug in libunwind-ptrace which could cause crash due to extraneous
  24. munmap() calls.
  25. * News for v0.98.4:
  26. ** Fix a typo in _ReadSLEB.c which caused hangs when throwing exceptions
  27. from Intel ICC-compiled programs. Reported by Tommy Hoffner.
  28. * News for v0.98.3:
  29. ** Make it possible to link against libunwind-ia64.a only (i.e., without
  30. requiring libunwind.a as well). This keeps apps which need only
  31. remote unwinding cleaner, since they logically have no dependency
  32. on libunwind.a.
  33. ** Dont link against libatomic_ops for now. Due to a packaging bug on
  34. Debian, linking against this library causes libunwind.so to get
  35. a dependency on libatomic_ops.so, which is not at all what we want.
  36. Fortunately, we don't have to link against that library on x86 or
  37. ia64 since the library is strictly needed only for platforms with
  38. poor atomic operation support. Once the libatomic_ops package is fixed,
  39. we can re-enable linking against libatomic_ops.
  40. * News for v0.98.2:
  41. ** Fixed bug which caused _UPT_get_dyn_info_list_addr() to sometimes fail
  42. needlessly. Found by Todd L. Miller.
  43. ** When using GCC to build libunwind on ia64, libunwind.so had an
  44. unresolved reference to __divdi3. This is undesirable since it
  45. creates an implicit dependency on libgcc. This problem has been
  46. fixed in the 0.98.2 release by explicitly linking against libgcc.a
  47. when building libunwind.
  48. * News for v0.98.1:
  49. ** Fixed a bug which caused "make install" to install libunwind-common.h.in
  50. instead of libunwind-common.h.
  51. ** Fixed a bug in the ia64 {sig,}longjmp() which showed on
  52. SuSE Linux 9 because it's using a newer compiler & the EPC-based system
  53. call stubs.
  54. ** Fixed incorrect offsets in tests/ia64-test-nat-asm.S.
  55. Warning: you'll need a GNU assembler dated later than 21-Sep-2004 to
  56. get this file translated correctly. With an old assembler, "make check"
  57. will get lots of failures when running Gia64-test-nat or Lia64-test-nat!
  58. ** Convert tests/bt into a full-blown test-case. It's designed to
  59. trigger a (rarely-encountered) bug in the GNU assembler on ia64.
  60. The assembler has been fixed and once the libraries (libc etc)
  61. have been rebuilt, this test will pass.
  62. ** Added test-case tests/run-ptrace-misc which, on ia64, triggers a bug in
  63. current GCC (including v3.4.2) which causes bad unwind info.
  64. * News for v0.98:
  65. ** Update libunwind to be compliant with the updated/expanded
  66. ia64 unwind specificiation by HJ Lu [1]. This is needed for
  67. GCC 3.4 compatibility.
  68. [1] http://www.kernel.org/pub/linux/devel/gcc/unwind/
  69. ** Initial support for x86-64 has been added courtesy of Max Asbock.
  70. Along with this came a bunch of DWARF2 unwinder fixes.
  71. ** A new rountine unw_strerror() has been added courtesy of
  72. Thomas Hallgren.
  73. ** Including <libunwind.h> now defines 4 macros that can be used
  74. to determine the version number of libunwind. Specifically,
  75. UNW_VERSION_MAJOR, UNW_VERSION_MINOR, UNW_VERSION, and
  76. UNW_VERSION_CODE are defined by the header now.
  77. ** Bug fixes
  78. *** Fix a memory-leak in _UPT_get_dyn_info_list_addr() courtesy of Ed Connell.
  79. *** Fix a crash in libunwind-ptrace courtesy of Mark Young.
  80. *** Fix a bug in ia64-version of unw_init_remote() which prevented
  81. it from working correctly for the local address space. Reported by
  82. Troy Heber.
  83. *** Many other small and not so small fixes.
  84. * News for v0.97:
  85. ** unw_get_proc_name() may now be called from signal-handler.
  86. ** The ptrace-helper routines are now declared in libunwind-ptrace.h.
  87. Applications which use ptrace-based unwinding should include
  88. <libunwind-ptrace.h> to get the _UPT_*() routines declared.
  89. ** libunwind has been split into a "local-only" and a "generic" versions.
  90. The former is optimized for local unwinding (within a process) and
  91. is called libunwind.so (shared version) or libunwind.a (archive
  92. version). The generic version is not limited to unwinding within a
  93. process and is called libunwind-generic.so (shared version)
  94. libunwind-generic.a (archive version). Similarly, the ptrace()
  95. support has been separated out into a convenience library called
  96. libunwind-ptrace.a. For the most part, backwards-compatibility
  97. is retained. However, when building an application which uses
  98. libunwind, it may be necessary to change the linker command-line
  99. as shown in the table below:
  100. Application which does: Before v0.97: With v0.97:
  101. ----------------------- ------------- -----------
  102. local unwinding only: -lunwind -lunwind
  103. remote unwinding: -lunwind -lunwind-generic
  104. cross unwinding: -lunwind-PLAT -lunwind-PLAT
  105. ptrace-based unwinding: -lunwind -lunwind-ptrace -lunwind-generic
  106. The motivation for this splitting is to keep libunwind.so as minimal
  107. as possible. This library will eventually be loaded by most (if not
  108. all) executables and hence it is important to ensure that it can
  109. be loaded as quickly as possible.
  110. ** unw_getcontext() tuned on IA-64.
  111. The unw_getcontext() routine used to be provided by (GNU) libc
  112. (getcontext()). This caused unnecessary overhead (e.g., an
  113. unnecessary system-call to sigprocmask()). The new
  114. unw_getcontext() only does the work really needed for libunwind and
  115. hence performs much better. However, this change implies that
  116. programs linked against libunwind v0.97 won't be
  117. backwards-compatible with earlier versions (there would be an
  118. unresolved symbol for _Uia64_getcontext()).
  119. ** Fix NaT-bit handling on IA-64.
  120. New test-cases have been added to test the handling of the NaT bit
  121. (and floating-point NaT values) and all discovered/known bugs have
  122. been fixed.
  123. ** Initial DWARF-based unwinder for x86.
  124. There is a beginning for a DWARF-based unwinder for x86. Work for
  125. x86-64-support based on this DWARF unwinder is currently underway
  126. at IBM and it is expected that this support will be merged into the
  127. official tree soon.
  128. * News for v0.96:
  129. ** _Unwind_*() routines defined by the C++ ABI are now included in
  130. libunwind.
  131. * News for v0.95:
  132. ** Bigger, better, faster, or so the theory goes.
  133. * News for v0.93:
  134. ** More bug-fixes & improved HP-UX support.
  135. * News for v0.92:
  136. ** Bug-fix release. IA-64 unwinder can now be built with Intel compiler (ECC).
  137. * News for v0.91:
  138. ** Lots of documentation updates
  139. ** Some portability fixes.
  140. * News for v0.9:
  141. ** The libunwind API is mostly feature-complete at this point (hence the
  142. version jump from v0.2 to v0.9).
  143. * News for v0.2:
  144. ** Automated configuration/build with autoconf and automake.
  145. ** Added support for building libunwind as a shared library.
  146. ** Added support for remote unwinding.
  147. ** Added support for cross-building.
  148. ** Added two new routines to the API:
  149. - unw_is_fpreg()
  150. - unw_get_save_loc()
  151. ** Added multi-architecture supports (lets a single application use
  152. the unwind libraries for multiple target architectures; this is useful,
  153. e.g., useful for building a debugger that can support multiple targets
  154. such as x86, ia64, etc.)
  155. * News for v0.1:
  156. ** Added support for exception handling.
  157. * News for v0.0:
  158. ** It's a brand new package.