It seems my previous answer didn't reach the lists, sorry for duplicates. I'm basically asking for more details, how to reproduce, etc...
Christophe
On 22 February 2017 at 10:38, Christophe Lyon christophe.lyon@linaro.org wrote:
Hi,
On 21 February 2017 at 21:30, Leif Lindholm leif.lindholm@linaro.org wrote:
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.biesheuvel@linaro.org; ryan.harkin@linaro.org; leif.lindholm@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
Ideally you should open a bug report, with suitable information for us to reproduce the problem.
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:
Doesn't it at least contain the above lowercase line?
Error 6126 - Input file does not appear to be an ASL or data table source file
Do I understand correctly that gcc-linaro-4.9.4-2017.01 works OK for you, and that switching to any gcc-linaro-5.x or 6.x does not ?
Any chance you/we can reproduce the problem on a Linux host? If the problem is really with translating paths to lowercase, I guess it's a Windows-specific problem, right?
Then, does it really matter? I think Windows FS does not care about case?
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