1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-17 21:47:37 +01:00
Commit graph

614 commits

Author SHA1 Message Date
mostang.com!davidm
9c23f9c408 (elf_map_image): Declare "path" argument as "const".
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
hp.com!davidm
cfded02a05 (maps_close): Do nothing if mi->fp is already NULL.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
3a27d1661c (_UPTi_find_unwind_table): Add dummy x86 implementation.
(_UPT_find_proc_info): On ia64, when returning info about the kernel's unwind
	table, copy the unwind info into a malloc'd buffer and use
	unw_local_addr_space to search the table, since the table is stored
	in local memory.

(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
1acfcc74e5 (_UPT_reg_offset): Add definitions for x86.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
e00aa27222 (_UPT_get_dyn_info_list_addr): Bracket ia64-specific variables in #if UNW_TARGET_IA64.
If ui->ei.image is non-NULL, close the old image and invalidate the
	cache before mapping the new image.

(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
e21a83deb0 (_UPT_access_fpreg): Fix typo in cast.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
mostang.com!davidm
4f17bce117 Regenerate.
(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
b838c72f9a (lookup_symbol): Portability fix: avoid arithmetic on void *.
(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
e4f251b98a (local_resume): "static inline" version of what used to be ia64_local_resume().
(ia64_local_resume): Declare as "HIDDEN" (not "HIDDEN inline"), use local_resume().
(unw_resume): For UNW_LOCAL_ONLY case, call local_resume().

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
81f4297d5a (intern_regions): Don't mix signed and unsigned types for 3rd argument to fetch32().
(intern_dyn_info): Ditto.

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
2e65e639a5 (ia64_getfp): Return -UNW_EBADREG when trying to access unsaved register.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
5b1f22a309 Regenerate.
(Logical change 1.69)
2003-03-27 04:34:23 +00:00
mostang.com!davidm
f168752fcf (Logical change 1.68) 2003-03-27 04:29:07 +00:00
mostang.com!davidm
58df2a4b8f Initial revision 2003-03-27 04:29:07 +00:00
mostang.com!davidm
bf2a805be2 If we have it, include <ia64intrin.h>.
(current_gp): New function.
(callback): Use current_gp() instead of open-coding it.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
26ad35667c Avoid GNU local labels for improved portability.
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
6dbafde94b (sigprocmask): Declare as global (Intel assembler insists on this).
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
4090e38376 (sigprocmask): Declare as "global" (Intel assembler insists on this).
(siglongjmp_continuation): Avoid GNU assembler local labels.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
7407caa8c3 (libunwind_la_SOURCES_ia64): Add global-asm-ia64.S.
(libunwind_la_SOURCES_x86): Mention elf32.c, elf32.h, Gresume-x86.c, and
	Lresume-x86.c.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
753601f8b0 (_U_dyn_info_list): Declare.
Move generation of dyn-list unwind entry into global-asm-ia64.S.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
9eafc2ae86 (_UPT_get_dyn_info_list_addr): Downgrade #error to #warning.
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
4409fc61d8 Patch by Matthieu Delahaye:
(lookup_symbol): Fix typo: Elf64_Shdr -> ElfW (Shdr).
(get_proc_name): Ditto.

(Logical change 1.67)
2003-03-27 00:44:39 +00:00
mostang.com!davidm
1c9ce0d96c Regenerate.
(Logical change 1.66)
2003-03-20 08:16:17 +00:00
mostang.com!davidm
09f7ea2cc2 Return -UNW_ENOINFO.
(Logical change 1.64)
2003-03-20 07:51:37 +00:00
mostang.com!davidm
0adb97c721 Reorganize a bit so "automake" can correctly figure out all the files that need
to be distributed.

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
0456a08cb8 Issue warning for platforms using ttrace() instead of ptrace() (HP-UX
is the only platform that does that).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
63d7003ef7 Include <sys/stat.h>.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
58e0e100d1 Include <inttypes.h> instead of <stdint.h>. HP-UX doesn't have the latter.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
d933d89e38 Include <asm/ptrace_offsets.h> only if we have it.
Issue warning for platforms using ttrace() instead of ptrace() (HP-UX
is the only platform that does that).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
0f3adfb3e6 Include "config.h" if we have it.
Test for HAVE_ASM_PTRACE_OFFSETS_H instead of UNW_TARGET_IA64.
Issue warning for platforms using ttrace() instead of ptrace() (HP-UX
is the only platform that does that).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
ea91dee4a8 Include "config.h" if we have it.
Include <inttypes.h> instead of <stdint.h>.  HP-UX doesn't have the latter.
Use "inline" instead of "__inline__" (the former gets properly #define'd by
config.h).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
d798e7dd07 Include "config.h" if we have it.
(_Uia64_search_unwind_table): Be sure to clear "proc_info" members as documented
	by unw_get_proc_info(3).
Include <dlfcn.h> if we have dlmodinfo() (HP-UX only).
(tdep_find_proc_info): Use dl_iterate_phdr() only if we have it (glibc-based
	systems).  Use dlmodinfo() if we have it (HP-UX).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
8033bdfd28 Include "config.h" if we have it.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
5fe7ac3ff5 (unw_set_caching_policy): Default to "global" policy if thread-local policy is
not available.

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
7bfbbb6126 (lookup_symbol): Return -UNW_ENOINFO if symbol cannot be looked up for some reason.
Return -UNW_ENOMEM if string buffer is too small.  This makes the routine
	compatible with the definition of the unw_get_proc_name(3).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
e24351b6c0 (Logical change 1.63) 2003-03-19 19:25:18 +00:00
mostang.com!davidm
3812bbdc00 Initial revision 2003-03-19 19:25:18 +00:00
mostang.com!davidm
cf9c4950bc Add include of "tdep.h".
(unwi_dyn_remote_find_proc_info): Maintain as->dyn_info_list_addr as a cache of
	the most recently obtained dyn-info-list address.

(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
5dc0e152a9 (unw_flush_cache): Also clear dyn_info_list_addr cache in the address space.
(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
63531d6f85 (struct UPT_info): Remove dyn_info_list_addr and checked_dyn_info_list_addr
members.

(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
7e7d86ade8 (_UPT_get_dyn_info_list_addr): Don't cache dyn-info-list address here. Do it
in libunwind proper instead.

(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
7a7d6113d4 Regenerate.
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
285c381cea Initial revision 2003-03-06 06:14:36 +00:00
mostang.com!davidm
00c5dee16b Include <assert.h>.
(_longjmp): Ensure that we have at least 4 exception-handling args.  (This code
	will need updating to make it work on x86, where only 2 exception handling
	args are available).
(longjmp): If we are compiling with GCC, use an alias-attribute to alias it with
	_longjmp().  This is more efficient and works around a gcc-3.2/ia64 bug
	which causes bad unwind info when a noreturn function is a last call.


(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
eeffb605f7 Include <assert.h>.
(_longjmp): Ensure that we have at least 4 exception-handling args.  (This code
	will need updating to make it work on x86, where only 2 exception handling
	args are available).

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
597f26ce83 Include "tdep.h".
(unwi_full_sigmask): Define here.
(mi_init): Initialize unwi_full_sigmask.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d098282ff5 Include "tdep.h".
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d396c31e6f Enable .resume callback.
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
6a01dbb8df Add copyright message.
(SOSLOCK): Remove
(SOSUNLOCK): Ditto.
(LOCK): Ditto
(UNLOCK): Ditto.
(sos_alloc): If HAVE_CMPXCHG is defined, use cmpxchg_ptr() to atomically allocate
	memory in a lock-free manner.  Otherwise, fall back on disabling signal
	delivery and holding the sos_lock during memory allocation.
(sos_free): Remove.
(mempool_init): Initialize pool lock.  Replace LOCK/UNLOCK with appropriate
	signal-masking & mutex_lock/unlock calls.
(mempool_free): Replace LOCK/UNLOC with appropriate signal-masking & mutex_lock/unlock
	calls.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
90c6107cae (unw_get_proc_name): Declare "offp" argument and pass it to unwi_get_proc_name().
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
51f58db9b4 (libunwind_la_SOURCES_cdep): Mention _UPT_resume.c.
Delete obsolete comment.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
43cc4c9e59 (ia64_make_proc_info): If caching is enabled, call ia64_get_cached_proc_info()
to pick up cached proc-info (if available).

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
fe0ed7dd41 (ia64_getfp): Print debug message when accessing an unsaved register.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.
(ia64_local_addr_space_init): Add missing declaration.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d3ec5e94aa (cache_match): Remove locking comments.
(ia64_get_cached_proc_info): Rename from ia64_script_lookup() and modify it so
	it directly updates the proc-info if the necessary script is in the cache.
(script_new): Remove locking comments and adjust formatting.
(ia64_find_save_locs): If global caching is enabled, mask signal delivery and
	hold the cache lock while accessing the cache.
(ia64_script_cache_init): Initialize the cache lock.


(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
515fd742bd (Logical change 1.59) 2003-03-06 06:14:36 +00:00
hp.com!davidm
57f0163a91 Auto merged
2003/03/04 16:13:44-08:00 hp.com!davidm
(EXTRA_DIST): New macro.  Mention elfxx.h and elfxx.c.  Reported by
	Arun Sharma.

(Logical change 1.58)
2003-03-05 00:13:58 +00:00
mostang.com!davidm
d6a0aa7059 Rename "epilogue_start" to "when_sp_restored".
(parse_dynamic): Fix it so it actually works.
(create_state_record_for): Initialize return_link_reg to zero.
	Don't print "no unwind info" unconditionally when UNW_DEBUG is
	in effect.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
26f95915e4 Regenerate.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
e31015f67f (Logical change 1.56) 2003-02-27 09:58:57 +00:00
mostang.com!davidm
1de6745d5b Initial revision 2003-02-27 09:58:57 +00:00
mostang.com!davidm
4001ce198a (unwi_get_proc_name): For static procedures, use get_proc_name() callback if it's
non-NULL.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
6a9c819f7f (unwi_extract_dynamic_proc_info): Clear lsda and unwind_info_size for
dynamic-info format.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
5428fc6295 (unw): Move "psp" member before "bsp_loc".
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
03950aaf01 (lookup_symbol): Print debug output only at very high debug-level.
(get_proc_name): Take "pid" argument.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
68c970298d (libunwind_la_SOURCES_cdep): Mention _UPT_get_proc_name.c.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
4c09dd6429 (intern_regions): Allow for empty region-list.
(intern_dyn_info): Skip over padding rather than fetching it.
	Start intern_regions() at address of first region, not just at the next
	sequential address.
(unwi_dyn_remote_find_proc_info): Allocate "di" dynamically (it needs to persist
	until put_unwind_info() is called).

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
77ccc28ad9 (ia64_state_record): Rename epilogue_start to when_sp_restored.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
5939c41c09 (get_static_proc_name): New function.
(ia64_local_addr_space_init): Initialize get_proc_name callback.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
a3806e7c16 (get_proc_name): Add "pid" argument.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
8bd0572f34 (build_script): Document the fact that we need IA64_REG_PSP to get compiled first.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
153f625eed (_UPTi_find_unwind_table): Double-check that punw is inside ptxt segment.
(get_unwind_info): Double-check to verify that returned dynamic-info is indeed
	for the procedure that we requested.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
cb2620b0fd (_UPT_accessors): Initialize get_proc_name callback.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
hp.com!davidm
bd93c64f01 (update_frame_state): Update the IP-cache before doing anything else.
If we reached the en of the frame-chain, then the remaining
	registers may not be valid/accessible anymore.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
1fc6f4e6b3 (unwi_dyn_remote_find_proc_info): If anything goes wrong, return -UNW_ENOINFO.
Skip over "prev_addr".  Read start/end-IP directly into the "di" structure,
	not into temporary variables.  Skip padding by directly adjusting the
	address (don't bother fetching padding values; that only slows things down).
	Return 0 only if we really did find dynamic unwind info.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
95a55361c8 (uc_addr): Allow (readonly) access to r0/nat0 to support ".save rp, r0" idiom.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
8d4f6ff52d (rbs_contains): Tighten debug output.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
54eda6d6fc (_Uia64_find_dyn_list): Add "gp" argument.
Fix typo in address-offset for the "off" variable.
	Adjust for the fact that the dyn-info list address is now gp-relative.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
5660a59ba1 (_U_dyn_info_list): Mark it as .hidden so we can do a @gprel() reloc against it.
(.info): Use @gprel() reloc instead of @segrel() reloc for _U_dyn_info_list.
	The latter doesn't work because the unwind-info is in a different segment.
(ia64_init): Clear unw.r0.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
c4b73c6198 (_UPT_get_dyn_info_list_addr): Add debug statements.
Correct pre-increment to post-increment.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
2fbf4cece7 (_UPT_access_reg): Allow reading of r0 (UNW_IA64_GR+0) to support ".save rp, r0"
idiom.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
mostang.com!davidm
31c7612938 Regenerate.
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
a3157347f9 (unwi_get_proc_name): Drop "is_local" argument. Test "as" against
"unw_local_addr_space" instead.

}(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
824ec53659 (unwi_get_proc_name): Drop "is_local" argument. Test "as" against
"unw_local_addr_space" instead.

2003/02/21 22:03:46-08:00 mostang.com!davidm
Rename: src/get_proc_name.c -> src/Gget_proc_name.c

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
3434090e32 (Logical change 1.54) 2003-02-22 08:19:43 +00:00
mostang.com!davidm
5d9d17a5e8 Initial revision 2003-02-22 08:19:43 +00:00
mostang.com!davidm
9d5c1bc580 In error messages, replace "unwind:" by "libunwind:".
(desc_prologue): Fix handling of region_start so it doesn't get corrupted by
	state-record pushing/popping.
(parse_dynamic): Allow the last region to contain a negative insn_count, indicating
	that the region covers the last portion of a procedure.

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
7412722854 (unw_get_proc_name): Drop "is_local" argument in call to unwi_get_proc_name).
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
2f852c2e12 (libunwind_la_SOURCES_common): Replace get_proc_name.c with Gget_proc_name.c and
Lget_proc_name.c.

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
hp.com!davidm
bb4f71708d Minor formatting fix.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
2b0b48fd8a (remote_install_cursor): Implement it.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
mostang.com!davidm
cb4fb05032 (rotate_gr): Only print debug info if size-of-rotating-partition is non-zero.
(rotate_fr): Only print debug info if rotation-base is non-zero.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
749cd25529 (rbs_underflow): Remove.
(rbs_contains): New function.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
0d0c84f63c (rbs_switch): Rename from rbs_record_switch() and greatly simplify it because
we now switch to the new backing-store immediately.
(rbs_underflow): Remove.
(rbs_find_stacked): No longer assume that c->bsp is contained in the current
	rbs.  If it is not, first find the backing-store that's backing c->bsp.
(rbs_cover_and_flush): Use rbs_contains() instead of (broken) open code.
	Handle the case where the initial bsp points to an RNaT slot.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
8a621f78ff (common_init): Drop initialization of c->rbs_right_edge.
Initialize size of first rbs_area[] to 1<<63 so that we can maintain
	a notion of "above" and "below".

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
77821808ab (check_rbs_switch): Mark it as "inline". Make rbs_record_switch() the last call.
(update_frame_state): Remove conditional call to rbs_underflow().

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
6af90d0df4 Regenerate.
(Logical change 1.50)
2003-02-15 08:53:55 +00:00
mostang.com!davidm
d8023cf208 (unw_set_caching_policy): Call ia64_init() first if necessary.
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
mostang.com!davidm
d55a7f7dd4 (rbs_cover_and_flush): Also update c->rnat_loc as needed.
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
mostang.com!davidm
b8c178177a (ia64_local_resume): Remove unused variable "loadrs".
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
hp.com!davidm
eb44c3a6d5 Move include of ia64intrin.h after include of "unwind_i.h".
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
ad066d35b7 Do nothing of UNW_REMOTE_ONLY is defined.
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
cd6b1537ce (unwi_get_proc_name): If UNW_REMOTE_ONLY is defined and the procedure
isn't a dynamically generated one, just punt and return
	-UNW_ENOINFO.

(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
89344cf672 (local_find_proc_info): Define only if not UNW_REMOTE_ONLY.
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
7fd45d122c (create_state_record_for): Use dprintf(), not printf().
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
mostang.com!davidm
70ee73612e Minor reformatting to make it fit in 80 cols.
(get_rnat): New function.
(rbs_cover_and_flush): Ditto.


(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
5cef5934e8 Auto merged
2003/02/13 22:21:59-08:00 mostang.com!davidm
(libunwind_la_SOURCES_ia64): Mention elf64.h.

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
32a1dc6be5 (rbs_cover_and_flush): Declare.
(_Uia64_install_context): Drop loadrs argument from declaration.

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
02c8c0cdae (ia64_local_resume): Use rbs_cover_and_flush() to linearize the contents of the
current register frame before resuming execution.  Drop loadrs argument
	from call to _Uia64_install_context().

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
03f6e9b004 (_Uia64_install_context): Drop "loadrs" argument and adjust code accordingly.
(Logical change 1.47)
2003-02-14 06:25:36 +00:00
hp.com!davidm
4dca76319d [REMOTE_ONLY]: Mention dummy "install-exec-hook".
(libunwind_la_SOURCES_cdep): Mention dyn-cancel.c and dyn-register.c.
(libunwind_la_SOURCES_common): Remove dyn-cancel.c and dyn-register.c

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
49f992ac07 Mention !UNW_REMOTE_ONLY on #else branch.
(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
7372c6cc43 (unw_flush_cache): Only uses __sync_fetch_and_add() if
HAVE_IA64INTRIN_H is defined.  Otherwise, do non-atomic
	increment (and issue compile-time warning about it).

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
3980b80e26 (is_local_addr_space): Always return 0 for UNW_REMOTE_ONLY.
(_Uia64_search_unwind_table): Add a cast to avoid compiler-warning
	when cross-compiling from a 32-bit platform.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
d7c5192ef8 (ia64_init): Don't call _Uia64_local_addr_space_init() or
_ULia64_local_addr_space_init() for UNW_REMOTE_ONLY.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
ec91b0fce5 (get_unwind_info): Remove unused arguments "pi" and "need_unwind_info".
(__UPT_find_proc_info): Adjust get_unwind_info() call accordingly.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
mostang.com!davidm
bbffb334fd include <string.h>.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
2da7f4a5a5 [UNW_TARGET_IA64]: Include elf64.h and os-linux.h.
(_UPT_get_dyn_info_list_addr): Use elf_map_image() to map the elf-image.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
425adcbda4 Rewrite.
}(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
d98aeba4cb Rewrite.
2003/02/06 14:34:06-08:00 mostang.com!davidm
Rename: src/ia64/__ia64_install_context.S -> src/ia64/_Uia64_install_context.S

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
a8db0b3fa1 Regenerate.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
824d6619b5 (Logical change 1.45) 2003-02-08 10:10:59 +00:00
mostang.com!davidm
5f94e2d488 Initial revision 2003-02-08 10:10:59 +00:00
mostang.com!davidm
b2a5a9023b Fix signed/unsigned comparisons.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
12d13835f9 Enclose ia64-specific code by UNW_TARGET_IA64.
Adjust for the fact that the image info is now tracked by "struct elf_image".
(elf64_valid_object): Delete (it's now in elfxx.c.
(_UPTi_find_uwnind_table): Don't mmap the image here.
(get_unwind_info): Use tdep_get_elf_image() to obtain the ELF image.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
52b17e2b37 (unwi_put_dynamic_unwind_info): Don't call unwi_dyn_remote_put_unwind_info() when
dealing with the local address space.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
aeb517ff8a (unwi_get_proc_name): Add "offp" argument. Call tdep_get_proc_name() to look up
procedure name for static code.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
678d3209fb (unw_resume): Rewrite to make it work for resuming execution past a signal frame
(and also simplify it).

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
42cfe4f411 (unw_get_proc_name): Add "offp" argument.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
bebd76e90b (struct UPT_info): Replace image/image_size members by "struct elf_image" member.
(struct map_iterator): Delete (moved to os-linux.h).
(maps_init): Ditto.
(maps_next): Ditto.
(maps_close): Ditto.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
7377d07464 (ia64_access_reg): When writing UNW_REG_IP, invalidate the proc_info if the new
IP is outside the range of the old procedure.
	When writing one of the exception argument registers, track the update
	in c->eh_valid_mask.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
7e29f92baa (common_init): Don't initialize eh_args[] pro-actively; do it lazily.
Clear eh_valid_mask to zero.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
be592ddeb2 (_Uia64_search_unwind_table): Return a valid gp-value in the proc-info even when
there is no other unwind-info.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
ebed1d6b82 (_Uia64_install_context): Rename from __ia64_install_context(). Change signature.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
1d8de85964 (_UPT_access_mem): Fix typo in debug statement.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
ad7f1470e3 (SETJMP_SO_VERSION): New macro.
(lib_LTLIBRARIES_cdep): Ditto.
(libunwind_setjmp_la_SOURCES_common): Ditto.
(libunwind_setjmp_la_LDFLAGS): Ditto.
(libunwind_setjmp_la_LIBADD): Ditto.
(libunwind_setjmp_la_SOURCES_ia64): Ditto.
(libunwind_setjmp_la_SOURCES_hppa): Ditto.
(libunwind_setjmp_la_SOURCES_x86): Ditto.
(libunwind_la_SOURCES_os): Define for OS_LINUX.
(libunwind_la_SOURCES_ia64): Mention elf64.c.
(AM_CPPFLAGS): Include from current working directory as well.
(AM_CCASFLAGS): Define to be the same as AM_CPPFLAGS.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
17220411d4 (_UPT_access_reg): Fix typo in debug() statements.
(Logical change 1.44)
2003-01-28 07:32:15 +00:00
hp.com!davidm
a69cf3deb9 Regenerate.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
e9e4e5fb29 (Logical change 1.43) 2003-01-28 03:40:06 +00:00
hp.com!davidm
b064eb4574 Initial revision 2003-01-28 03:40:06 +00:00
hp.com!davidm
0d4634d8fe (unw_get_save_loc): Rename AR_25 to AR_CSD.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
e1e36dfdf6 (rotate_gr): When rotating an out-of-frame register, return the original register
number, not -1.  Otherwise, the wrong error gets propagated to the user.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
74ee8e48f0 (libunwind_la_SOURCES_cdep): New macro. Mention _UPT routines.
(libunwind_la_SOURCES_common): Mention libunwind_la_SOURCES_cdep.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
3837469eec (intern_string): Change type of "i" to unsigned, to avoid compiler-warning.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
ef0b937c87 (intern_regions): Change type of "i" to be unsigned, to avoid compiler-warning.
(intern_array): Ditto.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
6da7fc2511 (ia64_scratch_loc): Rename AR_25 to AR_CSD.
(ia64_access_reg): Ditto.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
1f6bf48b5c (_Uia64_search_unwind_table): Rename from tdep_search_unwind_table().
(_Uia64_get_kernel_table): Rename from get_kernel_table() and make it global.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
4df2088f8a (SIGCONTEXT_AR_CSD_OFF): Rename from SIGCONTEXT_AR_25_OFF.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
mostang.com!davidm
93bfdaa128 Regenerate.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
83893355b0 (update_frame_state): Handle "cfm" cache.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
8bff7ccc92 (rotate_gr): Take advantage of "cfm" cache.
(rotate_fr): Ditto.
(pr_ltop): Ditto.
(pr_ptol): Ditto.

(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
4368ea4a70 (ia64_get_stacked): Make sure returned rnat-location is valid, too.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
e30bf11e2c (ia64_access_reg): Handle "cfm" cache.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
a89e112a32 (common_init): Initialize "cfm" cache.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
7ec3afd8db Minor reformatting.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
31fbd34d9c (unw_get_save_loc): rotate_gr() expects a register number in the range r32-r127.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
d5370fb25c (rbs_record_switch): Fix it so it stands a chance of working in all cases.
(rbs_underflow): Ditto.
(rbs_find_stacked): Ditto.

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
eacf0e24e1 (rbs_find_stacked): Renamed from rbs_find_reg.
(ia64_get_stacked): Expect a register number (32-127), not a skip-count.

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
3b6290bef2 (create_state_record_for): Fix thinko in test whether bsp/bspstore/rnat have been
saved.

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
73fd3a8d4a (compile_reg): store register number for MOVE_STACKED.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
570c6e399a (common_init): bspstore needs to be initialized from c->bspstore_loc.
Adjust for renaming in "struct cursor".

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
ad8830e9ce (check_rbs_switch): New function. Split-off from update_frame_state().
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
a356356660 (access_nat): rotate_gr() expects a register number in the range r32-r127.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
1efaaab46e (Logical change 1.40) 2003-01-21 17:41:20 +00:00
mostang.com!davidm
81d01dfc27 Initial revision 2003-01-21 17:41:20 +00:00
mostang.com!davidm
ca50cf6354 Begin to support resuming execution beyond a signal handler frame (not working yet).
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
4f231eb84a Add copyright notice.
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
56f367ca9c (update_frame_state): Update c->sigcontext_off so unw_resume() can reconstruct the
original stack-pointer from c->sigcontext_loc.
	Handle rbs-switches for Linux signal deliver on alternate signal stack and
	for general case, indicated by UNW_PI_FLAG_IA64_RBS_SWITCH.
	Call rbs_underflow() when we detect a register-backing-store underflow.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
7aaa1e995a (unw_regname0: Use NELEMS() instead of corresponding open code.
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
644a56edfc (unw_init_local): Add comment as to why we can assume initial register window is
contiguous.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
3f3215952d (unw_get_save_loc): Use ia64_get_stacked() and don't forget to rotate stacked
registers before accessing them.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
29fbe1c0bc (uc_addr): Correct value returned for AR_BSPSTORE.
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
7c6f9ccd2c (run_script): Use ia64_get_stacked() to access stacked register & don't forget to
rotate stacked registers.


(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
5a55c1d8a8 (rbs_record_switch): New function.
(rbs_underflow): Ditto.
(rbs_find_reg): Ditto.
(ia64_get_stacked): Ditto.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
ea0a71ab32 (ia64_local_resume): Begin to support unw_resume() that goes across a signal
(not complete yet).

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
a393d743f0 (finish_prologue): use NELEMS() instead of corresponding open code.
(create_state_record_for): Turn on UNW_PI_FLAG_IA64_RBS_SWITCH when a procedure
	has saved all of ar.bsp, ar.bspstore, and ar.rnat.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
03db644db3 (common_init): Drop initialization of top_rnat_loc and rbs_top. Initialize
rbs_curr, rbs_wridx, rbs_nvalid, and rbs_area[0] instead.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
3ead93703a (access_nat): use ia64_get_stacked() to access stacked register & don't forget
to rotate stacked regs.
(ia64_access_reg): Ditto.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
427c1894c2 (SOVERSION): Increment "current" to reflect change in size of unw_cursor_t.
(libunwind_la_SOURCES_ia64): Mention rbs-ia64.c.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
2212e1276b Fix comment for ia64_rse_num_regs().
(Logical change 1.39)
2003-01-21 08:08:32 +00:00
mostang.com!davidm
cb8d20c098 (unw_regname): Use NELEMS() instead of open code.
(Logical change 1.39)
2003-01-21 08:08:32 +00:00
mostang.com!davidm
0440c53608 Fix checkin lossage.
(Logical change 1.37)
2003-01-17 18:12:55 +00:00
mostang.com!davidm
8ec7b349f1 Initial revision 2003-01-14 07:11:56 +00:00
mostang.com!davidm
f6c7a65fdb (libunwind_la_SOURCES_hppa): New macro.
(libunwind_la_SOURCES_x86): Move outside of "if ARCH_X86" conditional.

(Logical change 1.33)
2003-01-14 07:11:56 +00:00
mostang.com!davidm
6d611572ef (Logical change 1.33) 2003-01-14 07:11:56 +00:00
mostang.com!davidm
003246a5ba Rename: src/mempool.h -> include/mempool.h
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
e107c723e0 Rename: src/ia64/set_caching_policy.c -> src/ia64/set_caching_policy-ia64.c
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
1206ec9321 Rename: src/ia64/set_caching_policy.c -> src/ia64/set_caching_policy-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
0f1fc193c5 Rename: src/ia64/destroy_addr_space.c -> src/ia64/Gdestroy_addr_space.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
f977aba30b Rename: src/ia64/create_addr_space.c -> src/ia64/Gcreate_addr_space.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
3f320f8191 Rename: src/ia64/Lget_accessors.c -> src/ia64/Lget_accessors-ia64.c
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
ced635f45a Rename: src/ia64/Lget_accessors.c -> src/ia64/Lget_accessors-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
c26a876b81 Rename: src/ia64/Gcreate_addr_space.c -> src/ia64/Gcreate_addr_space-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
993e757967 Rename: src/get_proc_name-ia64.c -> src/get_proc_name.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
692d6c6956 Rename: src/dyn-remote-ia64.c -> src/dyn-remote.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
c99441aafa Rename: src/dyn-extract-ia64.c -> src/dyn-extract.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
769bfe8a7c Rename: src/dyn-cancel-ia64.c -> src/dyn-cancel.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
bf2c17061f Rename: src/Lput_dynamic_unwind_info-ia64.c -> src/Lput_dynamic_unwind_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
ef0f4b583a Rename: src/Lfind_dynamic_proc_info-ia64.c -> src/Lfind_dynamic_proc_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
2251685cae Rename: src/Gput_dynamic_unwind_info-ia64.c -> src/Gput_dynamic_unwind_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a35b8d4710 Rename: src/Gfind_dynamic_proc_info-ia64.c -> src/Gfind_dynamic_proc_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00