Oh dear...

Adding linaro-toolchain@lists.linaro.org to see what they have to say
(and linaro-uefi, because it's useful information for subscribers of that).

Regards,

Leif

On Tue, Feb 21, 2017 at 08:09:53PM +0000, Evan Lloyd wrote:
> To add to Alexei's comments:
> It seems there is a bug in the newer GCC Pre-processor that messes with the 
> file case.
> (He is currently checking what file system flags might be affecting that, but 
> older versions work fine).
> 
> The questions I'd add are:
> Is there someone in Linaro who we might discuss the problem with (on the GCC 
> side)?  I think there are Linaro guys involved with it, and they may be able 
> to tell us it is confusion on our part.
> Should we be trying to upstream the fix, or just wait for a new GCC?
> 
> Regards,
> Evan
> 
> 
> 
> From: Alexei Fedorov
> Sent: 21 February 2017 16:37
> To: ard.biesheu...@linaro.org; ryan.har...@linaro.org; 
> leif.lindh...@linaro.org; Evan Lloyd; Sami Mujawar; Girish Pathak
> Cc: Mitch Ishihara; Alexei Fedorov
> Subject: Problem with building AML file from Dsdt.asl for Juno
> 
> 
> Hello,
> 
> 
> 
> We are facing a problem when compiling Juno's Dsdt.asl file with the 
> following GCC builds:
> 
> 
> 
> gcc-linaro-5.3.1-2016.05-i686-mingw32_aarch64-elf
> 
> gcc-linaro-6.1.1-2016.08-i686-mingw32_aarch64-elf
> 
> gcc-linaro-6.2.1-2016.11-i686-mingw32_aarch64-elf
> 
> gcc-linaro-6.3.1-2017.02-i686-mingw32_aarch64-elf
> 
> 
> 
> which all show a similar error:
> 
> 
> 
> ...
> Trim --source-code -l -o 
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.iiii
>  
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.iii
> "C:\ASL\iasl"  
> -pk:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.aml
>  
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.iiii
> Error    6126 -  Input file does not appear to be an ASL or data table source 
> file
> Intel ACPI Component Architecture
> make: *** [Makefile:325: 
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\Dsdt.aml]
>  Error -1
> 
> 
> 
> It looks like the problem is with GCC pre-processor running on Dsdt.i file 
> (created after
> 
> Trim --asl-file -o 
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.i
>  -i 
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\inc.lst
>  k:\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\Dsdt.asl
> 
> )
> 
> 
> 
> See:
> 
> 
> "C:\gcc-linaro-6.3.1-2017.02-i686-mingw32_aarch64-elf\bin\aarch64-elf-gcc" -x 
> c -E -include AutoGen.h -Ik:\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables 
> -Ik:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\DEBUG
>  -Ik:\ArmPkg -Ik:\ArmPkg\Include -Ik:\ArmPlatformPkg 
> -Ik:\ArmPlatformPkg\Include -Ik:\ArmPlatformPkg\ArmVExpressPkg 
> -Ik:\ArmPlatformPkg\ArmVExpressPkg\Include -Ik:\ArmPlatformPkg\ArmJunoPkg 
> -Ik:\ArmPlatformPkg\ArmJunoPkg\Include -Ik:\EmbeddedPkg 
> -Ik:\EmbeddedPkg\Include -Ik:\MdePkg -Ik:\MdePkg\Include 
> -Ik:\MdePkg\Include\AArch64 -Ik:\MdeModulePkg -Ik:\MdeModulePkg\Include 
> -Ik:\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTablesk:\Build\ArmJuno\DEBUG_GCC5AARCH64OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.i
>  > 
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.iii
> 
> 
> 
> For all GCC versions above, the 1st line of Dsdt.iii lists its name & full 
> path in lowercase:
> 
> # 1 
> "k:\\build\\armjuno\\debug_gcc5\\aarch64\\openplatformpkg\\platforms\\arm\\juno\\acpitables\\acpitables\\output\\dsdt.i"
> 
> 
> 
> Compare it with Dsdt.iii after pre-processing by GCC from 
> gcc-linaro-4.9.4-2017.01-i686-mingw32_aarch64-elf release:
> 
> # 1 
> "k:\\Build\\ArmJuno\\DEBUG_GCC49\\AARCH64\\OpenPlatformPkg\\Platforms\\ARM\\Juno\\AcpiTables\\AcpiTables\\OUTPUT\\.\\Dsdt.i"
> 
> 
> 
> For GCC 5.3.1 & above Dsdt.iiii created by
> 
> Trim --source-code -l -o 
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.iiii
>  
> k:\Build\ArmJuno\DEBUG_GCC5\AARCH64\OpenPlatformPkg\Platforms\ARM\Juno\AcpiTables\AcpiTables\OUTPUT\.\Dsdt.iii
> 
> 
> 
> has 0 length, which causes iASL compiler to fail with:
> 
> Error    6126 -  Input file does not appear to be an ASL or data table source 
> file
> 
> 
> 
> We've got a workaround solution for that problem which involves modification 
> of \BaseTools\Conf\build_rule.template:
> 
> 
> 
> In ASL section:
> [Acpi-Source-Language-File]
>     <InputFile>
>         ?.asl, ?.Asl, ?.ASL
> 
> 
> 
> by replacing 3 lines as below:
> 
> 
>     <Command.GCC, Command.GCCLD>
> #        Trim --asl-file -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i -i 
> $(INC_LIST) ${src}
> #        "$(ASLPP)" $(ASLPP_FLAGS) $(INC) -I${s_path} 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i > 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
> #        Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
>         "$(ASLPP)" $(ASLPP_FLAGS) $(INC) -I${s_path} ${src} > 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.i
>         Trim --source-code -l -o $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iiii 
> $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.I
> 
> 
> 
> Please share your opinion on that matter.
> 
> 
> 
> Alexei.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to