arm64: sve: coredump bug fix in non-sve environment.

Change-Id: I4cba5580b6367c67bef457c0273e9b70ad4a0756
This commit is contained in:
Shiratori, Takehiro
2019-03-15 15:41:23 +09:00
committed by Masamichi Takagi
parent fe53c6e0a5
commit 9e3dd53c58

View File

@ -4,6 +4,7 @@
#include <string.h>
#include <ptrace.h>
#include <cls.h>
#include <hwcap.h>
#define align32(x) ((((x) + 3) / 4) * 4)
@ -40,6 +41,9 @@ int arch_get_thread_core_info_size(void)
const struct user_regset_view *view = current_user_regset_view();
const struct user_regset *regset = find_regset(view, NT_ARM_SVE);
if (unlikely(!(elf_hwcap & HWCAP_SVE))) {
return 0;
}
return sizeof(struct note) + align32(sizeof("LINUX"))
+ regset_size(cpu_local_var(current), regset);
}
@ -50,6 +54,10 @@ void arch_fill_thread_core_info(struct note *head,
const struct user_regset_view *view = current_user_regset_view();
const struct user_regset *regset = find_regset(view, NT_ARM_SVE);
if (unlikely(!(elf_hwcap & HWCAP_SVE))) {
return;
}
/* pre saved registers */
save_fp_regs(thread);