]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/coff-we32k.c
Update copyright years
[thirdparty/binutils-gdb.git] / bfd / coff-we32k.c
CommitLineData
252b5132 1/* BFD back-end for we32k COFF files.
4b95cf5c 2 Copyright (C) 1992-2014 Free Software Foundation, Inc.
252b5132
RH
3 Contributed by Brendan Kehoe (brendan@cs.widener.edu).
4
cd123cb7 5 This file is part of BFD, the Binary File Descriptor library.
252b5132 6
cd123cb7
NC
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
252b5132 11
cd123cb7
NC
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
252b5132 16
cd123cb7
NC
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
252b5132 21
252b5132 22#include "sysdep.h"
3db64b00 23#include "bfd.h"
252b5132
RH
24#include "libbfd.h"
25#include "coff/we32k.h"
26#include "coff/internal.h"
27#include "libcoff.h"
28
29#define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3)
30
cbfe05c4 31static reloc_howto_type howto_table[] =
252b5132 32{
5f771d47
ILT
33 EMPTY_HOWTO (0),
34 EMPTY_HOWTO (1),
35 EMPTY_HOWTO (2),
36 EMPTY_HOWTO (3),
37 EMPTY_HOWTO (4),
38 EMPTY_HOWTO (5),
b34976b6 39 HOWTO(R_DIR32, 0, 2, 32, FALSE, 0,complain_overflow_bitfield, 0, "dir32", TRUE, 0xffffffff,0xffffffff, FALSE),
5f771d47
ILT
40 EMPTY_HOWTO (7),
41 EMPTY_HOWTO (010),
42 EMPTY_HOWTO (011),
43 EMPTY_HOWTO (012),
44 EMPTY_HOWTO (013),
45 EMPTY_HOWTO (014),
46 EMPTY_HOWTO (015),
47 EMPTY_HOWTO (016),
b34976b6
AM
48 HOWTO(R_RELBYTE, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, 0, "8", TRUE, 0x000000ff,0x000000ff, FALSE),
49 HOWTO(R_RELWORD, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, 0, "16", TRUE, 0x0000ffff,0x0000ffff, FALSE),
50 HOWTO(R_RELLONG, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, 0, "32", TRUE, 0xffffffff,0xffffffff, FALSE),
51 HOWTO(R_PCRBYTE, 0, 0, 8, TRUE, 0, complain_overflow_signed, 0, "DISP8", TRUE, 0x000000ff,0x000000ff, FALSE),
52 HOWTO(R_PCRWORD, 0, 1, 16, TRUE, 0, complain_overflow_signed, 0, "DISP16", TRUE, 0x0000ffff,0x0000ffff, FALSE),
53 HOWTO(R_PCRLONG, 0, 2, 32, TRUE, 0, complain_overflow_signed, 0, "DISP32", TRUE, 0xffffffff,0xffffffff, FALSE),
252b5132
RH
54};
55
56/* Turn a howto into a reloc nunmber */
57
58#define SELECT_RELOC(x,howto) { x.r_type = howto->type; }
59#define BADMAG(x) WE32KBADMAG(x)
60#define WE32K 1
61
62#define RTYPE2HOWTO(cache_ptr, dst) \
63 (cache_ptr)->howto = howto_table + (dst)->r_type;
64
2b5c217d
NC
65#ifndef bfd_pe_print_pdata
66#define bfd_pe_print_pdata NULL
67#endif
68
252b5132
RH
69#include "coffcode.h"
70
71#define coff_write_armap bsd_write_armap
72
3fa78519 73CREATE_BIG_COFF_TARGET_VEC (we32kcoff_vec, "coff-we32k", 0, 0, 0, NULL, COFF_SWAP_TABLE)