/* IBM RS/6000 "XCOFF" back-end for BFD.
- Copyright (C) 1990-2016 Free Software Foundation, Inc.
+ Copyright (C) 1990-2020 Free Software Foundation, Inc.
Written by Metin G. Ozisik, Mimi Phuong-Thao Vo, and John Gilmore.
Archive support from Damon A. Permezel.
Contributed by IBM Corporation and Cygnus Support.
#else
struct core_dump new_dump; /* For simpler coding. */
#endif
-#ifndef BFD64 /* Use old only if gdb is 32-bit. */
+#ifndef BFD64 /* Use old only if gdb is 32-bit. */
struct core_dump old; /* Old AIX 4.2- core dump, still used on
4.3+ with appropriate SMIT config. */
#endif
#ifdef AIX_CORE_DUMPX_CORE
# ifndef BFD64
-# define CORE_NEW(c) (!(c).old.c_entries)
+# define CORE_NEW(c) (!(c).old.c_entries)
# else
-# define CORE_NEW(c) (!(c).new_dump.c_entries)
+# define CORE_NEW(c) 1
# endif
#else
# define CORE_NEW(c) 0
but that may not be the only such format version number. */
#ifdef AIX_5_CORE
-# define CORE_DUMPXX_VERSION 267312562
+# define CORE_DUMPXX_VERSION 267312562
# define CNEW_IS_CORE_DUMPXX(c) ((c).new_dump.c_version == CORE_DUMPXX_VERSION)
#else
# define CNEW_IS_CORE_DUMPXX(c) 0
common. */
#ifdef AIX_CORE_DUMPX_CORE
#define CORE_COMMONSZ ((long) &((struct core_dumpx *) 0)->c_entries \
- + sizeof (((struct core_dumpx *) 0)->c_entries))
+ + sizeof (((struct core_dumpx *) 0)->c_entries))
#else
-#define CORE_COMMONSZ ((int) &((struct core_dump *) 0)->c_entries \
- + sizeof (((struct core_dump *) 0)->c_entries)
+#define CORE_COMMONSZ ((int) &((struct core_dump *) 0)->c_entries \
+ + sizeof (((struct core_dump *) 0)->c_entries))
#endif
/* Define prototypes for certain functions, to avoid a compiler warning
saying that they are missing. */
-const bfd_target * rs6000coff_core_p (bfd *abfd);
+const bfd_cleanup rs6000coff_core_p (bfd *abfd);
bfd_boolean rs6000coff_core_file_matches_executable_p (bfd *core_bfd,
- bfd *exec_bfd);
+ bfd *exec_bfd);
char * rs6000coff_core_file_failing_command (bfd *abfd);
int rs6000coff_core_file_failing_signal (bfd *abfd);
/* Decide if a given bfd represents a `core' file or not. There really is no
magic number or anything like, in rs6000coff. */
-const bfd_target *
+bfd_cleanup
rs6000coff_core_p (bfd *abfd)
{
CoreHdr core;
/* Issue warning if the core file was truncated during writing. */
if (c_flag & CORE_TRUNC)
- _bfd_error_handler (_("%s: warning core file truncated"),
- bfd_get_filename (abfd));
+ _bfd_error_handler (_("%pB: warning core file truncated"), abfd);
/* Allocate core file header. */
#ifndef BFD64
/* If Large Memory Model is used, then the .data segment should start from
BDATAORG which has been defined in the system header files. */
- if (c_flag & CORE_BIGDATA)
- core_dataorg = BDATAORG;
- else
- core_dataorg = CDATA_ADDR (c_datasize);
+ if (c_flag & CORE_BIGDATA)
+ core_dataorg = BDATAORG;
+ else
+ core_dataorg = CDATA_ADDR (c_datasize);
if (!make_bfd_asection (abfd, ".data",
SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS,
#ifndef BFD64
size = CORE_NEW (core) ? sizeof (vminfo.new_dump) : sizeof (vminfo.old);
#else
- size = sizeof (vminfo.new_dump);
+ size = sizeof (vminfo.new_dump);
#endif
if (bfd_bread (&vminfo, size, abfd) != size)
goto fail;
}
#endif
- return abfd->xvec; /* This is garbage for now. */
+ return _bfd_no_cleanup;
fail:
bfd_release (abfd, abfd->tdata.any);
}
str1 = strrchr (path, '/');
- str2 = strrchr (exec_bfd->filename, '/');
+ str2 = strrchr (bfd_get_filename (exec_bfd), '/');
/* step over character '/' */
str1 = str1 != NULL ? str1 + 1 : path;
- str2 = str2 != NULL ? str2 + 1 : exec_bfd->filename;
+ str2 = str2 != NULL ? str2 + 1 : bfd_get_filename (exec_bfd);
if (strcmp (str1, str2) == 0)
ret = TRUE;