Re: [edk2] [patch] Clean up unused data type - BOOL.

2015-08-14 Thread Zhang, Chao B
It is good to me.
Reviewed-by: Chao Zhang chao.b.zh...@intel.com





Thanks  Best regards
Chao Zhang

-Original Message-
From: Yao, Jiewen 
Sent: Friday, August 14, 2015 2:08 PM
To: edk2-devel@lists.01.org
Cc: Yao, Jiewen; Zhang, Chao B
Subject: [patch] Clean up unused data type - BOOL.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yao, Jiewen jiewen@intel.com
CC: Zhang, Chao B chao.b.zh...@intel.com
---
 MdePkg/Include/IndustryStandard/Tpm20.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MdePkg/Include/IndustryStandard/Tpm20.h 
b/MdePkg/Include/IndustryStandard/Tpm20.h
index 2abfc57..0505927 100644
--- a/MdePkg/Include/IndustryStandard/Tpm20.h
+++ b/MdePkg/Include/IndustryStandard/Tpm20.h
@@ -147,7 +147,6 @@ typedef UINT64CONTEXT_COUNTER;
 
 // Table 3 - Definition of Base Types
 typedef UINT8 BYTE;
-typedef UINT8 BOOL;
 
 // Table 4 - Definition of Types for Documentation Clarity  //
--
1.9.5.msysgit.0

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [patch] Clean up unused data type - BOOL.

2015-08-14 Thread jiewen yao
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yao, Jiewen jiewen@intel.com
CC: Zhang, Chao B chao.b.zh...@intel.com
---
 MdePkg/Include/IndustryStandard/Tpm20.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/MdePkg/Include/IndustryStandard/Tpm20.h 
b/MdePkg/Include/IndustryStandard/Tpm20.h
index 2abfc57..0505927 100644
--- a/MdePkg/Include/IndustryStandard/Tpm20.h
+++ b/MdePkg/Include/IndustryStandard/Tpm20.h
@@ -147,7 +147,6 @@ typedef UINT64CONTEXT_COUNTER;
 
 // Table 3 - Definition of Base Types
 typedef UINT8 BYTE;
-typedef UINT8 BOOL;
 
 // Table 4 - Definition of Types for Documentation Clarity
 //
-- 
1.9.5.msysgit.0

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [Patch] NetworkPkg: Fix hang issue after system reconnected when IPSec has set up

2015-08-14 Thread Ye, Ting
Reviewed-by: Ye Ting ting...@intel.com 

-Original Message-
From: Wu, Jiaxin 
Sent: Thursday, August 13, 2015 10:10 PM
To: edk2-devel@lists.01.org
Cc: Ye, Ting
Subject: [Patch] NetworkPkg: Fix hang issue after system reconnected when IPSec 
has set up

IpSecStop() is incompetent to send out the delete information since the 
underlying
IP child has been destroyed. Delete all established IKE SAs and related
Child SAs directly.

Cc: Ye Ting ting...@intel.com
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu jiaxin...@intel.com
---
 NetworkPkg/IpSecDxe/IkeService.c |  1 -
 NetworkPkg/IpSecDxe/IkeService.h |  3 ++-
 NetworkPkg/IpSecDxe/Ikev2/Exchange.c |  6 +++---
 NetworkPkg/IpSecDxe/Ikev2/Utility.c  |  6 ++
 NetworkPkg/IpSecDxe/IpSecDriver.c| 25 +++--
 5 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/NetworkPkg/IpSecDxe/IkeService.c b/NetworkPkg/IpSecDxe/IkeService.c
index 6594963..d857196 100644
--- a/NetworkPkg/IpSecDxe/IkeService.c
+++ b/NetworkPkg/IpSecDxe/IkeService.c
@@ -13,11 +13,10 @@
 
 **/
 
 #include IkeService.h
 #include IpSecConfigImpl.h
-#include Ikev2/Utility.h
 
 IKE_EXCHANGE_INTERFACE  *mIkeExchange[] = {
   mIkev1Exchange,
   mIkev2Exchange
 };
diff --git a/NetworkPkg/IpSecDxe/IkeService.h b/NetworkPkg/IpSecDxe/IkeService.h
index 3ebd179..0e05dfe 100644
--- a/NetworkPkg/IpSecDxe/IkeService.h
+++ b/NetworkPkg/IpSecDxe/IkeService.h
@@ -1,9 +1,9 @@
 /** @file
   Prototypes definitions of IKE service.
 
-  Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.BR
+  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.BR
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD 
License
   which accompanies this distribution.  The full text of the license may be 
found at
   http://opensource.org/licenses/bsd-license.php.
@@ -17,10 +17,11 @@
 #define _IKE_SERVICE_H_
 
 #include Ike.h
 #include IpSecImpl.h
 #include IkeCommon.h
+#include Ikev2/Utility.h
 
 #define IPSEC_CRYPTO_LIB_MEMORY 128 * 1024
 
 /**
   This is prototype definition of general interface to intialize a IKE 
negotiation.
diff --git a/NetworkPkg/IpSecDxe/Ikev2/Exchange.c 
b/NetworkPkg/IpSecDxe/Ikev2/Exchange.c
index 37f9667..9d58ab0 100644
--- a/NetworkPkg/IpSecDxe/Ikev2/Exchange.c
+++ b/NetworkPkg/IpSecDxe/Ikev2/Exchange.c
@@ -1,9 +1,9 @@
 /** @file
   The general interfaces of the IKEv2.
 
-  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.BR
+  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.BR
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD 
License
   which accompanies this distribution.  The full text of the license may be 
found at
   http://opensource.org/licenses/bsd-license.php.
@@ -328,11 +328,11 @@ Ikev2NegotiateInfo (
 }
 
 //
 // Send out the Packet
 //
-if (UdpService != NULL) {
+if (UdpService != NULL  UdpService-Output != NULL) {
   Status = Ikev2SendIkePacket (UdpService, (UINT8 *) SaCommon, IkePacket, 
0);
 
   if (EFI_ERROR (Status)) {
 goto ON_ERROR;
   }
@@ -355,11 +355,11 @@ Ikev2NegotiateInfo (
   }
 
   //
   // Send out the Packet
   //
-  if (UdpService != NULL) {
+  if (UdpService != NULL  UdpService-Output != NULL) {
 Status = Ikev2SendIkePacket (UdpService, (UINT8 *) 
ChildSaSession-SessionCommon, IkePacket, 0);
 
 if (EFI_ERROR (Status)) {
   goto ON_ERROR;
 }
diff --git a/NetworkPkg/IpSecDxe/Ikev2/Utility.c 
b/NetworkPkg/IpSecDxe/Ikev2/Utility.c
index 8769850..16be09e 100644
--- a/NetworkPkg/IpSecDxe/Ikev2/Utility.c
+++ b/NetworkPkg/IpSecDxe/Ikev2/Utility.c
@@ -1,10 +1,10 @@
 /** @file
   The Common operations used by IKE Exchange Process.
 
   (C) Copyright 2015 Hewlett-Packard Development Company, L.P.BR
-  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.BR
+  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.BR
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD 
License
   which accompanies this distribution.  The full text of the license may be 
found at
   http://opensource.org/licenses/bsd-license.php.
@@ -889,13 +889,11 @@ Ikev2ChildSaSilentDelete (
   ChildSession= NULL;
   LocalSelector   = NULL;
   RemoteSelector  = NULL;
   UdpService  = IkeSaSession-SessionCommon.UdpService;
 
-  Private  = (UdpService-IpVersion == IP_VERSION_4) ?
- IPSEC_PRIVATE_DATA_FROM_UDP4LIST(UdpService-ListHead) :
- IPSEC_PRIVATE_DATA_FROM_UDP6LIST(UdpService-ListHead);
+  Private = IkeSaSession-SessionCommon.Private;
 
   //
   // Remove the Established SA from ChildSaEstablishlist.
   //
   ChildSession = Ikev2ChildSaSessionRemove(
diff --git a/NetworkPkg/IpSecDxe/IpSecDriver.c 

Re: [edk2] [PATCH 0/2] Add HttpBoot support to OvmfPkg

2015-08-14 Thread David Woodhouse
On Fri, 2015-08-14 at 17:03 +0800, Gary Ching-Pang Lin wrote:
 I've tested the HttpBoot implementation with a simple test 
 environment:

Is this tested with IPv6?

-- 
David WoodhouseOpen Source Technology Centre
david.woodho...@intel.com  Intel Corporation


smime.p7s
Description: S/MIME cryptographic signature
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] GetFirstGuidHob availability across phases

2015-08-14 Thread Andrew Fish

 On Aug 14, 2015, at 3:57 AM, Michael Zimmermann sigmaepsilo...@gmail.com 
 wrote:
 
 
 I registered a data Hob from the ARM PrePI(2ndstage) phase like this:
 BuildGuidDataHob (gLKApiAddrGuid, mLKApiAddress, sizeof mLKApiAddress);
 
 Unfortunately this hob is not available in later phase anymore(DXE+). When
 I use 'GetFirstGuidHob (gLKApiAddrGuid);' it just returns NULL.
 
 Is there a way to make this Hob persistent across all phases?

What Phase are you talking about? Most of EFI goes away when the OS calls 
gBS-ExitBootServices().

Thanks,

Andrew Fish

 ___
 edk2-devel mailing list
 edk2-devel@lists.01.org
 https://lists.01.org/mailman/listinfo/edk2-devel

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH 0/2] Add HttpBoot support to OvmfPkg

2015-08-14 Thread Blibbet

On 08/14/2015 02:03 AM, Gary Ching-Pang Lin wrote:
 Although the current HttpBoot implementation is incomplete, it would be
 easier to develop and test the software stack with a virtual machine.

THANKS for adding to OVMF!

Besides 1219 UEFI.Next Feature - UEFI TLS API, what else is missing?

Thanks.
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 08/15] BaseTools GCC: refactor tools_def internal GCC defines for [AS]DLINK

2015-08-14 Thread Ard Biesheuvel
As a first step towards disentangling the arguments passed to the
various flavors of GCC we support, refactor the CC flags so that
we distinguish more clearly between toolchains that generate PE/COFF
directly (for IA32 and X86 only) and toolchains that generate ELF
only.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 30 +++-
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index ebd6d0448586..26e17fef6b2e 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3818,19 +3818,21 @@ DEFINE GCC_IPF_CC_FLAGS= 
DEF(GCC_ALL_ELF_CC_FLAGS) -Os -minline-int-
 DEFINE GCC_ARM_CC_FLAGS= DEF(GCC_ALL_ELF_CC_FLAGS) -Os 
-mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums 
-save-temps -fsigned-char -ffunction-sections -fdata-sections 
-fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft
 DEFINE GCC_AARCH64_CC_FLAGS= DEF(GCC_ALL_ELF_CC_FLAGS) -Os 
-mcmodel=large -mlittle-endian -fno-short-enums -save-temps -fverbose-asm 
-fsigned-char  -ffunction-sections -fdata-sections -fomit-frame-pointer 
-fno-builtin -Wno-address -fno-asynchronous-unwind-tables
 
-DEFINE GCC_DLINK_FLAGS_COMMON  = -nostdlib --pie
 DEFINE GCC_DLINK2_FLAGS_COMMON = 
--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
-DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
+DEFINE GCC_ALL_DLINK_FLAGS = -nostdlib
+DEFINE GCC_ALL_DLINK_PE_FLAGS  = DEF(GCC_ALL_DLINK_FLAGS) --pie
+DEFINE GCC_IA32_X64_DLINK_PE_FLAGS = DEF(GCC_ALL_DLINK_PE_FLAGS) --gc-sections
+DEFINE GCC_IA32_DLINK_PE_FLAGS = DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --entry 
_$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
+DEFINE GCC_X64_DLINK_PE_FLAGS  = DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --entry 
$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 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) -z 
common-page-size=0x20
-DEFINE GCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_ReferenceAcpiTable -u _$(IMAGE_ENTRY_POINT)
-DEFINE GCC_X64_ASLDLINK_FLAGS  = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
+DEFINE GCC_IA32_ASLDLINK_PE_FLAGS  = DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --entry 
_ReferenceAcpiTable -u _$(IMAGE_ENTRY_POINT)
+DEFINE GCC_X64_ASLDLINK_PE_FLAGS   = DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --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)
-DEFINE GCC_IA32_DLINK_FLAGS= DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
-DEFINE GCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static 
--entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
+
 DEFINE GCC_IPF_OBJCOPY_FLAGS   = -I elf64-ia64-little -O efi-bsdrv-ia64
 DEFINE GCC_IPF_SYMRENAME_FLAGS = --redefine-sym memcpy=CopyMem
 DEFINE GCC_ASM_FLAGS   = -c -x assembler -imacros 
$(DEST_DIR_DEBUG)/AutoGen.h
@@ -3935,10 +3937,10 @@ DEFINE GCC49_AARCH64_ASLDLINK_FLAGS  = 
DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
 *_UNIXGCC_*_MAKE_PATH= make
 *_UNIXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)
 
-*_UNIXGCC_IA32_DLINK_FLAGS   = DEF(GCC_IA32_DLINK_FLAGS) 
--image-base=0
-*_UNIXGCC_X64_DLINK_FLAGS= DEF(GCC_X64_DLINK_FLAGS) 
--image-base=0
-*_UNIXGCC_IA32_ASLDLINK_FLAGS= DEF(GCC_IA32_ASLDLINK_FLAGS)
-*_UNIXGCC_X64_ASLDLINK_FLAGS = DEF(GCC_X64_ASLDLINK_FLAGS)
+*_UNIXGCC_IA32_DLINK_FLAGS   = DEF(GCC_IA32_DLINK_PE_FLAGS) 
--image-base=0
+*_UNIXGCC_X64_DLINK_FLAGS= DEF(GCC_X64_DLINK_PE_FLAGS) 
--image-base=0
+*_UNIXGCC_IA32_ASLDLINK_FLAGS= DEF(GCC_IA32_ASLDLINK_PE_FLAGS)
+*_UNIXGCC_X64_ASLDLINK_FLAGS = DEF(GCC_X64_ASLDLINK_PE_FLAGS)
 *_UNIXGCC_*_ASM_FLAGS= DEF(GCC_ASM_FLAGS)
 *_UNIXGCC_*_PP_FLAGS = 

[edk2] [PATCH 01/15] BaseTools: Fix GCC49 build failure

2015-08-14 Thread Ard Biesheuvel
From: Scott Duplichan sc...@notabs.org

Some gnu linkers used with GCC44, such as GNU ld 2.19.1, require a
--defsym= command line option to precede the --script= option in
order for the definition to be available for use by the script.
Move the --defsym= command line option to satisfy this requirement
and avoid a GCC44 build failure.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Scott Duplichan sc...@notabs.org

Additional change by Ard Biesheuvel:
move the --defsym= command line option also for AARCH64.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 859fbe14ad59..7209cb7cf282 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3844,9 +3844,9 @@ DEFINE GCC44_X64_CC_FLAGS= 
DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-p
 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_IA32_DLINK2_FLAGS   = DEF(GCC_DLINK2_FLAGS_COMMON) 
--defsym=PECOFF_HEADER_SIZE=0x220
+DEFINE GCC44_IA32_DLINK2_FLAGS   = --defsym=PECOFF_HEADER_SIZE=0x220 
DEF(GCC_DLINK2_FLAGS_COMMON)
 DEFINE GCC44_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_FLAGS)  
-melf_x86_64 --oformat=elf64-x86-64
-DEFINE GCC44_X64_DLINK2_FLAGS= DEF(GCC_DLINK2_FLAGS_COMMON) 
--defsym=PECOFF_HEADER_SIZE=0x228
+DEFINE GCC44_X64_DLINK2_FLAGS= --defsym=PECOFF_HEADER_SIZE=0x228 
DEF(GCC_DLINK2_FLAGS_COMMON)
 DEFINE GCC44_ASM_FLAGS   = DEF(GCC_ASM_FLAGS)
 
 DEFINE GCC45_IA32_CC_FLAGS   = DEF(GCC44_IA32_CC_FLAGS)
@@ -3888,7 +3888,7 @@ DEFINE GCC47_ARM_CC_FLAGS= 
DEF(GCC46_ARM_CC_FLAGS) -mno-unaligned-ac
 DEFINE GCC47_AARCH64_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS)
 DEFINE GCC47_ARM_DLINK_FLAGS = DEF(GCC46_ARM_DLINK_FLAGS)
 DEFINE GCC47_AARCH64_DLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS)
-DEFINE GCC47_AARCH64_DLINK2_FLAGS= DEF(GCC_DLINK2_FLAGS_COMMON) 
--defsym=PECOFF_HEADER_SIZE=0x228
+DEFINE GCC47_AARCH64_DLINK2_FLAGS= --defsym=PECOFF_HEADER_SIZE=0x228 
DEF(GCC_DLINK2_FLAGS_COMMON)
 DEFINE GCC47_ARM_ASLDLINK_FLAGS  = DEF(GCC46_ARM_ASLDLINK_FLAGS)
 DEFINE GCC47_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_ASLDLINK_FLAGS)
 
-- 
1.9.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 03/15] BaseTools: remove unused definition of GCC_WINDRES_FLAGS

2015-08-14 Thread Ard Biesheuvel
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 7209cb7cf282..028cc2531e95 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3831,7 +3831,6 @@ DEFINE GCC_PP_FLAGS= -E -x 
assembler-with-cpp -include $(DEST_DI
 DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include 
$(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
 DEFINE GCC_ASLPP_FLAGS = -x c -E -P
 DEFINE GCC_ASLCC_FLAGS = -x c
-DEFINE GCC_WINDRES_FLAGS   = -J rc -O coff
 DEFINE GCC_IA32_RC_FLAGS   = -I binary -O elf32-i386  -B i386  
  --rename-section .data=.hii
 DEFINE GCC_X64_RC_FLAGS= -I binary -O elf64-x86-64-B i386  
  --rename-section .data=.hii
 DEFINE GCC_IPF_RC_FLAGS= -I binary -O elf64-ia64-little   -B ia64  
  --rename-section .data=.hii
-- 
1.9.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 12/15] BaseTools: unify ARM and AARCH64 DLINK flags for all GCC versions

2015-08-14 Thread Ard Biesheuvel
Use the same GCC options for linking regardless of the exact
GCC version.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 63 +++-
 1 file changed, 23 insertions(+), 40 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 8aaa9d62625b..fdabd6e716c9 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3818,7 +3818,6 @@ DEFINE GCC_IPF_CC_FLAGS= 
DEF(GCC_ALL_ELF_CC_FLAGS) -Os -minline-int-
 DEFINE GCC_ARM_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ALL_ELF_CC_FLAGS) -Os -mword-relocations -mlittle-endian -mabi=aapcs 
-mapcs -fno-short-enums -save-temps -fsigned-char -ffunction-sections 
-fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft 
-fstack-protector -mno-unaligned-access
 DEFINE GCC_AARCH64_CC_FLAGS= $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ALL_ELF_CC_FLAGS) -Os -mcmodel=large -mlittle-endian -fno-short-enums 
-save-temps -fverbose-asm -fsigned-char  -ffunction-sections -fdata-sections 
-fomit-frame-pointer -fno-builtin -Wno-address -fno-asynchronous-unwind-tables
 
-DEFINE GCC_DLINK2_FLAGS_COMMON = 
--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
 DEFINE GCC_ALL_DLINK_FLAGS = -nostdlib
 DEFINE GCC_ALL_DLINK_PE_FLAGS  = DEF(GCC_ALL_DLINK_FLAGS) --pie
 DEFINE GCC_ALL_DLINK_ELF_FLAGS = DEF(GCC_ALL_DLINK_FLAGS) -n -q 
--gc-sections -z common-page-size=0x20
@@ -3828,20 +3827,21 @@ DEFINE GCC_IA32_DLINK_PE_FLAGS = 
DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --entry _$
 DEFINE GCC_IA32_DLINK_ELF_FLAGS= DEF(GCC_IA32_X64_DLINK_ELF_FLAGS) -m 
elf_i386 --oformat=elf32-i386
 DEFINE GCC_X64_DLINK_PE_FLAGS  = DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --entry 
$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_X64_DLINK_ELF_FLAGS = DEF(GCC_IA32_X64_DLINK_ELF_FLAGS) 
-melf_x86_64 --oformat=elf64-x86-64
-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) -z 
common-page-size=0x20
+DEFINE GCC_ARM_AARCH64_DLINK_FLAGS = --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_FLAGS) 
-Ttext=0x0 --oformat=elf32-littlearm
+DEFINE GCC_AARCH64_DLINK_FLAGS = DEF(GCC_ARM_AARCH64_DLINK_FLAGS) -z 
common-page-size=0x20
 DEFINE GCC_IA32_ASLDLINK_PE_FLAGS  = DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --entry 
_ReferenceAcpiTable -u _$(IMAGE_ENTRY_POINT)
 DEFINE GCC_X64_ASLDLINK_PE_FLAGS   = DEF(GCC_IA32_X64_DLINK_PE_FLAGS) --entry 
ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
 DEFINE GCC_IA32_ASLDLINK_ELF_FLAGS = DEF(GCC_ALL_DLINK_ELF_FLAGS) --entry 
ReferenceAcpiTable -u ReferenceAcpiTable -melf_i386
 DEFINE GCC_X64_ASLDLINK_ELF_FLAGS  = DEF(GCC_ALL_DLINK_ELF_FLAGS) --entry 
ReferenceAcpiTable -u ReferenceAcpiTable -melf_x86_64
-DEFINE GCC_ARM_ASLDLINK_FLAGS  = DEF(GCC_ARM_DLINK_FLAGS) --entry 
ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
+DEFINE GCC_ARM_ASLDLINK_FLAGS  = DEF(GCC_ARM_DLINK_FLAGS) --entry 
ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) --oformat=elf32-littlearm
 DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) --entry 
ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
 DEFINE GCC_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static 
--entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 
 DEFINE GCC_ALL_DLINK2_FLAGS= 
--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
 DEFINE GCC_IA32_DLINK2_FLAGS   = --defsym=PECOFF_HEADER_SIZE=0x220 
DEF(GCC_ALL_DLINK2_FLAGS)
 DEFINE GCC_X64_DLINK2_FLAGS= --defsym=PECOFF_HEADER_SIZE=0x228 
DEF(GCC_ALL_DLINK2_FLAGS)
+DEFINE GCC_AARCH64_DLINK2_FLAGS= --defsym=PECOFF_HEADER_SIZE=0x228 
DEF(GCC_ALL_DLINK2_FLAGS)
 
 DEFINE GCC_IPF_OBJCOPY_FLAGS   = -I elf64-ia64-little -O efi-bsdrv-ia64
 DEFINE GCC_IPF_SYMRENAME_FLAGS = --redefine-sym memcpy=CopyMem
@@ -3862,35 +3862,18 @@ DEFINE GCC45_ASM_FLAGS   = 
DEF(GCC44_ASM_FLAGS)
 
 DEFINE GCC46_ASM_FLAGS   = DEF(GCC45_ASM_FLAGS)
 DEFINE GCC46_ARM_ASM_FLAGS   = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ASM_FLAGS) -mlittle-endian
-DEFINE GCC46_ARM_DLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) 
--oformat=elf32-littlearm
-DEFINE GCC46_ARM_ASLDLINK_FLAGS  = DEF(GCC_ARM_ASLDLINK_FLAGS) 
--oformat=elf32-littlearm
 
 DEFINE GCC47_ASM_FLAGS   = DEF(GCC46_ASM_FLAGS)
 DEFINE GCC47_ARM_ASM_FLAGS   = DEF(GCC46_ARM_ASM_FLAGS)
 DEFINE 

[edk2] [PATCH 07/15] BaseTools: use leading underscore for symbol names where appropriate

2015-08-14 Thread Ard Biesheuvel
The MS ABI uses leading underscores to decorate symbol names when
generating 32-bit code only. Due to a bug in GCC prior to version 4.3,
it used the same decoration for 64-bit code but this has been fixed
since. So uses the leading underscore for IA32 only, and remove it
for X64.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 22 +++-
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 28b1b49fd020..ebd6d0448586 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3824,10 +3824,12 @@ 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) -z 
common-page-size=0x20
-DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
+DEFINE GCC_IA32_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_ReferenceAcpiTable -u _$(IMAGE_ENTRY_POINT)
+DEFINE GCC_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)
-DEFINE GCC_IA32_X64_DLINK_FLAGS= DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
+DEFINE GCC_IA32_DLINK_FLAGS= DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
+DEFINE GCC_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_IPF_DLINK_FLAGS = -nostdlib -O2 --gc-sections --dll -static 
--entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_IPF_OBJCOPY_FLAGS   = -I elf64-ia64-little -O efi-bsdrv-ia64
 DEFINE GCC_IPF_SYMRENAME_FLAGS = --redefine-sym memcpy=CopyMem
@@ -3933,10 +3935,10 @@ DEFINE GCC49_AARCH64_ASLDLINK_FLAGS  = 
DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
 *_UNIXGCC_*_MAKE_PATH= make
 *_UNIXGCC_*_ASL_PATH = DEF(UNIX_IASL_BIN)
 
-*_UNIXGCC_IA32_DLINK_FLAGS   = DEF(GCC_IA32_X64_DLINK_FLAGS) 
--image-base=0
-*_UNIXGCC_X64_DLINK_FLAGS= DEF(GCC_IA32_X64_DLINK_FLAGS) 
--image-base=0
-*_UNIXGCC_IA32_ASLDLINK_FLAGS= DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
-*_UNIXGCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
+*_UNIXGCC_IA32_DLINK_FLAGS   = DEF(GCC_IA32_DLINK_FLAGS) 
--image-base=0
+*_UNIXGCC_X64_DLINK_FLAGS= DEF(GCC_X64_DLINK_FLAGS) 
--image-base=0
+*_UNIXGCC_IA32_ASLDLINK_FLAGS= DEF(GCC_IA32_ASLDLINK_FLAGS)
+*_UNIXGCC_X64_ASLDLINK_FLAGS = DEF(GCC_X64_ASLDLINK_FLAGS)
 *_UNIXGCC_*_ASM_FLAGS= DEF(GCC_ASM_FLAGS)
 *_UNIXGCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
 *_UNIXGCC_*_ASLPP_FLAGS  = DEF(GCC_ASLPP_FLAGS)
@@ -4692,10 +4694,10 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = 
DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
 *_CYGGCC_*_MAKE_PATH = DEF(MS_VS_BIN)\nmake.exe
 *_CYGGCC_*_ASL_PATH  = DEF(DEFAULT_WIN_ASL_BIN)
 
-*_CYGGCC_IA32_DLINK_FLAGS   = DEF(GCC_IA32_X64_DLINK_FLAGS) 
--image-base=0
-*_CYGGCC_X64_DLINK_FLAGS= DEF(GCC_IA32_X64_DLINK_FLAGS) 
--image-base=0
-*_CYGGCC_IA32_ASLDLINK_FLAGS= DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
-*_CYGGCC_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_ASLDLINK_FLAGS)
+*_CYGGCC_IA32_DLINK_FLAGS   = DEF(GCC_IA32_DLINK_FLAGS) 
--image-base=0
+*_CYGGCC_X64_DLINK_FLAGS= DEF(GCC_X64_DLINK_FLAGS) 
--image-base=0
+*_CYGGCC_IA32_ASLDLINK_FLAGS= DEF(GCC_IA32_ASLDLINK_FLAGS)
+*_CYGGCC_X64_ASLDLINK_FLAGS = DEF(GCC_X64_ASLDLINK_FLAGS)
 *_CYGGCC_*_MAKE_FLAGS   = /nologo
 *_CYGGCC_*_ASM_FLAGS= DEF(GCC_ASM_FLAGS)
 *_CYGGCC_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
-- 
1.9.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 09/15] BaseTools: remove GCC 4.9 specific linker alignment override

2015-08-14 Thread Ard Biesheuvel
If any version of GCC emits any object whose actual alignment
requirement exceeds 32 bytes, this actual alignment value will
automatically become the PE/COFF section alignment value after
PE/COFF conversion now that GenFw propagates the alignment of
the ELF input sections. So there is no longer a need for special
treatment of GCC 4.9, and the linker command line override can
be removed.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 26e17fef6b2e..574dc360fcf9 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3908,11 +3908,11 @@ DEFINE GCC48_AARCH64_DLINK2_FLAGS= 
DEF(GCC47_AARCH64_DLINK2_FLAGS)
 DEFINE GCC48_ARM_ASLDLINK_FLAGS  = DEF(GCC47_ARM_ASLDLINK_FLAGS)
 DEFINE GCC48_AARCH64_ASLDLINK_FLAGS  = DEF(GCC47_AARCH64_ASLDLINK_FLAGS)
 
-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_IA32_X64_DLINK_COMMON   = DEF(GCC48_IA32_X64_DLINK_COMMON)
+DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_ASLDLINK_FLAGS)
+DEFINE GCC49_IA32_X64_DLINK_FLAGS= DEF(GCC48_IA32_X64_DLINK_FLAGS)
 DEFINE GCC49_IA32_DLINK2_FLAGS   = DEF(GCC48_IA32_DLINK2_FLAGS)
-DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS)  
-melf_x86_64 --oformat=elf64-x86-64
+DEFINE GCC49_X64_DLINK_FLAGS = DEF(GCC48_X64_DLINK_FLAGS)
 DEFINE GCC49_X64_DLINK2_FLAGS= DEF(GCC48_X64_DLINK2_FLAGS)
 DEFINE GCC49_ASM_FLAGS   = DEF(GCC48_ASM_FLAGS)
 DEFINE GCC49_ARM_ASM_FLAGS   = DEF(GCC48_ARM_ASM_FLAGS)
-- 
1.9.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 02/15] BaseTools/GenFv: use PE/COFF virtual section size if raw size is larger

2015-08-14 Thread Ard Biesheuvel
When copying the relocted sections into the FFS file, we need to
take care that we don't overrun the end of the file. Since, unlike
the virtual size, the PE/COFF raw section size must be a multiple of
file alignment, which means its size may exceed the virtual size.
So use the minimum of the two.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Source/C/GenFv/GenFvInternalLib.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c 
b/BaseTools/Source/C/GenFv/GenFvInternalLib.c
index 6d2d5d1f8c67..b0135bf0155a 100644
--- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c
+++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c
@@ -3329,7 +3329,7 @@ Returns:
   CopyMem (
 (UINT8 *) CurrentPe32Section.Pe32Section + CurSecHdrSize + 
SectionHeader-PointerToRawData, 
 (VOID*) (UINTN) (ImageContext.ImageAddress + 
SectionHeader-VirtualAddress), 
-SectionHeader-SizeOfRawData
+MIN(SectionHeader-SizeOfRawData, SectionHeader-Misc.VirtualSize)
 );
 }
 
-- 
1.9.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 04/15] BaseTools: merge warning flags for all GCC versions

2015-08-14 Thread Ard Biesheuvel
The warning flags -Wno-address -Wno-unused-but-set-variable are added
for version 4.6 and up, but since they are happily accepted by version
4.4 and 4.5 as well, add them there as well.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
Reviewed-by: Liming Gao liming@intel.com
---
 BaseTools/Conf/tools_def.template | 22 ++--
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 028cc2531e95..5aa703996554 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3837,7 +3837,7 @@ DEFINE GCC_IPF_RC_FLAGS= -I binary -O 
elf64-ia64-little   -B ia64
 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-strict-aliasing 
-Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -c -include 
AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+DEFINE GCC44_ALL_CC_FLAGS= -g -fshort-wchar -fno-strict-aliasing 
-Wall -Werror -Wno-array-bounds -Wno-address -Wno-unused-but-set-variable 
-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 -fno-asynchronous-unwind-tables
 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 -fno-asynchronous-unwind-tables
 DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -n -q --gc-sections -z 
common-page-size=0x20
@@ -3858,8 +3858,8 @@ DEFINE GCC45_X64_DLINK_FLAGS = 
DEF(GCC44_X64_DLINK_FLAGS)
 DEFINE GCC45_X64_DLINK2_FLAGS= DEF(GCC44_X64_DLINK2_FLAGS)
 DEFINE GCC45_ASM_FLAGS   = DEF(GCC44_ASM_FLAGS)
 
-DEFINE GCC46_IA32_CC_FLAGS   = DEF(GCC45_IA32_CC_FLAGS) -Wno-address 
-Wno-unused-but-set-variable
-DEFINE GCC46_X64_CC_FLAGS= DEF(GCC45_X64_CC_FLAGS) -Wno-address 
-Wno-unused-but-set-variable
+DEFINE GCC46_IA32_CC_FLAGS   = DEF(GCC45_IA32_CC_FLAGS)
+DEFINE GCC46_X64_CC_FLAGS= DEF(GCC45_X64_CC_FLAGS)
 DEFINE GCC46_IA32_X64_DLINK_COMMON   = DEF(GCC45_IA32_X64_DLINK_COMMON)
 DEFINE GCC46_IA32_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS)
 DEFINE GCC46_IA32_X64_DLINK_FLAGS= DEF(GCC45_IA32_X64_DLINK_FLAGS)
@@ -4255,7 +4255,7 @@ DEFINE GCC49_AARCH64_ASLDLINK_FLAGS  = 
DEF(GCC48_AARCH64_ASLDLINK_FLAGS)
 *_GCC46_ARM_VFRPP_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
 
   DEBUG_GCC46_ARM_CC_FLAGS   = DEF(GCC46_ARM_CC_FLAGS) -O0
-RELEASE_GCC46_ARM_CC_FLAGS   = DEF(GCC46_ARM_CC_FLAGS) 
-Wno-unused-but-set-variable
+RELEASE_GCC46_ARM_CC_FLAGS   = DEF(GCC46_ARM_CC_FLAGS)
 
 

 #
@@ -4354,7 +4354,7 @@ RELEASE_GCC46_ARM_CC_FLAGS   = 
DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC47_ARM_VFRPP_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
 
   DEBUG_GCC47_ARM_CC_FLAGS   = DEF(GCC47_ARM_CC_FLAGS) -O0
-RELEASE_GCC47_ARM_CC_FLAGS   = DEF(GCC47_ARM_CC_FLAGS) 
-Wno-unused-but-set-variable
+RELEASE_GCC47_ARM_CC_FLAGS   = DEF(GCC47_ARM_CC_FLAGS)
 
 ##
 # GCC47 AARCH64 definitions
@@ -4381,7 +4381,7 @@ RELEASE_GCC47_ARM_CC_FLAGS   = 
DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC47_AARCH64_VFRPP_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
 
   DEBUG_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -O0
-RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) 
-Wno-unused-but-set-variable
+RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS)
 
 

 #
@@ -4480,7 +4480,7 @@ RELEASE_GCC47_AARCH64_CC_FLAGS   = 
DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_GCC48_ARM_VFRPP_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
 
   DEBUG_GCC48_ARM_CC_FLAGS   = DEF(GCC48_ARM_CC_FLAGS) -O0
-RELEASE_GCC48_ARM_CC_FLAGS   = DEF(GCC48_ARM_CC_FLAGS) 
-Wno-unused-but-set-variable
+RELEASE_GCC48_ARM_CC_FLAGS   = DEF(GCC48_ARM_CC_FLAGS)
 
 ##
 # GCC48 AARCH64 definitions
@@ -4507,7 +4507,7 @@ RELEASE_GCC48_ARM_CC_FLAGS   = 
DEF(GCC48_ARM_CC_FLAGS) -Wno-unused-but-set-v
 *_GCC48_AARCH64_VFRPP_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_VFRPP_FLAGS)
 
   DEBUG_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -O0
-RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) 
-Wno-unused-but-set-variable

[edk2] [PATCH 13/15] BaseTools: unify ASM flags for all GCC versions

2015-08-14 Thread Ard Biesheuvel
Use the same GCC options for assembling regardless of the exact
GCC version.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 67 
 1 file changed, 27 insertions(+), 40 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index fdabd6e716c9..38f7996d57d7 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3845,7 +3845,13 @@ DEFINE GCC_AARCH64_DLINK2_FLAGS= 
--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_A
 
 DEFINE GCC_IPF_OBJCOPY_FLAGS   = -I elf64-ia64-little -O efi-bsdrv-ia64
 DEFINE GCC_IPF_SYMRENAME_FLAGS = --redefine-sym memcpy=CopyMem
+
 DEFINE GCC_ASM_FLAGS   = -c -x assembler -imacros 
$(DEST_DIR_DEBUG)/AutoGen.h
+DEFINE GCC_IA32_ASM_FLAGS  = DEF(GCC_ASM_FLAGS) -m32 -Wa,--32 
-march=i386
+DEFINE GCC_X64_ASM_FLAGS   = DEF(GCC_ASM_FLAGS) -m64 -Wa,--64
+DEFINE GCC_ARM_ASM_FLAGS   = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ASM_FLAGS) -mlittle-endian
+DEFINE GCC_AARCH64_ASM_FLAGS   = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ASM_FLAGS) -mlittle-endian
+
 DEFINE GCC_PP_FLAGS= -E -x assembler-with-cpp -include 
$(DEST_DIR_DEBUG)/AutoGen.h
 DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include 
$(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
 DEFINE GCC_ASLPP_FLAGS = -x c -E -P
@@ -3856,25 +3862,6 @@ DEFINE GCC_IPF_RC_FLAGS= -I binary -O 
elf64-ia64-little   -B ia64
 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_ASM_FLAGS   = DEF(GCC_ASM_FLAGS)
-
-DEFINE GCC45_ASM_FLAGS   = DEF(GCC44_ASM_FLAGS)
-
-DEFINE GCC46_ASM_FLAGS   = DEF(GCC45_ASM_FLAGS)
-DEFINE GCC46_ARM_ASM_FLAGS   = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ASM_FLAGS) -mlittle-endian
-
-DEFINE GCC47_ASM_FLAGS   = DEF(GCC46_ASM_FLAGS)
-DEFINE GCC47_ARM_ASM_FLAGS   = DEF(GCC46_ARM_ASM_FLAGS)
-DEFINE GCC47_AARCH64_ASM_FLAGS   = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) 
DEF(GCC_ASM_FLAGS) -mlittle-endian
-
-DEFINE GCC48_ASM_FLAGS   = DEF(GCC47_ASM_FLAGS)
-DEFINE GCC48_ARM_ASM_FLAGS   = DEF(GCC47_ARM_ASM_FLAGS)
-DEFINE GCC48_AARCH64_ASM_FLAGS   = DEF(GCC47_AARCH64_ASM_FLAGS)
-
-DEFINE GCC49_ASM_FLAGS   = DEF(GCC48_ASM_FLAGS)
-DEFINE GCC49_ARM_ASM_FLAGS   = DEF(GCC48_ARM_ASM_FLAGS)
-DEFINE GCC49_AARCH64_ASM_FLAGS   = DEF(GCC48_AARCH64_ASM_FLAGS)
-
 

 #
 # Unix GCC And Intel Linux ACPI Compiler
@@ -4000,7 +3987,7 @@ DEFINE GCC49_AARCH64_ASM_FLAGS   = 
DEF(GCC48_AARCH64_ASM_FLAGS)
 
 *_GCC44_IA32_ASLCC_FLAGS  = DEF(GCC_ASLCC_FLAGS) -m32
 *_GCC44_IA32_ASLDLINK_FLAGS   = DEF(GCC_IA32_ASLDLINK_ELF_FLAGS)
-*_GCC44_IA32_ASM_FLAGS= DEF(GCC44_ASM_FLAGS) -m32 --32 -march=i386
+*_GCC44_IA32_ASM_FLAGS= DEF(GCC_IA32_ASM_FLAGS)
 *_GCC44_IA32_CC_FLAGS = DEF(GCC_IA32_CC_ELF_FLAGS) -Os
 *_GCC44_IA32_DLINK_FLAGS  = DEF(GCC_IA32_DLINK_ELF_FLAGS)
 *_GCC44_IA32_DLINK2_FLAGS = DEF(GCC_IA32_DLINK2_FLAGS)
@@ -4025,7 +4012,7 @@ DEFINE GCC49_AARCH64_ASM_FLAGS   = 
DEF(GCC48_AARCH64_ASM_FLAGS)
 
 *_GCC44_X64_ASLCC_FLAGS  = DEF(GCC_ASLCC_FLAGS) -m64
 *_GCC44_X64_ASLDLINK_FLAGS   = DEF(GCC_X64_ASLDLINK_ELF_FLAGS)
-*_GCC44_X64_ASM_FLAGS= DEF(GCC44_ASM_FLAGS) -m64 --64 -melf_x86_64
+*_GCC44_X64_ASM_FLAGS= DEF(GCC_X64_ASM_FLAGS) -melf_x86_64
 *_GCC44_X64_CC_FLAGS = DEF(GCC_X64_CC_ELF_FLAGS)
 *_GCC44_X64_DLINK_FLAGS  = DEF(GCC_X64_DLINK_ELF_FLAGS)
 *_GCC44_X64_DLINK2_FLAGS = DEF(GCC_X64_DLINK2_FLAGS)
@@ -4070,7 +4057,7 @@ DEFINE GCC49_AARCH64_ASM_FLAGS   = 
DEF(GCC48_AARCH64_ASM_FLAGS)
 
 *_GCC45_IA32_ASLCC_FLAGS  = DEF(GCC_ASLCC_FLAGS) -m32
 *_GCC45_IA32_ASLDLINK_FLAGS   = DEF(GCC_IA32_ASLDLINK_ELF_FLAGS)
-*_GCC45_IA32_ASM_FLAGS= DEF(GCC45_ASM_FLAGS) -m32 --32 -march=i386
+*_GCC45_IA32_ASM_FLAGS= DEF(GCC_IA32_ASM_FLAGS)
 *_GCC45_IA32_CC_FLAGS = DEF(GCC_IA32_CC_ELF_FLAGS) -Os
 *_GCC45_IA32_DLINK_FLAGS  = DEF(GCC_IA32_DLINK_ELF_FLAGS)
 *_GCC45_IA32_DLINK2_FLAGS = DEF(GCC_IA32_DLINK2_FLAGS)
@@ -4095,7 +4082,7 @@ DEFINE GCC49_AARCH64_ASM_FLAGS   = 
DEF(GCC48_AARCH64_ASM_FLAGS)
 
 *_GCC45_X64_ASLCC_FLAGS  = DEF(GCC_ASLCC_FLAGS) -m64
 *_GCC45_X64_ASLDLINK_FLAGS   = DEF(GCC_X64_ASLDLINK_ELF_FLAGS)
-*_GCC45_X64_ASM_FLAGS= DEF(GCC45_ASM_FLAGS) -m64 --64 -melf_x86_64
+*_GCC45_X64_ASM_FLAGS= DEF(GCC_X64_ASM_FLAGS) -melf_x86_64
 *_GCC45_X64_CC_FLAGS = 

[edk2] [PATCH 14/15] BaseTools: align ELFGCC with GCC4x toolchains

2015-08-14 Thread Ard Biesheuvel
This aligns the remaining configuration options for ELFGCC with
the other ELF based toolchains.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 38f7996d57d7..fabfe7436167 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4873,8 +4873,8 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = 
DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
 *_ELFGCC_IA32_DLINK2_FLAGS  = DEF(GCC_IA32_DLINK2_FLAGS)
 *_ELFGCC_IA32_ASLDLINK_FLAGS= DEF(GCC_IA32_ASLDLINK_ELF_FLAGS)
 *_ELFGCC_IA32_ASM_FLAGS = DEF(GCC_IA32_ASM_FLAGS)
-*_ELFGCC_IA32_PP_FLAGS  = -m32 -E -x assembler-with-cpp -include 
$(DEST_DIR_DEBUG)/AutoGen.h
-*_ELFGCC_IA32_VFRPP_FLAGS   = -x c -E -P -DVFRCOMPILE --include 
$(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
+*_ELFGCC_IA32_PP_FLAGS  = DEF(GCC_PP_FLAGS)
+*_ELFGCC_IA32_VFRPP_FLAGS   = DEF(GCC_VFRPP_FLAGS)
 *_ELFGCC_IA32_RC_FLAGS  = DEF(GCC_IA32_RC_FLAGS)
 *_ELFGCC_IA32_OBJCOPY_FLAGS =
 *_ELFGCC_IA32_NASM_FLAGS= -f elf32
@@ -4899,8 +4899,8 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = 
DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
 *_ELFGCC_X64_DLINK2_FLAGS  = DEF(GCC_X64_DLINK2_FLAGS)
 *_ELFGCC_X64_ASLDLINK_FLAGS= DEF(GCC_X64_ASLDLINK_ELF_FLAGS)
 *_ELFGCC_X64_ASM_FLAGS = DEF(GCC_X64_ASM_FLAGS)
-*_ELFGCC_X64_PP_FLAGS  = -E -x assembler-with-cpp -include 
$(DEST_DIR_DEBUG)/AutoGen.h
-*_ELFGCC_X64_VFRPP_FLAGS   = -x c -E -P -DVFRCOMPILE --include 
$(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
+*_ELFGCC_X64_PP_FLAGS  = DEF(GCC_PP_FLAGS)
+*_ELFGCC_X64_VFRPP_FLAGS   = DEF(GCC_VFRPP_FLAGS)
 *_ELFGCC_X64_RC_FLAGS  = DEF(GCC_X64_RC_FLAGS)
 *_ELFGCC_X64_NASM_FLAGS= -f elf64
 
@@ -4918,12 +4918,12 @@ RELEASE_CLANG35_AARCH64_CC_FLAGS = 
DEF(CLANG35_AARCH64_CC_FLAGS) $(ARCHCC_FLAGS)
 *_ELFGCC_IPF_VFRPP_PATH   = DEF(ELFGCC_BIN)/gcc
 *_ELFGCC_IPF_RC_PATH  = DEF(ELFGCC_BIN)/objcopy
 
-*_ELFGCC_IPF_CC_FLAGS = -Os -fshort-wchar -Wall -Werror -c 
-include AutoGen.h -D_EFI_P64
-*_ELFGCC_IPF_DLINK_FLAGS  = -nostdlib --shared --entry 
$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map
+*_ELFGCC_IPF_CC_FLAGS = DEF(GCC_IPF_CC_FLAGS)
 *_ELFGCC_IPF_SLINK_FLAGS  =
-*_ELFGCC_IPF_ASM_FLAGS= -c -x assembler -imacros 
$(DEST_DIR_DEBUG)/AutoGen.h
-*_ELFGCC_IPF_PP_FLAGS = -E -x assembler-with-cpp -include 
$(DEST_DIR_DEBUG)/AutoGen.h
-*_ELFGCC_IPF_VFRPP_FLAGS  = -x c -E -P -DVFRCOMPILE --include 
$(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
+*_ELFGCC_IPF_DLINK_FLAGS  = DEF(GCC_IPF_DLINK_FLAGS)
+*_ELFGCC_IPF_ASM_FLAGS= DEF(GCC_ASM_FLAGS)
+*_ELFGCC_IPF_PP_FLAGS = DEF(GCC_PP_FLAGS)
+*_ELFGCC_IPF_VFRPP_FLAGS  = DEF(GCC_VFRPP_FLAGS)
 *_ELFGCC_IPF_RC_FLAGS = DEF(GCC_IPF_RC_FLAGS)
 
 

-- 
1.9.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH 05/15] BaseTools GCC: refactor tools_def internal GCC defines for CC flags

2015-08-14 Thread Ard Biesheuvel
As a first step towards disentangling the arguments passed to the
various flavors of GCC we support, refactor the CC flags so that
we distinguish more clearly between toolchains that generate PE/COFF
directly (for IA32 and X86 only) and toolchains that generate ELF
only.

Note that this does not modify the options passed that are ultimately
passed to GCC, although it does deduplicate ARM and AARCH64 since those
toolchains were passing both GCC_ALL_CC_FLAGS and GCC44_ALL_CC_FLAGS,
which overlap to a great extent.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org
---
 BaseTools/Conf/tools_def.template | 35 ++--
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 5aa703996554..78c2d0a64599 100644
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3807,12 +3807,14 @@ 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   =
 
-DEFINE GCC_ALL_CC_FLAGS= -g -Os -fshort-wchar -fno-strict-aliasing 
-Wall -Werror -Wno-array-bounds -c -include AutoGen.h
-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_ARM_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 -mthumb 
-mfloat-abi=soft
-DEFINE GCC_AARCH64_CC_FLAGS= DEF(GCC_ALL_CC_FLAGS) -mcmodel=large 
-mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char  
-ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin 
-Wno-address -fno-asynchronous-unwind-tables
+DEFINE GCC_ALL_CC_FLAGS= -g -fshort-wchar -fno-strict-aliasing 
-Wall -Werror -Wno-array-bounds -Wno-address -Wno-unused-but-set-variable -c 
-include AutoGen.h
+DEFINE GCC_ALL_PE_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS)
+DEFINE GCC_ALL_ELF_CC_FLAGS= DEF(GCC_ALL_CC_FLAGS) -ffunction-sections 
-fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+DEFINE GCC_IA32_CC_PE_FLAGS= DEF(GCC_ALL_PE_CC_FLAGS) -m32 
-malign-double -freorder-blocks -freorder-blocks-and-partition -O2 
-mno-stack-arg-probe
+DEFINE GCC_X64_CC_PE_FLAGS = DEF(GCC_ALL_PE_CC_FLAGS) -Os 
-mno-red-zone -mno-stack-arg-probe
+DEFINE GCC_IPF_CC_FLAGS= DEF(GCC_ALL_ELF_CC_FLAGS) -Os 
-minline-int-divide-min-latency
+DEFINE GCC_ARM_CC_FLAGS= DEF(GCC_ALL_ELF_CC_FLAGS) -Os 
-mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums 
-save-temps -fsigned-char -ffunction-sections -fdata-sections 
-fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft
+DEFINE GCC_AARCH64_CC_FLAGS= DEF(GCC_ALL_ELF_CC_FLAGS) -Os 
-mcmodel=large -mlittle-endian -fno-short-enums -save-temps -fverbose-asm 
-fsigned-char  -ffunction-sections -fdata-sections -fomit-frame-pointer 
-fno-builtin -Wno-address -fno-asynchronous-unwind-tables
 DEFINE GCC_DLINK_FLAGS_COMMON  = -nostdlib --pie
 DEFINE GCC_DLINK2_FLAGS_COMMON = 
--script=$(EDK_TOOLS_PATH)/Scripts/GccBase.lds
 DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
@@ -3837,9 +3839,8 @@ DEFINE GCC_IPF_RC_FLAGS= -I binary -O 
elf64-ia64-little   -B ia64
 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-strict-aliasing 
-Wall -Werror -Wno-array-bounds -Wno-address -Wno-unused-but-set-variable 
-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 -fno-asynchronous-unwind-tables
-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 -fno-asynchronous-unwind-tables
+DEFINE GCC44_IA32_CC_FLAGS   = DEF(GCC_ALL_ELF_CC_FLAGS) -m32 
-malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables
+DEFINE GCC44_X64_CC_FLAGS= DEF(GCC_ALL_ELF_CC_FLAGS) -m64 
-fno-stack-protector -DEFIAPI=__attribute__((ms_abi)) -DNO_BUILTIN_VA_FUNCS 
-mno-red-zone -Wno-address -mcmodel=large 

Re: [edk2] Shell 2.0 and 2.1

2015-08-14 Thread Daniel Samuelraj
*From:* Daniel Samuelraj [mailto:daniel.samuel...@avagotech.com]
*Sent:* Friday, August 14, 2015 12:40 PM
*To:* 'uswg'; edk2-de...@lists.sourceforge.net
*Subject:* Shell 2.0 and 2.1



Hi,

I assume that Shell 2.0 apps are expected to run fine in Shell 2.1. Can you
please confirm?



Should shell 2.1 app be using new toolkit (e.g., UDK2014 or newer?) when
app want to make use of the content added in Shell 2.1?



Will there be any backward or forward compatibility issue? That is end user
running Shell 2.0 app in shell 2.1; similarly running Shell 2.1 app in
Shell 2.0?



Appreciate the response!



Thanks,

Daniel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] Help debugging PEIM on Minnowboard Max

2015-08-14 Thread Eric Wittmayer
I'm writing a PEIM for a USB3 device but having trouble even getting the
UsbBusPie and XhciPei modules to load during boot.

I thought getting the existing Usb Peims to load would be a good first step.
I looked at the DEPEX for both of the above modules and tried removing
gEfiPeiBootInRecoveryModePpiGuid but I didn't see them load.  If I set
both of their DEPEX == TRUE then I see some print statements that show they
are at least trying to load but then I have a chicken and egg problem in
that UsbBusPie needs either gPeiUsbHostControllerPpiGuid or
gPeiUsb2HostControllerPpiGuid which come from XhciPei.  However, XhciPei
needs gPeiUsbControllerPpiGuid which comes from UsbBusPei before  it will
install the gPeiUsb2HostControllerPpiGuid.  The same cross dependency is
shown in the DEPEX for these two modules.

I feel like I'm missing something simple and fundamental and I'm hoping
someone will point me in the right direction.

Thanks,
Eric W

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [patch] Fix typo in BaseCrypto2HashInit() which causes sanity check incorrect.

2015-08-14 Thread jiewen yao
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yao, Jiewen jiewen@intel.com
Cc: Zhang, Chao B chao.b.zh...@intel.com
---
 SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.c 
b/SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.c
index 6a7ecf2..dab0299 100644
--- a/SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.c
+++ b/SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.c
@@ -454,7 +454,7 @@ BaseCrypto2HashInit (
   // Consistency Check
   //
   Instance = HASH2_INSTANCE_DATA_FROM_THIS(This);
-  if ((Instance-HashContext != NULL) || (Instance-HashInfoContext != 
HashInfo)) {
+  if ((Instance-HashContext != NULL) || (Instance-HashInfoContext != NULL)) {
 return EFI_ALREADY_STARTED;
   }
 
-- 
1.9.5.msysgit.0

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] OVMF: iasl Control Method should be made Serialized

2015-08-14 Thread Bruce Cran
With iasl version 20150410-64 building OvmfX64 (using OvmfPkg/build.sh 
-a X64 -t GCC49 -b RELEASE) results in a couple of warnings about 
methods that should be serialized:


iasl 
-p/home/bcran/workspace/edk2/Build/OvmfX64/RELEASE_GCC49/X64/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Dsdt.aml 
/home/bcran/workspace/edk2/Build/OvmfX64/RELEASE_GCC49/X64/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Dsdt.
/home/bcran/workspace/edk2/Build/OvmfX64/RELEASE_GCC49/X64/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Dsdt. 
95:   Method (_CRS, 0) {
Remark   2120 - Control Method should be made Serialized ^  (due to 
creation of named objects within)


/home/bcran/workspace/edk2/Build/OvmfX64/RELEASE_GCC49/X64/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Dsdt. 
235: Method (PCRS, 1, NotSerialized) {
Remark   2120 - Control Method should be made Serialized ^  (due to 
creation of named objects within)



--
Bruce
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [patch] SecurityPkg: Fixed build error due to FixedAtBuild PcdTcg2HashAlgorithmBitmap

2015-08-14 Thread El-Haj-Mahmoud, Samer
PcdTcg2HashAlgorithmBitmap is declared in a section that allows it to be Fixed 
or PatchableAtBuild, but there is code that sets it. This breaks the build on 
some platforms. Changed it to be PcdsDynamic and PcdsDynamicEx only.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Samer El-Haj-Mahmoud samer.el-haj-mahm...@hp.com





Samer El-Haj-Mahmoud
System Firmware Architect
HP Servers 

el...@hp.com 
T +1.281.514.5973
C +1.512.659.1523
Hewlett-Packard Company
hp.com/go/proliant/uefi



___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [Patch 2/3] OvmfPkg: use new BDS and UiApp in MdeModulePkg

2015-08-14 Thread Laszlo Ersek
On 08/14/15 10:28, Ni, Ruiyu wrote:
 Laszlo,
 Where can I read your first 17 remarks? I didn't find it in my mail folder.

Strange; your email address ruiyu...@intel.com was the only one in the
To: field. (The list and Jordan were Cc'd.)

In any case, here's the link into the archive:

http://thread.gmane.org/gmane.comp.bios.edk2.devel/759/focus=1153

Thanks!
Laszlo


 
 Thanks,
 Ray
 
 -Original Message-
 From: Laszlo Ersek [mailto:ler...@redhat.com] 
 Sent: Wednesday, August 12, 2015 10:59 PM
 To: Ni, Ruiyu ruiyu...@intel.com
 Cc: Justen, Jordan L jordan.l.jus...@intel.com; edk2-de...@ml01.01.org
 Subject: Re: [edk2] [Patch 2/3] OvmfPkg: use new BDS and UiApp in MdeModulePkg
 
 Continuing:
 
 On 08/12/15 00:53, Laszlo Ersek wrote:
 On 08/03/15 07:41, Ruiyu Ni wrote:
 Compare to the old BDS, the new BDS separates the UI part to a standalone
 application UiApp.
 QemuBootOrderLib was changed to depend on the UefiBootManagerLib.
 
 I've covered the following files thus far:
  OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c
   | 347 +++
  OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf  
   |   4 +-
  OvmfPkg/OvmfPkg.dec
   |   5 +-
  OvmfPkg/OvmfPkgIa32.dsc
   |  28 +-
  OvmfPkg/OvmfPkgIa32.fdf
   |   3 +-
  OvmfPkg/OvmfPkgIa32X64.dsc 
   |  30 +-
  OvmfPkg/OvmfPkgIa32X64.fdf 
   |   3 +-
  OvmfPkg/OvmfPkgX64.dsc 
   |  28 +-
  OvmfPkg/OvmfPkgX64.fdf 
   |   3 +-

 and made 17 remarks that should be addressed in v2.

 I will continue the review later; the rest of the patch is preserved in
 the trailing context, so I will follow up on that. The remaining
 diffstat is, with rename  copy detection enabled:

 
 (sorting the below)
 
  EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.c = 
 OvmfPkg/Library/PlatformBootManagerLib/QuietBoot.c | 559 +-
  OvmfPkg/Library/PlatformBootManagerLib/Strings.uni 
   | Bin 0 - 3658 bytes
  OvmfPkg/Library/{PlatformBdsLib = PlatformBootManagerLib}/BdsPlatform.c   
   | 611 
  OvmfPkg/Library/{PlatformBdsLib = PlatformBootManagerLib}/BdsPlatform.h   
   | 132 ++---
  OvmfPkg/Library/{PlatformBdsLib = PlatformBootManagerLib}/PlatformData.c  
   |  18 +-
  OvmfPkg/Library/{PlatformBdsLib = PlatformBootManagerLib}/QemuKernel.c
   |   0
  OvmfPkg/Library/{PlatformBdsLib/PlatformBdsLib.inf = 
 PlatformBootManagerLib/PlatformBootManagerLib.inf} |  20 +-
  {IntelFrameworkModulePkg/Universal/BdsDxe = 
 OvmfPkg/Library/PlatformBootManagerLib}/MemoryTest.c
 | 227 
 
 Let's see MemoryTest.c and Strings.uni first.
 
 diff --git a/OvmfPkg/Library/PlatformBootManagerLib/MemoryTest.c 
 b/OvmfPkg/Library/PlatformBootManagerLib/MemoryTest.c
 new file mode 100644
 index 000..c9a7ecb
 --- /dev/null
 +++ b/OvmfPkg/Library/PlatformBootManagerLib/MemoryTest.c
 
 [contents snipped]
 
 diff --git a/OvmfPkg/Library/PlatformBootManagerLib/Strings.uni 
 b/OvmfPkg/Library/PlatformBootManagerLib/Strings.uni
 new file mode 100644
 index 
 ..7300975620fef86ea31c556a6fa66c098e8a0538
 GIT binary patch
 literal 3658
 
 [contents snipped]
 
 These two files do the following:
 
 - MemoryTest.c is a slightly customized copy of
   IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c. The
   customization comprises:
 
   - hard-coding PcdBootlogoOnlyEnable as FALSE
   - removing DEBUG messages
   - open coding some HII string lookup helper functions
 
 - Strings.uni provides English and French text for the following
   string tokens:
 
   - STR_PERFORM_MEM_TEST,
   - STR_MEMORY_TEST_PERCENT,
   - STR_ESC_TO_SKIP_MEM_TEST,
   - STR_MEM_TEST_COMPLETED,
   - STR_NO_EXT_MEM_FOUND,
   - STR_SYSTEM_MEM_ERROR
 
   All of these tokens are needed for messages printed by MemoryTest.c.
 
 (18) Now that I understand what these files do: please drop them both.
 There's no need for them, for the following reasons:
 
 - They 

Re: [edk2] [PATCH 2/2] OvmfPkg: Add HttpBoot support

2015-08-14 Thread Laszlo Ersek
Hi Gary,

On 08/14/15 11:03, Gary Ching-Pang Lin wrote:
 This commit introdues a new build option to OvmfPkg: HTTP_BOOT_ENABLE.
 When HttpBoot is enabled, a new Network boot option will show in the
 boot manager menu with the device path like this:
 
 PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)/Uri()
 
 It works like the PXE one but fetches the NBP from the given http
 url instead of the tftp service.
 
 A simple testing environment can be set up with the QEMU tap network
 and dnsmasq + lighttpd.
 
 Here is the example of the dnsmasq config:
 
   interface=tap interface
   dhcp-range=192.168.111.100,192.168.111.120,12h
   dhcp-option=60,HTTPClient
   dhcp-boot=http://tap ip/efi file
 
 It's similar to the PXE server settings except the tftp function is
 disabled, the option 60 must be HTTPClient, and the boot uri is a
 http url.
 
 Contributed-under: TianoCore Contribution Agreement 1.0
 Signed-off-by: Gary Ching-Pang Lin g...@suse.com
 ---
  OvmfPkg/OvmfPkgIa32.dsc| 10 ++
  OvmfPkg/OvmfPkgIa32.fdf|  5 +
  OvmfPkg/OvmfPkgIa32X64.dsc | 10 ++
  OvmfPkg/OvmfPkgIa32X64.fdf |  5 +
  OvmfPkg/OvmfPkgX64.dsc | 10 ++
  OvmfPkg/OvmfPkgX64.fdf |  5 +
  6 files changed, 45 insertions(+)

Please configure your git so that git-format-patch includes the section
names in the diff hunk headers, in the dsc / fdf / inf / dec files:

http://thread.gmane.org/gmane.comp.bios.tianocore.devel/15486

Can you please repost the patch like that? I'll try to look at it
sometime later then.

Thanks
Laszlo

 diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
 index 4ab618d..9a6de15 100644
 --- a/OvmfPkg/OvmfPkgIa32.dsc
 +++ b/OvmfPkg/OvmfPkgIa32.dsc
 @@ -35,6 +35,7 @@
#
DEFINE SECURE_BOOT_ENABLE  = FALSE
DEFINE NETWORK_IP6_ENABLE  = FALSE
 +  DEFINE HTTP_BOOT_ENABLE= FALSE
  
  [BuildOptions]
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG
 @@ -129,6 +130,10 @@

 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
  !endif
  
 +!if $(HTTP_BOOT_ENABLE) == TRUE
 +  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
 +!endif
 +

 S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf

 OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
 @@ -551,6 +556,11 @@
MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
  !endif
 +!if $(HTTP_BOOT_ENABLE) == TRUE
 +  NetworkPkg/DnsDxe/DnsDxe.inf
 +  NetworkPkg/HttpDxe/HttpDxe.inf
 +  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
 +!endif
OvmfPkg/VirtioNetDxe/VirtioNet.inf
  
#
 diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
 index 16675f8..0e4ee49 100644
 --- a/OvmfPkg/OvmfPkgIa32.fdf
 +++ b/OvmfPkg/OvmfPkgIa32.fdf
 @@ -324,6 +324,11 @@ FILE FREEFORM = 
 PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
  !endif
 +!if $(HTTP_BOOT_ENABLE) == TRUE
 +  INF  NetworkPkg/DnsDxe/DnsDxe.inf
 +  INF  NetworkPkg/HttpDxe/HttpDxe.inf
 +  INF  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
 +!endif
INF  OvmfPkg/VirtioNetDxe/VirtioNet.inf
  
  #
 diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
 index 90ca42a..2f8006d 100644
 --- a/OvmfPkg/OvmfPkgIa32X64.dsc
 +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
 @@ -35,6 +35,7 @@
#
DEFINE SECURE_BOOT_ENABLE  = FALSE
DEFINE NETWORK_IP6_ENABLE  = FALSE
 +  DEFINE HTTP_BOOT_ENABLE= FALSE
  
  [BuildOptions]
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG
 @@ -134,6 +135,10 @@

 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
  !endif
  
 +!if $(HTTP_BOOT_ENABLE) == TRUE
 +  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
 +!endif
 +

 S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf

 OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
 @@ -558,6 +563,11 @@
MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
  !endif
 +!if $(HTTP_BOOT_ENABLE) == TRUE
 +  NetworkPkg/DnsDxe/DnsDxe.inf
 +  NetworkPkg/HttpDxe/HttpDxe.inf
 +  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
 +!endif
OvmfPkg/VirtioNetDxe/VirtioNet.inf
  
#
 diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
 index e6c525a..74412d4 100644
 --- a/OvmfPkg/OvmfPkgIa32X64.fdf
 +++ b/OvmfPkg/OvmfPkgIa32X64.fdf
 @@ -324,6 +324,11 @@ FILE FREEFORM = 
 PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF  

Re: [edk2] [PATCH 0/2] Add HttpBoot support to OvmfPkg

2015-08-14 Thread Gary Ching-Pang Lin
On Fri, Aug 14, 2015 at 10:27:31AM +0100, David Woodhouse wrote:
 On Fri, 2015-08-14 at 17:03 +0800, Gary Ching-Pang Lin wrote:
  I've tested the HttpBoot implementation with a simple test 
  environment:
 
 Is this tested with IPv6?
No, IPv6 is not implemented in HttpBootDxe, so I only tested IPv4.

Gary Lin
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel