Ard: The patch is good. Reviewed-by: Liming Gao <liming....@intel.com>
Thanks Liming -----Original Message----- From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] Sent: Friday, July 24, 2015 8:09 PM To: edk2-devel@lists.01.org; Liu, Yingke D; ler...@redhat.com; Justen, Jordan L; leif.lindh...@linaro.org; Gao, Liming Cc: Ard Biesheuvel Subject: [PATCH v2 7/7] BaseTools/X86|IA32: move to unified GCC linker script Drop the GCC 4.4/X86 and 4.9/X86 specific linker scripts and use the new unified one instead. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> --- BaseTools/Conf/tools_def.template | 6 ++- BaseTools/Scripts/gcc-4K-align-ld-script | 44 -------------------- BaseTools/Scripts/gcc4.4-ld-script | 44 -------------------- BaseTools/Scripts/gcc4.9-ld-script | 44 -------------------- 4 files changed, 4 insertions(+), 134 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index b29912c18e5b..84f1fda37661 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -3813,6 +3813,8 @@ NOOPT_DDK3790xASL_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT:REF DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = +*_*_IA32_DLINK2_FLAGS = --defsym=PECOFF_HEADER_SIZE=0x220 --script=$(EDK_TOOLS_PATH)/Scripts/GCC/gcc-base.lds +*_*_X64_DLINK2_FLAGS = --defsym=PECOFF_HEADER_SIZE=0x228 --script=$(EDK_TOOLS_PATH)/Scripts/GCC/gcc-base.lds *_*_AARCH64_DLINK2_FLAGS = --defsym=PECOFF_HEADER_SIZE=0x228 --script=$(EDK_TOOLS_PATH)/Scripts/GCC/gcc-base.lds DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -c -include AutoGen.h @@ -3848,7 +3850,7 @@ DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -malign-double -fno-stack-protector -D EFI32 DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address -mcmodel=large -DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.4-ld-script +DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections -z common-page-size=0x20 DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry ReferenceAcpiTable -u ReferenceAcpiTable DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC44_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -melf_x86_64 --oformat=elf64-x86-64 @@ -3908,7 +3910,7 @@ DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC47_AARCH64_ASLDLINK_FLAGS) DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.9-ld-script +DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections -z common-page-size=0x40 DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) --entry ReferenceAcpiTable -u ReferenceAcpiTable DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -melf_x86_64 --oformat=elf64-x86-64 diff --git a/BaseTools/Scripts/gcc-4K-align-ld-script b/BaseTools/Scripts/gcc-4K-align-ld-script deleted file mode 100644 index 16cf623a3362..000000000000 --- a/BaseTools/Scripts/gcc-4K-align-ld-script +++ /dev/null @@ -1,44 +0,0 @@ -/* OUTPUT_FORMAT(efi-bsdrv-x86_64) */ -SECTIONS -{ - /* . = 0 + SIZEOF_HEADERS; */ - . = 0x280; - .text : ALIGN(0x1000) - { - *(.text .stub .text.* .gnu.linkonce.t.*) - . = ALIGN(0x20); - } - .data : ALIGN(0x1000) - { - *( - .rodata .rodata.* .gnu.linkonce.r.* - .data .data.* .gnu.linkonce.d.* - .bss .bss.* - *COM* - ) - . = ALIGN(0x20); - } - .eh_frame : ALIGN(0x1000) - { - KEEP (*(.eh_frame)) - } - .got : ALIGN(0x1000) - { - *(.got .got.*) - . = ALIGN(0x20); - } - .rela : ALIGN(0x1000) - { - *(.rela .rela.*) - } - /DISCARD/ : { - *(.note.GNU-stack) *(.gnu_debuglink) - *(.interp) - *(.dynsym) - *(.dynstr) - *(.dynamic) - *(.hash) - *(.comment) - } -} - diff --git a/BaseTools/Scripts/gcc4.4-ld-script b/BaseTools/Scripts/gcc4.4-ld-script deleted file mode 100644 index 68b2767590ac..000000000000 --- a/BaseTools/Scripts/gcc4.4-ld-script +++ /dev/null @@ -1,44 +0,0 @@ -/* OUTPUT_FORMAT(efi-bsdrv-x86_64) */ -SECTIONS -{ - /* . = 0 + SIZEOF_HEADERS; */ - . = 0x280; - .text ALIGN(0x20) : - { - *(.text .stub .text.* .gnu.linkonce.t.*) - . = ALIGN(0x20); - } =0x90909090 - .data ALIGN(0x20) : - { - *( - .rodata .rodata.* .gnu.linkonce.r.* - .data .data.* .gnu.linkonce.d.* - .bss .bss.* - *COM* - ) - . = ALIGN(0x20); - } - .eh_frame ALIGN(0x20) : - { - KEEP (*(.eh_frame)) - } - .got ALIGN(0x20) : - { - *(.got .got.*) - . = ALIGN(0x20); - } - .rela ALIGN(0x20) : - { - *(.rela .rela.*) - } - /DISCARD/ : { - *(.note.GNU-stack) *(.gnu_debuglink) - *(.interp) - *(.dynsym) - *(.dynstr) - *(.dynamic) - *(.hash) - *(.comment) - } -} - diff --git a/BaseTools/Scripts/gcc4.9-ld-script b/BaseTools/Scripts/gcc4.9-ld-script deleted file mode 100644 index b69232853617..000000000000 --- a/BaseTools/Scripts/gcc4.9-ld-script +++ /dev/null @@ -1,44 +0,0 @@ -/* OUTPUT_FORMAT(efi-bsdrv-x86_64) */ -SECTIONS -{ - /* . = 0 + SIZEOF_HEADERS; */ - . = 0x280; - .text ALIGN(0x20) : - { - *(.text .stub .text.* .gnu.linkonce.t.*) - . = ALIGN(0x20); - } =0x90909090 - .data ALIGN(0x40) : - { - *( - .rodata .rodata.* .gnu.linkonce.r.* - .data .data.* .gnu.linkonce.d.* - .bss .bss.* - *COM* - ) - . = ALIGN(0x20); - } - .eh_frame ALIGN(0x20) : - { - KEEP (*(.eh_frame)) - } - .got ALIGN(0x20) : - { - *(.got .got.*) - . = ALIGN(0x20); - } - .rela ALIGN(0x20) : - { - *(.rela .rela.*) - } - /DISCARD/ : { - *(.note.GNU-stack) *(.gnu_debuglink) - *(.interp) - *(.dynsym) - *(.dynstr) - *(.dynamic) - *(.hash) - *(.comment) - } -} - -- 1.9.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel