/* BFD back-end for a.out.adobe binaries.
- Copyright (C) 1990-2014 Free Software Foundation, Inc.
+ Copyright (C) 1990-2017 Free Software Foundation, Inc.
Written by Cygnus Support. Based on bout.c.
This file is part of BFD, the Binary File Descriptor library.
bfd_set_arch_mach (abfd, bfd_arch_unknown, 0L);
/* The positions of the string table and symbol table. */
- obj_str_filepos (abfd) = N_STROFF (*execp);
- obj_sym_filepos (abfd) = N_SYMOFF (*execp);
+ obj_str_filepos (abfd) = N_STROFF (execp);
+ obj_sym_filepos (abfd) = N_SYMOFF (execp);
/* Suck up the section information from the file, one section at a time. */
for (;;)
goto no_more_sections;
default:
- (*_bfd_error_handler)
+ _bfd_error_handler
+ /* xgettext:c-format */
(_("%B: Unknown section type in a.out.adobe file: %x\n"),
abfd, ext->e_type[0]);
goto no_more_sections;
switch (ext->e_type[0])
{
case N_TEXT:
- sect->rel_filepos = N_TRELOFF (*execp);
+ sect->rel_filepos = N_TRELOFF (execp);
sect->reloc_count = execp->a_trsize;
break;
case N_DATA:
- sect->rel_filepos = N_DRELOFF (*execp);
+ sect->rel_filepos = N_DRELOFF (execp);
sect->reloc_count = execp->a_drsize;
break;
If the environment variable GNUTARGET is set to "a.out.adobe", we will
take just about any a.out file as an Adobe a.out file. FIXME! */
- if (N_BADMAG (anexec))
+ if (N_BADMAG (&anexec))
{
targ = getenv ("GNUTARGET");
if (targ && !strcmp (targ, aout_adobe_vec.name))
/* Now write out reloc info, followed by syms and strings. */
if (bfd_get_symcount (abfd) != 0)
{
- if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (*exec_hdr (abfd))), SEEK_SET)
+ if (bfd_seek (abfd, (file_ptr) (N_SYMOFF (exec_hdr (abfd))), SEEK_SET)
!= 0)
return FALSE;
if (! aout_32_write_syms (abfd))
return FALSE;
- if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (*exec_hdr (abfd))), SEEK_SET)
+ if (bfd_seek (abfd, (file_ptr) (N_TRELOFF (exec_hdr (abfd))), SEEK_SET)
!= 0)
return FALSE;
if (!aout_32_squirt_out_relocs (abfd, sect))
return FALSE;
- if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (*exec_hdr (abfd))), SEEK_SET)
+ if (bfd_seek (abfd, (file_ptr) (N_DRELOFF (exec_hdr (abfd))), SEEK_SET)
!= 0)
return FALSE;
{
/* Assign file offsets to sections. Text sections are first, and
are contiguous. Then data sections. Everything else at the end. */
- section_start = N_TXTOFF (ignore<-->me);
+ section_start = N_TXTOFF (0);
for (sect = abfd->sections; sect; sect = sect->next)
{
/* Build the transfer vector for Adobe A.Out files. */
-#define aout_32_bfd_make_debug_symbol ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
-#define aout_32_bfd_reloc_type_lookup ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
-#define aout_32_bfd_reloc_name_lookup ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
+#define aout_32_find_line _bfd_nosymbols_find_line
+#define aout_32_get_symbol_version_string _bfd_nosymbols_get_symbol_version_string
+#define aout_32_bfd_make_debug_symbol _bfd_nosymbols_bfd_make_debug_symbol
+#define aout_32_bfd_reloc_type_lookup _bfd_norelocs_bfd_reloc_type_lookup
+#define aout_32_bfd_reloc_name_lookup _bfd_norelocs_bfd_reloc_name_lookup
#define aout_32_close_and_cleanup aout_32_bfd_free_cached_info
#define aout_32_set_arch_mach aout_adobe_set_arch_mach
#define aout_32_set_section_contents aout_adobe_set_section_contents
_bfd_generic_copy_link_hash_symbol_type
#define aout_32_bfd_final_link _bfd_generic_final_link
#define aout_32_bfd_link_split_section _bfd_generic_link_split_section
+#define aout_32_bfd_link_check_relocs _bfd_generic_link_check_relocs
+#define aout_32_set_reloc _bfd_generic_set_reloc
const bfd_target aout_adobe_vec =
{