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