Arun Sharma
649f1fb344
[X86-64] For local unwinding, we have a defence mechanism against
...
bad/missing unwind information, which could result in libunwind
dereferencing bad pointers. This mechanism is based on msync(2) system
call and significantly reduces the chances of a bad pointer
dereference in libunwind.
The original idea was to turn this mechanism on only when necessary
i.e. libunwind didn't find proper unwind information for a IP.
There are a couple of problems in the current implementation.
* The flag is global and is modified without locking
* The flag isn't reset when starting a new unwind
The attached patch makes ->validate a per-thread setting by moving it
into struct cursor from unw_local_addr_space and resets it to false
when starting a new unwind. As a result, cursor->as_arg points to the
cursor itself instead of the ucontext (for the local case).
This was found to reduce the number of msync() system calls from an
application using libunwind significantly.
Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2008-06-16 14:35:53 -06:00
Daniel Jacobowitz
3842dac733
Add initial ARM and MIPS support. To support this, also enable the
...
reading of .debug_frame sections (used in lieu of .eh_frame sections
when they're not available).
2008-02-04 17:16:37 -07:00
David Mosberger-Tang
a8be10e251
[X86] Cleanup XMM handling for x86
...
* Use explicit types for XMM registers
* Support full width (128 bits) access
Signed-off-by: Andrew Cagney <cagney@redhat.com>
Signed-off-by: Arun Sharma <aruns@google.com>
2008-01-07 15:41:20 -07:00
Jose Flavio Aguilar Paulino
9ea6af8ed5
[PPC32] Make PPC32 unwinding work for real.
2007-10-08 12:33:18 -06:00
Jose Flavio Aguilar Paulino
4499bb29a6
[PPC32] First check-in to add preliminary support for Linux/PPC32.
2007-09-12 21:52:25 -06:00
David Mosberger-Tang
e6b9f350f7
Introduce a tdep_get_func_addr_hook() in the ELF lookup_symbol()
...
routine and add address-space argument. This is needed because on
PPC64, a the function-name symbol refers to a function descriptor
(unlike, for example, on ia64, where the @fptr() operator is needed to
refer to a function descriptor). Thus, in order to look up the name
of a function, we need to dereference the function descriptor. To
make matters more "interesting", the function descriptors are normally
resolved by the dynamic linker, so we can't get their values from the
ELF file. Instead, we have to read them from the running image, hence
the need for the address-space argument.
2007-08-22 13:02:09 -06:00
David Mosberger-Tang
fad8b04c9f
Rebuilt configure and Makefile.in files.
2007-08-06 19:56:28 -06:00
Jose Flavio Aguilar Paulino
b33021e4b2
Add PPC64 support.
2007-08-02 09:59:43 -06:00
Arun Sharma
be02d9ac0d
dwarf.h needs atomic_ops.h. So include it.
2006-08-16 15:39:52 -06:00
David Mosberger-Tang
b3f25f65af
[dwarf] Include <config.h> in dwarf.h since it's testing HAVE_ATOMIC_OPS_H.
...
Reported by Arun Sharma.
2006-08-10 21:44:14 -06:00
Arun Sharma (अरुण)
795529eee3
[x86-64] Add a known good address cache.
...
This improves the performance of Lperf-simple from 500ns to 195ns
on the avg.
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-08-10 21:30:01 -06:00
David Mosberger-Tang
1fdb08e5fc
Various fixes to get x86 to compile and work again.
...
include/dwarf.h: Declare dwarf_reg_state_pool and dwarf_cie_info_pool.
include/dwarf_i.h: Include libunwind_i.h instead of tdep.h.
Make dwarf_to_unw_regnum() a macro so it doesn't get compiled
into an object file merely because it include dwarf_i.h (important
when optimization is turned off).
(dwarf_read_encoded_pointer_inlined): New function.
include/tdep-x86/libunwind_i.h: Add include of "mempool.h".
include/tdep-x86_64/libunwind_i.h: Add include of "mempool.h".
2006-07-26 22:36:03 -06:00
Arun Sharma
11ea1275bd
[dwarf] The sword() function in Gexpr.c doesn't do what's intended.
...
Yes, it casts to signed, but then converts right back to
unsigned via the return type. Fixed thus.
Signed-off-by: Richard Henderson <rth@redhat.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 22:12:10 -06:00
Arun Sharma
8cdd8bfed8
[x86-64] Make even UNW_LOCAL_ONLY accessors go through validation.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:39:46 -06:00
Arun Sharma
c5dc3c150a
[dwarf] Allow return address column to differ from function to function.
...
Signed-off-by: Andrey Veskov <Andrey.Veskov@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:29:50 -06:00
Arun Sharma
036cbfa020
Fix x86 compilation.
...
x86 needs the global_cache just like the x86-64 version.
Signed-off-by: Andrey.Veskov@intel.com
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:20:59 -06:00
Arun Sharma
00db7f752a
Implement a ip -> dwarf_reg_state cache.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:18:49 -06:00
David Mosberger-Tang
37be21c01e
Restore more files wiped out by Bitkeeper->CVS->GIT transition.
2006-07-26 15:09:39 -06:00
David Mosberger-Tang
ca69fee8bb
Merge ../libunwind-v0.98
...
Conflicts:
include/dwarf_i.h
include/x86/jmpbuf.h
include/x86_64/jmpbuf.h
src/hppa/init.h
src/mi/Gget_fpreg.c
src/mi/Gset_fpreg.c
src/mi/strerror.c
2006-07-25 21:41:43 -06:00
David Mosberger-Tang
f176ad6fc6
Bring git v0.98.5 tree in sync with released v0.98.5.
...
Sadly, the conversion from Bitkeeper -> CVS -> git wasn't perfect. Or
so it seems.
2006-07-25 21:32:28 -06:00
hp.com!davidm
b47b9aa232
UNW_IA64_BSP and UNW_IA64_SP are no longer read-only.
...
(Logical change 1.303)
2005-05-20 15:32:18 +00:00
hp.com!davidm
7a8b0ba617
(rbs_get_base): New macro.
...
(Logical change 1.297)
2005-05-20 13:13:07 +00:00
hp.com!davidm
d5ab898cdf
(SOS_MEMORY_SIZE): Move to here from src/mi/mempool.c.
...
(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
9d94c8f62b
Rename: include/x86_64/jmpbuf.h -> include/tdep-x86_64/jmpbuf.h
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
e3ac62c5f1
Rename: include/x86_64/jmpbuf.h -> include/tdep-x86_64/jmpbuf.h
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
3a2c945244
Rename: include/x86/jmpbuf.h -> include/tdep-x86/jmpbuf.h
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
f6d4c74beb
Rename: include/x86/jmpbuf.h -> include/tdep-x86/jmpbuf.h
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
e6cf7e84eb
Rename: include/x86/dwarf-config.h -> include/tdep-x86/dwarf-config.h
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
d90772c868
Rename: include/x86/dwarf-config.h -> include/tdep-x86/dwarf-config.h
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
56cea5b4a9
Rename: include/ia64/script.h -> include/tdep-ia64/script.h
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
12f0ce1a39
Rename: include/ia64/script.h -> include/tdep-ia64/script.h
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
910087d5b5
Rename: include/ia64/jmpbuf.h -> include/tdep-ia64/jmpbuf.h
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
e86e18224d
Rename: include/ia64/jmpbuf.h -> include/tdep-ia64/jmpbuf.h
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
983d841e64
Rename: include/hppa/jmpbuf.h -> include/tdep-hppa/jmpbuf.h
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
f8a07dfb22
Rename: include/hppa/jmpbuf.h -> include/tdep-hppa/jmpbuf.h
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
400a917a7a
Rename: include/hppa/dwarf-config.h -> include/tdep-hppa/dwarf-config.h
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
c56b45e82e
Rename: include/hppa/dwarf-config.h -> include/tdep-hppa/dwarf-config.h
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
180a1ececa
Initial revision
2005-05-20 09:48:08 +00:00
hp.com!davidm
f9b7af51ed
Include <libunwind.h> instead of "internal.h" and "mempool.h".
...
(dwarf_reg_state_pool): Move to dwarf_i.h.
(dwarf_cie_info_pool): Likewise.
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
3ad4903154
Include "libunwind_i.h" instead of "tdep.h".
...
Include "mempool.h".
(dwarf_reg_state_pool): Move here from dwarf.h.
(dwarf_cie_info_pool): Likewise.
Include "libunwind_i.h" instead of "tdep.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
ead43e8545
Include "libunwind_i.h" instead of "internal.h".
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
59f9f6a1ac
Include "libunwind_i.h" instead of "internal.h".
...
2005/05/19 08:11:38-07:00 hp.com!davidm
Rename: include/ia64/rse.h -> include/tdep-ia64/rse.h
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
5724bee8c2
Include "libunwind_i.h" instead of "internal.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
5e5db2dada
Adjust for renaming of file.
...
Drop include of <libunwind.h>.
Include "script.h" instead of "ia64/script.h".
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
0870c54c2a
Adjust for renaming of file.
...
Drop include of <libunwind.h>.
Include "script.h" instead of "ia64/script.h".
2005/05/19 07:42:45-07:00 hp.com!davidm
Rename: include/tdep-ia64.h -> include/tdep-ia64/libunwind_i.h
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
ce46ac7167
Adjust for renaming of file.
...
(tdep_put_unwind_info): Adjust for change of arguments.
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
bea50a5d41
Adjust for renaming of file.
...
(tdep_put_unwind_info): Adjust for change of arguments.
2005/05/19 07:42:45-07:00 hp.com!davidm
Rename: include/tdep-x86_64.h -> include/tdep-x86_64/libunwind_i.h
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
47eca0fadf
Adjust for renaming of file.
...
(tdep_put_unwind_info): Adjust for change of arguments.
2005/05/19 07:42:45-07:00 hp.com!davidm
Rename: include/tdep-x86.h -> include/tdep-x86/libunwind_i.h
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
34e70b5937
Adjust for renaming of file.
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
dce55286ab
Adjust for renaming of file.
...
2005/05/19 07:42:45-07:00 hp.com!davidm
Rename: include/tdep-hppa.h -> include/tdep-hppa/libunwind_i.h
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
6980fa4f25
Adjust comment.
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
e5944788ad
Adjust comment.
...
2005/05/19 08:13:00-07:00 hp.com!davidm
Rename: include/x86_64/dwarf-config.h -> include/tdep-x86_64/dwarf-config.h
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
c446186670
Add include of <stdlib.h>.
...
}(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
5135d044ed
Add include of <stdlib.h>.
...
2005/05/19 07:42:56-07:00 hp.com!davidm
Rename: include/internal.h -> include/libunwind_i.h
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
c3e9383d30
(struct cursor): Add "ec_loc" member.
...
(Logical change 1.293)
2005-05-17 21:28:19 +00:00
mostang.com!davidm
836ee627e0
Rename: src/dwarf/dwarf-eh.h -> include/dwarf-eh.h
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
06d223e924
Initial revision
2005-05-03 09:13:17 +00:00
mostang.com!davidm
fbab73e7e6
Improve comment.
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
fdb6bee068
Change "ia64_rse" prefix to "rse".
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
27f7d7d720
(unw_tdep_proc_info_t): Drop dwarf_info member.
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
e7fba77e9d
(unw_dyn_info_format_t): Remove UNW_INFO_FORMAT_DWARF_FDE.
...
(UNW_DYN_DFI_FLAG_FDE_PE_MASK): Remove.
(UNW_DYN_DFI_FLAG_AUGMENTATION_HAS_SIZE): Remove.
(unw_dyn_dwarf_fde_info_t): Remove.
(unw_dyn_info_t): Remove dfi member.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
66ecac1b5f
(unw_addr_space): If we have atomic_ops.h, declare cache_generation
...
to be of type AO_t.
2004/10/25 17:43:57+02:00 homeip.net!davidm
(DWARF_IS_REG_LOC): Define as 0 for the local-only case.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
adeb9b5984
(struct dwarf_cursor): Add members eh_args and eh_valid_mask so
...
we can track writes to exception-handling argument regs.
2004/11/17 02:43:39-08:00 mostang.com!davidm
(dwarf_cie_info_pool): New declaration.
(dwarf_cie_info_t): New type.
(dwarf_state_record): Drop cfa_is_sp member.
(dwarf_extract_proc_info_from_fde): Rename from dwarf_parse_fde.
2004/10/25 17:38:51+02:00 homeip.net!davidm
Fix typo: DW_CFA_CFA_expression -> DW_CFA_expression.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
229d2c4a62
(atomic_read): New macro to read the value of a variable
...
that can be updated atomically (for Linux kernel compat.).
(unwi_full_mask): Rename from unwi_full_sigmask and change type to
intrmask_t.
(intrmask_t): New type.
(define_lock): New macro.
(lock_init): Likewise.
(lock_acquire): Likewise.
(lock_release): Likewise.
(GET_MEMORY): Likewise.
2005/02/20 21:42:54-08:00 mostang.com!davidm
(ALWAYS_INLINE): Include "inline" keyword for compatibility with
Linux kernel.
(ARRAY_SIZE): Rename from NELEMS for improved Linux-kernel
compatibility.
2004/10/25 05:21:51-07:00 hp.com!davidm
(Debug): Make a debug level of N imply that we're printing when
UNW_DEBUG_LEVEL=N since that's more intuitive.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
6dcb17c553
(UNW_X86_ECX): ecx apparently is a scratch-register (at least
...
under Linux).
2004/11/17 02:43:39-08:00 mostang.com!davidm
(unw_tdep_proc_info_t): Remove dwarf_info member.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
04fde4a63b
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
f6b74c9cbe
(ia64_get_cached_proc_info): Drop duplicate "ia64_" prefix.
...
(ia64_cache_proc_info): New function/macro.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
847e0a4b18
(dwarf_misaligned_value_t): Move "attribute" declaration to the type
...
to make newer versions of GCC happy.
2005/02/23 12:55:45-08:00 mostang.com!davidm
(dwarf_read_encoded_pointer_inlined): Adjust for ALWAYS_INLINE
change.
2004/12/02 00:40:45-08:00 mostang.com!davidm
Make it possible for dwarf-config.h to define its own version of
dwarf_to_unw_regnum().
2004/11/23 16:59:56-08:00 mostang.com!davidm
(dwarf_to_unw_regnum): Make it a macro so we don't have a
dependency just because of including the file when --enable-debug
is on (and inlining is off).
(dwarf_read_encoded_pointer_inlined): Move from Gpe.c to here
and rename from dwarf_read_encoded_pointer().
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
c224ec66c5
(UNW_HPPA_EH3): Fix comment-typo.
...
2004/12/02 18:37:47-08:00 hp.com!davidm
(unw_tdep_fpreg_t): Make it a union of "double" and two 32-bit words.
(unw_tdep_getcontext): Fix typo.
2004/12/02 00:40:45-08:00 mostang.com!davidm
(_U_TDEP_QP_TRUE): New macro.
(UNW_TDEP_CURSOR_LEN): Increase from 127 to 511 to accommodate
DWARF cursor-size.
(unw_word_t): Change from uint64_t to uint32_t since user-land
PA-Linux is only 32 bits.
(hppa_regnum_t): Add register names UNW_HPPA_EH0, UNW_HPPA_EH1,
UNW_HPPA_EH2, UNW_HPPA_EH3, UNW_HPPA_CFA, and
UNW_HPPA_EH.
(UNW_TDEP_NUM_EH_REGS): New macro.
(unw_tdep_getcontext): Point it at UNW_ARCH_OBJ(getcontext).
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
e12a996051
(HPPA_SCF_LINUX_SIGFRAME): Remove (PA-Linux appears to use only
...
real-time signal frames).
(tdep_big_endian): Fix typo.
2004/12/02 00:40:45-08:00 mostang.com!davidm
Include "elf32.h" and "dwarf.h".
(struct unw_addr_space): If we have atomic-ops, define cache_generation
to be of type AO_t.
(struct cursor): Define it primarily in terms of the DWARF cursor.
Add sigcontext_format and sigcontext_addr members.
Add DWARF-location accessors.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
homeip.net!davidm
7aade965b4
(DWARF_IS_REG_LOC): Define as 0 for the local-only case.
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
272caabbfa
Regenerate.
...
(Logical change 1.283)
2004-11-16 22:03:04 +00:00
mostang.com!davidm
8e96c357a8
(unw_addr_space): If we have atomic-ops library installed, declare
...
cache_generation as AO_t.
(dwarf_getfp): Do casts via "char *" to avoid type-punning
warnings.
(dwarf_putfp): Likewise.
(Logical change 1.266)
2004-09-09 13:06:01 +00:00
mostang.com!davidm
a6aa7338cc
(dwarf_getfp): Implement a first draft version of this routine
...
(completely untested).
(dwarf_putfp): Likewise.
(dwarf_get): Don't support fp-register save-locations.
(dwarf_put): Likewise.
(Logical change 1.264)
2004-09-09 10:50:06 +00:00
mostang.com!davidm
47bf99c677
(UNW_VERSION_CODE): New macro.
...
(UNW_VERSION): Likewise.
(Logical change 1.262)
2004-09-09 10:45:24 +00:00
mostang.com!davidm
27ce81f7e2
Initial revision
2004-09-08 17:36:28 +00:00
mostang.com!davidm
8de87a48cd
(UNW_VERSION_MAJOR): New macro.
...
(UNW_VERSION_MINOR): Likewise.
(UNW_VERSION_EXTRA): Likewise.
}(Logical change 1.261)
2004-09-08 17:36:28 +00:00
mostang.com!davidm
012a4844cb
(UNW_VERSION_MAJOR): New macro.
...
(UNW_VERSION_MINOR): Likewise.
(UNW_VERSION_EXTRA): Likewise.
2004/09/08 08:15:35-07:00 mostang.com!davidm
Rename: include/libunwind-common.h -> include/libunwind-common.h.in
(Logical change 1.261)
2004-09-08 17:36:28 +00:00
hp.com!davidm
197c9d517b
Initial revision
2004-08-31 13:59:10 +00:00
hp.com!davidm
3b57368f67
(struct cursor): Clarify meaning of "rbs_curr" member.
...
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
e29611e7d3
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
homeip.net!davidm
9034bd158a
(struct dwarf_cursor): Add new member "cfa_is_sp" to mark the case
...
when the (unsaved) stack-pointer is the CFA.
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
ibm.com!masbock
a766efd844
(Logical change 1.249)
2004-08-19 13:39:10 +00:00
ibm.com!masbock
58e37267be
Initial revision
2004-08-19 13:39:10 +00:00
homeip.net!davidm
78e2f93811
(ALIAS): New macro.
...
(Logical change 1.246)
2004-08-19 10:45:23 +00:00
bea.com!thallgre
4b21fc9b3d
(unw_strerror): Declare.
...
(Logical change 1.245)
2004-08-18 15:16:46 +00:00
homeip.net!davidm
34fa122ac2
Regenerate.
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
hp.com!davidm
6a269233f8
(struct ia64_global_unwind_state): Group together in a single struct the
...
read-only registers whose addresses may be used as save-locations.
(Logical change 1.229)
2004-05-06 20:24:01 +00:00
mostang.com!davidm
582cfb1e62
(tdep_find_proc_info): Expand into dwarf_find_proc_info() only
...
when UNW_LOCAL_ONLY is defined. Otherwise, expand
into call via address-space's find_proc_info() callback.
(tdep_put_unwind_info): Likewise. Delete bogus prototype.
(Logical change 1.224)
2004-05-05 01:54:53 +00:00
mostang.com!davidm
aa00843a30
Rename: src/ia64/rse.h -> include/ia64/rse.h
...
(Logical change 1.221)
2004-05-04 22:16:57 +00:00
mostang.com!davidm
2768b34dbe
Initial revision
2004-05-04 22:16:57 +00:00
mostang.com!davidm
ad6f2319b9
(unw_tdep_getcontext): On HP-UX, use getcontext() instead of
...
_Uia64_getcontext().
(Logical change 1.220)
2004-05-04 20:14:02 +00:00
mostang.com!davidm
c5c4fc991c
(_U_dyn_op): Avoid the use of C99-style initializers in installed
...
header-files. Doing so may cause problems with C++ or
older C compilers. Reported by Todd Miller.
(Logical change 1.216)
2004-04-28 01:24:34 +00:00
hp.com!davidm
9a9618401f
(mutex_init): Explicitly test function-pointer against 0 since that avoids
...
a compiler-warning from icc v8.0.
(mutex_lock): Likewise.
(mutex_unlock): Likewise.
(Logical change 1.213)
2004-04-23 00:12:51 +00:00
hp.com!davidm
2de1768e52
Regenerate.
...
(Logical change 1.205)
2004-04-20 16:53:44 +00:00
mostang.com!davidm
a1ce4c307e
(unw_tdep_getcontext): Direct it to UNW_ARCH_OBJ(getcontext).
...
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
1c00cf562e
(unw_tdep_save_loc): Add new member "nat_bitnr". Define the
...
other 7 bytes (which were always there in unw_save_loc_t due
to padding) as reserved for future use.
(Logical change 1.181)
2004-02-27 08:54:25 +00:00
mostang.com!davidm
7356cf80a5
(struct cursor): Add member "nat_bitnr".
...
(tdep_uc_addr): Add (optional) nat_bitnr pointer argument.
(Logical change 1.181)
2004-02-27 08:54:25 +00:00
mostang.com!davidm
50f7edcce5
(enum ia64_script_insn_opcode): Move Gscript-ia64.c.
...
(IA64_MAX_SCRIPT_LEN): Lower it by 4 since we no longer need separate
instructions to update the NaT locations.
(Logical change 1.181)
2004-02-27 08:54:25 +00:00
hp.com!davidm
5f45c42420
(Debug): Add back lost Debug() macro for the !UNW_DEBUG case.
...
(Logical change 1.163)
2004-02-14 04:44:05 +00:00
hp.com!davidm
fe039e2c1f
Move all inline functions to dwarf_i.h.
...
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
b88369b831
Initial revision
2004-01-30 00:01:24 +00:00
hp.com!davidm
86af3a3048
Declare functions such that it is possible to take their addresses.
...
(tdep_init): New macro.
(tdep_access_reg): Likewise.
(tdep_access_fpreg): Likewise.
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
6bcc75010b
Declare functions such that it is possible to take their addresses.
...
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
b5d64dabf3
Declare functions in the same way as we do in other header-files now, such that
...
it's possible to take the address of functions.
(debug): Remove this macro (no longer used).
(fetch8): Move to remote.h.
(fetch16): Likewise.
(fetch32): Likewise.
(fetchw): Likewise.
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
78cec36290
(struct cursor): Add member sigcontext_format.
...
(dwarf_putfp): Fix typo.
(dwarf_getfp): Mark with C preprocessor warning while it's not fully
implemented. Check for NULL-location first.
(dwarf_putfp): Likewise.
(dwarf_get): Likewise.
(dwarf_put): Likewise.
(tdep_needs_initialization): New macro.
(tdep_init): Likewise.
(tdep_get_as): Likewise.
(tdep_get_as_arg): Likewise.
(tdep_needs_initialization): Declare.
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
ab847fe68e
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
107cf10470
(DWARF_REGNUM_MAP_LENGTH): New macro.
...
(dwarf_to_unw_regnum_map): Move to dwarf_i.h.
(dwarf_to_unw_regnum): Likewise.
(Logical change 1.162)
2004-01-30 00:01:24 +00:00
hp.com!davidm
29a98b6cc3
(unw_addr_space_t.shared_object_removals): Adjust type to
...
"unsigned long long" to match glibc.
(Logical change 1.161)
2004-01-24 07:27:00 +00:00
hp.com!davidm
6ea8ff61e0
(unw_set_caching_policy): Make it a regular object, not an
...
arch-object. It can't be the latter because it needs
to initialize libunwind if it's the first call to libunwind.
(Logical change 1.160)
2004-01-24 07:22:30 +00:00
mostang.com!davidm
c325d9cbc2
Regenerate.
...
(Logical change 1.159)
2004-01-24 06:45:18 +00:00
hp.com!davidm
c44d77055c
Move debug defines after definition of UNWI_ARCH_OBJ().
...
Replace tdep_debug_level with unwi_debug_level and declare
it here.
(Logical change 1.158)
2004-01-22 08:36:15 +00:00
hp.com!davidm
d3725a7a98
(unw_tdep_is_fpreg): Move after include of "libunwind-common.h".
...
(Logical change 1.158)
2004-01-22 08:36:15 +00:00
hp.com!davidm
25b8795a4a
(tdep_debug_level): Remove.
...
(Logical change 1.158)
2004-01-22 08:36:15 +00:00
mostang.com!davidm
5f0eebb2b4
Initial revision
2004-01-21 01:05:07 +00:00
mostang.com!davidm
53b6d61c63
Drop argument names from prototypes to reduce namespace pollution.
...
Define libunwind routines such that it is possible to take their
addresses.
(unw_is_fpreg): Move it closer to unw_getcontext(). Both are special
in the sense that they may be implemented as macros.
(Logical change 1.156)
2004-01-21 01:05:07 +00:00
mostang.com!davidm
7915b799c8
Drop argument names from prototypes to reduce namespace pollution.
...
Define libunwind routines such that it is possible to take their
addresses.
(Logical change 1.156)
2004-01-21 01:05:07 +00:00
mostang.com!davidm
64854d0d7c
Drop argument names from prototypes to reduce namespace pollution.
...
(Logical change 1.156)
2004-01-21 01:05:07 +00:00
mostang.com!davidm
24ac6e693d
(unw_tdep_is_fpreg): Define it as an external function (a macro would
...
have to evaluate the argument multiple times so it's better
to implement it out-of-line).
(Logical change 1.156)
2004-01-21 01:05:07 +00:00
mostang.com!davidm
66e78e1ca3
(Logical change 1.156)
2004-01-21 01:05:07 +00:00
mostang.com!davidm
cd7dcba0ed
Rename AO_TS_T to AO_TS_t (gets syntax coloring right... ;-).
...
(Logical change 1.155)
2004-01-20 23:50:00 +00:00
mostang.com!davidm
40fcb9b7e5
(unw_addr_space.cache_generation): Declare as AO_t instead of AO_T
...
(gets syntax-coloring right ;-).
(Logical change 1.155)
2004-01-20 23:50:00 +00:00
mostang.com!davidm
195eb64285
(struct mempool): Move "reserve" and "num_free" next to
...
each other to minimize padding.
(Logical change 1.155)
2004-01-20 23:50:00 +00:00
mostang.com!davidm
82cfd4862f
(cmpxchg_ptr): Use a union to do the pointer-casting so that
...
GCC knows it can't use ANSI-C aliasing rules.
(Logical change 1.155)
2004-01-20 23:50:00 +00:00
mostang.com!davidm
c1bbbb2a3a
(unwi_dyn_validate_cache): Declare.
...
(Logical change 1.154)
2004-01-20 23:32:28 +00:00
mostang.com!davidm
2d4098ac19
(unw): Remove debug_level.
...
(tdep_debug_level): Declare it as a separate variable. This
ensures that only one debug-level variable is in use
at any given time, no matter what combination of
local-only vs generic and static vs. dynamic libraries
are in use.
(unw): Document why it's not an UNW_ARCH_OBJ().
(Logical change 1.154)
2004-01-20 23:32:28 +00:00
mostang.com!davidm
47c32cd07f
(_Uia64_search_unwind_table): Make it an UNW_OBJ() instead.
...
(unw_search_ia64_unwind_table): Declare.
(Logical change 1.154)
2004-01-20 23:32:28 +00:00
hp.com!davidm
ea78d27d97
(unwi_dyn_remote_find_proc_info): Drop GENERATION argument.
...
(Logical change 1.153)
2004-01-20 01:51:17 +00:00
hp.com!davidm
a2301f6f57
(struct unw_addr_space.shared_object_removals) [!UNW_REMOTE_ONLY]: New member.
...
(Logical change 1.153)
2004-01-20 01:51:17 +00:00
hp.com!davidm
23024e28c0
Add includes of <string.h> and <unistd.h>.
...
(NORETURN): New macro.
(PROTECTED): Likewise.
(print_error): New inline routine.
(fetch8): Provide UNW_LOCAL_ONLY-version.
(fetch16): Likewise.
(fetch32): Likewise.
(fetchw): Likewise.
(_U_dyn_info_list_addr): Declare.
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
hp.com!davidm
9b52d39425
(tdep_find_proc_info): Declare it as a regular object (not arch-obj).
...
(tdep_uc_addr): Likewise.
(tdep_put_unwind_info): Define only if not UNW_LOCAL_ONLY.
(unw): Declare as regular object.
(Logical change 1.151)
2004-01-03 10:50:24 +00:00
mostang.com!davidm
b9d2cc7919
Drop HIDDEN from declarations, only the definitions need it.
...
(Logical change 1.150)
2003-12-21 07:57:42 +00:00
mostang.com!davidm
aa800d423d
(unw): Mark it as HIDDEN.
...
(Logical change 1.148)
2003-12-21 07:21:28 +00:00
mostang.com!davidm
e6aedd3089
(dyn_generation): Drop bogus comment.
...
(Logical change 1.147)
2003-12-21 05:53:57 +00:00
mostang.com!davidm
d5db6013ff
(UNW_PI_FLAG_FIRST_TDEP_BIT): Fix comment.
...
(Logical change 1.147)
2003-12-21 05:53:57 +00:00
hp.com!davidm
468aaccf17
Switch over to DWARF-based unwinder.
...
(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
45fccdc2f3
(unw_dyn_dwarf_fde_info_t): New type to handle (pre-parsed) DWARF
...
unwind-info.
(unw_dyn_info_t): Add member "dfi".
(Logical change 1.145)
2003-12-20 11:43:08 +00:00
hp.com!davidm
eb51b4294a
(Logical change 1.145)
2003-12-20 11:43:08 +00:00
hp.com!davidm
0bbb2fab68
Initial revision
2003-12-20 11:38:49 +00:00
hp.com!davidm
b6adfb75c4
Declare mempool-routines as HIDDEN.
...
(Logical change 1.143)
2003-12-20 11:35:09 +00:00
hp.com!davidm
7d3de049e6
(Debug): New macro. This one automates some of usual stuff that
...
gets printed during debugging and is supposed to produce
a nicer format. Eventually, we'll switch everything over
from debug() to Debug().
(extract_dynamic_proc_info): We need both generic and local-only.
(dyn_remote_find_proc_info): Likewise.
(dyn_remote_put_unwind_info): Likewise.
(Logical change 1.142)
2003-12-20 11:32:43 +00:00
hp.com!davidm
fbe40e537f
(unw_word_t): Let the architecture-specific header take care of
...
defining this type---it's needed very early on.
(unw_proc_info_t): Add architecture-specific "extra" member. Empty
for ia64, so no ABI change.
Don't include libunwind-dynamic.h here.
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
77b06d67aa
(unw_word_t): Declare it here.
...
(unw_tdep_proc_info_t): New type.
Include "libunwind-dynamic.h" here.
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
mostang.com!davidm
bcdedf6b28
Switch from __sync_val_compare_and_swap() to
...
__sync_bool_compare_and_swap() since that's we need nowadays anyhow
and since that's also provided by ecc v7.0.
(Logical change 1.138)
2003-12-05 06:42:28 +00:00
hp.com!davidm
ab0fdbbb4c
(Logical change 1.135)
2003-12-04 07:44:21 +00:00
hp.com!davidm
1a7d4ee7ed
Initial revision
2003-12-04 07:44:21 +00:00
hp.com!davidm
7549674169
(unw_get_proc_info_by_ip): New routine.
...
(Logical change 1.133)
2003-12-04 07:34:21 +00:00
hp.com!davidm
1334cae324
(HAVE___THREAD): Force it off for now---the per-thread cache uses
...
about 128KB of thread-local storage for each and every
thread, even if a thread never ever needs to unwind its
stack. Seems a bit much.
(ALWAYS_INLINE): New macro which can be used to force inlining
on compilers that support it.
(Logical change 1.132)
2003-12-04 07:30:39 +00:00
hp.com!davidm
497018e941
Include "elf32.h".
...
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
7305d26f26
(struct cursor): Declare pi_valid and pi_is_dynamic as unsigned to
...
avoid compiler warnings.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00