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