/* BFD back-end for AMD 64 COFF files.
- Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
#define COFF_WITH_pex64
#endif
+/* Note we have to make sure not to include headers twice.
+ Not all headers are wrapped in #ifdef guards, so we define
+ PEI_HEADERS to prevent double including here. */
+#ifndef PEI_HEADERS
#include "sysdep.h"
#include "bfd.h"
#include "libbfd.h"
#include "coff/pe.h"
#include "libcoff.h"
#include "libiberty.h"
+#endif
#define BADMAG(x) AMD64BADMAG(x)
bfd_set_error (bfd_error_bad_value);
return NULL;
}
- if (rel->r_type >= R_AMD64_PCRLONG_1 && rel->r_type <= R_AMD64_PCRLONG_5)
- {
- rel->r_vaddr += (bfd_vma)(rel->r_type-R_AMD64_PCRLONG);
- rel->r_type = R_AMD64_PCRLONG;
- }
howto = howto_table + rel->r_type;
#if defined(COFF_WITH_PE)
/* Cancel out code in _bfd_coff_generic_relocate_section. */
*addendp = 0;
+ if (rel->r_type >= R_AMD64_PCRLONG_1 && rel->r_type <= R_AMD64_PCRLONG_5)\r
+ {\r
+ *addendp -= (bfd_vma)(rel->r_type - R_AMD64_PCRLONG);\r
+ rel->r_type = R_AMD64_PCRLONG;\r
+ }
#endif
if (howto->pc_relative)
#endif /* TARGET_UNDERSCORE */
#ifndef bfd_pe_print_pdata
-#define bfd_pe_print_pdata NULL
+#define bfd_pe_print_pdata NULL
#endif
#include "coffcode.h"