Message ID | a89c0a82e00721ba4063c9197e0951d1d63c7e40.1497279306.git.raj.khem@gmail.com |
---|---|
State | Accepted |
Commit | 835b705ee92900f0d73cee612ce790fde4b1e2a4 |
Headers | show |
Series | Misc recipe fixes and updates | expand |
On 12 June 2017 at 15:59, Khem Raj <raj.khem@gmail.com> wrote: > Fix build with gcc7 > > clang can not compile it therefore mark it gcc only recipe > This doesn't apply to master, can you rebase? Ross -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Tue, Jun 13, 2017 at 9:43 AM, Burton, Ross <ross.burton@intel.com> wrote: > > On 12 June 2017 at 15:59, Khem Raj <raj.khem@gmail.com> wrote: >> >> Fix build with gcc7 >> >> clang can not compile it therefore mark it gcc only recipe > > > This doesn't apply to master, can you rebase? > ok. > Ross -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Tue, Jun 13, 2017 at 10:10 AM, Khem Raj <raj.khem@gmail.com> wrote: > On Tue, Jun 13, 2017 at 9:43 AM, Burton, Ross <ross.burton@intel.com> wrote: >> >> On 12 June 2017 at 15:59, Khem Raj <raj.khem@gmail.com> wrote: >>> >>> Fix build with gcc7 >>> >>> clang can not compile it therefore mark it gcc only recipe >> >> >> This doesn't apply to master, can you rebase? applied the rebased patch to kraj/pu >> > > ok. > >> Ross -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
This seems to be in master now. I'm not sure if we have a new master build after that but ross/mut has some sort of linker failure in ofmv (in nightly-world-lsb only): | GenFw: ERROR 3000: Invalid | /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-world-lsb/build/build/tmp/work/i586-poky-linux/ovmf/git-r0/git/Build/OvmfIa32/RELEASE_GCC5/IA32/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Madt.dll: Bad definition for symbol '<unknown>'@0 or unsupported symbol type. For example, absolute and undefined symbols are not supported. https://autobuilder.yocto.io/builders/nightly-world-lsb/builds/304/steps/BuildImages/logs/stdio Looks like a check for symbol table alignment is failing? The LSB distro configuration requires security_flags.inc so that may be related. Jussi On 12 June 2017 at 17:59, Khem Raj <raj.khem@gmail.com> wrote: > > Fix build with gcc7 > > clang can not compile it therefore mark it gcc only recipe > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > ...g-UefiHiiLib-Fix-incorrect-comparison-exp.patch | 45 ---------------------- > .../ovmf/ovmf/0001-ia32-Dont-use-pie.patch | 37 ++++++++++++++++++ > ...makefile-adjust-to-build-in-under-bitbake.patch | 25 ++++++------ > .../ovmf/ovmf/no-stack-protector-all-archs.patch | 19 +++++++++ > meta/recipes-core/ovmf/ovmf_git.bb | 6 ++- > 5 files changed, 72 insertions(+), 60 deletions(-) > delete mode 100644 meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch > create mode 100644 meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch > create mode 100644 meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch > > diff --git a/meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch b/meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch > deleted file mode 100644 > index 0529a27b16..0000000000 > --- a/meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch > +++ /dev/null > @@ -1,45 +0,0 @@ > -From 73692710d50da1f421b0e6ddff784ca3135389b3 Mon Sep 17 00:00:00 2001 > -From: Dandan Bi <dandan.bi@intel.com> > -Date: Sat, 1 Apr 2017 10:31:14 +0800 > -Subject: [PATCH] MdeModulePkg/UefiHiiLib:Fix incorrect comparison expression > - > -Fix the incorrect comparison between pointer and constant zero character. > - > -https://bugzilla.tianocore.org/show_bug.cgi?id=416 > - > -V2: The pointer StringPtr points to a string returned > -by ExtractConfig/ExportConfig, if it is NULL, function > -InternalHiiIfrValueAction will return FALSE. So in > -current usage model, the StringPtr can not be NULL before > -using it, so we can add ASSERT here. > - > -Cc: Eric Dong <eric.dong@intel.com> > -Cc: Liming Gao <liming.gao@intel.com> > -Contributed-under: TianoCore Contribution Agreement 1.0 > -Signed-off-by: Dandan Bi <dandan.bi@intel.com> > -Reviewed-by: Eric Dong <eric.dong@intel.com> > ---- > -Upstream-Status: Backport > - > - MdeModulePkg/Library/UefiHiiLib/HiiLib.c | 5 +++-- > - 1 file changed, 3 insertions(+), 2 deletions(-) > - > -diff --git a/MdeModulePkg/Library/UefiHiiLib/HiiLib.c b/MdeModulePkg/Library/UefiHiiLib/HiiLib.c > -index 8579501..46ca7bc 100644 > ---- a/MdeModulePkg/Library/UefiHiiLib/HiiLib.c > -+++ b/MdeModulePkg/Library/UefiHiiLib/HiiLib.c > -@@ -2180,8 +2180,9 @@ InternalHiiIfrValueAction ( > - } > - > - StringPtr = ConfigAltResp; > -- > -- while (StringPtr != L'\0') { > -+ ASSERT (StringPtr != NULL); > -+ > -+ while (*StringPtr != L'\0') { > - // > - // 1. Find <ConfigHdr> GUID=...&NAME=...&PATH=... > - // > --- > -1.9.1 > - > diff --git a/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch > new file mode 100644 > index 0000000000..7ce20be54c > --- /dev/null > +++ b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch > @@ -0,0 +1,37 @@ > +From f65e9cc025278387b494c2383c5d9ff3bed98687 Mon Sep 17 00:00:00 2001 > +From: Khem Raj <raj.khem@gmail.com> > +Date: Sun, 11 Jun 2017 00:47:24 -0700 > +Subject: [PATCH] ia32: Dont use -pie > + > +Upstream-Status: Pending > + > +Signed-off-by: Khem Raj <raj.khem@gmail.com> > +--- > + BaseTools/Conf/tools_def.template | 4 ++-- > + 1 file changed, 2 insertions(+), 2 deletions(-) > + > +diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template > +index 04a1bcb210..84c5f84f93 100755 > +--- a/BaseTools/Conf/tools_def.template > ++++ b/BaseTools/Conf/tools_def.template > +@@ -4336,7 +4336,7 @@ RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = > + NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug > + > + DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common > +-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_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe -fno-PIE -no-pie > + 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_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie > +@@ -4369,7 +4369,7 @@ DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm > + DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii > + > + DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings > +-DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables > ++DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie > + DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables > + DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 > + DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable > +-- > +2.13.1 > + > diff --git a/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch > index 0fdc278ce2..1f8332ef56 100644 > --- a/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch > +++ b/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch > @@ -11,29 +11,28 @@ Signed-off-by: Ricardo Neri < ricardo.neri@linux.intel.com> > BaseTools/Source/C/Makefiles/header.makefile | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > -diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile > -index 821d114..fe0f08b 100644 > ---- a/BaseTools/Source/C/Makefiles/header.makefile > -+++ b/BaseTools/Source/C/Makefiles/header.makefile > -@@ -44,14 +44,14 @@ ARCH_INCLUDE = -I $(MAKEROOT)/Include/AArch64/ > +Index: git/BaseTools/Source/C/Makefiles/header.makefile > +=================================================================== > +--- git.orig/BaseTools/Source/C/Makefiles/header.makefile > ++++ git/BaseTools/Source/C/Makefiles/header.makefile > +@@ -44,15 +44,15 @@ ARCH_INCLUDE = -I $(MAKEROOT)/Include/AA > endif > > INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) > -BUILD_CPPFLAGS = $(INCLUDE) -O2 > -+BUILD_CPPFLAGS := $(BUILD_CPPFLAGS) $(INCLUDE) -O2 > ++BUILD_CPPFLAGS += $(INCLUDE) -O2 > ifeq ($(DARWIN),Darwin) > # assume clang or clang compatible flags on OS X > -BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g > -+BUILD_CFLAGS := $(BUILD_CFLAGS) -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g > ++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g > else > -BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g > -+BUILD_CFLAGS := $(BUILD_CFLAGS) -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g > ++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g > endif > -BUILD_LFLAGS = > -+BUILD_LFLAGS := $(LDFLAGS) > - BUILD_CXXFLAGS = > +-BUILD_CXXFLAGS = -Wno-unused-result > ++BUILD_LFLAGS = $(LDFLAGS) > ++BUILD_CXXFLAGS += -Wno-unused-result > > ifeq ($(ARCH), IA32) > --- > -2.9.3 > - > + # > diff --git a/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch b/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch > new file mode 100644 > index 0000000000..25a09c5ce3 > --- /dev/null > +++ b/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch > @@ -0,0 +1,19 @@ > +Author: Steve Langasek <steve.langasek@ubuntu.com> > +Description: pass -fno-stack-protector to all GCC toolchains > + The upstream build rules inexplicably pass -fno-stack-protector only > + when building for i386 and amd64. Add this essential argument to the > + generic rules for gcc 4.4 and later. > +Last-Updated: 2016-04-12 > +Index: git/BaseTools/Conf/tools_def.template > +=================================================================== > +--- git.orig/BaseTools/Conf/tools_def.template > ++++ git/BaseTools/Conf/tools_def.template > +@@ -4368,7 +4368,7 @@ DEFINE GCC_IPF_RC_FLAGS = -I > + DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii > + DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii > + > +-DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings > ++DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings > + DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie > + DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables > + DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 > diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ ovmf_git.bb > index 9d988e9d41..5d7216e80e 100644 > --- a/meta/recipes-core/ovmf/ovmf_git.bb > +++ b/meta/recipes-core/ovmf/ovmf_git.bb > @@ -14,7 +14,8 @@ SRC_URI = "git:// github.com/tianocore/edk2.git;branch=master \ > file://0002-ovmf-update-path-to-native-BaseTools.patch \ > file://0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ > file://VfrCompile-increase-path-length-limit.patch \ > - file://0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch \ > + file://0001-ia32-Dont-use-pie.patch \ > + file://no-stack-protector-all-archs.patch \ > " > > SRC_URI_append_class-target = " \ > @@ -22,7 +23,7 @@ SRC_URI_append_class-target = " \ > file://0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch \ > " > > -SRCREV="4575a602ca6072ee9d04150b38bfb143cbff8588" > +SRCREV="ec4910cd3336565fdb61dafdd9ec4ae7a6160ba3" > SRC_URI[openssl.md5sum] = "96322138f0b69e61b7212bc53d5e912b" > SRC_URI[openssl.sha256sum] = "e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431" > > @@ -241,3 +242,4 @@ do_deploy_class-target() { > addtask do_deploy after do_compile before do_build > > BBCLASSEXTEND = "native" > +TOOLCHAIN = "gcc" > -- > 2.13.1 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On 19 June 2017 at 11:42, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote: > This seems to be in master now. I'm not sure if we have a new master build > after that but ross/mut has some sort of linker failure in ofmv (in > nightly-world-lsb only): > > | GenFw: ERROR 3000: Invalid > | /home/pokybuild/yocto-autobuilder/yocto-worker/ > nightly-world-lsb/build/build/tmp/work/i586-poky-linux/ovmf/ > git-r0/git/Build/OvmfIa32/RELEASE_GCC5/IA32/OvmfPkg/ > AcpiTables/AcpiTables/OUTPUT/./Madt.dll: Bad definition for symbol > '<unknown>'@0 or unsupported symbol type. For example, absolute and > undefined symbols are not supported. > > Note that this is specific to 32-bit x86 as far as I can tell. Ross -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff --git a/meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch b/meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch deleted file mode 100644 index 0529a27b16..0000000000 --- a/meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 73692710d50da1f421b0e6ddff784ca3135389b3 Mon Sep 17 00:00:00 2001 -From: Dandan Bi <dandan.bi@intel.com> -Date: Sat, 1 Apr 2017 10:31:14 +0800 -Subject: [PATCH] MdeModulePkg/UefiHiiLib:Fix incorrect comparison expression - -Fix the incorrect comparison between pointer and constant zero character. - -https://bugzilla.tianocore.org/show_bug.cgi?id=416 - -V2: The pointer StringPtr points to a string returned -by ExtractConfig/ExportConfig, if it is NULL, function -InternalHiiIfrValueAction will return FALSE. So in -current usage model, the StringPtr can not be NULL before -using it, so we can add ASSERT here. - -Cc: Eric Dong <eric.dong@intel.com> -Cc: Liming Gao <liming.gao@intel.com> -Contributed-under: TianoCore Contribution Agreement 1.0 -Signed-off-by: Dandan Bi <dandan.bi@intel.com> -Reviewed-by: Eric Dong <eric.dong@intel.com> ---- -Upstream-Status: Backport - - MdeModulePkg/Library/UefiHiiLib/HiiLib.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/MdeModulePkg/Library/UefiHiiLib/HiiLib.c b/MdeModulePkg/Library/UefiHiiLib/HiiLib.c -index 8579501..46ca7bc 100644 ---- a/MdeModulePkg/Library/UefiHiiLib/HiiLib.c -+++ b/MdeModulePkg/Library/UefiHiiLib/HiiLib.c -@@ -2180,8 +2180,9 @@ InternalHiiIfrValueAction ( - } - - StringPtr = ConfigAltResp; -- -- while (StringPtr != L'\0') { -+ ASSERT (StringPtr != NULL); -+ -+ while (*StringPtr != L'\0') { - // - // 1. Find <ConfigHdr> GUID=...&NAME=...&PATH=... - // --- -1.9.1 - diff --git a/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch new file mode 100644 index 0000000000..7ce20be54c --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch @@ -0,0 +1,37 @@ +From f65e9cc025278387b494c2383c5d9ff3bed98687 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 11 Jun 2017 00:47:24 -0700 +Subject: [PATCH] ia32: Dont use -pie + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + BaseTools/Conf/tools_def.template | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template +index 04a1bcb210..84c5f84f93 100755 +--- a/BaseTools/Conf/tools_def.template ++++ b/BaseTools/Conf/tools_def.template +@@ -4336,7 +4336,7 @@ RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG = + NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug + + DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common +-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_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe -fno-PIE -no-pie + 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_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie +@@ -4369,7 +4369,7 @@ DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm + DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii + + DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings +-DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables ++DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie + DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables + DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 + DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable +-- +2.13.1 + diff --git a/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch index 0fdc278ce2..1f8332ef56 100644 --- a/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch +++ b/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch @@ -11,29 +11,28 @@ Signed-off-by: Ricardo Neri <ricardo.neri@linux.intel.com> BaseTools/Source/C/Makefiles/header.makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile -index 821d114..fe0f08b 100644 ---- a/BaseTools/Source/C/Makefiles/header.makefile -+++ b/BaseTools/Source/C/Makefiles/header.makefile -@@ -44,14 +44,14 @@ ARCH_INCLUDE = -I $(MAKEROOT)/Include/AArch64/ +Index: git/BaseTools/Source/C/Makefiles/header.makefile +=================================================================== +--- git.orig/BaseTools/Source/C/Makefiles/header.makefile ++++ git/BaseTools/Source/C/Makefiles/header.makefile +@@ -44,15 +44,15 @@ ARCH_INCLUDE = -I $(MAKEROOT)/Include/AA endif INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) -BUILD_CPPFLAGS = $(INCLUDE) -O2 -+BUILD_CPPFLAGS := $(BUILD_CPPFLAGS) $(INCLUDE) -O2 ++BUILD_CPPFLAGS += $(INCLUDE) -O2 ifeq ($(DARWIN),Darwin) # assume clang or clang compatible flags on OS X -BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS := $(BUILD_CFLAGS) -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g ++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g else -BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g -+BUILD_CFLAGS := $(BUILD_CFLAGS) -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g ++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g endif -BUILD_LFLAGS = -+BUILD_LFLAGS := $(LDFLAGS) - BUILD_CXXFLAGS = +-BUILD_CXXFLAGS = -Wno-unused-result ++BUILD_LFLAGS = $(LDFLAGS) ++BUILD_CXXFLAGS += -Wno-unused-result ifeq ($(ARCH), IA32) --- -2.9.3 - + # diff --git a/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch b/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch new file mode 100644 index 0000000000..25a09c5ce3 --- /dev/null +++ b/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch @@ -0,0 +1,19 @@ +Author: Steve Langasek <steve.langasek@ubuntu.com> +Description: pass -fno-stack-protector to all GCC toolchains + The upstream build rules inexplicably pass -fno-stack-protector only + when building for i386 and amd64. Add this essential argument to the + generic rules for gcc 4.4 and later. +Last-Updated: 2016-04-12 +Index: git/BaseTools/Conf/tools_def.template +=================================================================== +--- git.orig/BaseTools/Conf/tools_def.template ++++ git/BaseTools/Conf/tools_def.template +@@ -4368,7 +4368,7 @@ DEFINE GCC_IPF_RC_FLAGS = -I + DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii + DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii + +-DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings ++DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings + DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie + DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables + DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb index 9d988e9d41..5d7216e80e 100644 --- a/meta/recipes-core/ovmf/ovmf_git.bb +++ b/meta/recipes-core/ovmf/ovmf_git.bb @@ -14,7 +14,8 @@ SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \ file://0002-ovmf-update-path-to-native-BaseTools.patch \ file://0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ file://VfrCompile-increase-path-length-limit.patch \ - file://0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch \ + file://0001-ia32-Dont-use-pie.patch \ + file://no-stack-protector-all-archs.patch \ " SRC_URI_append_class-target = " \ @@ -22,7 +23,7 @@ SRC_URI_append_class-target = " \ file://0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch \ " -SRCREV="4575a602ca6072ee9d04150b38bfb143cbff8588" +SRCREV="ec4910cd3336565fdb61dafdd9ec4ae7a6160ba3" SRC_URI[openssl.md5sum] = "96322138f0b69e61b7212bc53d5e912b" SRC_URI[openssl.sha256sum] = "e7aff292be21c259c6af26469c7a9b3ba26e9abaaffd325e3dccc9785256c431" @@ -241,3 +242,4 @@ do_deploy_class-target() { addtask do_deploy after do_compile before do_build BBCLASSEXTEND = "native" +TOOLCHAIN = "gcc"
Fix build with gcc7 clang can not compile it therefore mark it gcc only recipe Signed-off-by: Khem Raj <raj.khem@gmail.com> --- ...g-UefiHiiLib-Fix-incorrect-comparison-exp.patch | 45 ---------------------- .../ovmf/ovmf/0001-ia32-Dont-use-pie.patch | 37 ++++++++++++++++++ ...makefile-adjust-to-build-in-under-bitbake.patch | 25 ++++++------ .../ovmf/ovmf/no-stack-protector-all-archs.patch | 19 +++++++++ meta/recipes-core/ovmf/ovmf_git.bb | 6 ++- 5 files changed, 72 insertions(+), 60 deletions(-) delete mode 100644 meta/recipes-core/ovmf/ovmf/0001-MdeModulePkg-UefiHiiLib-Fix-incorrect-comparison-exp.patch create mode 100644 meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch create mode 100644 meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch -- 2.13.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core