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
/* 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;
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);
}
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.