summaryrefslogtreecommitdiff
path: root/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c
diff options
context:
space:
mode:
Diffstat (limited to 'BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c')
-rw-r--r--BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c b/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c
index 413bb47fc2..985e78a54d 100644
--- a/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c
+++ b/BeagleBoardPkg/Library/EblCmdLib/EblCmdLib.c
@@ -156,15 +156,27 @@ ImageHandleToPdbFileName (
{
EFI_STATUS Status;
EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;
+ CHAR8 *Pdb;
+ CHAR8 *StripLeading;
Status = gBS->HandleProtocol (Handle, &gEfiLoadedImageProtocolGuid, (VOID **)&LoadedImage);
if (EFI_ERROR (Status)) {
return "";
}
- return PeCoffLoaderGetPdbPointer (LoadedImage->ImageBase);
+ Pdb = PeCoffLoaderGetPdbPointer (LoadedImage->ImageBase);
+ StripLeading = AsciiStrStr (Pdb, "\\ARM\\");
+ if (StripLeading == NULL) {
+ StripLeading = AsciiStrStr (Pdb, "/ARM/");
+ if (StripLeading == NULL) {
+ return Pdb;
+ }
+ }
+ // Hopefully we hacked off the unneeded part
+ return (StripLeading + 5);
}
+
CHAR8 *mTokenList[] = {
"SEC",
"PEI",