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