// Set utility name for error/warning reporting purposes.\r
//\r
SetUtilityName (UTILITY_NAME);\r
- \r
- if (argc == 1) {\r
- Usage();\r
- return STATUS_ERROR;\r
- }\r
- \r
+\r
if ((strcmp(argv[1], "-h") == 0) || (strcmp(argv[1], "--help") == 0) ||\r
(strcmp(argv[1], "-?") == 0) || (strcmp(argv[1], "/?") == 0)) {\r
Usage();\r
return STATUS_ERROR;\r
}\r
- \r
+\r
if ((strcmp(argv[1], "-V") == 0) || (strcmp(argv[1], "--version") == 0)) {\r
Version();\r
return STATUS_ERROR;\r
}\r
- \r
+\r
//\r
// Verify the correct number of arguments\r
//\r
- if (argc != MAX_ARGS) {\r
+ if (argc < MAX_ARGS) {\r
Usage ();\r
return STATUS_ERROR;\r
}\r
//\r
// Parse the command line arguments\r
//\r
- for (Index = 1; Index < MAX_ARGS; Index += 2) {\r
+ for (Index = 1; Index < argc; Index += 2) {\r
//\r
// Make sure argument pair begin with - or /\r
//\r
// Open the log file\r
//\r
strcat (InputFileName, ".log");\r
- LogFile = fopen (InputFileName, "a");\r
+ LogFile = fopen (InputFileName, "w");\r
if (LogFile == NULL) {\r
Error (NULL, 0, 0, InputFileName, "could not append to log file");\r
}\r
--*/\r
{\r
Version();\r
- \r
+\r
printf (\r
"Usage: %s -I InputFileName -O OutputFileName -B BaseAddress [-F InputFvInfName]\n",\r
UTILITY_NAME\r
EFI_FFS_FILE_TAIL TailValue;\r
EFI_PHYSICAL_ADDRESS *BaseToUpdate;\r
EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *DebugEntry;\r
- \r
+\r
\r
//\r
// Verify input parameters\r
PeHdr = (EFI_IMAGE_NT_HEADERS *)((UINTN)ImageContext.ImageAddress + ImageContext.PeCoffHeaderOffset);\r
if (PeHdr->OptionalHeader.SectionAlignment != PeHdr->OptionalHeader.FileAlignment) {\r
//\r
- // Nor XIP module can be ignored. \r
+ // Nor XIP module can be ignored.\r
//\r
if ((Flags & 1) == 0) {\r
continue;\r
}\r
Error (NULL, 0, 0, "Section-Alignment and File-Alignment does not match", FileGuidString);\r
return EFI_ABORTED;\r
- } \r
+ }\r
\r
//\r
// Update CodeView and PdbPointer in ImageContext\r
ImageContext.ImageAddress +\r
ImageContext.DebugDirectoryEntryRva\r
);\r
- ImageContext.CodeView = (VOID *)(UINTN)( \r
- ImageContext.ImageAddress + \r
+ ImageContext.CodeView = (VOID *)(UINTN)(\r
+ ImageContext.ImageAddress +\r
DebugEntry->RVA\r
);\r
switch (*(UINT32 *) ImageContext.CodeView) {\r
//\r
fprintf (\r
LogFile,\r
- "%s %016I64X %s\n",\r
+ "%s %016I64X\n",\r
FileGuidString,\r
- ImageContext.DestinationAddress,\r
- ImageContext.PdbPointer == NULL ? "*" : ImageContext.PdbPointer\r
+ ImageContext.DestinationAddress\r
);\r
*BaseToUpdate += EFI_SIZE_TO_PAGES (ImageContext.ImageSize) * EFI_PAGE_SIZE;\r
\r
//\r
return EFI_SUCCESS;\r
}\r
- \r
+\r
//\r
// Now process TE sections\r
//\r
\r
//\r
// Reloacate TeImage\r
- // \r
+ //\r
ImageContext.DestinationAddress = XipBase + (UINTN) TEImageHeader + sizeof (EFI_TE_IMAGE_HEADER) \\r
- TEImageHeader->StrippedSize - (UINTN) FfsFile;\r
Status = PeCoffLoaderRelocateImage (&ImageContext);\r
\r
fprintf (\r
LogFile,\r
- "%s %016I64X %s\n",\r
+ "%s %016I64X\n",\r
FileGuidString,\r
- ImageContext.DestinationAddress,\r
- ImageContext.PdbPointer == NULL ? "*" : ImageContext.PdbPointer\r
+ ImageContext.DestinationAddress\r
);\r
}\r
- \r
+\r
return EFI_SUCCESS;\r
}\r
\r