aboutsummaryrefslogtreecommitdiff
path: root/bfd/rs6000-core.c
diff options
context:
space:
mode:
authorAditya Vidyadhar Kamath <Aditya.Kamath1@ibm.com>2023-03-13 07:32:57 -0500
committerAlan Modra <amodra@gmail.com>2023-03-19 23:35:18 +1030
commit1a2c0dc1ab7aff2d1bca30a93dc4edb255828d15 (patch)
treed06c518099e74f1fec504ec9359ddf6ee2d937d1 /bfd/rs6000-core.c
parent2bdec58f594eb02cbd18517c56de74282f20dd4b (diff)
downloadgdb-1a2c0dc1ab7aff2d1bca30a93dc4edb255828d15.zip
gdb-1a2c0dc1ab7aff2d1bca30a93dc4edb255828d15.tar.gz
gdb-1a2c0dc1ab7aff2d1bca30a93dc4edb255828d15.tar.bz2
Enable vector register visibility in core file for AIX binutils
This patch will enable vector register visibility when AIX FOLKS do core file analysis.
Diffstat (limited to 'bfd/rs6000-core.c')
-rw-r--r--bfd/rs6000-core.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/bfd/rs6000-core.c b/bfd/rs6000-core.c
index eb09609..e8efeef 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.