/* BFD back end for traditional Unix core files (U-area and raw sections)
- Copyright (C) 1988-2017 Free Software Foundation, Inc.
+ Copyright (C) 1988-2023 Free Software Foundation, Inc.
Written by John Gilmore of Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
#include "libaout.h" /* BFD a.out internal data structures */
#include <sys/param.h>
-#ifdef HAVE_DIRENT_H
-# include <dirent.h>
-#else
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif
+#include <dirent.h>
#include <signal.h>
#include <sys/user.h> /* After a.out.h */
/* Handle 4.2-style (and perhaps also sysV-style) core dump file. */
-static const bfd_target *
+static bfd_cleanup
trad_unix_core_file_p (bfd *abfd)
{
int val;
struct user u;
struct trad_core_struct *rawptr;
- bfd_size_type amt;
+ size_t amt;
flagword flags;
#ifdef TRAD_CORE_USER_OFFSET
core_datasec (abfd)->alignment_power = 2;
core_regsec (abfd)->alignment_power = 2;
- return abfd->xvec;
+ return _bfd_no_cleanup;
fail:
bfd_release (abfd, abfd->tdata.any);
#define NO_GET ((bfd_vma (*) (const void *)) swap_abort)
#define NO_PUT ((void (*) (bfd_vma, void *)) swap_abort)
#define NO_GETS ((bfd_signed_vma (*) (const void *)) swap_abort)
-#define NO_GET64 ((bfd_uint64_t (*) (const void *)) swap_abort)
-#define NO_PUT64 ((void (*) (bfd_uint64_t, void *)) swap_abort)
-#define NO_GETS64 ((bfd_int64_t (*) (const void *)) swap_abort)
+#define NO_GET64 ((uint64_t (*) (const void *)) swap_abort)
+#define NO_PUT64 ((void (*) (uint64_t, void *)) swap_abort)
+#define NO_GETS64 ((int64_t (*) (const void *)) swap_abort)
const bfd_target core_trad_vec =
{
' ', /* ar_pad_char */
16, /* ar_max_namelen */
0, /* match priority. */
+ TARGET_KEEP_UNUSED_SECTION_SYMBOLS, /* keep unused section symbols. */
NO_GET64, NO_GETS64, NO_PUT64, /* 64 bit data */
NO_GET, NO_GETS, NO_PUT, /* 32 bit data */
NO_GET, NO_GETS, NO_PUT, /* 16 bit data */
trad_unix_core_file_p /* a core file */
},
{ /* bfd_set_format */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ _bfd_bool_bfd_false_error,
+ _bfd_bool_bfd_false_error,
+ _bfd_bool_bfd_false_error,
+ _bfd_bool_bfd_false_error
},
{ /* bfd_write_contents */
- bfd_false, bfd_false,
- bfd_false, bfd_false
+ _bfd_bool_bfd_false_error,
+ _bfd_bool_bfd_false_error,
+ _bfd_bool_bfd_false_error,
+ _bfd_bool_bfd_false_error
},
BFD_JUMP_TABLE_GENERIC (_bfd_generic),