> On Jun 28, 2016, at 8:18 AM, Shi, Steven <steven....@intel.com> wrote:
> 
> Quark AcpiPlatform module cannot link successfully by CLANG38
> with Oz optimization level. Add a work around to downgrade the
> optimization to O1.
> 

We should fix the code too. These bugs are usually structure assignments in the 
scope of a function that should be global, static, or done via CopyMem. 

I really think they should get fixed as I see a lot of Si code that fails to 
link when you compile with optimizations disabled, -O0, with Xcode clang as the 
compiler falls back to memset/memcpy and we were just getting lucky the 
optimizer removed it. 

Actually it would be nice if packages also got built NOOPT to help catch these 
classes of errors. 

Thanks,

Andrew Fish

> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Steven Shi <steven....@intel.com>
> ---
> QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.inf | 4 ++++
> 1 file changed, 4 insertions(+)
> mode change 100644 => 100755 
> QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.inf
> 
> diff --git a/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.inf 
> b/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.inf
> old mode 100644
> new mode 100755
> index dcf2b4a..f1bcfa1
> --- a/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.inf
> +++ b/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.inf
> @@ -200,3 +200,7 @@
> 
> [Depex]
>   gEfiMpServiceProtocolGuid AND gEfiAcpiTableProtocolGuid
> +
> +[BuildOptions]
> +  GCC:*_CLANG38_IA32_DLINK_FLAGS      = -O1
> +  GCC:*_CLANGSCAN38_IA32_DLINK_FLAGS  = -O1
> -- 
> 2.7.4
> 
> _______________________________________________
> 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

Reply via email to