this is weird because fno-builtin (which is set for AARCH64) should prevent that.
Michael On Thu, May 12, 2016 at 12:20 PM, Meenakshi Aggarwal < meenakshi.aggar...@nxp.com> wrote: > Hi, > > > I made SavedDataGuid STATIC and issue goes away with this. > Thanks for your help :) > > > Any pointer for similar error in PrintLib.c: > /home/tools/meenakshi/edk2/MdePkg/Library/BasePrintLib/PrintLib.c:415: > undefined reference to `memcpy' > > Issue is coming on calling BasePrintLibSPrintMarker: > > UINTN > EFIAPI > AsciiVSPrint ( > OUT CHAR8 *StartOfBuffer, > IN UINTN BufferSize, > IN CONST CHAR8 *FormatString, > IN VA_LIST Marker > ) > { > return BasePrintLibSPrintMarker (StartOfBuffer, BufferSize, 0, > FormatString, Marker, NULL); > } > > > Thanks, > Meenakshi > > -----Original Message---- - > From: af...@apple.com [mailto:af...@apple.com] > Sent: Thursday, May 12, 2016 12:23 PM > To: Meenakshi Aggarwal <meenakshi.aggar...@nxp.com> > Cc: edk2-devel@lists.01.org > Subject: Re: [edk2] facing compilation failure : undefined reference to > memcpy() > > > > On May 11, 2016, at 11:45 PM, Meenakshi Aggarwal < > meenakshi.aggar...@nxp.com> wrote: > > > > Hi, > > > > I am working on a 64 bit arm based SoC. > > > > I am uprev'ing my edk2 code base to latest master branch: > > Commit id - ce1647fc608e8193b416a08da633019de611199c > > > > > > I am able to compile my code successfully in DEBUG mode but in RELEASE > mode I am facing following error: > > > > > > Building ... > > /home/tools/meenakshi/edk2/LS2080aRdbPkg/Library/LS2080aPrePi/PeiMPCor > > e.inf [AARCH64] "aarch64-linux-gnu-ld" -o > > /home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/LS20 > > 80aRdbPkg/Library/LS2080aPrePi/PeiMPCore/DEBUG/ArmPlatformPrePiMPCore. > > dll --emit-relocs -nostdlib --gc-sections -u _ModuleEntryPoint -e > > _ModuleEntryPoint -Map > > /home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/LS20 > > 80aRdbPkg/Library/LS2080aPrePi/PeiMPCore/DEBUG/ArmPlatformPrePiMPCore. > > map -z common-page-size=0x20 --start-group > > @/home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/LS2 > > 080aRdbPkg/Library/LS2080aPrePi/PeiMPCore/OUTPUT/static_library_files. > > lst --end-group > > --script=/home/tools/meenakshi/edk2/BaseTools/Scripts/GccBase.lds > > --defsym=PECOFF_HEADER_SIZE=0x228 > > > /home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/MdePkg/Library/BasePrintLib/BasePrintLib/OUTPUT/BasePrintLib.lib(PrintLib.obj): > In function `AsciiVSPrint': > > /home/tools/meenakshi/edk2/MdePkg/Library/BasePrintLib/PrintLib.c:415: > undefined reference to `memcpy' > > > /home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib/OUTPUT/PrePiExtractGuidedSectionLib.lib(PrePiExtractGuidedSectionLib.obj): > In function `GetSavedData': > > > /home/tools/meenakshi/edk2/EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.c:37: > undefined reference to `memcpy' > > > /home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib/OUTPUT/PrePiExtractGuidedSectionLib.lib(PrePiExtractGuidedSectionLib.obj): > In function `ExtractGuidedSectionLibConstructor': > > > /home/tools/meenakshi/edk2/EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.c:219: > undefined reference to `memcpy' > > make: *** > > [/home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/LS2 > > 080aRdbPkg/Library/LS2080aPrePi/PeiMPCore/DEBUG/ArmPlatformPrePiMPCore > > .dll] Error 1 > > > > This looks like a bug. The edk2 does not provide memcpy(), and the > compiler will sometime generate a memcpy() call for an assignment that > 64 > bits. It kind of all depends on what the optimizer does. > > The error points to a GUID being assigned with =, and sizeof(GUID) == 16. > > PRE_PI_EXTRACT_GUIDED_SECTION_DATA * > GetSavedData ( > VOID > ) > { > EFI_HOB_GUID_TYPE *GuidHob; > GUID SavedDataGuid = > PRE_PI_EXTRACT_GUIDED_SECTION_DATA_GUID; > > I would guess if you make SavedDataGuid static, or global the issue will > go away. > > Thanks, > > Andrew Fish > > > > > > Please help what I am missing in my board package, some header file or > library or anything else. > > I tried compiling it with both AARCH64 toolchains gcc-4.8 and gcc-4.9, > but no gain. > > > > Thanks, > > Meenakshi > > > > > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel