This should be root cause. edk2\MdePkg\Library\BaseLib\String.c line 554 to implement InternalCharToUpper() with EFIAPI. CHAR16 EFIAPI InternalCharToUpper ( IN CHAR16 Char )
edk2\ShellPkg\Library\UefiShellLevel2CommandsLib\UefiShellLevel2CommandsLib.c line 271 declares it without EFIAPI. So, they don't match each other. CHAR16 InternalCharToUpper ( IN CONST CHAR16 Char ); Thanks Liming > -----Original Message----- > From: Palmer, Thomas [mailto:[email protected]] > Sent: Thursday, December 15, 2016 6:09 AM > To: Laszlo Ersek <[email protected]>; Bruce Cran <[email protected]>; > edk2-devel ([email protected]) <[email protected]> > Cc: Wu, Hao A <[email protected]>; Ni, Ruiyu <[email protected]>; Gao, > Liming <[email protected]> > Subject: RE: [edk2] OVMF: cross-filesystem copy broken? ("The source and > destination are the same") > > Laszlo, et al~ > > I recently encountered a "cp" failure on OVMF whereby cp always thought > my source and destination file paths were equivalent. Turns out that > StrniCmp function was broken b/c the InternalCharToUpper declaration in > UefiShellLevel2CommandsLib.c was missing the EFIAPI token. Once I added > EFIAPI back, my cp command worked. > > I'm on vacation so I can't write up a formal patch right now. Give it a try > and > if it works please write up a patch, else I'll get back to it when I get back. > > > Regards, > > Thomas Palmer > > "I have only made this letter longer because I have not had the time to make > it shorter" - Blaise Pascal > > > -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > Laszlo Ersek > Sent: Thursday, November 17, 2016 10:07 AM > To: Bruce Cran <[email protected]>; edk2-devel ([email protected]) > <[email protected]> > Cc: Wu, Hao A <[email protected]>; Ni, Ruiyu <[email protected]>; Gao, > Liming <[email protected]> > Subject: Re: [edk2] OVMF: cross-filesystem copy broken? ("The source and > destination are the same") > > On 11/17/16 16:24, Bruce Cran wrote: > > On 11/17/2016 2:35 AM, Laszlo Ersek wrote: > > > >> There's a patch on the list for said BZ: > >> [edk2] [PATCH v2] API PathRemoveLastItem not handle root paths > >> properly > >> > >> so if the BZ is indeed what you're encountering, then the patch > >> should fix it for you. Can you please test it and report back in that > >> thread? > > > > Unfortunately the patch doesn't fix the problem I'm seeing. > > > > Thanks for trying it. > > Unfortunately, I can't find the time to dig into this now. And, I think it's > likely > related to ShellPkg anyway. Can you please help by filing a BZ for ShellPkg, > and/or bisecting the issue (assuming you remember the same command > working at some point)? > > ... I observe that the least recent commit that affected "Cp.c" with any > potential to break it like this could be > > commit fbd2dfadfe6fb16ab7b49fca3764e05e65d97b8a > Author: Qiu Shumin <[email protected]> > Date: Fri Oct 23 02:03:20 2015 +0000 > > ShellPkg: Follow spec to remove the last '\' char in return name of > GetCurDir(). > > but that commit is more than a year old now... So I'm not sure. Could be one > of the underlying helper functions. Time to pull out GDB and single step the > code? :) > > Thanks! > Laszlo > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

