Thanks for the catch. I missed that. My comment below.
On Tue, 18 May 2021 at 13:07, Sami Mujawar <sami.mujawar@...> wrote:
Hi Etienne,
Please find my response inline marked [SAMI].
Regards,
Sami Mujawar
On 17/05/2021 08:40 AM, Etienne Carriere wrote:
This change allows to build StandaloneMmPkg components for 32bit Arm StandaloneMm firmware.
This change mainly moves AArch64/ source files to Arm/ side directory for several components: StandaloneMmCpu, StandaloneMmCoreEntryPoint and StandaloneMmMemLib. The source file is built for both 32b and 64b Arm targets. (snip) --- a/StandaloneMmPkg/StandaloneMmPkg.dsc +++ b/StandaloneMmPkg/StandaloneMmPkg.dsc (snip) @@ -131,7 +131,7 @@ # module style (EDK or EDKII) specified in [Components] section. # ################################################################################################### -[BuildOptions.AARCH64] +[BuildOptions.AARCH64, BuildOptions.ARM] GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp -mstrict-align
[SAMI] Looks like I missed this in my previous review, sorry. Is '-march=armv8-axxx' correct here? or we need another ARM section with -march=armv7-a? Can you also check if '-mstrict-align' is right and if '-fno-stack-protector' is needed instead, please?
I used the following setting from your edk2-platforms patch v1 4/4, file Platform/StandaloneMm/PlatformStandaloneMmPkg/PlatformStandaloneMmRpmb.dsc and was able to build on a Windows host PC using gcc-arm-9.2-2019.12-mingw-w64-i686-arm-none-eabi compiler. [BuildOptions.ARM] GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv7-a GCC:*_*_*_CC_FLAGS = -fno-stack-protector [/SAMI]
You are right. I saw that I build with these same directive but inherited from my edk2-platforms platform that override these. Indeed BuildOptions.ARM must be updated. I am preparing a patch v4 series.