On Wed, May 10, 2023 at 18:54:04 +0200, Ard Biesheuvel wrote: > (cc Leif) > > On Wed, 10 May 2023 at 18:52, Rebecca Cran <rebe...@bsdio.com> wrote: > > > > Thanks. Yes, that fixes it. > > > > > > I also tried running the build script with CLANGDWARF, and it seems to > > have found some valid problems with > > Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c > > > > Seems to me like an excellent opportunity to rip that thing out completely.
Sounds like the ideal solution. The /dev/mem of program loaders. / Leif > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:216:11: > > error: variable 'FileSize' is used uninitialized whenever 'if' condition > > is false [-Werror,-Wsometimes-uninitialized] > > if (FileHandle != NULL) { > > ^~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:281:38: > > note: uninitialized use occurs here > > WriteBackDataCacheRange (FileData, FileSize); > > ^~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:216:7: > > note: remove the 'if' if its condition is always true > > if (FileHandle != NULL) { > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:179:9: > > error: variable 'FileSize' is used uninitialized whenever 'if' condition > > is true [-Werror,-Wsometimes-uninitialized] > > if ((ShellCommandLineGetFlag (ParamPackage, L"-?")) || > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:281:38: > > note: uninitialized use occurs here > > WriteBackDataCacheRange (FileData, FileSize); > > ^~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:179:5: > > note: remove the 'if' if its condition is always false > > if ((ShellCommandLineGetFlag (ParamPackage, L"-?")) || > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:179:9: > > error: variable 'FileSize' is used uninitialized whenever '||' condition > > is true [-Werror,-Wsometimes-uninitialized] > > if ((ShellCommandLineGetFlag (ParamPackage, L"-?")) || > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:281:38: > > note: uninitialized use occurs here > > WriteBackDataCacheRange (FileData, FileSize); > > ^~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:179:9: > > note: remove the '||' if its condition is always false > > if ((ShellCommandLineGetFlag (ParamPackage, L"-?")) || > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:172:7: > > error: variable 'FileSize' is used uninitialized whenever 'if' condition > > is true [-Werror,-Wsometimes-uninitialized] > > if (EFI_ERROR (Status)) { > > ^~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2/MdePkg/Include/Uefi/UefiBaseType.h:159:23: > > note: expanded from macro 'EFI_ERROR' > > #define EFI_ERROR(A) RETURN_ERROR(A) > > ^~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2/MdePkg/Include/Base.h:1061:35: note: expanded > > from macro 'RETURN_ERROR' > > #define RETURN_ERROR(StatusCode) (((INTN)(RETURN_STATUS)(StatusCode)) < 0) > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:281:38: > > note: uninitialized use occurs here > > WriteBackDataCacheRange (FileData, FileSize); > > ^~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:172:3: > > note: remove the 'if' if its condition is always false > > if (EFI_ERROR (Status)) { > > ^~~~~~~~~~~~~~~~~~~~~~~~~ > > /home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/RunAxf.c:136:39: > > note: initialize the variable 'FileSize' to silence this warning > > UINTN FileSize; > > ^ > > = 0 > > 4 errors generated. > > make: *** [GNUmakefile:342: > > /home/bcran/src/uefi/Build/ArmJuno/RELEASE_CLANGDWARF/AARCH64/Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf/OUTPUT/RunAxf.obj] > > Error 1 > > > > -- > > > > Rebecca Cran > > > > > > > > On 5/10/23 10:27, Ard Biesheuvel wrote: > > > Hi Rebecca, > > > > > > On Wed, 10 May 2023 at 18:23, Rebecca Cran <rebe...@bsdio.com> wrote: > > >> I ran my script that tries to build all Arm platforms in edk2-platforms > > >> (with the exception of known broken ones) with the GCC5/GCC toolchain, > > >> and noticed a new breakage since I last ran it a few months ago. > > >> > > >> Building JunoPkg for ARM doesn't work. > > >> > > >> I also noticed it passes both -march=armv7-a and -march=armv8-a. > > >> > > > This looks like a bug in the Juno package - if I grep for aarch64_bti > > > in edk2, every single hit is in a aarch64 specific source or header > > > file, but it is getting pulled into an ARM build. > > > > > > Does the below help? > > > > > > diff --git a/Platform/ARM/Library/ArmShellCmdRunAxf/Arm/Pivot.S > > > b/Platform/ARM/Library/ArmShellCmdRunAxf/Arm/Pivot.S > > > index 50efcfacdfe6..7d5eed94b25f 100644 > > > --- a/Platform/ARM/Library/ArmShellCmdRunAxf/Arm/Pivot.S > > > +++ b/Platform/ARM/Library/ArmShellCmdRunAxf/Arm/Pivot.S > > > @@ -4,7 +4,7 @@ > > > // SPDX-License-Identifier: BSD-2-Clause-Patent > > > // > > > > > > -#include <AsmMacroIoLibV8.h> > > > +#include <AsmMacroIoLib.h> > > > > > > // VOID > > > // RunAxfPivot ( > > > > > > > > > > > >> "arm-none-eabi-gcc" -march=armv7-a -mfloat-abi=soft -march=armv8-a -c -x > > >> assembler -imacros AutoGen.h -mlittle-endian -o > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf/OUTPUT/Arm/Pivot.obj > > >> -I/home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf/Arm > > >> -I/home/bcran/src/uefi/edk2-platforms/Platform/ARM/Library/ArmShellCmdRunAxf > > >> -I/home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf/DEBUG > > >> -I/home/bcran/src/uefi/edk2/ArmPkg > > >> -I/home/bcran/src/uefi/edk2/ArmPkg/Include > > >> -I/home/bcran/src/uefi/edk2/MdeModulePkg > > >> -I/home/bcran/src/uefi/edk2/MdeModulePkg/Test/Mock/Include > > >> -I/home/bcran/src/uefi/edk2/MdeModulePkg/Include > > >> -I/home/bcran/src/uefi/edk2/MdePkg > > >> -I/home/bcran/src/uefi/edk2/MdePkg/Include > > >> -I/home/bcran/src/uefi/edk2/MdePkg/Test/UnitTest/Include > > >> -I/home/bcran/src/uefi/edk2/MdePkg/Test/Mock/Include > > >> -I/home/bcran/src/uefi/edk2/MdePkg/Include/Arm > > >> -I/home/bcran/src/uefi/edk2-platforms/Platform/ARM > > >> -I/home/bcran/src/uefi/edk2-platforms/Platform/ARM/Include > > >> -I/home/bcran/src/uefi/edk2/ShellPkg > > >> -I/home/bcran/src/uefi/edk2/ShellPkg/Include > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf/OUTPUT/Arm/Pivot.iiii > > >> Trim --trim-long --source-code -o > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe/OUTPUT/Arm/CopyMem.iiii > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe/OUTPUT/Arm/CopyMem.ii > > >> Trim --trim-long --source-code -o > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib/OUTPUT/Arm/ctzsi2.iiii > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib/OUTPUT/Arm/ctzsi2.ii > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf/OUTPUT/Arm/Pivot.iiii: > > >> Assembler messages: > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf/OUTPUT/Arm/Pivot.iiii:17: > > >> Error: bad instruction `aarch64_bti(c)' > > >> make: *** [GNUmakefile:363: > > >> /home/bcran/src/uefi/Build/ArmJuno/RELEASE_GCC5/ARM/Platform/ARM/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf/OUTPUT/Arm/Pivot.obj] > > >> Error 1 > > >> > > >> > > >> -- > > >> Rebecca Cran > > >> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104596): https://edk2.groups.io/g/devel/message/104596 Mute This Topic: https://groups.io/mt/98809571/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-