> 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/PeiMPCore.inf > [AARCH64] > "aarch64-linux-gnu-ld" -o > /home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/LS2080aRdbPkg/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/LS2080aRdbPkg/Library/LS2080aPrePi/PeiMPCore/DEBUG/ArmPlatformPrePiMPCore.map > -z common-page-size=0x20 --start-group > @/home/tools/meenakshi/edk2/Build/LS2080aRdb/RELEASE_GCC48/AARCH64/LS2080aRdbPkg/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/LS2080aRdbPkg/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