Drop the GCC AARCH64 specific linker scripts and use the new
unified ones instead.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <[email protected]>
---
 BaseTools/Conf/tools_def.template                 |  2 +-
 BaseTools/Scripts/gcc-aarch64-64K-align-ld-script |  4 --
 BaseTools/Scripts/gcc-aarch64-ld-script           | 39 --------------------
 3 files changed, 1 insertion(+), 44 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 8e5750e2f300..6f8d3020a949 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3823,7 +3823,7 @@ DEFINE GCC_DLINK_FLAGS_COMMON      = -nostdlib --pie
 DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
 DEFINE GCC_ARM_AARCH64_DLINK_COMMON= --emit-relocs -nostdlib --gc-sections -u 
$(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_ARM_DLINK_FLAGS         = DEF(GCC_ARM_AARCH64_DLINK_COMMON) 
-Ttext=0x0
-DEFINE GCC_AARCH64_DLINK_FLAGS     = DEF(GCC_ARM_AARCH64_DLINK_COMMON) 
--script=$(EDK_TOOLS_PATH)/Scripts/gcc-aarch64-ld-script
+DEFINE GCC_AARCH64_DLINK_FLAGS     = DEF(GCC_ARM_AARCH64_DLINK_COMMON) 
--script=$(EDK_TOOLS_PATH)/Scripts/GCC/gcc-base.lds
 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
 DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) --entry 
ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
 DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) --entry 
ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
diff --git a/BaseTools/Scripts/gcc-aarch64-64K-align-ld-script 
b/BaseTools/Scripts/gcc-aarch64-64K-align-ld-script
deleted file mode 100644
index 8aa4c5f08c0b..000000000000
--- a/BaseTools/Scripts/gcc-aarch64-64K-align-ld-script
+++ /dev/null
@@ -1,4 +0,0 @@
-SECTIONS {
-  .text : ALIGN(0x10000) { }
-  .data : ALIGN(0x10000) { }
-}
diff --git a/BaseTools/Scripts/gcc-aarch64-ld-script 
b/BaseTools/Scripts/gcc-aarch64-ld-script
deleted file mode 100644
index 29095c268e06..000000000000
--- a/BaseTools/Scripts/gcc-aarch64-ld-script
+++ /dev/null
@@ -1,39 +0,0 @@
-SECTIONS {
-  /*
-   * Put the .text section at 0x0 explicitly. While we know it will minimally
-   * end up at 0x280, (the size of the PE/COFF headers being 0x250 bytes and 
the
-   * minimum alignment 0x40), choosing 0x280 as the offset causes problems when
-   * linking objects with a greater .text alignment, since the section's base
-   * must adhere to its own alignment.
-   * Using 0x0 will result in the PE/COFF binary's memory layout to be shifted
-   * with respect to the ELF version, but this shouldn't be a problem as long 
as
-   * the .data's offset relative to .text is kept the same.
-   */
-  .text 0x0 : ALIGN(0x40) {
-    *(.text .text.* .rodata .rodata.*)
-  }
-
-  /*
-   * The alignment of the .data section needs to be less than or equal to the
-   * alignment of the .text section. This ensures that the relative offset
-   * between these sections is the same in the ELF and the PE/COFF version of
-   * this binary.
-   */
-  .data : ALIGN(0x40) {
-    *(.data .data.*)
-    *(.bss .bss.* *COM*)
-  }
-  .rela ALIGN(0x20) : {
-    *(.rela .rela.*)
-  }
-
-  /DISCARD/ : {
-    *(.note.GNU-stack)
-    *(.interp)
-    *(.dynsym)
-    *(.dynstr)
-    *(.dynamic)
-    *(.hash)
-    *(.comment)
-  }
-}
-- 
1.9.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to