blob: 2cf7184d2bc35bf7510b741adf8fe038ae6ca655 [file] [log] [blame]
hp.com!davidmcc5ee592002-04-05 23:37:55 +00001-*-Mode: outline-*-
2
Arun Sharma8ab88632011-08-15 21:02:26 -07003* News for v1.0:
4
5** Fast unwind (rbp, rsp, rip only) on x86_64 with a fallback to
Arun Sharmae3c87a62011-08-27 21:51:14 -07006 slow code path (Lassi Tuura)
Arun Sharma8ab88632011-08-15 21:02:26 -07007** 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-Tang955d1272007-08-06 20:26:50 -060013* 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-Tang899ffba2007-06-06 20:58:25 -060018* News for v0.98.6:
19
20** Fix address-leak triggered by invalid byte-order. Fixed by Andreas Schwab.
David Mosberger-Tang3899ab72007-11-14 13:04:15 -070021** 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-Tang899ffba2007-06-06 20:58:25 -060025
hp.com!davidm38d99ee2005-04-20 21:32:20 +000026* 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!davidmaffe34c2005-02-24 21:36:40 +000034* 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!davidm0d34dce2004-11-16 22:03:04 +000039* 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!davidm8a2fe092004-10-13 14:14:10 +000064* 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!davidm76176df2004-10-15 13:37:27 +000068** 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!davidm8a2fe092004-10-13 14:14:10 +000075** 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!davidm76176df2004-10-15 13:37:27 +000079** 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!davidm8a2fe092004-10-13 14:14:10 +000081
mostang.com!davidm02e99d22004-09-09 13:15:24 +000082* News for v0.98:
83
84** Update libunwind to be compliant with the updated/expanded
homeip.net!davidm5ab903c2004-09-15 08:37:00 +000085 ia64 unwind specificiation by HJ Lu [1]. This is needed for
mostang.com!davidm02e99d22004-09-09 13:15:24 +000086 GCC 3.4 compatibility.
87
homeip.net!davidm5ab903c2004-09-15 08:37:00 +000088 [1] http://www.kernel.org/pub/linux/devel/gcc/unwind/
89
mostang.com!davidm02e99d22004-09-09 13:15:24 +000090** 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)!davidm06825792004-04-23 01:32:43 +0000109* 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!davidmcc5ee592002-04-05 23:37:55 +0000199* 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!davidm3604b052002-12-19 07:16:50 +0000211 such as x86, ia64, etc.)
hp.com!davidmcc5ee592002-04-05 23:37:55 +0000212
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.