Ard:
  OK. If only for AARCH64, how about add the specific Build Rule for it? 

+[C-Code-File.BASE,C-Code-File.SEC,C-Code-File.PEI_CORE,C-Code-File.PEIM]
==>
+[C-Code-File.BASE.AARCH64,C-Code-File.SEC.AARCH64,C-Code-File.PEI_CORE.AARCH64,C-Code-File.PEIM.AARCH64]

Thanks
Liming
-----Original Message-----
From: Ard Biesheuvel [mailto:[email protected]] 
Sent: Friday, January 08, 2016 3:14 PM
To: Gao, Liming
Cc: [email protected]; [email protected]; [email protected]; Zhu, 
Yonghong
Subject: Re: [edk2] [PATCH 0/2] BaseTools AARCH64: build XIP modules with 
strict alignment

On 8 January 2016 at 07:13, Gao, Liming <[email protected]> wrote:
> Ard:
>   Could we add this option in AARCH64_CC_FLAGS if it has no impact to DXE 
> driver? If yes, you only need to change tools_def.template, no change is 
> required to build_rule.template.
>

It does have impact. It results in a 2% increase in the compressed footprint of 
the firmware image. That is exactly why I needed to make these changes as I did.

Thanks,
Ard.


> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of 
> Ard Biesheuvel
> Sent: Monday, January 04, 2016 5:53 PM
> To: [email protected]; Gao, Liming; [email protected]; 
> [email protected]; Zhu, Yonghong
> Cc: Ard Biesheuvel
> Subject: [edk2] [PATCH 0/2] BaseTools AARCH64: build XIP modules with 
> strict alignment
>
> On AARCH64, before we turn on the MMU, unaligned accesses are not allowed.
> Since the idiom recognition employed by GCC may turn allowable sequences into 
> sequences that result in such unaligned accesses (i.e., a sequence of byte 
> wide loads in reverse order may be turned into a wider load and a rev 
> instruction of the compiler thinks unaligned accesses are allowed), we have 
> to make sure that any code that may execute before the MMU is enabled is 
> built with -mstrict-align.
>
> Since this aligns with the notion of XIP we have in EDK2, let's add a build 
> rule that allows XIP specific CC option overrides to be set, and use it to 
> set the -mstrict-align CC flag for BASE, SEC, PEI_CORE and PEIM modules.
>
> (XIPFLAGS has been suggest by Andrew Fish a couple of months ago, when 
> a similar issue came up)
>
> Ard Biesheuvel (2):
>   BaseTools: add separate build rule for modules that may execute in
>     place
>   BaseTools AARCH64: build XIP modules with strict alignment
>
>  BaseTools/Conf/build_rule.template | 26 ++++++++++++++++++++  
> BaseTools/Conf/tools_def.template  |  9 ++++++-
>  2 files changed, 34 insertions(+), 1 deletion(-)
>
> --
> 2.5.0
>
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to