diff options
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -10466,11 +10466,22 @@ elfcore_write_linux_prpsinfo32 (bfd *abfd, char *buf, int *bufsiz, const struct elf_internal_linux_prpsinfo *prpsinfo) { - struct elf_external_linux_prpsinfo32 data; + if (get_elf_backend_data (abfd)->linux_prpsinfo32_ugid16) + { + struct elf_external_linux_prpsinfo32_ugid16 data; + + swap_linux_prpsinfo32_ugid16_out (abfd, prpsinfo, &data); + return elfcore_write_note (abfd, buf, bufsiz, "CORE", NT_PRPSINFO, + &data, sizeof (data)); + } + else + { + struct elf_external_linux_prpsinfo32_ugid32 data; - swap_linux_prpsinfo32_out (abfd, prpsinfo, &data); - return elfcore_write_note (abfd, buf, bufsiz, "CORE", NT_PRPSINFO, - &data, sizeof (data)); + swap_linux_prpsinfo32_ugid32_out (abfd, prpsinfo, &data); + return elfcore_write_note (abfd, buf, bufsiz, "CORE", NT_PRPSINFO, + &data, sizeof (data)); + } } char * |