1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-15 20:58:13 +01:00
Commit graph

947 commits

Author SHA1 Message Date
mostang.com!davidm
5de4b351e7 (struct map_iterator): Add members "buf_size", "buf", and "buf_end".
(maps_init): Try to mmap() a one-page buffer and, if successful,
	initialize the new map_iterator members based on it.
(maps_next): If the one-page buffer is available, use it to read
	/proc/PID/maps.  This avoids expensive lseek() calls which,
	in the case of /proc lead to T(n) = O(n^2) behavior.

(Logical change 1.208)
2004-04-21 03:56:06 +00:00
mostang.com!davidm
c1f430663c (tdep_init): Use an assertion instead of relying on compile-time
optimization to verify that unw_hash_index_t is wide
	enough.

(Logical change 1.207)
2004-04-20 23:46:44 +00:00
mostang.com!davidm
db24e76397 (mi_init): Use assertion instead of relying on compiler-optimization
to verify that unw_cursor_t is big enough to contain a
	cursor.

(Logical change 1.207)
2004-04-20 23:46:44 +00:00
hp.com!davidm
2de1768e52 Regenerate.
(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
36c7442db3 (Logical change 1.205) 2004-04-20 16:53:44 +00:00
hp.com!davidm
662957d585 Initial revision 2004-04-20 16:53:44 +00:00
hp.com!davidm
d512dc0daa Auto merged
2004/04/20 09:53:04-07:00 hp.com!davidm
(validate_cache): If HAVE_DL_PHDR_REMOVALS_COUNTER is defined, use
	dl_phdr_removals_counter() to validate the cache.  This is
	much more efficient than using dl_iterate_phdr(), since it
	avoids locking.

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
36e094230c (intern_string): Cast buf-pointer to int8_t* to shut up Intel
compiler warning.

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
hp.com!davidm
ed32b99716 (SOVERSION): Change from 2:0:1 to 3:0:2.
(COMMON_SO_LDFLAGS): New macro.
(libunwind_setjmp_la_LDFLAGS): Mention $(Common_SO_LDFLAGS).
(libunwind_ia64_la_LDFLAGS): Likewise.
(libunwind_hppa_la_LDFLAGS): Likewise.
(libunwind_x86_la_LDFLAGS): Likewise.
(libunwind_la_LDFLAGS): Likewise.
(libunwind_setjmp_la_LIBADD): Mention -lc.
(libunwind_ia64_la_LIBADD): Likewise.
(libunwind_hppa_la_LIBADD): Likewise.
(libunwind_x86_la_LIBADD): Likewise.
(libunwind_la_LIBADD): Likewise.
(libunwind_la_SOURCES_ia64): Mention mi/_ReadULEB.c and mi/_ReadSLEB.c.
	They are needed for Intel 8.0 libunwind.so compatibility. ;-(

(Logical change 1.205)
2004-04-20 16:53:44 +00:00
mostang.com!davidm
b8eefeac32 (validate_cache): Mask signal-delivery during dl_iterate_phdr().
(tdep_find_proc_info): Likewise.

(Logical change 1.203)
2004-04-01 08:09:28 +00:00
mostang.com!davidm
d3fad3af12 (dwarf_find_proc_info): Mask signal-delivery during dl_iterate_phdr().
(Logical change 1.203)
2004-04-01 08:09:28 +00:00
mostang.com!davidm
93d627ef87 (desc_alias): New function.
(parse_dynamic): Handle UNW_DYN_ALIAS via desc_dynamic().

(Logical change 1.201)
2004-04-01 06:01:53 +00:00
mostang.com!davidm
df77cf1ad7 (tdep_get_elf_image): Pass sizeof buffer to maps_next().
(Logical change 1.199)
2004-03-31 07:38:06 +00:00
mostang.com!davidm
64c702cea7 (ltoa): New inline function.
(skip_whitespace): Likewise.
(scan_hex): Likewise.
(scan_dec): Likewise.
(scan_char): Likewise.
(scan_string): Likewise.
(maps_init): Avoid stdio operations since they're not async-signal
	safe.
(maps_next): Likewise.
(maps_close): Likewise.

(Logical change 1.199)
2004-03-31 07:38:06 +00:00
mostang.com!davidm
fe9d715071 (get_proc_name): Minor whitespace fixes.
(Logical change 1.199)
2004-03-31 07:38:06 +00:00
mostang.com!davidm
18222990f2 (_UPT_get_dyn_info_list_addr): Pass size of path to maps_next().
(Logical change 1.199)
2004-03-31 07:38:06 +00:00
mostang.com!davidm
50160e1df1 Remove perf-tuning code, make it fit in 80 columns.
(Logical change 1.195)
2004-03-31 00:41:59 +00:00
hp.com!davidm
2b07d73a5a Temporarily add various test-cases which help with performance-tuning.
(Logical change 1.193)
2004-03-30 22:50:23 +00:00
hp.com!davidm
74f73e711e (IA64_SC_FLAG_SYNCHRONOUS_BIT): New macro.
(SC_FLAGS): New macro.
(rTMP): Move from r14 to r10.
(rPOS): Move from r14 to r11.
(rCPOS): Move from r17 to r14.
(rNAT): Move from r18 to r15.
(rFLAGS): New macro.

(Logical change 1.193)
2004-03-30 22:50:23 +00:00
hp.com!davidm
4e9c3fb503 Rename: src/backtrace.c -> src/mi/backtrace.c
}(Logical change 1.192)
2004-03-30 01:56:19 +00:00
hp.com!davidm
14e36a6a51 Rename: src/backtrace.c -> src/mi/backtrace.c
(Logical change 1.192)
2004-03-30 01:56:19 +00:00
hp.com!davidm
5fa489ba06 Regenerate.
(Logical change 1.192)
2004-03-30 01:56:19 +00:00
hp.com!davidm
3a95b3c641 Initial revision 2004-03-30 01:56:19 +00:00
hp.com!davidm
a50c7801bd (libunwind_la_SOURCES_local): Mention mi/backtrace.c.
(Logical change 1.192)
2004-03-30 01:56:19 +00:00
mostang.com!davidm
5c811e86b0 Move flushsrs into a better position (after most of the prefetching
stores are done) to maximize overlap of memory misses.

(Logical change 1.191)
2004-03-28 00:24:33 +00:00
mostang.com!davidm
a77f17b0b7 (GR): New macro.
(BR): Likewise.
(FR): Likewise.
(_Uia64_getcontext): Tweak for slightly better cold-cache performance.

(Logical change 1.190)
2004-03-27 09:25:58 +00:00
mostang.com!davidm
cb9fde199b (_Uia64_get_kernel_table): Fix it so it actually makes some sense
again.

(Logical change 1.189)
2004-03-27 06:36:15 +00:00
hp.com!davidm
53a56cb759 (_Uia64_get_kernel_table): Only call get_kernel_table() if we do not already
have the kernel table.

(Logical change 1.188)
2004-03-27 01:25:56 +00:00
mostang.com!davidm
2a302e5148 Regenerate.
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
89b3ee87a9 (Logical change 1.186) 2004-03-20 09:54:28 +00:00
mostang.com!davidm
412615853d Initial revision 2004-03-20 09:54:28 +00:00
mostang.com!davidm
70b89e24f3 (uc_addr): Move to unwind_i.h.
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
c8dfaca5a0 (par_dynamic): Fix typo in call to ia64_free_state_record().
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
0c923f12b0 (libunwind_la_SOURCES_ia64): Mention getcontext-ia64.S.
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
76b4736bde (inlined_uc_addr): New function.
(uc_addr): Moved to here from Ginit-ia64.c and added a special
	case when the register is constant.
(IA64_REG_LOC): Use uc_addr() instead of tdep_uc_addr().
(IA64_REG_NAT_LOC): Likewise.
(IA64_FPREG_LOC): Likewise.

(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
bd286e3260 (ia64_install_cursor): Correct NEW_SYSCALL-stub.
(Logical change 1.186)
2004-03-20 09:54:28 +00:00
mostang.com!davidm
756aefe909 (common_init): Mark it as ALWAYS_INLINE. Spell out initialization
of F16-F31 so they can be inlined in the local case.

(Logical change 1.186)
2004-03-20 09:54:28 +00:00
hp.com!davidm
fc7cd7c4bc Whitespace fix.
(Logical change 1.185)
2004-03-20 06:27:55 +00:00
hp.com!davidm
d8715c0e28 (build_script): Fix typo which caused case to fail where primary UNaT
was saved in a register only.

(Logical change 1.185)
2004-03-20 06:27:55 +00:00
mostang.com!davidm
eed0c54d28 (run_script): Remove erroneous calls to rotate_gr(). The unwind
directives specify physical stacked register numbers and
	the register-backing store always represents physical
	registers, so it was wrong to rotate here.

(Logical change 1.184)
2004-03-19 08:18:44 +00:00
hp.com!davidm
f59f60f9ce Tweak debug-levels a bit.
(Logical change 1.183)
2004-03-19 02:38:39 +00:00
hp.com!davidm
43db353753 (access_nat): Check for fp-location first and also do a direct get/put if
the NaT-location is a NaT-register.

(Logical change 1.183)
2004-03-19 02:38:39 +00:00
hp.com!davidm
e2b1175c3c (unw_is_signal_frame): Don't forget to call ia64_free_state_record() after
we're done with the state-record.

(Logical change 1.182)
2004-03-19 02:35:27 +00:00
hp.com!davidm
2cdea99143 (parse_dynamic): Free old state-record before creating new one.
(Logical change 1.182)
2004-03-19 02:35:27 +00:00
mostang.com!davidm
7c7bcebcc0 (unw_get_save_loc): New variable "nat_bitnr".
Adjust NaT-bit handling.  Much simpler now.
	Pass NULL as new third argument to ia64_scratch_loc().
	Set save_loc->extra.nat_bitnr to the NaT bit number (or 0
	when not accessing a NaT bit).

(Logical change 1.181)
2004-02-27 08:54:25 +00:00
mostang.com!davidm
ebe6b21c93 (uc_addr): Add "nat_bitnr"-pointer argument. Handle preserved
NaT-bit registers.
(tdep_uc_addr): Add "nat_bitnr"-pointer argument.
(access_reg): Pass NULL as third argument to uc_addr().
(access_fpreg): Likewise.

(Logical change 1.181)
2004-02-27 08:54:25 +00:00
mostang.com!davidm
5de460718c (remote_install_cursor): Pass NULL to third argument of
tdep_uc_addr().

(Logical change 1.181)
2004-02-27 08:54:25 +00:00
mostang.com!davidm
41db5ace19 (rbs_find): Delete---it's no longer needed.
(Logical change 1.181)
2004-02-27 08:54:25 +00:00
mostang.com!davidm
50488aece3 (linux_scratch_loc): Add "nat_bitnr"-pointer argument.
Handle NaT-bit registers by returning not just the
	NaT-word address, but also the NaT-bit number.
(hpux_scratch_loc): Add "nat_bitnr"-pointer argument.
(ia64_scratch_loc): Likewise.
(access_nat): Add "nat_bitnr" argument.  Rename "loc" to "nat_loc".
	Greatly simplify now that we have the NaT-word and the
	NaT bit-number readily available.
(access_reg): Pass NaT-bit number to access_nat().
	Handle scratch NaT-bit registers in a more generic fashion,
	now that we can.  Adjust all calls to ia64_scratch_loc() for
	third argument.

(Logical change 1.181)
2004-02-27 08:54:25 +00:00
mostang.com!davidm
9316bbb8f4 (enum ia64_script_insn_opcode): Moved to here from script.h.
Added operations IA64_INSN_ADD_PSP_NAT, IA64_INSN_ADD_SP_NAT,
	IA64_INSN_MOVE_NAT, IA64_INSN_MOVE_NO_NAT,
	IA64_INSN_MOVE_STACKED_NAT, IA64_INSN_MOVE_STACKED_NAT,
	IA64_INSN_MOVE_SCRATCH_NAT, and IA64_INSN_MOVE_SCRATCH_NO_NAT.
(emit_nat_info): Remove---it's no longer needed.
(compile_reg): Emit special op-codes when compiling a preserved
	static register, such that it's NaT-info can be updated.
(set_nat_info): New function.
(run_script): Implement new script instructions.

(Logical change 1.181)
2004-02-27 08:54:25 +00:00