1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-05-18 11:15:18 +02:00
Commit graph

397 commits

Author SHA1 Message Date
Konstantin Belousov 093855f12a Remove unneeded includes of sys/types.h 2010-03-08 00:25:22 +02:00
Konstantin Belousov 64b5391b7b Include sys/types.h once 2010-03-08 00:24:32 +02:00
Konstantin Belousov c64723835c Support walk over freebsd sigframes 2010-03-07 21:53:01 +02:00
Konstantin Belousov 3eabce18b1 Include sys/types.h when needed. 2010-03-06 16:43:39 +02:00
Konstantin Belousov 8ccebc9307 MAP_ANONYMOUS 2010-03-06 16:23:24 +02:00
Konstantin Belousov 905034ce72 Initial attempt at the build infrastructure for FreeBSD. 2010-03-06 00:41:37 +02:00
Stefan Demharter 752076789f Be gcc compatible for C++ exceptions on 32 bit platforms. 2010-02-21 22:45:08 -08:00
Paul Pluzhnikov 54752e0df0 Implement getcontext for x86
Greetings,

Attached patch implements getcontext for x86.

Motivation is the same as:
http://lists.nongnu.org/archive/html/libunwind-devel/2008-06/msg00009.html

This also fixes check-name-space on x86.

Tested on Linux/86 with no new failures.

Thanks,
--
Paul Pluzhnikov
2009-12-23 09:59:52 -08:00
Arun Sharma f88e949d16 Set UNW_TDEP_SP on x86 to ESP
This is similar to what has been done on other archs and resolves an out of
bounds array access elsewhere.
2009-11-11 21:58:15 -08:00
Arun Sharma 3067acf172 Remove duplicate calls to mark_as_used 2009-10-17 22:45:30 -07:00
Arun Sharma 4ab26bcdaa Fix compiler warnings seen with --disable_block_signals 2009-10-16 15:52:44 -07:00
Arun Sharma 491d576529 Fix compiler warnings on x86_64 2009-10-16 14:01:50 -07:00
Arun Sharma af9daf66af Fix the naming of the sigprocmask parameters. 2009-10-15 19:29:49 -07:00
Paul Pluzhnikov 839db77b7b Wait if there is contention on the cache
The behavior on wait vs abort unwind depends on the locking primitive
chosen by the user. This makes the API consistent and independent of
the locking primitive.
2009-09-25 09:38:55 -07:00
Paul Pluzhnikov 9aa0d6d680 Allow caller to block signals.
Greetings,

Here is the second part, actually implementing the configure option.

Thanks,
--
Paul Pluzhnikov

commit cf823ed0d4d2447aa91af0e3cb5fbb6a6cba5068
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Mon Sep 21 11:37:38 2009 -0700

    New configure option to allow caller to block signals.
2009-09-25 09:36:41 -07:00
Arun Sharma 35e6a1a108 This avoids a C++ syntax error with a (non-gcc?) compiler.
Signed-off-by: Lassi Tuura <lat@cern.ch>
2009-08-27 17:01:17 -07:00
Arun Sharma b483ea3f0e Multilib support.
This is useful when packaging for multiple target architectures.

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
2009-04-13 12:00:31 -07:00
Arun Sharma aaed432328 Remove more autogenerated files. 2009-04-13 10:50:51 -07:00
Arun Sharma 2fce54102c Implement _Unwind_GetIPInfo() as required by the C++ ABI
Provide a special implementation for ia64, because the unwind
information is such that an IP adjustment is not necessary before
looking up unwind info.

Bad things happen if libunwind only provides parts of the ABI and
the rest come from libgcc.

Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
2009-04-02 22:22:05 -07:00
Arun Sharma 9607c6407c Fixup CONFIG_DEBUG_FRAME support. 2009-03-17 19:08:58 -07:00
Arun Sharma ec53de82ec [PATCH] Avoiding name conflict with the GNU-specific dprintf in stdio.h
Signed-off-by: Yang Zhang <yaaang@gmail.com>
2009-03-16 21:37:11 -07:00
Arun Sharma ff0ae70cc3 Bad pointer validation for 32 bit x86.
This corresponds to commit 649f1fb344.

Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
2009-03-16 21:34:49 -07:00
Arun Sharma ef29eade44 This patch eliminates one system call per unwind by not using the
getcontext in libc.

Also cleanup the namespace (check-name-space passes on x86_64 now).
Replace uses of offsets.h with ucontext_i.h.
Rename _x86_64_setcontext to _Ux86_64_setcontext.

TBD: Add CFI annotations for get/setcontext.

Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2008-06-16 14:42:16 -06:00
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