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