[edk2,2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM

Message ID 20181101153642.11315-3-leif.lindholm@linaro.org
State Accepted
Commit dd178f0f93911f46af514de8b326d39d6e36400c
Headers show
Series
  • fix top-level package builds for AARCH64/ARM
Related show

Commit Message

Leif Lindholm Nov. 1, 2018, 3:36 p.m.
Contrary to what the name suggests, some modules in this package are used
on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES
in the .dsc, but AARCH64 was never added.

Add that, and force inclusion of CompilerIntrinsicsLib and
BaseStackCheckLib for AARCH64/ARM to make the build successful.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>

---
 IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

-- 
2.11.0

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

Comments

Gao, Liming Nov. 2, 2018, 1:39 a.m. | #1
Leif:
  There is one mistake in comments  >+  #^M. Could you clean it? With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>. 

  Besides, have you verified  AARCH64 GCC build? 

Thanks
Liming
>-----Original Message-----

>From: Leif Lindholm [mailto:leif.lindholm@linaro.org]

>Sent: Thursday, November 01, 2018 11:37 PM

>To: edk2-devel@lists.01.org

>Cc: Gao, Liming <liming.gao@intel.com>

>Subject: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM

>

>Contrary to what the name suggests, some modules in this package are used

>on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES

>in the .dsc, but AARCH64 was never added.

>

>Add that, and force inclusion of CompilerIntrinsicsLib and

>BaseStackCheckLib for AARCH64/ARM to make the build successful.

>

>Cc: Liming Gao <liming.gao@intel.com>

>Contributed-under: TianoCore Contribution Agreement 1.1

>Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>

>---

> IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13

>++++++++++++-

> 1 file changed, 12 insertions(+), 1 deletion(-)

>

>diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

>b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

>index 894c5340a0..14bef5356e 100644

>--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

>+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

>@@ -25,7 +25,7 @@ [Defines]

>   PLATFORM_VERSION               = 0.96

>   DSC_SPECIFICATION              = 0x00010005

>   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll

>-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM

>+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64

>   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT

>   SKUID_IDENTIFIER               = DEFAULT

>

>@@ -76,6 +76,17 @@ [LibraryClasses]

>   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf

>   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf

>

>+[LibraryClasses.ARM, LibraryClasses.AARCH64]

>+  #

>+  # It is not possible to prevent the ARM compiler for generic intrinsic

>functions.

>+  # This library provides the instrinsic functions generate by a given compiler.

>+  # And NULL mean link this library into all ARM images.

>+  #^M

>+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf

>+

>+  # Add support for GCC stack protector

>+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf

>+

> [LibraryClasses.common.PEIM]

>   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf

>   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf

>--

>2.11.0


_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Nov. 2, 2018, 10:15 a.m. | #2
On Fri, Nov 02, 2018 at 01:39:24AM +0000, Gao, Liming wrote:
> Leif:

>   There is one mistake in comments  >+  #^M. Could you clean it?

>   With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>.


Whoops, thanks for spotting.
Will do.

>   Besides, have you verified  AARCH64 GCC build? 


AARCH64 and ARM, GCC5 and CLANG38.

Several modules from this package are already used by ARM/AARCH64
platforms, it was just not working to build only the package.

Regards,

Leif

> Thanks

> Liming

> >-----Original Message-----

> >From: Leif Lindholm [mailto:leif.lindholm@linaro.org]

> >Sent: Thursday, November 01, 2018 11:37 PM

> >To: edk2-devel@lists.01.org

> >Cc: Gao, Liming <liming.gao@intel.com>

> >Subject: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM

> >

> >Contrary to what the name suggests, some modules in this package are used

> >on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES

> >in the .dsc, but AARCH64 was never added.

> >

> >Add that, and force inclusion of CompilerIntrinsicsLib and

> >BaseStackCheckLib for AARCH64/ARM to make the build successful.

> >

> >Cc: Liming Gao <liming.gao@intel.com>

> >Contributed-under: TianoCore Contribution Agreement 1.1

> >Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>

> >---

> > IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13

> >++++++++++++-

> > 1 file changed, 12 insertions(+), 1 deletion(-)

> >

> >diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> >b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> >index 894c5340a0..14bef5356e 100644

> >--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> >+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> >@@ -25,7 +25,7 @@ [Defines]

> >   PLATFORM_VERSION               = 0.96

> >   DSC_SPECIFICATION              = 0x00010005

> >   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll

> >-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM

> >+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64

> >   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT

> >   SKUID_IDENTIFIER               = DEFAULT

> >

> >@@ -76,6 +76,17 @@ [LibraryClasses]

> >   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf

> >   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf

> >

> >+[LibraryClasses.ARM, LibraryClasses.AARCH64]

> >+  #

> >+  # It is not possible to prevent the ARM compiler for generic intrinsic

> >functions.

> >+  # This library provides the instrinsic functions generate by a given compiler.

> >+  # And NULL mean link this library into all ARM images.

> >+  #^M

> >+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf

> >+

> >+  # Add support for GCC stack protector

> >+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf

> >+

> > [LibraryClasses.common.PEIM]

> >   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf

> >   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf

> >--

> >2.11.0

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Gao, Liming Nov. 2, 2018, 2:20 p.m. | #3
That's good. Thanks!

> -----Original Message-----

> From: Leif Lindholm [mailto:leif.lindholm@linaro.org]

> Sent: Friday, November 2, 2018 6:15 PM

> To: Gao, Liming <liming.gao@intel.com>

> Cc: edk2-devel@lists.01.org

> Subject: Re: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM

> 

> On Fri, Nov 02, 2018 at 01:39:24AM +0000, Gao, Liming wrote:

> > Leif:

> >   There is one mistake in comments  >+  #^M. Could you clean it?

> >   With this change, Reviewed-by: Liming Gao <liming.gao@intel.com>.

> 

> Whoops, thanks for spotting.

> Will do.

> 

> >   Besides, have you verified  AARCH64 GCC build?

> 

> AARCH64 and ARM, GCC5 and CLANG38.

> 

> Several modules from this package are already used by ARM/AARCH64

> platforms, it was just not working to build only the package.

> 

> Regards,

> 

> Leif

> 

> > Thanks

> > Liming

> > >-----Original Message-----

> > >From: Leif Lindholm [mailto:leif.lindholm@linaro.org]

> > >Sent: Thursday, November 01, 2018 11:37 PM

> > >To: edk2-devel@lists.01.org

> > >Cc: Gao, Liming <liming.gao@intel.com>

> > >Subject: [PATCH 2/6] IntelFrameworkModulePkg: fix build for AARCH64/ARM

> > >

> > >Contrary to what the name suggests, some modules in this package are used

> > >on other architecture. ARM is already listed in SUPPORTED_ARCHITECTURES

> > >in the .dsc, but AARCH64 was never added.

> > >

> > >Add that, and force inclusion of CompilerIntrinsicsLib and

> > >BaseStackCheckLib for AARCH64/ARM to make the build successful.

> > >

> > >Cc: Liming Gao <liming.gao@intel.com>

> > >Contributed-under: TianoCore Contribution Agreement 1.1

> > >Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>

> > >---

> > > IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc | 13

> > >++++++++++++-

> > > 1 file changed, 12 insertions(+), 1 deletion(-)

> > >

> > >diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> > >b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> > >index 894c5340a0..14bef5356e 100644

> > >--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> > >+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc

> > >@@ -25,7 +25,7 @@ [Defines]

> > >   PLATFORM_VERSION               = 0.96

> > >   DSC_SPECIFICATION              = 0x00010005

> > >   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll

> > >-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM

> > >+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64

> > >   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT

> > >   SKUID_IDENTIFIER               = DEFAULT

> > >

> > >@@ -76,6 +76,17 @@ [LibraryClasses]

> > >   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf

> > >   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf

> > >

> > >+[LibraryClasses.ARM, LibraryClasses.AARCH64]

> > >+  #

> > >+  # It is not possible to prevent the ARM compiler for generic intrinsic

> > >functions.

> > >+  # This library provides the instrinsic functions generate by a given compiler.

> > >+  # And NULL mean link this library into all ARM images.

> > >+  #^M

> > >+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf

> > >+

> > >+  # Add support for GCC stack protector

> > >+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf

> > >+

> > > [LibraryClasses.common.PEIM]

> > >   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf

> > >   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf

> > >--

> > >2.11.0

> >

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

Patch

diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
index 894c5340a0..14bef5356e 100644
--- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
+++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
@@ -25,7 +25,7 @@  [Defines]
   PLATFORM_VERSION               = 0.96
   DSC_SPECIFICATION              = 0x00010005
   OUTPUT_DIRECTORY               = Build/IntelFrameworkModuleAll
-  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM
+  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT
 
@@ -76,6 +76,17 @@  [LibraryClasses]
   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
 
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
+  #
+  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
+  # This library provides the instrinsic functions generate by a given compiler.
+  # And NULL mean link this library into all ARM images.
+  #^M
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
+
+  # Add support for GCC stack protector
+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+
 [LibraryClasses.common.PEIM]
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf