Could you provide us a example of this case?We compiled the same code in Visual studio compiler and we did not face any issues.
Thanks.
On Wed, Feb 10, 2016 at 1:15 PM, Ard Biesheuvel ard.biesheuvel@linaro.org wrote:
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)