On 10 February 2016 at 08:42, Ravikanth MVR ravikanth.mvr@broadcom.com wrote:
Ard,
We built the binary after adding -fno-exceptions and the binary has been build successfully.We are using GCC4.9 compiler and toolchain.
We then built our application with your patch and by adding following compiler flags: -fno-rtti,-fno-threadsafe-statics -fuse-cxa-atexit and our binary also has been built successfully.
But when we executed our binary,we ended up with below crash/error.Basically our application is command based and whatever command we execute we end up with the following crash/print.
ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0 ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0 ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0 ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0
ASSERT_EFI_ERROR (Status = Invalid Parameter) ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c(819): !EFI_ERROR (Status) ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0
May I know why we are seeing the above errors?
My guess would be that you are using an odd memory address for a Unicode string (which consist of 16-bit quantities)