2008-02-03 Carlos Eduardo Seo * elf.c (elfcore_write_register_note): New function. * elf-bfd.h (elfcore_write_register_note): New prototype. Index: src/bfd/elf.c =================================================================== --- src.orig/bfd/elf.c +++ src/bfd/elf.c @@ -8438,6 +8438,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) { Index: src/bfd/elf-bfd.h =================================================================== --- src.orig/bfd/elf-bfd.h +++ src/bfd/elf-bfd.h @@ -2109,6 +2109,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,