diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc index 1e873b90c5..3fb95d1951 100644 --- a/ArmPkg/ArmPkg.dsc +++ b/ArmPkg/ArmPkg.dsc @@ -113,7 +113,6 @@ ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf - ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf ArmPkg/Library/SemiHostingDebugLib/SemiHostingDebugLib.inf ArmPkg/Library/SemiHostingSerialPortLib/SemiHostingSerialPortLib.inf ArmPkg/Library/SemihostLib/SemihostLib.inf diff --git a/ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.c b/ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.c index 3827122a96..432112354f 100644 --- a/ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.c +++ b/ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.c @@ -77,13 +77,8 @@ PeCoffLoaderRelocateImageExtraAction ( if (ImageContext->PdbPointer) { #ifdef __CC_ARM - #if (__ARMCC_VERSION < 500000) - // Print out the command for the RVD debugger to load symbols for this image - DEBUG ((DEBUG_LOAD | DEBUG_INFO, "load /a /ni /np %a &0x%p\n", DeCygwinPathIfNeeded (ImageContext->PdbPointer, Temp, sizeof (Temp)), (UINTN)(ImageContext->ImageAddress + ImageContext->SizeOfHeaders))); - #else // Print out the command for the DS-5 to load symbols for this image DEBUG ((DEBUG_LOAD | DEBUG_INFO, "add-symbol-file %a 0x%p\n", DeCygwinPathIfNeeded (ImageContext->PdbPointer, Temp, sizeof (Temp)), (UINTN)(ImageContext->ImageAddress + ImageContext->SizeOfHeaders))); - #endif #elif __GNUC__ // This may not work correctly if you generate PE/COFF directly as then the Offset would not be required DEBUG ((DEBUG_LOAD | DEBUG_INFO, "add-symbol-file %a 0x%p\n", DeCygwinPathIfNeeded (ImageContext->PdbPointer, Temp, sizeof (Temp)), (UINTN)(ImageContext->ImageAddress + ImageContext->SizeOfHeaders))); diff --git a/ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.c b/ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.c deleted file mode 100644 index 6539c01763..0000000000 --- a/ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.c +++ /dev/null @@ -1,147 +0,0 @@ -/**@file - -Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.
-Portions copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
-Portions copyright (c) 2011 - 2012, ARM Ltd. All rights reserved.
- -SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include - -#include -#include -#include -#include -#include -#include - -/** - Append string to debugger script file, create file if needed. - - This library can show up in multiple places so we need to append the file every time we write to it. - For example Sec can use this to load the DXE core, and the DXE core would use this to load all the - other modules. So we have two instances of the library in the system. - - @param Buffer Buffer to write to file. - @param Length Length of Buffer in bytes. -**/ -VOID -WriteStringToFile ( - IN VOID *Buffer, - IN UINT32 Length - ) -{ - // Working around and issue with the code that is commented out. For now send it to the console. - // You can copy the console into a file and source the file as a script and you get symbols. - // This gets you all the symbols except for SEC. To get SEC symbols you need to copy the - // debug print in the SEC into the debugger manually - SemihostWriteString (Buffer); - - /* - I'm currently having issues with this code crashing the debugger. Seems like it should work. - - UINT32 SemihostHandle; - UINT32 SemihostMode = SEMIHOST_FILE_MODE_WRITE | SEMIHOST_FILE_MODE_BINARY | SEMIHOST_FILE_MODE_UPDATE; - - SemihostFileOpen ("c:\rvi_symbols.inc", SemihostMode, &SemihostHandle); - SemihostFileWrite (SemihostHandle, &Length, Buffer); - SemihostFileClose (SemihostHandle); - */ -} - -/** - If the build is done on cygwin the paths are cygpaths. - /cygdrive/c/tmp.txt vs c:\tmp.txt so we need to convert - them to work with RVD commands - - @param Name Path to convert if needed - -**/ -CHAR8 * -DeCygwinPathIfNeeded ( - IN CHAR8 *Name - ) -{ - CHAR8 *Ptr; - UINTN Index; - UINTN Len; - - Ptr = AsciiStrStr (Name, "/cygdrive/"); - if (Ptr == NULL) { - return Name; - } - - Len = AsciiStrLen (Ptr); - - // convert "/cygdrive" to spaces - for (Index = 0; Index < 9; Index++) { - Ptr[Index] = ' '; - } - - // convert /c to c: - Ptr[9] = Ptr[10]; - Ptr[10] = ':'; - - // switch path separators - for (Index = 11; Index < Len; Index++) { - if (Ptr[Index] == '/') { - Ptr[Index] = '\\'; - } - } - - return Name; -} - -/** - Performs additional actions after a PE/COFF image has been loaded and relocated. - - If ImageContext is NULL, then ASSERT(). - - @param ImageContext Pointer to the image context structure that describes the - PE/COFF image that has already been loaded and relocated. - -**/ -VOID -EFIAPI -PeCoffLoaderRelocateImageExtraAction ( - IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext - ) -{ - CHAR8 Buffer[256]; - - #if (__ARMCC_VERSION < 500000) - AsciiSPrint (Buffer, sizeof (Buffer), "load /a /ni /np \"%a\" &0x%08x\n", ImageContext->PdbPointer, (UINTN)(ImageContext->ImageAddress + ImageContext->SizeOfHeaders)); - #else - AsciiSPrint (Buffer, sizeof (Buffer), "add-symbol-file %a 0x%08x\n", ImageContext->PdbPointer, (UINTN)(ImageContext->ImageAddress + ImageContext->SizeOfHeaders)); - #endif - DeCygwinPathIfNeeded (&Buffer[16]); - - WriteStringToFile (Buffer, AsciiStrSize (Buffer)); -} - -/** - Performs additional actions just before a PE/COFF image is unloaded. Any resources - that were allocated by PeCoffLoaderRelocateImageExtraAction() must be freed. - - If ImageContext is NULL, then ASSERT(). - - @param ImageContext Pointer to the image context structure that describes the - PE/COFF image that is being unloaded. - -**/ -VOID -EFIAPI -PeCoffLoaderUnloadImageExtraAction ( - IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext - ) -{ - CHAR8 Buffer[256]; - - AsciiSPrint (Buffer, sizeof (Buffer), "unload symbols_only \"%a\"\n", ImageContext->PdbPointer); - DeCygwinPathIfNeeded (Buffer); - - WriteStringToFile (Buffer, AsciiStrSize (Buffer)); -} diff --git a/ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf b/ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf deleted file mode 100644 index 6b7ac87509..0000000000 --- a/ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf +++ /dev/null @@ -1,35 +0,0 @@ -#/** @file -# PeCoff extra action library for DXE phase that run Unix emulator. -# -# Lib to provide memory journal status code reporting Routines -# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
-# Portions copyright (c) 2010, Apple Inc. All rights reserved.
-# SPDX-License-Identifier: BSD-2-Clause-Patent -# -# -#**/ - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = RvdUnixPeCoffExtraActionLib - FILE_GUID = 5EDEB7E7-EA55-4E92-8216-335AC98A3B11 - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = PeCoffExtraActionLib - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = ARM -# - -[Sources.common] - RvdPeCoffExtraActionLib.c - -[Packages] - MdePkg/MdePkg.dec - ArmPkg/ArmPkg.dec - -[LibraryClasses] - DebugLib - SemihostLib