123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- -*-Mode: outline-*-
- slow code path (Lassi Tuura)
- (Konstantin Belousov)
- _Uelf64_get_proc_name(), since that was causing problems with archive
- libraries and no longer served any apparent purpose. Fixed by
- Curt Wohlgemuth.
- for ia64. Reported by Todd L. Miller.
- munmap() calls.
- from Intel ICC-compiled programs. Reported by Tommy Hoffner.
- requiring libunwind.a as well). This keeps apps which need only
- remote unwinding cleaner, since they logically have no dependency
- on libunwind.a.
- Debian, linking against this library causes libunwind.so to get
- a dependency on libatomic_ops.so, which is not at all what we want.
- Fortunately, we don't have to link against that library on x86 or
- ia64 since the library is strictly needed only for platforms with
- poor atomic operation support. Once the libatomic_ops package is fixed,
- we can re-enable linking against libatomic_ops.
- needlessly. Found by Todd L. Miller.
- unresolved reference to __divdi3. This is undesirable since it
- creates an implicit dependency on libgcc. This problem has been
- fixed in the 0.98.2 release by explicitly linking against libgcc.a
- when building libunwind.
- instead of libunwind-common.h.
- SuSE Linux 9 because it's using a newer compiler & the EPC-based system
- call stubs.
- Warning: you'll need a GNU assembler dated later than 21-Sep-2004 to
- get this file translated correctly. With an old assembler, "make check"
- will get lots of failures when running Gia64-test-nat or Lia64-test-nat!
- trigger a (rarely-encountered) bug in the GNU assembler on ia64.
- The assembler has been fixed and once the libraries (libc etc)
- have been rebuilt, this test will pass.
- current GCC (including v3.4.2) which causes bad unwind info.
- ia64 unwind specificiation by HJ Lu [1]. This is needed for
- GCC 3.4 compatibility.
- [1] http:
- Along with this came a bunch of DWARF2 unwinder fixes.
- Thomas Hallgren.
- to determine the version number of libunwind. Specifically,
- UNW_VERSION_MAJOR, UNW_VERSION_MINOR, UNW_VERSION, and
- UNW_VERSION_CODE are defined by the header now.
- it from working correctly for the local address space. Reported by
- Troy Heber.
- Applications which use ptrace-based unwinding should include
- <libunwind-ptrace.h> to get the _UPT_*() routines declared.
- The former is optimized for local unwinding (within a process) and
- is called libunwind.so (shared version) or libunwind.a (archive
- version). The generic version is not limited to unwinding within a
- process and is called libunwind-generic.so (shared version)
- libunwind-generic.a (archive version). Similarly, the ptrace()
- support has been separated out into a convenience library called
- libunwind-ptrace.a. For the most part, backwards-compatibility
- is retained. However, when building an application which uses
- libunwind, it may be necessary to change the linker command-line
- as shown in the table below:
- Application which does: Before v0.97: With v0.97:
- ----------------------- ------------- -----------
- local unwinding only: -lunwind -lunwind
- remote unwinding: -lunwind -lunwind-generic
- cross unwinding: -lunwind-PLAT -lunwind-PLAT
- ptrace-based unwinding: -lunwind -lunwind-ptrace -lunwind-generic
- The motivation for this splitting is to keep libunwind.so as minimal
- as possible. This library will eventually be loaded by most (if not
- all) executables and hence it is important to ensure that it can
- be loaded as quickly as possible.
- The unw_getcontext() routine used to be provided by (GNU) libc
- (getcontext()). This caused unnecessary overhead (e.g., an
- unnecessary system-call to sigprocmask()). The new
- unw_getcontext() only does the work really needed for libunwind and
- hence performs much better. However, this change implies that
- programs linked against libunwind v0.97 won't be
- backwards-compatible with earlier versions (there would be an
- unresolved symbol for _Uia64_getcontext()).
- New test-cases have been added to test the handling of the NaT bit
- (and floating-point NaT values) and all discovered/known bugs have
- been fixed.
- There is a beginning for a DWARF-based unwinder for x86. Work for
- x86-64-support based on this DWARF unwinder is currently underway
- at IBM and it is expected that this support will be merged into the
- official tree soon.
- libunwind.
- version jump from v0.2 to v0.9).
- - unw_is_fpreg()
- - unw_get_save_loc()
- the unwind libraries for multiple target architectures; this is useful,
- e.g., useful for building a debugger that can support multiple targets
- such as x86, ia64, etc.)
|