[PATCH 1/8] ld: Rename aarch64pe emulation target to arm64pe

Mark Harmstone mark@harmstone.com
Fri Dec 30 02:40:48 GMT 2022


The second version of my aarch64-w64-mingw32 patches. With this, I'm now
able to compile a workable version of GCC, including the CRT (before it
was EFI-only).

Changes from last time:

* The aarch64pe emulation target is renamed to arm64pe. This is the name
that LLVM is already using, even though as a rule we call this arch aarch64.
Without this clang won't work with ld. Another possibility would be to
change the -m parameter if it's "arm64", but that seems to me like it's
making things more complicated than they need to be.

* The PE big-obj test is split into a separate patch, as per Jan's request

* Added support for BFD_RELOC_AARCH64_LDST128_LO12 relocations

* Relocations against absolute sections now work

* Added error for IMAGE_REL_ARM64_PAGEOFFSET_12L truncation

* Added pdb_vec to aarch64-w64-mingw32, now that it's complete

* Restored tc_pe_dwarf2_emit_offset in tc-aarch64.c, which is needed to
make sure that DWARF offsets are encoded correctly (they're secrels in
COFF). There were remnants of this there before, but they were removed
by Jedidiah's original patch - presumably because we didn't yet have
.secrel32.

Mark

---
 ld/Makefile.am                             | 4 ++--
 ld/Makefile.in                             | 6 +++---
 ld/configure.tgt                           | 2 +-
 ld/emulparams/{aarch64pe.sh => arm64pe.sh} | 0
 ld/emultempl/pep.em                        | 4 ++--
 ld/po/BLD-POTFILES.in                      | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)
 rename ld/emulparams/{aarch64pe.sh => arm64pe.sh} (100%)

diff --git a/ld/Makefile.am b/ld/Makefile.am
index 65fef4e1690..b066b9d7323 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -388,7 +388,7 @@ ALL_64_EMULATION_SOURCES = \
 	eaarch64linux32.c \
 	eaarch64linux32b.c \
 	eaarch64linuxb.c \
-	eaarch64pe.c \
+	earm64pe.c \
 	eelf32_x86_64.c \
 	eelf32b4300.c \
 	eelf32bmip.c \
@@ -879,7 +879,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32b.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linuxb.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64pe.Pc@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm64pe.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_x86_64.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32b4300.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bmip.Pc@am__quote@
diff --git a/ld/Makefile.in b/ld/Makefile.in
index ff4c916c27b..edbdd06c705 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -888,7 +888,7 @@ ALL_64_EMULATION_SOURCES = \
 	eaarch64linux32.c \
 	eaarch64linux32b.c \
 	eaarch64linuxb.c \
-	eaarch64pe.c \
+	earm64pe.c \
 	eelf32_x86_64.c \
 	eelf32b4300.c \
 	eelf32bmip.c \
@@ -1264,7 +1264,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32b.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linuxb.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64pe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm64pe.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5ppc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5rs6.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaixppc.Po@am__quote@
@@ -2553,7 +2553,7 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32b.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linuxb.Pc@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64pe.Pc@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm64pe.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32_x86_64.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32b4300.Pc@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bmip.Pc@am__quote@
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 741b246f67e..6b833f26248 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -119,7 +119,7 @@ aarch64-*-haiku*)	targ_emul=aarch64haiku
 			targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb armelf_haiku $targ_extra_libpath"
 			;;
 aarch64-*-pe*)
-			targ_emul=aarch64pe
+			targ_emul=arm64pe
 			targ_extra_ofiles="deffilep.o pep-dll-aarch64.o"
 			;;
 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
diff --git a/ld/emulparams/aarch64pe.sh b/ld/emulparams/arm64pe.sh
similarity index 100%
rename from ld/emulparams/aarch64pe.sh
rename to ld/emulparams/arm64pe.sh
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
index e2c538e6d99..e20339fa874 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
@@ -48,7 +48,7 @@ fragment <<EOF
 
 #define COFF_IMAGE_WITH_PE
 #define COFF_WITH_PE
-#ifdef TARGET_IS_aarch64pe
+#ifdef TARGET_IS_arm64pe
 #define COFF_WITH_peAArch64
 #elif defined (TARGET_IS_i386pep)
 #define COFF_WITH_pex64
@@ -79,7 +79,7 @@ fragment <<EOF
    header in generic PE code.  */
 #ifdef TARGET_IS_i386pep
 # include "coff/x86_64.h"
-#elif defined TARGET_IS_aarch64pe
+#elif defined TARGET_IS_arm64pe
 # include "coff/aarch64.h"
 #endif
 #include "coff/pe.h"
diff --git a/ld/po/BLD-POTFILES.in b/ld/po/BLD-POTFILES.in
index ff820172b98..cbd445b33e8 100644
--- a/ld/po/BLD-POTFILES.in
+++ b/ld/po/BLD-POTFILES.in
@@ -11,7 +11,7 @@ eaarch64linux.c
 eaarch64linux32.c
 eaarch64linux32b.c
 eaarch64linuxb.c
-eaarch64pe.c
+earm64pe.c
 eaix5ppc.c
 eaix5rs6.c
 eaixppc.c
-- 
2.37.4



More information about the Binutils mailing list