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