+
+/* The ldhdr structure. This appears at the start of the .loader
+ section. */
+
+struct external_ldhdr
+{
+ bfd_byte l_version[4];
+ bfd_byte l_nsyms[4];
+ bfd_byte l_nreloc[4];
+ bfd_byte l_istlen[4];
+ bfd_byte l_nimpid[4];
+ bfd_byte l_impoff[4];
+ bfd_byte l_stlen[4];
+ bfd_byte l_stoff[4];
+};
+
+#define LDHDRSZ (8 * 4)
+
+struct external_ldsym
+{
+ union
+ {
+ bfd_byte _l_name[E_SYMNMLEN];
+ struct
+ {
+ bfd_byte _l_zeroes[4];
+ bfd_byte _l_offset[4];
+ } _l_l;
+ } _l;
+ bfd_byte l_value[4];
+ bfd_byte l_scnum[2];
+ bfd_byte l_smtype[1];
+ bfd_byte l_smclas[1];
+ bfd_byte l_ifile[4];
+ bfd_byte l_parm[4];
+};
+
+#define LDSYMSZ (8 + 3 * 4 + 2 + 2)
+
+struct external_ldrel
+{
+ bfd_byte l_vaddr[4];
+ bfd_byte l_symndx[4];
+ bfd_byte l_rtype[2];
+ bfd_byte l_rsecnm[2];
+};
+
+#define LDRELSZ (2 * 4 + 2 * 2)
+
+struct external_exceptab
+{
+ union {
+ bfd_byte e_symndx[4];
+ bfd_byte e_paddr[4];
+ } e_addr;
+ bfd_byte e_lang[1];
+ bfd_byte e_reason[1];
+};
+
+#define EXCEPTSZ (4 + 2)
+
+/******************** Core files *************************/
+
+struct external_core_dumpx
+{
+ unsigned char c_signo[1];
+ unsigned char c_flag[1];
+ unsigned char c_entries[2];
+
+ unsigned char c_version[4];
+
+ unsigned char c_fdsinfox[8];
+ unsigned char c_loader[8];
+ unsigned char c_lsize[8];
+
+ unsigned char c_n_thr[4];
+ unsigned char c_reserved0[4];
+ unsigned char c_thr[8];
+
+ unsigned char c_segs[8];
+ unsigned char c_segregion[8];
+
+ unsigned char c_stack[8];
+ unsigned char c_stackorg[8];
+ unsigned char c_size[8];
+
+ unsigned char c_data[8];
+ unsigned char c_dataorg[8];
+ unsigned char c_datasize[8];
+ unsigned char c_sdorg[8];
+ unsigned char c_sdsize[8];
+
+ unsigned char c_vmmregions[8];
+ unsigned char c_vmm[8];
+
+ unsigned char c_impl[4];
+ unsigned char c_pad[4];
+ unsigned char c_cprs[8];
+ unsigned char c_reserved[7 * 8];
+
+ /* Followed by:
+ - context of the faulting thread.
+ - user structure. */
+};
+
+
+/* Core file verion. */
+#define CORE_DUMPX_VERSION 0x0feeddb1
+#define CORE_DUMPXX_VERSION 0x0feeddb2
+
+struct external_ld_info32
+{
+ unsigned char ldinfo_next[4];
+ unsigned char core_offset[4];
+ unsigned char ldinfo_textorg[4];
+ unsigned char ldinfo_textsize[4];
+ unsigned char ldinfo_dataorg[4];
+ unsigned char ldinfo_datasize[4];
+ unsigned char ldinfo_filename[2];
+};