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

2552 commits

Author SHA1 Message Date
hp.com!davidm
bc09a82735 ia64: Allow write-access to UNW_IA64_BSP and UNW_IA64_SP.
Writing UNW_IA64_BSP and UNW_IA64_SP can wreak havoc if not done
properly but can also be extremely useful when done correctly.  For
example, the Linux kernel can use this to update a cursor with the
MIN_STATE info which is saved by firmware due to an MCA or INIT event.

BKrev: 428e03020AqYSMZEt1Q3cCPH0Bj2eA
2005-05-20 15:32:18 +00:00
hp.com!davidm
2211958a9c UNW_IA64_SP and UNW_IA64_BSP are no longer read-only.
(Logical change 1.303)
2005-05-20 15:32:18 +00: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
11f4871570 Regenerate.
(Logical change 1.303)
2005-05-20 15:32:18 +00:00
hp.com!davidm
36a0275014 Allow write-access to UNW_IA64_BSP and UNW_REG_SP.
(Logical change 1.303)
2005-05-20 15:32:18 +00:00
hp.com!davidm
7c986f6190 ia64: Fix typo in kernel-files.txt.
BKrev: 428e01ddAjr7CJzIA23i8dwJQ5ueug
2005-05-20 15:27:25 +00:00
hp.com!davidm
41db9a8a35 Adjust for renaming of ia64 -> tdep-ia64.
(Logical change 1.302)
2005-05-20 15:27:25 +00:00
hp.com!davidm
4591d090c5 ia64: Use update_nat() instead of equivalent open code in tdep_access_reg().
BKrev: 428dfb26foOQZSriLQ73ORqI0P8TQQ
2005-05-20 14:58:46 +00:00
hp.com!davidm
cf2a44ca49 Use update_nat() instead of equivalent open code.
(Logical change 1.301)
2005-05-20 14:58:46 +00:00
hp.com!davidm
2bc0aee843 ia64: Allow r1 to be saved in an ABI-specific frame.
This makes core-dumps contain the proper (user-level) value for r1
when using libunwind in the kernel.

BKrev: 428df94ebHSJQTkoDgFiQ_XgzkMxhg
2005-05-20 14:50:54 +00:00
hp.com!davidm
f5de64f9f7 If r1 has been saved in an ABI-specific frame
(such as an interrupt frame), access the saved
value.  Otherwise, pick it up from the unwind-info
for the matching IP.

(Logical change 1.300)
2005-05-20 14:50:54 +00:00
hp.com!davidm
5b1dfeca70 ia64: Remove some dead code.
BKrev: 428df06dTtluXFSTIb7fU0BDyt7ZMw
2005-05-20 14:13:01 +00:00
hp.com!davidm
399f120c96 Drop unused readonly variable.
(Logical change 1.299)
2005-05-20 14:13:01 +00:00
hp.com!davidm
2c08119b53 ia64: Drop early-out-on-zero-IP from unw_step()
The early-out causes problems in the kernel, which wants to unwind to the
end of the kernel-stack (i.e., until IP==0) and then access the user-level
state.

BKrev: 428de7a4kGcNmG2Tv5tDJMbQmqXO4w
2005-05-20 13:35:32 +00:00
hp.com!davidm
3fa950e818 Remove early-out test when IP is zero.
(Logical change 1.298)
2005-05-20 13:35:32 +00:00
hp.com!davidm
3b7eb49469 ia64: Introduce rbs_get_base() to simplify Linux kernel integration.
In the Linux kernel, we want to track the size of all register-backing stores
so we can protect against illegal memory accesses.  Enable this by introducing
an rbs_get_base() macro.

BKrev: 428de263-syBtG-G9-mlstg074gvtA
2005-05-20 13:13:07 +00:00
hp.com!davidm
19e3bf3ea6 (rbs_switch): Use rbs_get_base() to determine the size of the register
backing store.

(Logical change 1.297)
2005-05-20 13:13:07 +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
9724ac492c (common_init): Use rbs_get_base() to determine size of register-backing store.
(Logical change 1.297)
2005-05-20 13:13:07 +00:00
hp.com!davidm
8236491807 ia64: Add Linux kernel support to unw_init_local().
As a side-effect, this gets rid of an ugly hack where unw_init_local() used
to overwrite sc_rbs_base in the ucontext_t.

BKrev: 428ddc7flum3n06RgXZ5vnW9H6qEjA
2005-05-20 12:47:59 +00:00
hp.com!davidm
080f8423d9 Read sp and bsp via ia64_get() and then pass them to common_init().
(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
50bbc1fe3d (set_as_arg): New function.
(get_initial_stack_pointers): Likewise.
(unw_init_local): Use new functions to make code more readable and add
	Linux kernel support.

(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
84bd124a24 (inlined_uc_addr): Remove UNW_IA64_AR_BSP. We no longer need this ugly hack
since the initial BSP is now passed directly into common_init().

(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
4992f1c936 (common_init): Take initial sp and bsp values as arguments instead of
reading them via ia64_get().

(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
6ad2531a11 Remove Ginit.c. Kernel doesn't use it anymore.
(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
96c8c511fe Move around a few more things to ease kernel-integration. No functional changes.
BKrev: 428dc9d01iJMLbH7c82d_DctwhahoQ
2005-05-20 11:28:16 +00:00
hp.com!davidm
97b483dcaa Drop include of "mempool.h", which causes problems in the kernel, due to
a conflicting <linux/mempool.h>.
(SOS_MEMORY_SIZE): Move to libunwind_i.h.

(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
1b63be3f89 (parse_dynamic): Make it a dummy-function of _U_dyn_op isn't defined, i.e.,
if libunwind-dynamic.h isn't in use (as is the case for the kernel at
	the moment).

(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
7894f0edc0 (ia64_strloc): Move to Grbs.c.
(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
96407911ee (ia64_strloc): Move here from Ginit.c so it can be shared with the kernel.
(Logical change 1.295)
2005-05-20 11:28:16 +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
c762d7645f Shuffle around include files to make it easier to use libunwind in the Linux
kernel.
Fix x86 and x86-64 to build again.

BKrev: 428db2583bUUTrmj2-oB8ugdGh4INQ
2005-05-20 09:48:08 +00:00
hp.com!davidm
c4a2f46b6a Replace tdep.h symlink with tdep symlink.
(Logical change 1.294)
2005-05-20 09:48:08 +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
2e35dd035c Regenerate.
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
d0cf8551fe Move target-specific headers into tdep-$(arch).
(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