diff options
author | Fathi Boudra <fabo@debian.org> | 2012-09-13 09:25:26 +0300 |
---|---|---|
committer | Fathi Boudra <fabo@debian.org> | 2012-09-13 09:25:26 +0300 |
commit | 2afe86f7c61995cc4065af1dacba093f0974adfd (patch) | |
tree | b1d371a21ad9f86723ec93a6cb72c7ebde79f43e |
Origen UEFI (restore previous repo)
-rw-r--r-- | Fixed_GCC_4.6_build.patch | 31 | ||||
-rw-r--r-- | Fixed_debug_build_with_-Werror_unused-but-set-variable.patch | 18 | ||||
-rw-r--r-- | Removed_-combine.patch | 27 | ||||
-rwxr-xr-x | uefi.sh | 44 |
4 files changed, 120 insertions, 0 deletions
diff --git a/Fixed_GCC_4.6_build.patch b/Fixed_GCC_4.6_build.patch new file mode 100644 index 0000000..e9e47c2 --- /dev/null +++ b/Fixed_GCC_4.6_build.patch @@ -0,0 +1,31 @@ +From 336f97bb69b615f681a7dd8d3de74b92914c16ea Mon Sep 17 00:00:00 2001
+From: Ryan Harkin <ryan.harkin@linaro.org>
+Date: Fri, 27 Jul 2012 15:40:30 +0100
+Subject: [PATCH] BaseTools: Fixed GCC 4.6 build (changed in tools_def.template)
+
+---
+ BaseTools/Conf/tools_def.template | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/BaseTools/Conf/tools_def.template
++++ b/BaseTools/Conf/tools_def.template
+@@ -2541,7 +2541,7 @@ DEFINE GCC_ALL_CC_FLAGS = -g
+ DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
+ DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
+ DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency
+-DEFINE GCC_ARMGCC_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer
++DEFINE GCC_ARMGCC_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address
+ DEFINE GCC_DLINK_FLAGS_COMMON = -nostdlib --pie
+ DEFINE GCC_IA32_X64_DLINK_COMMON = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
+ DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
+@@ -4871,8 +4871,8 @@ RELEASE_ARMLINUXGCC_ARM_ASM_FLAGS = $(
+ *_ARMLINUXGCC_ARM_SLINK_FLAGS = -rc
+ *_ARMLINUXGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+
+- DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-address -O0
+-RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-address -Wno-unused-but-set-variable
++ DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -fno-stack-protector -O0
++RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -fno-stack-protector -Wno-unused-but-set-variable
+
+ #################
+ # ASM 16 linker defintions
diff --git a/Fixed_debug_build_with_-Werror_unused-but-set-variable.patch b/Fixed_debug_build_with_-Werror_unused-but-set-variable.patch new file mode 100644 index 0000000..08e9cdb --- /dev/null +++ b/Fixed_debug_build_with_-Werror_unused-but-set-variable.patch @@ -0,0 +1,18 @@ +From: Fathi Boudra <fathi.boudra@linaro.org>
+Subject: [PATCH] BaseTools: Fixed debug build with GCC 4.6 and -Werror=unused-but-set-variable
+
+---
+ BaseTools/Conf/tools_def.template | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/BaseTools/Conf/tools_def.template
++++ b/BaseTools/Conf/tools_def.template
+@@ -4871,7 +4871,7 @@ RELEASE_ARMLINUXGCC_ARM_ASM_FLAGS = $(
+ *_ARMLINUXGCC_ARM_SLINK_FLAGS = -rc
+ *_ARMLINUXGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+
+- DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -fno-stack-protector -O0
++ DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -fno-stack-protector -Wno-unused-but-set-variable -O0
+ RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -fno-stack-protector -Wno-unused-but-set-variable
+
+ #################
diff --git a/Removed_-combine.patch b/Removed_-combine.patch new file mode 100644 index 0000000..d5c8678 --- /dev/null +++ b/Removed_-combine.patch @@ -0,0 +1,27 @@ +From b99b2e59c2a54a7b0685508121789a243c68ef29 Mon Sep 17 00:00:00 2001
+From: Ryan Harkin <ryan.harkin@linaro.org>
+Date: Fri, 27 Jul 2012 15:37:01 +0100
+Subject: [PATCH] BaseTools: removed '-combine' from tools_def.template
+
+This option is not supported any more by the latest version of GCC (v4.6).
+
+Note from the GCC mailing-list: The -combine option has been removed, it
+has been very buggy and has been superceeded by -flto. Either drop it, or
+build with -flto.
+---
+ BaseTools/Conf/tools_def.template | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/BaseTools/Conf/tools_def.template
++++ b/BaseTools/Conf/tools_def.template
+@@ -4813,8 +4813,8 @@ RELEASE_ARMGCC_ARM_ASM_FLAGS = $(ARCHA
+ *_ARMGCC_ARM_SLINK_FLAGS = -rc
+ *_ARMGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+
+- DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -O0
+-RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -combine -Wno-unused
++ DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -O0
++RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-unused
+
+ ####################################################################################
+ #
@@ -0,0 +1,44 @@ +#!/bin/bash +# Script used by CI to build UEFI for Origen board +# Requirements: uuid-dev package + +set -e + +unset ARCH +export EDK_WORKSPACE=${WORKSPACE}/edk2/edk2 +export EDK_TOOLS_PATH=${EDK_WORKSPACE}/BaseTools + +# Get the sources +git clone git://git.linaro.org/mirror/edk2/edk2.git +git clone git://git.linaro.org/mirror/edk2/edk2-fatdriver2.git +cp -a ${WORKSPACE}/edk2-fatdriver2/FatPkg ${EDK_WORKSPACE}/ +git clone git://git.linaro.org/landing-teams/working/samsung/edk2-origen.git +cp -a ${WORKSPACE}/edk2-origen/SamsungPlatformPkg ${EDK_WORKSPACE}/ + +# Apply patches +cd ${EDK_WORKSPACE} +patch -p1 < ${WORKSPACE}/origen-uefi-ci/Removed_-combine.patch +patch -p1 < ${WORKSPACE}/origen-uefi-ci/Fixed_GCC_4.6_build.patch +patch -p1 < ${WORKSPACE}/origen-uefi-ci/Fixed_debug_build_with_-Werror_unused-but-set-variable.patch +cd ${WORKSPACE} + +# Create source tarball +tar -C ${WORKSPACE}/edk2 -jcf edk2-origen-uefi-`date +%Y%m%d`-${BUILD_NUMBER}.tar.bz2 edk2 + +# Fix WORKSPACE environment variable conflict with Jenkins +find ${EDK_WORKSPACE} -type f | xargs sed -i 's/WORKSPACE/EDK_WORKSPACE/g' + +# Get the toolchain +#wget --progress=dot -e dotbytes=1M http://releases.linaro.org/12.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux.tar.bz2 +#tar -jxf gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux.tar.bz2 +#export ARMLINUXGCC_TOOLS_PATH=${WORKSPACE}/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/ + +source ${EDK_WORKSPACE}/edksetup.sh + +make -C ${EDK_WORKSPACE}/BaseTools + +export ARCH=arm +build -a ARM -b DEBUG -t ARMLINUXGCC -p SamsungPlatformPkg/OrigenBoardPkg/OrigenBoardPkg-Exynos.dsc + +# Rename binaries +cp -a ${EDK_WORKSPACE}/Build/OrigenBoard-Exynos/DEBUG_ARMLINUXGCC/FV/ORIGENBOARD_EFI.fd ${EDK_WORKSPACE}/uefi_origen.bin |