public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [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).