|
From: <gee...@us...> - 2010-04-29 21:16:51
|
Revision: 1961
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=1961&view=rev
Author: geekboy15a
Date: 2010-04-29 21:16:44 +0000 (Thu, 29 Apr 2010)
Log Message:
-----------
Added support to build with GCC 4.4 in X64 mode.
Modified Paths:
--------------
trunk/BaseTools/Conf/tools_def.template
Added Paths:
-----------
trunk/BaseTools/Scripts/
trunk/BaseTools/Scripts/gcc4.4-ld-script
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2010-04-29 09:24:53 UTC (rev 1960)
+++ trunk/BaseTools/Conf/tools_def.template 2010-04-29 21:16:44 UTC (rev 1961)
@@ -109,6 +109,8 @@
DEFINE GCC44_IA32_PREFIX = /usr/bin/
#DEFINE GCC44_IA32_PREFIX = ENV(HOME)/programs/gcc/4.4/ia32/
+DEFINE GCC44_X64_PREFIX = /usr/bin/
+#DEFINE GCC44_X64_PREFIX = ENV(HOME)/programs/gcc/4.4/x64/
DEFINE UNIX_IASL_BIN = /usr/bin/iasl
#DEFINE UNIX_IASL_BIN = $(HOME)/programs/iasl
@@ -1571,10 +1573,11 @@
DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -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 -D EFI32
-DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -mno-red-zone -Wno-address
+DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address
DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -n -q --gc-sections
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 --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.4-ld-script
DEFINE GCC44_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
####################################################################################
@@ -1703,7 +1706,28 @@
*_GCC44_IA32_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS) -m elf_i386 --oformat=elf32-i386
*_GCC44_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+##################
+# GCC44 X64 definitions
+##################
+*_GCC44_X64_CC_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_SLINK_PATH = DEF(GCC44_X64_PREFIX)ar
+*_GCC44_X64_DLINK_PATH = DEF(GCC44_X64_PREFIX)ld
+*_GCC44_X64_ASLDLINK_PATH = DEF(GCC44_X64_PREFIX)ld
+*_GCC44_X64_ASM_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_PP_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_VFRPP_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_ASLCC_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_ASLPP_PATH = DEF(GCC44_X64_PREFIX)gcc
+*_GCC44_X64_RC_PATH = DEF(GCC44_X64_PREFIX)objcopy
+*_GCC44_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64
+*_GCC44_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -m elf_x86_64
+*_GCC44_X64_ASM_FLAGS = DEF(GCC44_ASM_FLAGS) -m64 --64 -melf_x86_64
+*_GCC44_X64_CC_FLAGS = DEF(GCC44_X64_CC_FLAGS) -Os
+*_GCC44_X64_DLINK_FLAGS = DEF(GCC44_X64_DLINK_FLAGS)
+*_GCC44_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+
+
####################################################################################
#
# Cygwin GCC And Intel ACPI Compiler
Added: trunk/BaseTools/Scripts/gcc4.4-ld-script
===================================================================
--- trunk/BaseTools/Scripts/gcc4.4-ld-script (rev 0)
+++ trunk/BaseTools/Scripts/gcc4.4-ld-script 2010-04-29 21:16:44 UTC (rev 1961)
@@ -0,0 +1,43 @@
+/* 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.*
+ )
+ . = ALIGN(0x20);
+ }
+ .bss ALIGN(0x20) :
+ {
+ *(.bss .bss.*)
+ . = ALIGN(0x20);
+ }
+ .got ALIGN(0x20) :
+ {
+ *(.got .got.*)
+ . = ALIGN(0x20);
+ }
+ .rela ALIGN(0x20) :
+ {
+ *(.rela .rela.*)
+ }
+ /DISCARD/ : {
+ *(.note.GNU-stack) *(.gnu_debuglink)
+ *(.interp)
+ *(.dynsym)
+ *(.dynstr)
+ *(.dynamic)
+ *(.hash)
+ *(.comment)
+ }
+}
+
Property changes on: trunk/BaseTools/Scripts/gcc4.4-ld-script
___________________________________________________________________
Added: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|