160484Sobrien/* BFD back-end for ARM PECOFF files. 2218822Sdim Copyright 1995, 1996, 1999, 2000, 2001, 2002, 2007 3218822Sdim Free Software Foundation, Inc. 460484Sobrien 560484SobrienThis file is part of BFD, the Binary File Descriptor library. 660484Sobrien 760484SobrienThis program is free software; you can redistribute it and/or modify 860484Sobrienit under the terms of the GNU General Public License as published by 960484Sobrienthe Free Software Foundation; either version 2 of the License, or 1060484Sobrien(at your option) any later version. 1160484Sobrien 1260484SobrienThis program is distributed in the hope that it will be useful, 1360484Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of 1460484SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1560484SobrienGNU General Public License for more details. 1660484Sobrien 1760484SobrienYou should have received a copy of the GNU General Public License 1860484Sobrienalong with this program; if not, write to the Free Software 19218822SdimFoundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 2060484Sobrien 21218822Sdim/* Do this before including bfd.h, so we prototype the right functions. */ 22218822Sdim 23218822Sdim#ifndef bfd_arm_allocate_interworking_sections 24218822Sdim#define bfd_arm_allocate_interworking_sections \ 25218822Sdim bfd_armpe_allocate_interworking_sections 26218822Sdim#define bfd_arm_get_bfd_for_interworking \ 27218822Sdim bfd_armpe_get_bfd_for_interworking 28218822Sdim#define bfd_arm_process_before_allocation \ 29218822Sdim bfd_armpe_process_before_allocation 30218822Sdim#endif 31218822Sdim 32218822Sdim#include "sysdep.h" 3360484Sobrien#include "bfd.h" 3460484Sobrien 3560484Sobrien#ifndef TARGET_LITTLE_SYM 3660484Sobrien#define TARGET_LITTLE_SYM armpe_little_vec 3760484Sobrien#define TARGET_LITTLE_NAME "pe-arm-little" 3860484Sobrien#define TARGET_BIG_SYM armpe_big_vec 3960484Sobrien#define TARGET_BIG_NAME "pe-arm-big" 4060484Sobrien#endif 4160484Sobrien 4260484Sobrien#define COFF_WITH_PE 43130561Sobrien#define PCRELOFFSET TRUE 4460484Sobrien#define COFF_LONG_SECTION_NAMES 4560484Sobrien 46218822Sdim#define COFF_SECTION_ALIGNMENT_ENTRIES \ 47218822Sdim{ COFF_SECTION_NAME_EXACT_MATCH (".bss"), \ 48218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \ 49218822Sdim{ COFF_SECTION_NAME_EXACT_MATCH (".data"), \ 50218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \ 51218822Sdim{ COFF_SECTION_NAME_EXACT_MATCH (".rdata"), \ 52218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \ 53218822Sdim{ COFF_SECTION_NAME_EXACT_MATCH (".text"), \ 54218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \ 55218822Sdim{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \ 56218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \ 57218822Sdim{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \ 58218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \ 59218822Sdim{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \ 60218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }, \ 61218822Sdim{ COFF_SECTION_NAME_PARTIAL_MATCH (".gnu.linkonce.wi."), \ 62218822Sdim COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 } 6377298Sobrien 6460484Sobrien#include "coff-arm.c" 65