This patch series finishes off the work by Jedidiah Thompson, and adds
support for creating aarch64 PE images.
This should be essentially complete: I've used this to create a "hello
world" Windows program in asm, and (with GCC patches) a UEFI program in
C. I think the only things missing are the .secidx relocation, which is
needed for PDBs, and the SEH pseudos used for C++ exceptions.
This first patch fixes the size of RELSZ; I'm not sure why it was 14 in
the first place. This is the size of the "Base Relocation Block" in
https://learn.microsoft.com/en-us/windows/win32/debug/pe-format, and
AFAIK should be 10 for everything.
#define bfd_pe_print_pdata NULL
#endif
-/* Handle include/coff/aarch64.h external_reloc. */
-#define SWAP_IN_RELOC_OFFSET H_GET_32
-#define SWAP_OUT_RELOC_OFFSET H_PUT_32
-
/* Return TRUE if this relocation should
appear in the output .reloc section. */
char r_vaddr[4];
char r_symndx[4];
char r_type[2];
- char r_offset[4];
};
#define RELOC struct external_reloc
-#define RELSZ 14
+#define RELSZ 10
/* ARM64 relocations types. */