/* BFD backend for CRIS a.out binaries.
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 2000-2020 Free Software Foundation, Inc.
Contributed by Axis Communications AB.
Written by Hans-Peter Nilsson.
functions. Beware; some of the information there is outdated. */
#define N_HEADER_IN_TEXT(x) 0
-#define N_TXTOFF(x) 32
+#define N_TXTOFF(x) 32
#define ENTRY_CAN_BE_ZERO
#define TEXT_START_ADDR 0
after text, but with those, we don't have any choice besides reading
symbol info, and luckily there's no pressing need for correctness for
those vma:s at this time. */
-#define N_TXTADDR(x) ((x).a_entry & ~(bfd_vma) 0xffff)
+#define N_TXTADDR(x) ((x)->a_entry & ~(bfd_vma) 0xffff)
/* If you change this to 4, you can not link to an address N*4+2. */
#define SEGMENT_SIZE 2
#define MY(OP) CONCAT2 (cris_aout_,OP)
#define NAME(x, y) CONCAT3 (cris_aout,_32_,y)
+#include "sysdep.h"
#include "bfd.h"
/* Version 1 of the header. */
not call set_sizes. */
#define MY_set_arch_mach NAME (aout, set_arch_mach)
-#define SET_ARCH_MACH(BFD, EXEC) \
- MY_set_arch_mach (BFD, DEFAULT_ARCH, N_MACHTYPE (EXEC))
+#define SET_ARCH_MACH(BFD, EXECP) \
+ MY_set_arch_mach (BFD, DEFAULT_ARCH, N_MACHTYPE (EXECP))
/* These macros describe the binary layout of the reloc information we
use in a file. */
/* Setting N_SET_MACHTYPE and using N_SET_FLAGS is not performed by
the default definition. */
if (bfd_get_arch (abfd) == bfd_arch_cris)
- N_SET_MACHTYPE (*execp, M_CRIS);
+ N_SET_MACHTYPE (execp, M_CRIS);
- N_SET_FLAGS (*execp, aout_backend_info (abfd)->exec_hdr_flags);
+ N_SET_FLAGS (execp, aout_backend_info (abfd)->exec_hdr_flags);
WRITE_HEADERS (abfd, execp);
from the abs section, or as a symbol which has an abs value.
check for that here. */
- if (bfd_is_abs_section (bfd_get_section (sym)))
+ if (bfd_is_abs_section (bfd_asymbol_section (sym)))
{
r_extern = 0;
r_index = N_ABS;
}
else if ((sym->flags & BSF_SECTION_SYM) == 0)
{
- if (bfd_is_und_section (bfd_get_section (sym))
+ if (bfd_is_und_section (bfd_asymbol_section (sym))
/* Remember to check for weak symbols; they count as global. */
|| (sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
r_extern = 1;
We may change this later, but assert this for the moment. */
if (r_type > 2)
{
- (*_bfd_error_handler) (_("%s: Invalid relocation type exported: %d"),
- bfd_get_filename (abfd), r_type);
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%pB: unsupported relocation type exported: %#x"),
+ abfd, r_type);
bfd_set_error (bfd_error_wrong_format);
}
if (r_type > 2)
{
- (*_bfd_error_handler) (_("%B: Invalid relocation type imported: %d"),
- abfd, r_type);
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%pB: unsupported relocation type imported: %#x"),
+ abfd, r_type);
bfd_set_error (bfd_error_wrong_format);
}
if (r_extern && r_index > symcount)
{
- (*_bfd_error_handler)
- (_("%B: Bad relocation record imported: %d"), abfd, r_index);
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("%pB: bad relocation record imported: %d"), abfd, r_index);
bfd_set_error (bfd_error_wrong_format);