From bb864ac122ca01559e202562d69b7619027e8e2c Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Seo Date: Sat, 24 May 2008 16:14:59 +0000 Subject: * elf.c (elfcore_write_register_note): New function. * elf-bfd.h (elfcore_write_register_note): New prototype. --- bfd/ChangeLog | 5 +++++ bfd/elf-bfd.h | 2 ++ bfd/elf.c | 17 +++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 11c894f..f4d4c57 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2008-05-24 Carlos Eduardo Seo + + * elf.c (elfcore_write_register_note): New function. + * elf-bfd.h (elfcore_write_register_note): New prototype. + 2008-05-22 Christophe Lyon * elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 8732710..81639ab 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -2143,6 +2143,8 @@ extern char *elfcore_write_ppc_vmx (bfd *, char *, int *, const void *, int); extern char *elfcore_write_lwpstatus (bfd *, char *, int *, long, int, const void *); +extern char *elfcore_write_register_note + (bfd *, char *, int *, const char *, const void *, int); extern bfd *_bfd_elf32_bfd_from_remote_memory (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep, diff --git a/bfd/elf.c b/bfd/elf.c index 0280a03..005f8f6 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -8453,6 +8453,23 @@ elfcore_write_ppc_vmx (bfd *abfd, note_name, NT_PPC_VMX, ppc_vmx, size); } +char * +elfcore_write_register_note (bfd *abfd, + char *buf, + int *bufsiz, + const char *section, + const void *data, + int size) +{ + if (strcmp (section, ".reg2") == 0) + return elfcore_write_prfpreg (abfd, buf, bufsiz, data, size); + if (strcmp (section, ".reg-xfp") == 0) + return elfcore_write_prxfpreg (abfd, buf, bufsiz, data, size); + if (strcmp (section, ".reg-ppc-vmx") == 0) + return elfcore_write_ppc_vmx (abfd, buf, bufsiz, data, size); + return NULL; +} + static bfd_boolean elf_parse_notes (bfd *abfd, char *buf, size_t size, file_ptr offset) { -- cgit v1.1