X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Frs6000-core.c;h=696e8fdd99105cb4b8222da76c4c19959bcc0279;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=0f0fcdcdf8287137246e4b770cf2b353599fef02;hpb=6f2750feaf2827ef8a1a0a5b2f90c1e9a6cabbd1;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/rs6000-core.c b/bfd/rs6000-core.c index 0f0fcdcdf8..696e8fdd99 100644 --- a/bfd/rs6000-core.c +++ b/bfd/rs6000-core.c @@ -1,5 +1,5 @@ /* 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. @@ -109,7 +109,7 @@ typedef union #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 @@ -135,9 +135,9 @@ typedef union #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 @@ -150,7 +150,7 @@ typedef union 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 @@ -269,17 +269,17 @@ typedef union 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); @@ -332,7 +332,7 @@ make_bfd_asection (bfd *abfd, const char *name, flagword flags, /* 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; @@ -468,8 +468,7 @@ rs6000coff_core_p (bfd *abfd) /* 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 @@ -586,10 +585,10 @@ rs6000coff_core_p (bfd *abfd) /* 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, @@ -656,7 +655,7 @@ rs6000coff_core_p (bfd *abfd) #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; @@ -687,7 +686,7 @@ rs6000coff_core_p (bfd *abfd) } #endif - return abfd->xvec; /* This is garbage for now. */ + return _bfd_no_cleanup; fail: bfd_release (abfd, abfd->tdata.any); @@ -760,11 +759,11 @@ rs6000coff_core_file_matches_executable_p (bfd *core_bfd, bfd *exec_bfd) } 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;