diff options
author | Roland McGrath <roland@redhat.com> | 2008-01-30 07:31:56 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:31:56 -0500 |
commit | bb61682b3f31dec7d058cae2f6edd2275248a704 (patch) | |
tree | d3b9932f5751ba74a7272e147dff7515ad362054 /arch/x86 | |
parent | a06b24e8bf03f8677f81e0f5eb03544b60fe250f (diff) |
x86: x86 core dump TLS
This makes ELF core dumps of 32-bit processes include a new
note type NT_386_TLS (0x200) giving the contents of the TLS
slots in struct user_desc format. This lets post mortem
examination figure out what the segment registers mean like
the debugger does with get_thread_area on a live process.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/ptrace.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c index f8b89059e6ed..e6a680c7daf7 100644 --- a/arch/x86/kernel/ptrace.c +++ b/arch/x86/kernel/ptrace.c | |||
@@ -1313,6 +1313,7 @@ static const struct user_regset x86_32_regsets[] = { | |||
1313 | .active = xfpregs_active, .get = xfpregs_get, .set = xfpregs_set | 1313 | .active = xfpregs_active, .get = xfpregs_get, .set = xfpregs_set |
1314 | }, | 1314 | }, |
1315 | [REGSET_TLS] = { | 1315 | [REGSET_TLS] = { |
1316 | .core_note_type = NT_386_TLS, | ||
1316 | .n = GDT_ENTRY_TLS_ENTRIES, .bias = GDT_ENTRY_TLS_MIN, | 1317 | .n = GDT_ENTRY_TLS_ENTRIES, .bias = GDT_ENTRY_TLS_MIN, |
1317 | .size = sizeof(struct user_desc), | 1318 | .size = sizeof(struct user_desc), |
1318 | .align = sizeof(struct user_desc), | 1319 | .align = sizeof(struct user_desc), |