mostang.com!davidm
99b6fe2870
Add minimal x86 unwind support. The code is good enough to pass tests/bt, but
...
not much else. It can only unwind through functions with a frame-pointer (i.e.,
it does not use DWARF2 unwind info yet).
BKrev: 3e017262rBxRgRARXf-6VxhaVepPsA
2002-12-19 07:16:50 +00:00
mostang.com!davidm
dfa2c41cdf
(unw_destroy_addr_space): Make it a no-op for UNW_LOCAL_ONLY.
...
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gdestroy_addr_space.c -> src/ia64/Gdestroy_addr_space-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
4f5950ae7b
(unw): Move to global-ia64.c.
...
(tdep_uc_addr): "Rename" from _Uia64_uc_addr().
(_U_dyn_info_list): Move to global-ia64.c.
(ia64_init): Move to global-ia64.c.
(ia64_local_addr_space_init): New function.
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
89c97f37ee
(unw): Move to global-ia64.c.
...
(tdep_uc_addr): "Rename" from _Uia64_uc_addr().
(_U_dyn_info_list): Move to global-ia64.c.
(ia64_init): Move to global-ia64.c.
(ia64_local_addr_space_init): New function.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Ginit.c -> src/ia64/Ginit-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
db59d4f98f
(struct cursor): Rename from "struct ia64_cursor".
...
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
3ae9b81f52
(libunwind_la_SOURCES_common): Drop dyn-local.c, mention mi-init.c, mempool.c.
...
(libunwind_la_SOURCES_x86): Add.
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
20a6c1adf1
(get_accessors): Make it an arch-obj.
...
(flush_cache): Ditto.
(set_caching_policy): Ditto.
(regname): Ditto.
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
93daa3b08d
(UNW_TARGET_IA64): Define.
...
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
bf070a994a
(UNW_DEBUG): Move here from ia64/unwind_i.h
...
(debug): Ditto.
(dprintf): Ditto.
(inline): Ditto.
(mi_init): Declare.
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a85267d16b
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
68f77774e6
Move declration of _U_dyn_info_list to src/ia64/Ginit.c so each platform can do its
...
own magic. Define _Uia64_find_dyn_list() as a helper routine for implementing
the get_dyn_info_list_addr().
BKrev: 3e000530-YiHvkTR7eXFehxli5T5jA
2002-12-18 05:18:40 +00:00
mostang.com!davidm
3ec98c2032
Delete: src/dyn-local.c
...
}(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
4bbf588c89
(_Uia64_find_dyn_list): New ia64-specific helper routine to locate the dynamic-info
...
list address in an unwind-table.
(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
1c8ee38936
(_Uia64_find_dyn_list): Declare and document this ia64-specific helper routine.
...
(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
3df8a3ce23
(_U_dyn_info_list): Move declaration to here from src/dyn-local.c.
...
(unwind-table entry for _U_dyn_info_list): Ditto (it's ia64-specific, so it can't
be in src/dyn-local.c).
(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
39b1d3a61f
Use unw_get_proc_name() to obtain procedure name (if available).
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
3076501b06
Rename: src/ia64/Lset_reg.c -> src/ia64/Gset_reg.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
bae8873816
Rename: src/ia64/Lset_reg.c -> src/ia64/Gset_reg.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
bc62754a1a
Rename: src/ia64/Lset_fpreg.c -> src/ia64/Gset_fpreg.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
a2375f43ed
Rename: src/ia64/Lset_fpreg.c -> src/ia64/Gset_fpreg.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
94a6c8ca03
Rename: src/ia64/Lset_caching_policy.c -> src/ia64/Gset_caching_policy.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
8c8717dda7
Rename: src/ia64/Lset_caching_policy.c -> src/ia64/Gset_caching_policy.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
f176e2eb2a
Rename: src/ia64/Linit_remote.c -> src/ia64/Ginit_remote.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
8f0b7818e7
Rename: src/ia64/Linit_remote.c -> src/ia64/Ginit_remote.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
e8e1af0a88
Rename: src/ia64/Linit_local.c -> src/ia64/Ginit_local.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
064904ebce
Rename: src/ia64/Linit_local.c -> src/ia64/Ginit_local.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
638d2f9eb3
Rename: src/ia64/Lget_save_loc.c -> src/ia64/Gget_save_loc.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
1381978b0e
Rename: src/ia64/Lget_save_loc.c -> src/ia64/Gget_save_loc.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
4a23fc2d5e
Rename: src/ia64/Lget_reg.c -> src/ia64/Gget_reg.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
86107764e3
Rename: src/ia64/Lget_reg.c -> src/ia64/Gget_reg.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
ea6147c870
Rename: src/ia64/Lget_fpreg.c -> src/ia64/Gget_fpreg.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
b39ffb00e9
Rename: src/ia64/Lget_fpreg.c -> src/ia64/Gget_fpreg.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
d0e344024c
Rename: src/ia64/Lflush_cache.c -> src/ia64/Gflush_cache.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
7e60eb19b6
Rename: src/ia64/Lflush_cache.c -> src/ia64/Gflush_cache.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
96eeae58bd
Rename: src/ia64/Ldestroy_addr_space.c -> src/ia64/Gdestroy_addr_space.c
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
01f9b269b2
Rename: src/ia64/Ldestroy_addr_space.c -> src/ia64/Gdestroy_addr_space.c
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
51e4d34075
Regenerate.
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
78306c6f14
Move pthread-locking stuff to "internal.h".
...
(_U_dyn_info_list_lock): Rename from "registration_lock" and change from r/w-lock
to a simple mutex (spin) lock.
(_U_dyn_register): Insert into doubly-linked list.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
12f30d6481
Move enum ia64_pregnum and struct unw_addr_space to tdep-ia64.h.
...
(IA64_FLAG_SIGTRAMP): Replace with is_signal_frame member.
(IA64_FLAG_BIG_ENDIAN): Replace with per-address space big_endian flag.
(struct ia64_cursor): Add pi_valid and pi_is_dynamic members.
(ia64_find_proc_info): Add "need_unwind_info" argument.
(ia64_put_unwind_info): New macro.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
793c8a3005
Initial revision
2002-12-12 09:17:41 +00:00
mostang.com!davidm
86f8635442
Finish (almost) dynamic registration support. Summary of API changes:
...
- the proc_name member has been removed from unw_proc_info_t because it
caused memory-management issues
- unw_get_proc_name(): new routine to look up the name of a procedure
(if available)
- unw_create_addr_space() now takes an additional byte-order argument
- new accessor callbacks:
put_unwind_info() to release memory allocated by find_proc_info()
get_dyn_info_list_addr() to lookup the address of the dynamic
registration-list
BKrev: 3df85435qyOszxDiLfsgzfB4lSF6IA
2002-12-12 09:17:41 +00:00
mostang.com!davidm
d3147b1f2c
Encode the address of _U_dyn_info_list in a special (no-op) unwind-table entry,
...
so that a remote-unwinder can find it.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
75c710131e
Delete: src/dyn-common.h
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
83fca930d8
Compile only if UNW_REMOTE_ONLY is not defined.
...
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
744b910408
Clarify comment on how when to use a pointer type and when to use unw_word_t.
...
(unw_dyn_info_format_t): New type.
(unw_dyn_op): Decrease "tag" from 16 to 8 bits, ditto for "qp" member.
(unw_dyn_proc_info): Change "name" pointer to "name_ptr" value (unw_word_t) and
make padding explicit.
(unw_dyn_table_info): Change "name" pointer to "name_ptr" value. Rename
"table_size" to "table_len" and change type of table_data from
void * to "unw_word_t *".
(unw_dyn_info): Switch to doubly-linked list so _U_dyn_cancel() can be O(1).
Change type of "format" member from enum to int32_t. Make padding explicit.
(unw_dyn_info_list): Make "generation" member 32 bits wide. Add "version" member
to enable future extensions to the dynamic info list.
(_U_dyn_register): Don't return anything (it can't fail).
(_U_dyn_cancel): Ditto.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
639ba64f8e
Always create a symlink from target's libunwind.h to libunwind.h (it only gets
...
for the local case, of course).
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
c5307b2398
Adjust for big file-rename.
...
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
924b1764b2
Adjust for big file-rename.
...
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_step.c -> src/ia64/Lstep.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
50cae0e222
Adjust for big file-rename.
...
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_set_reg.c -> src/ia64/Lset_reg.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
74bd7af8b5
Adjust for big file-rename.
...
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_set_fpreg.c -> src/ia64/Lset_fpreg.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00