David Mosberger-Tang
6daeeac60a
Revert "Initial revision"
...
This reverts e6446885f4
commit.
2006-07-26 14:53:49 -06:00
David Mosberger-Tang
a369768c27
Revert "Initial revision"
...
This reverts 06d223e924
commit.
2006-07-26 14:47:44 -06:00
David Mosberger-Tang
ca69fee8bb
Merge ../libunwind-v0.98
...
Conflicts:
include/dwarf_i.h
include/x86/jmpbuf.h
include/x86_64/jmpbuf.h
src/hppa/init.h
src/mi/Gget_fpreg.c
src/mi/Gset_fpreg.c
src/mi/strerror.c
2006-07-25 21:41:43 -06:00
David Mosberger-Tang
af2503e223
Fix bug in libunwind-ptrace which can cause reading of random data.
...
(maps_next): After reading less than a full buffer of data, copy
remaining data to the top of the buffer so as to maintain the
invariant that all data between mi->buf and mi->buf_end is valid.
This avoids maps_next() parsing uninitialized data.
2006-07-25 21:35:30 -06:00
David Mosberger-Tang
cbd8648b33
Make libunwind compile with recent versions of GAS.
...
Don't test read-only access to F0 and F1 registers --- according to
the SCRA manual, those locations cannot even be expressed in SPILL
descriptors and newer versions of GAS (as well as IAS) won't accept
.spillreg directives targeting those registers.
2006-07-25 21:34:32 -06:00
David Mosberger-Tang
f176ad6fc6
Bring git v0.98.5 tree in sync with released v0.98.5.
...
Sadly, the conversion from Bitkeeper -> CVS -> git wasn't perfect. Or
so it seems.
2006-07-25 21:32:28 -06:00
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