forked from Imagelibrary/binutils-gdb
2001-01-01 Kazu Hirata <kazu@hxi.com>
* reloc.c: Fix formatting. * riscix.c: Likewise. * rs6000-core.c: Likewise. * xcoff-target.h: Likewise.
This commit is contained in:
@@ -60,7 +60,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#undef SCNHDR
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
/* Support for core file stuff.. */
|
||||
/* ------------------------------------------------------------------------ */
|
||||
@@ -81,7 +80,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
AIX_CORE_DUMPX_CORE is defined (by configure) on AIX 4.3+, and
|
||||
CORE_VERSION_1 is defined (by AIX core.h) as 2 on AIX 4.3+ and as 1 on AIX
|
||||
4.1 and 4.2. AIX pre-4.1 (aka 3.x) either doesn't define CORE_VERSION_1
|
||||
or else defines it as 0. */
|
||||
or else defines it as 0. */
|
||||
|
||||
#if defined(CORE_VERSION_1) && !CORE_VERSION_1
|
||||
# undef CORE_VERSION_1
|
||||
@@ -90,9 +89,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
/* The following union and macros allow this module to compile on all AIX
|
||||
versions and to handle both core_dumpx and core_dump on 4.3+. CNEW_*()
|
||||
and COLD_*() macros respectively retrieve core_dumpx and core_dump
|
||||
values. */
|
||||
values. */
|
||||
|
||||
/* Union of 32-bit and 64-bit versions of ld_info. */
|
||||
/* Union of 32-bit and 64-bit versions of ld_info. */
|
||||
|
||||
typedef union {
|
||||
#ifdef __ld_info32
|
||||
@@ -104,7 +103,7 @@ typedef union {
|
||||
#endif
|
||||
} LdInfo;
|
||||
|
||||
/* Union of old and new core dump structures. */
|
||||
/* Union of old and new core dump structures. */
|
||||
|
||||
typedef union {
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
@@ -116,7 +115,7 @@ typedef union {
|
||||
4.3+ with appropriate SMIT config */
|
||||
} CoreHdr;
|
||||
|
||||
/* Union of old and new vm_info structures. */
|
||||
/* Union of old and new vm_info structures. */
|
||||
|
||||
#ifdef CORE_VERSION_1
|
||||
typedef union {
|
||||
@@ -129,7 +128,7 @@ typedef union {
|
||||
} VmInfo;
|
||||
#endif
|
||||
|
||||
/* Return whether CoreHdr C is in new or old format. */
|
||||
/* Return whether CoreHdr C is in new or old format. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CORE_NEW(c) (!(c).old.c_entries)
|
||||
@@ -137,7 +136,7 @@ typedef union {
|
||||
# define CORE_NEW(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the c_stackorg field from struct core_dumpx C. */
|
||||
/* Return the c_stackorg field from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_STACKORG(c) (c).c_stackorg
|
||||
@@ -145,7 +144,7 @@ typedef union {
|
||||
# define CNEW_STACKORG(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the offset to the loader region from struct core_dump C. */
|
||||
/* Return the offset to the loader region from struct core_dump C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_LOADER(c) (c).c_loader
|
||||
@@ -153,11 +152,11 @@ typedef union {
|
||||
# define CNEW_LOADER(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the offset to the loader region from struct core_dump C. */
|
||||
/* Return the offset to the loader region from struct core_dump C. */
|
||||
|
||||
#define COLD_LOADER(c) (c).c_tab
|
||||
|
||||
/* Return the c_lsize field from struct core_dumpx C. */
|
||||
/* Return the c_lsize field from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_LSIZE(c) (c).c_lsize
|
||||
@@ -165,7 +164,7 @@ typedef union {
|
||||
# define CNEW_LSIZE(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the c_dataorg field from struct core_dumpx C. */
|
||||
/* Return the c_dataorg field from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_DATAORG(c) (c).c_dataorg
|
||||
@@ -173,7 +172,7 @@ typedef union {
|
||||
# define CNEW_DATAORG(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the c_datasize field from struct core_dumpx C. */
|
||||
/* Return the c_datasize field from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_DATASIZE(c) (c).c_datasize
|
||||
@@ -181,7 +180,7 @@ typedef union {
|
||||
# define CNEW_DATASIZE(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the c_impl field from struct core_dumpx C. */
|
||||
/* Return the c_impl field from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_IMPL(c) (c).c_impl
|
||||
@@ -189,7 +188,7 @@ typedef union {
|
||||
# define CNEW_IMPL(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the command string from struct core_dumpx C. */
|
||||
/* Return the command string from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_COMM(c) (c).c_u.U_proc.pi_comm
|
||||
@@ -197,7 +196,7 @@ typedef union {
|
||||
# define CNEW_COMM(c) 0
|
||||
#endif
|
||||
|
||||
/* Return the command string from struct core_dump C. */
|
||||
/* Return the command string from struct core_dump C. */
|
||||
|
||||
#ifdef CORE_VERSION_1
|
||||
# define COLD_COMM(c) (c).c_u.U_comm
|
||||
@@ -205,7 +204,7 @@ typedef union {
|
||||
# define COLD_COMM(c) (c).c_u.u_comm
|
||||
#endif
|
||||
|
||||
/* Return the struct __context64 pointer from struct core_dumpx C. */
|
||||
/* Return the struct __context64 pointer from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_CONTEXT64(c) (c).c_flt.hctx.r64
|
||||
@@ -213,7 +212,7 @@ typedef union {
|
||||
# define CNEW_CONTEXT64(c) c
|
||||
#endif
|
||||
|
||||
/* Return the struct mstsave pointer from struct core_dumpx C. */
|
||||
/* Return the struct mstsave pointer from struct core_dumpx C. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_MSTSAVE(c) (c).c_flt.hctx.r32
|
||||
@@ -221,7 +220,7 @@ typedef union {
|
||||
# define CNEW_MSTSAVE(c) c
|
||||
#endif
|
||||
|
||||
/* Return the struct mstsave pointer from struct core_dump C. */
|
||||
/* Return the struct mstsave pointer from struct core_dump C. */
|
||||
|
||||
#ifdef CORE_VERSION_1
|
||||
# define COLD_MSTSAVE(c) (c).c_mst
|
||||
@@ -229,7 +228,7 @@ typedef union {
|
||||
# define COLD_MSTSAVE(c) (c).c_u.u_save
|
||||
#endif
|
||||
|
||||
/* Return whether struct core_dumpx is from a 64-bit process. */
|
||||
/* Return whether struct core_dumpx is from a 64-bit process. */
|
||||
|
||||
#ifdef AIX_CORE_DUMPX_CORE
|
||||
# define CNEW_PROC64(c) IS_PROC64(&(c).c_u.U_proc)
|
||||
@@ -238,7 +237,7 @@ typedef union {
|
||||
#endif
|
||||
|
||||
/* Magic end-of-stack addresses for old core dumps. This is _very_ fragile,
|
||||
but I don't see any easy way to get that info right now. */
|
||||
but I don't see any easy way to get that info right now. */
|
||||
|
||||
#ifdef CORE_VERSION_1
|
||||
# define COLD_STACKEND 0x2ff23000
|
||||
@@ -247,12 +246,12 @@ typedef union {
|
||||
#endif
|
||||
|
||||
/* Size of the leading portion that old and new core dump structures have in
|
||||
common. */
|
||||
common. */
|
||||
#define CORE_COMMONSZ ((int)&((struct core_dump *)0)->c_entries + \
|
||||
sizeof (((struct core_dump *)0)->c_entries))
|
||||
|
||||
/* Try to read into CORE the header from the core file associated with ABFD.
|
||||
Return success. */
|
||||
/* Try to read into CORE the header from the core file associated with ABFD.
|
||||
Return success. */
|
||||
|
||||
static boolean
|
||||
read_hdr (bfd *abfd, CoreHdr *core)
|
||||
@@ -263,11 +262,11 @@ read_hdr (bfd *abfd, CoreHdr *core)
|
||||
return false;
|
||||
|
||||
/* Read the leading portion that old and new core dump structures have in
|
||||
common. */
|
||||
common. */
|
||||
if (bfd_read (core, CORE_COMMONSZ, 1, abfd) != CORE_COMMONSZ)
|
||||
return false;
|
||||
|
||||
/* Read the trailing portion of the structure. */
|
||||
/* Read the trailing portion of the structure. */
|
||||
size = CORE_NEW (*core) ? sizeof (core->new) : sizeof (core->old)
|
||||
- CORE_COMMONSZ;
|
||||
return bfd_read ((char *)core + CORE_COMMONSZ, size, 1, abfd) == size;
|
||||
@@ -298,7 +297,7 @@ make_bfd_asection (abfd, name, flags, _raw_size, vma, filepos)
|
||||
}
|
||||
|
||||
/* Decide if a given bfd represents a `core' file or not. There really is no
|
||||
magic number or anything like, in rs6000coff. */
|
||||
magic number or anything like, in rs6000coff. */
|
||||
|
||||
const bfd_target *
|
||||
rs6000coff_core_p (abfd)
|
||||
@@ -309,7 +308,7 @@ rs6000coff_core_p (abfd)
|
||||
bfd_size_type size;
|
||||
char *tmpptr;
|
||||
|
||||
/* Values from new and old core structures. */
|
||||
/* 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;
|
||||
@@ -324,7 +323,7 @@ rs6000coff_core_p (abfd)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Copy fields from new or old core structure. */
|
||||
/* Copy fields from new or old core structure. */
|
||||
if (CORE_NEW (core))
|
||||
{
|
||||
c_flag = core.new.c_flag;
|
||||
@@ -401,7 +400,7 @@ rs6000coff_core_p (abfd)
|
||||
additional shared library sections in a full core. */
|
||||
if (!(c_flag & (FULL_CORE | CORE_TRUNC)))
|
||||
{
|
||||
/* If the size is wrong, it means we're misinterpreting something. */
|
||||
/* If the size is wrong, it means we're misinterpreting something. */
|
||||
if (c_stack + (file_ptr) c_size != statbuf.st_size)
|
||||
{
|
||||
bfd_set_error (bfd_error_wrong_format);
|
||||
@@ -433,7 +432,7 @@ rs6000coff_core_p (abfd)
|
||||
memcpy (tmpptr, &core, size);
|
||||
set_tdata (abfd, tmpptr);
|
||||
|
||||
/* Set architecture. */
|
||||
/* Set architecture. */
|
||||
if (CORE_NEW (core))
|
||||
{
|
||||
enum bfd_architecture arch;
|
||||
@@ -455,13 +454,13 @@ rs6000coff_core_p (abfd)
|
||||
bfd_default_set_arch_mach (abfd, arch, mach);
|
||||
}
|
||||
|
||||
/* .stack section. */
|
||||
/* .stack section. */
|
||||
if (!make_bfd_asection (abfd, ".stack",
|
||||
SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS,
|
||||
c_size, c_stackend - c_size, c_stack))
|
||||
return NULL;
|
||||
|
||||
/* .reg section for all registers. */
|
||||
/* .reg section for all registers. */
|
||||
if (!make_bfd_asection (abfd, ".reg",
|
||||
SEC_HAS_CONTENTS,
|
||||
c_regsize, (bfd_vma) 0, c_regoff))
|
||||
@@ -506,7 +505,7 @@ rs6000coff_core_p (abfd)
|
||||
uint ldi_next;
|
||||
bfd_vma ldi_dataorg;
|
||||
|
||||
/* Fields from new and old core structures. */
|
||||
/* Fields from new and old core structures. */
|
||||
bfd_size_type c_datasize, c_vmregions;
|
||||
file_ptr c_data, c_vmm;
|
||||
|
||||
@@ -538,9 +537,9 @@ rs6000coff_core_p (abfd)
|
||||
|
||||
/* .data sections from loaded objects. */
|
||||
if (proc64)
|
||||
size = (int)((LdInfo *)0)->l64.ldinfo_filename;
|
||||
size = (int) ((LdInfo *)0)->l64.ldinfo_filename;
|
||||
else
|
||||
size = (int)((LdInfo *)0)->l32.ldinfo_filename;
|
||||
size = (int) ((LdInfo *)0)->l32.ldinfo_filename;
|
||||
|
||||
while (1)
|
||||
{
|
||||
@@ -560,7 +559,7 @@ rs6000coff_core_p (abfd)
|
||||
{
|
||||
ldi_core = ldinfo.l32.ldinfo_core;
|
||||
ldi_datasize = ldinfo.l32.ldinfo_datasize;
|
||||
ldi_dataorg = (bfd_vma)(long) ldinfo.l32.ldinfo_dataorg;
|
||||
ldi_dataorg = (bfd_vma) (long) ldinfo.l32.ldinfo_dataorg;
|
||||
ldi_next = ldinfo.l32.ldinfo_next;
|
||||
}
|
||||
|
||||
@@ -602,7 +601,7 @@ rs6000coff_core_p (abfd)
|
||||
}
|
||||
else
|
||||
{
|
||||
vminfo_addr = (bfd_vma)(long) vminfo.old.vminfo_addr;
|
||||
vminfo_addr = (bfd_vma) (long) vminfo.old.vminfo_addr;
|
||||
vminfo_size = vminfo.old.vminfo_size;
|
||||
vminfo_offset = vminfo.old.vminfo_offset;
|
||||
}
|
||||
@@ -618,12 +617,10 @@ rs6000coff_core_p (abfd)
|
||||
}
|
||||
#endif
|
||||
|
||||
return abfd->xvec; /* this is garbage for now. */
|
||||
return abfd->xvec; /* this is garbage for now. */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* return `true' if given core is from the given executable.. */
|
||||
/* return `true' if given core is from the given executable.. */
|
||||
boolean
|
||||
rs6000coff_core_file_matches_executable_p (core_bfd, exec_bfd)
|
||||
bfd *core_bfd;
|
||||
@@ -646,9 +643,9 @@ rs6000coff_core_file_matches_executable_p (core_bfd, exec_bfd)
|
||||
c_loader = (file_ptr) COLD_LOADER (core.old);
|
||||
|
||||
if (CORE_NEW (core) && CNEW_PROC64 (core.new))
|
||||
size = (int)((LdInfo *)0)->l64.ldinfo_filename;
|
||||
size = (int) ((LdInfo *)0)->l64.ldinfo_filename;
|
||||
else
|
||||
size = (int)((LdInfo *)0)->l32.ldinfo_filename;
|
||||
size = (int) ((LdInfo *)0)->l32.ldinfo_filename;
|
||||
|
||||
if (bfd_seek (core_bfd, c_loader + size, SEEK_SET) != 0)
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user