2005/05/03 02:08:34-07:00 hp.com!davidm
(tests/Gtest-concurrent): Fail gracefully if we're unable to create the
desired number of threads. Note: unless strict accounting is
enabled (/proc/sys/vm/overcommit_memory == 2), the program may fail
with a SIGSEGV if it runs out of (stack) memory.
2005/04/07 19:22:33-07:00 hp.com!davidm
Make libunwind more friendly to GCC v4.
2005/04/07 19:20:22-07:00 hp.com!davidm
ia64: Fix two typos in Gscript.c which showed when compiling
without atomic-ops support.
2005/04/07 12:19:38-07:00 hp.com!davidm
ia64: cache proc-info even for procedures which are never stepped over
This was an oversight that caused exception-handling to run a bit
slower than possible. Specifically, the last procedure in an
exception-handling chain never got cached because it has only it's
proc-info inspected (to find the personality routine); the frame
was never stepped over (i.e., no script was ever built) and the info
never got into the cache. This patch fixes the problem.
2005/03/31 14:45:30-08:00 hp.com!davidm
(tests/Gtest-exc): Make it buildable with the Intel compiler.
2005/03/31 13:29:44-08:00 hp.com!davidm
Merge wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind-v0.98
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind
2005/03/07 10:13:14-08:00 hp.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind
2005/03/07 10:08:26-08:00 hp.com!davidm
x86-64: Make it work better.
2005/03/07 10:02:17-08:00 hp.com!davidm
Fix a couple of missed NELEMS -> ARRAY_SIZE renames.
2005/03/07 10:00:19-08:00 hp.com!davidm
Fix a warning that shows with GCC v3.4.
2005/02/25 15:47:17-08:00 mostang.com!davidm
Fix forgotten ALWAYS_INLINE adjustment.
2005/02/24 23:39:35-08:00 hp.com!davidm
Fix missing NELEMS -> ARRAY_SIZE rename.
2005/02/24 23:32:42-08:00 mostang.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into kangaroo.mostang.com:/home/davidm/src/unwind/libunwind
2005/02/24 23:28:02-08:00 hp.com!davidm
Fix merge-conflict.
2005/02/23 14:40:45-08:00 mostang.com!davidm
Abstract locking primitives some more to enable use of libunwind
inside the Linux kernel.
2005/02/23 13:10:06-08:00 mostang.com!davidm
ia64: Change "ia64_rse" prefix to "rse" in order to stay clear
of Linux kernel conflict.
2005/02/23 12:55:46-08:00 mostang.com!davidm
Fix a few missed ALWAYS_INLINE adjustments.
2005/02/20 21:42:55-08:00 mostang.com!davidm
Make it easier to use libunwind inside Linux-kernel: rename
NELEMS to ARRAY_SIZE and make ALWAYS_INLINE include the "inline"
keyword.
2005/02/18 22:20:58-08:00 hp.com!davidm
Merge wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind-v0.98
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind
2004/12/15 15:40:09-08:00 hp.com!davidm
ia64: Make ia64 build again.
2004/12/15 15:38:34-08:00 hp.com!davidm
Fix library dependencies so it's possible to do a successful "make
check" even when the GCC-based libunwind.so is installed in /lib.
2004/12/15 15:36:37-08:00 hp.com!davidm
Put separate copies of the ELF-reading code into each library that
needs it. Anything else if fragile or inefficient.
2004/12/08 17:27:12-08:00 hp.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind
2004/12/06 10:40:50-08:00 mostang.com!davidm
x86: Make longjmp() work. Unfortunately, siglongjmp() doesn't
work yet since there aren't enough exception-handling
argument registers available to make that work easily.
Will need to come up with something clever to make that
work. Perhaps we can always use sigreturn() to atomically
do a setcontext() with signal-mask restoration.
2004/12/04 17:03:37-08:00 mostang.com!davidm
Regenerate src/Makefile.in.
2004/12/04 17:00:06-08:00 hp.com!davidm
hppa: Implement a useful setcontext() (but call it _Uhppa_setcontext())
and use it to make Gtest-exc work.
2004/12/02 23:56:58-08:00 hp.com!davidm
Fix merge conflict.
2004/12/02 23:51:02-08:00 hp.com!davidm
test-ptrace: Improve label-printing and allow nesting up to 64 deep.
2004/12/02 18:37:48-08:00 hp.com!davidm
hppa: Fix it enough so it actually starts to be useful.
2004/12/02 00:40:46-08:00 mostang.com!davidm
hppa: Initial support for (32-bit) PA-RISC Linux. It should be good
enough to get tests/Gtest-bt working.
2004/11/30 22:53:53-08:00 mostang.com!davidm
Regenerate "configure".
2004/11/30 22:44:48-08:00 mostang.com!davidm
x86-64: Fix it up some more. Make check has no unexplained failures
anymore (see README for details).
2004/11/30 21:47:49-08:00 mostang.com!davidm
x86: Fix comment-typo.
2004/11/23 16:59:58-08:00 mostang.com!davidm
x86/-64: First cut at supporting libunwind-ptrace for x86 and
x86-64.
2004/11/23 12:49:55-08:00 mostang.com!davidm
x86: Fill in save-locations by hand if DWARF-info is unavailable for
a signal-frame. This should help when running on old Linux
kernels which do not provide the vDSO.
2004/11/23 18:01:10-08:00 mostang.com!davidm
x86-64: Provide a minimal unw_resume() implementation and fix
an off-by-one error that was present in x86 and ia64
forever (at least on ia64 the error was harmless, but it's
still a bug...).
2004/11/23 16:17:37-08:00 mostang.com!davidm
x86-64: Fix unwinding across signal-frames on platforms that fail to
provide unwind-info for the signal trampoline. This makes
Gtest-bt work on SuSE LES 9.
2004/11/22 10:22:37-08:00 mostang.com!davidm
x86-64: Make it build again.
2004/11/17 02:43:40-08:00 mostang.com!davidm
Fairly major overhaul of DWARF2 unwinder. The major change is that
the auxiliary DWARF-info is maintained in a separate structure
(dwarf_cie_info, I may rename this to dwarf_aux_info) rather than
in an unw_dyn_info_t. The latter seemed promising at the beginning,
but it's become clear that it was a bad idea so it's time to remove
it.
2004/11/17 02:06:25-08:00 mostang.com!davidm
tests/Gtest-resume-sig: Clean it up some more and make it more robust.
2004/11/16 15:14:56-08:00 hp.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind
2004/11/16 14:09:02-08:00 hp.com!davidm
Manual merge with v0.98.3.
2004/11/05 00:14:10-08:00 hp.com!davidm
Fix merge conflict with v0.98.2.
2004/11/03 13:57:00-08:00 hp.com!davidm
Manual merge with v0.98.2.
2004/11/03 11:45:24-08:00 hp.com!davidm
Merge wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind-v0.98
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind
2004/10/25 17:43:58+02:00 homeip.net!davidm
x86: Add Debug statement for return-value.
Define DWARF_IS_REG_LOC for the local-only case.
2004/10/25 17:38:51+02:00 homeip.net!davidm
Fix typo: DW_CFA_CFA_expression -> DW_CFA_expression.
2004/10/25 07:52:30-07:00 hp.com!davidm
ia64: Add Debug() statement to print unw_step() return value at debug level 2.
2004/10/25 05:21:53-07:00 hp.com!davidm
Improve Debug() support for ia64 a bit and make Debug (N, ...) get printed when
UNW_DEBUG_LEVEL==N.
2004/10/21 16:06:28+02:00 homeip.net!davidm
Fix _UPT_get_dyn_info_list_addr() so it doesn't fail just because
a /proc/PID/maps file contains a mapping of something other than
a regular file. Reported and fix proposed by Todd L. Miller.
2004/10/21 11:15:44+02:00 homeip.net!davidm
Merge bk://unwind@bkbits.net/libunwind
into mosberger.homeip.net:/home/davidm/src/unwind/libunwind
2004/10/21 11:15:12+02:00 homeip.net!davidm
dwarf: Fix some rather serious bugs in the DWARF expression evaluator.
2004/10/19 23:24:57-07:00 mostang.com!davidm
Fix some minor typos.
2004/10/19 23:15:02-07:00 mostang.com!davidm
dwarf: Fix Gstep() so it doesn't fail just because the IP didn't
change. This makes tests/{G,L}test-exc work on x86.
2004/10/19 23:11:08-07:00 mostang.com!davidm
tests/Gtest-exc.c: Fix test-case so it works as was intended.
2004/10/19 23:06:24-07:00 mostang.com!davidm
Use -fexceptions when compiling libunwind with GCC.
Switch version to 0.99-alpha.
BKrev: 427740adF-X3amNLHAfKa4B063DYxQ
2004/10/19 23:11:07-07:00 mostang.com!davidm
(got_here): New global variable.
(raise_exception): Fix off-by-2 error so that we _really_ step
to the outermost a() frame.
(get_bsp): New function.
(__builtin_ia64_bsp): Remove.
(a): Print stack and bsp addresses as we recurse.
When resuming execution in outermost a() frame (n==depth),
clear "result" and set "got_here" so we know we landed in
the right place.
(main): Don't accept arguments that cause "depth" to be < 1.
When returning from a(), also check "got_here". If
the check failed, print result, got_here, and nerrors
for diagnostic purposes.
(Logical change 1.290)
2005/02/24 23:28:02-08:00 hp.com!davidm
Fix merge-conflict.
2004/11/16 14:09:01-08:00 hp.com!davidm
Manual merge.
2004/11/05 00:14:10-08:00 hp.com!davidm
Fix merge conflict.
2004/11/03 13:57:00-08:00 hp.com!davidm
Merge.
2004/10/19 23:06:23-07:00 mostang.com!davidm
(pkg_minor): Switch to 99.
(pkg_extra): Switch to -alpha.
(CFLAGS): Add -fexceptions if we're compiling with GCC. It's
needed to get the proper unwind tables on platforms
with DWARF unwind info (well, at least on x86 it's needed).
(Logical change 1.290)
2004/12/02 23:51:00-08:00 hp.com!davidm
(do_backtrace): Also print the symbol offset. Increase nesting-level
tolerance to 64 so we can test programs with deeply nested
call-chains without triggering spurious warnings.
2004/11/30 22:44:47-08:00 mostang.com!davidm
(do_backtrace): Print IP if unw_get_proc_info() fails.
2004/11/23 18:01:09-08:00 mostang.com!davidm
(do_backtrace): Fix "start_ip might be used uninitialized" warning.
(Logical change 1.290)
2005/04/07 12:19:38-07:00 hp.com!davidm
(ia64_make_proc_info): After looking up proc-info, cache it if
caching is enabled.
2005/02/20 21:42:55-08:00 mostang.com!davidm
Adjust for NELEMS to ARRAY_SIZE renaming.
(Logical change 1.290)
2004/12/02 18:37:47-08:00 hp.com!davidm
(get_list_addr): Even the "it's missing" version of this routine
must clear *countp to avoid spurious failures.
2004/11/03 11:45:24-08:00 hp.com!davidm
Auto merged
2004/10/21 16:06:28+02:00 homeip.net!davidm
(get_list_addr): Don't fail with -UNW_ENOINFO just because something
in /proc/maps isn't mappable.
(Logical change 1.290)
2004/11/30 22:44:47-08:00 mostang.com!davidm
(my_rt_sigreturn): New function.
(x86_64_local_resume): Use my_rt_sigreturn(). The normal sigreturn()
does nothing (returns with an error).
2004/11/23 18:01:09-08:00 mostang.com!davidm
(x86_64_local_resume): Provide a minimal implementation (a la x86).
(establish_machine_state): Fix off-by-one error.
(Logical change 1.290)
local case since it's trivial to do so and saves us time if
later on we need to build a script for that procedure.
2005/02/23 14:40:44-08:00 mostang.com!davidm
Adjust for sigset_t to intrmask_t renaming.
2004/10/25 05:21:51-07:00 hp.com!davidm
(unw_search_ia64_unwind_table): Clarify comment and add a Debug() statement
for the case where we find a bad unwind-header version.
(Logical change 1.290)
(access_reg): Adjust & enable sanity-check.
(acces_fpreg): Provide minimal implementation.
2004/12/02 00:40:45-08:00 mostang.com!davidm
(uc_addr): Implement it so it starts to be useful.
(_Uhppa_uc_addr): Rename from _Ux86_uc_addr.
(get_static_proc_name): New function.
(hppa_local_addr_space_init): Rename from x86_local_addr_space_init().
Use dwarf_find_proc_info, hppa_local_resume, and
get_static_proc_name callbacks.
(Logical change 1.290)
eh_valid_mask instead. When reading and the corresponding
eh_valid_mask bit is set, read from eh_args[] instead.
2004/11/17 02:43:39-08:00 mostang.com!davidm
(tdep_access_reg): Treat UNW_X86_64_RSP exactly like UNW_X86_64_CFA.
(Logical change 1.290)
and UNW_HPPA_EH{0,1,2,3} correctly.
(tdep_access_fpreg): Implement.
2004/12/02 00:40:45-08:00 mostang.com!davidm
(tdep_access_reg): Provide a minimally working implementation.
(tdep_access_fpreg): New (unimplemented) function.
(Logical change 1.290)
(put_script_cache): Fix typo in argument name.
2005/04/07 12:19:38-07:00 hp.com!davidm
(ia64_get_cache_proc_info): Move it to near the end of the file.
(script_init): Also call ia64_fetch_proc_info() if the script was
found in the cache but it's empty (count == 0 and NULL
unwind_info pointer). Also invoke build_script() if
script has no instructions yet (count==0). Add assertion
to ensure that build_script() never returns an empty
script.
(ia64_cache_proc_info): New function to cache the proc_info only.
2005/02/23 14:40:44-08:00 mostang.com!davidm
Adjust for sigset_t to intrmask_t renaming.
2005/02/23 13:10:05-08:00 mostang.com!davidm
Adjust for "ia64_rse" to "rse" prefix change.
(Logical change 1.290)
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)
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)
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)
2004/10/19 23:15:02-07:00 mostang.com!davidm
(update_frame_state): Take additional argument "prev_cfa".
When we detect a NULL-frame, debug-print the IP and the CFA
so we know where things went wrong.
(dwarf_step): Get "prev_cfa" before we call dwarf_find_save_locs(),
since update_frame_state() doesn't actually update
the CFA.
(Logical change 1.290)
(pick): Likewise.
(dwarf_eval_expr): Fix "while" conditional so we see all operators.
Fix DW_OP_litN typo: "opcode = DW_OP_lit0" to
"opcode - DW_OP_lit0".
Add lots of Debug() statements so we can see what's going
on. Debug level 15 will show just entry/return values.
Debug level 16 shows all operators.
(Logical change 1.290)
The rationale for this fix is as follows: for the ALIAS directive, RLEN
specifies the number if instructions for which the region behaves like
the aliased code. For example, if RLEN=1 then the code follows the
aliased region for 1 instruction and the valid WHEN values should be 0
and 1. However, with the unpatched code, we would have allowed for -1
and 0, which is wrong.
BKrev: 4266c3228pjJqd72q34L-r8z1RXTaA