forked from Imagelibrary/binutils-gdb
Enable vector register visibility in core file for AIX binutils
This patch will enable vector register visibility when AIX FOLKS do core file analysis.
This commit is contained in:
committed by
Alan Modra
parent
2bdec58f59
commit
1a2c0dc1ab
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user