* [binutils-gdb] Enable vector register visibility in core file for AIX binutils
@ 2023-03-19 22:45 Alan Modra
0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2023-03-19 22:45 UTC (permalink / raw)
To: bfd-cvs
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1a2c0dc1ab7aff2d1bca30a93dc4edb255828d15
commit 1a2c0dc1ab7aff2d1bca30a93dc4edb255828d15
Author: Aditya Vidyadhar Kamath <Aditya.Kamath1@ibm.com>
Date: Mon Mar 13 07:32:57 2023 -0500
Enable vector register visibility in core file for AIX binutils
This patch will enable vector register visibility when AIX FOLKS do
core file analysis.
Diff:
---
bfd/aix5ppc-core.c | 21 +++++++++++++++++++++
bfd/rs6000-core.c | 16 +++++++++++++++-
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/bfd/aix5ppc-core.c b/bfd/aix5ppc-core.c
index 0a338ac391b..fae8bb6cb1a 100644
--- a/bfd/aix5ppc-core.c
+++ b/bfd/aix5ppc-core.c
@@ -142,6 +142,27 @@ xcoff64_core_p (bfd *abfd)
sec->filepos = 0;
sec->contents = (bfd_byte *)&new_core_hdr->c_flt.r64;
+ if (core.c_extctx)
+ {
+ /* vmx section. */
+ flags = SEC_HAS_CONTENTS;
+ sec = bfd_make_section_anyway_with_flags (abfd, ".aix-vmx", flags);
+ if (sec == NULL)
+ return NULL;
+ sec->size = 560;
+ sec->vma = 0;
+ sec->filepos = core.c_extctx;
+
+ /* vmx section. */
+ flags = SEC_HAS_CONTENTS;
+ sec = bfd_make_section_anyway_with_flags (abfd, ".aix-vsx", flags);
+ if (sec == NULL)
+ return NULL;
+ sec->size = 256;
+ sec->vma = 0;
+ sec->filepos = core.c_extctx + 584;
+ }
+
/* .ldinfo section.
To actually find out how long this section is in this particular
core dump would require going down the whole list of struct
diff --git a/bfd/rs6000-core.c b/bfd/rs6000-core.c
index eb096098256..e8efeef5951 100644
--- a/bfd/rs6000-core.c
+++ b/bfd/rs6000-core.c
@@ -342,7 +342,7 @@ rs6000coff_core_p (bfd *abfd)
/* Values from new and old core structures. */
int c_flag;
file_ptr c_stack, c_regoff, c_loader;
- bfd_size_type c_size, c_regsize, c_lsize;
+ bfd_size_type c_size, c_regsize, c_lsize, c_extoff;
bfd_vma c_stackend;
void *c_regptr;
int proc64;
@@ -370,6 +370,7 @@ rs6000coff_core_p (bfd *abfd)
c_stackend = CNEW_STACKORG (core.new_dump) + c_size;
c_lsize = CNEW_LSIZE (core.new_dump);
c_loader = CNEW_LOADER (core.new_dump);
+ c_extoff = core.new_dump.c_extctx;
#ifndef BFD64
proc64 = CNEW_PROC64 (core.new_dump);
}
@@ -517,6 +518,19 @@ rs6000coff_core_p (bfd *abfd)
c_regsize, (bfd_vma) 0, c_regoff))
goto fail;
+ if (c_extoff)
+ {
+ if (!make_bfd_asection (abfd, ".aix-vmx",
+ SEC_HAS_CONTENTS,
+ 560, (bfd_vma) 0, c_extoff))
+ goto fail;
+
+ if (!make_bfd_asection (abfd, ".aix-vsx",
+ SEC_HAS_CONTENTS,
+ 256, (bfd_vma) 0, c_extoff + 584))
+ goto fail;
+ }
+
/* .ldinfo section.
To actually find out how long this section is in this particular
core dump would require going down the whole list of struct ld_info's.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-03-19 22:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-19 22:45 [binutils-gdb] Enable vector register visibility in core file for AIX binutils Alan Modra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).