2012-12-06  Yufeng Zhang  <yufeng.zhang@arm.com>

	* elf64-aarch64.c (elf64_aarch64_grok_prstatus): New function.
	(elf_backend_grok_prstatus): Define to elf64_aarch64_grok_prstatus.
This commit is contained in:
Yufeng Zhang 2012-12-06 15:56:38 +00:00
parent 67a324470a
commit cd6fa7fd88
2 changed files with 41 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2012-12-06 Yufeng Zhang <yufeng.zhang@arm.com>
* elf64-aarch64.c (elf64_aarch64_grok_prstatus): New function.
(elf_backend_grok_prstatus): Define to elf64_aarch64_grok_prstatus.
2012-12-06 Alan Modra <amodra@gmail.com>
* elfxx-mips.c (allocate_dynrelocs): Correct test for symbol

View File

@ -1516,11 +1516,47 @@ elf64_aarch64_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
return NULL;
}
/* Support for core dump NOTE sections. */
static bfd_boolean
elf64_aarch64_grok_prstatus (bfd *abfd, Elf_Internal_Note *note)
{
int offset;
size_t size;
switch (note->descsz)
{
default:
return FALSE;
case 408: /* sizeof(struct elf_prstatus) on Linux/arm64. */
/* pr_cursig */
elf_tdata (abfd)->core_signal
= bfd_get_16 (abfd, note->descdata + 12);
/* pr_pid */
elf_tdata (abfd)->core_lwpid
= bfd_get_32 (abfd, note->descdata + 32);
/* pr_reg */
offset = 112;
size = 288;
break;
}
/* Make a ".reg/999" section. */
return _bfd_elfcore_make_pseudosection (abfd, ".reg",
size, note->descpos + offset);
}
#define TARGET_LITTLE_SYM bfd_elf64_littleaarch64_vec
#define TARGET_LITTLE_NAME "elf64-littleaarch64"
#define TARGET_BIG_SYM bfd_elf64_bigaarch64_vec
#define TARGET_BIG_NAME "elf64-bigaarch64"
#define elf_backend_grok_prstatus elf64_aarch64_grok_prstatus
typedef unsigned long int insn32;
/* The linker script knows the section names for placement.