mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 05:24:02 +08:00
Zebin manipulator - create dump directory fix
This commit fixes problem in zebin manipulator when dump was not created. * Explicitly create dump directory. * Add slash to dump argument. Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
c7cb71e174
commit
0ef6b9b64c
@@ -122,7 +122,7 @@ if(WIN32)
|
||||
${NEO_SHARED_DIRECTORY}/os_interface/windows/os_inc.h
|
||||
${NEO_SHARED_DIRECTORY}/os_interface/windows/os_library_win.cpp
|
||||
${NEO_SHARED_DIRECTORY}/os_interface/windows/os_library_win.h
|
||||
${NEO_SOURCE_DIR}/shared/source/utilities/windows/directory.cpp
|
||||
${NEO_SHARED_DIRECTORY}/utilities/windows/directory.cpp
|
||||
)
|
||||
else()
|
||||
list(APPEND CLOC_LIB_SRCS_LIB
|
||||
@@ -131,8 +131,8 @@ else()
|
||||
${NEO_SHARED_DIRECTORY}/os_interface/linux/os_library_linux.cpp
|
||||
${NEO_SHARED_DIRECTORY}/os_interface/linux/os_library_linux.h
|
||||
${NEO_SHARED_DIRECTORY}/os_interface/linux/sys_calls_linux.cpp
|
||||
${NEO_SHARED_DIRECTORY}/utilities/linux/directory.cpp
|
||||
${OCLOC_DIRECTORY}/source/linux/os_library_ocloc_helper.cpp
|
||||
${NEO_SOURCE_DIR}/shared/source/utilities/linux/directory.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -14,19 +14,12 @@
|
||||
#include "shared/source/device_binary_format/elf/ocl_elf.h"
|
||||
#include "shared/source/helpers/file_io.h"
|
||||
#include "shared/source/helpers/ptr_math.h"
|
||||
#include "shared/source/utilities/directory.h"
|
||||
|
||||
#include <cstring>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <direct.h>
|
||||
#define MakeDirectory _mkdir
|
||||
#else
|
||||
#include <sys/stat.h>
|
||||
#define MakeDirectory(dir) mkdir(dir, 0777)
|
||||
#endif
|
||||
|
||||
template <typename T>
|
||||
T readUnaligned(const void *ptr) {
|
||||
T retVal = 0;
|
||||
@@ -548,7 +541,7 @@ int BinaryDecoder::validateInput(const std::vector<std::string> &args) {
|
||||
argHelper->printf("Warning : Path to dump folder not specificed - using ./dump as default.\n");
|
||||
pathToDump = std::string("dump/");
|
||||
}
|
||||
MakeDirectory(pathToDump.c_str());
|
||||
NEO::Directory::createDirectory(pathToDump);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "shared/source/device_binary_format/elf/elf_encoder.h"
|
||||
#include "shared/source/device_binary_format/elf/zebin_elf.h"
|
||||
#include "shared/source/device_binary_format/zebin_decoder.h"
|
||||
#include "shared/source/utilities/directory.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
@@ -104,6 +105,7 @@ bool is64BitZebin(OclocArgHelper *argHelper, const std::string §ionsInfoFile
|
||||
BinaryFormats getBinaryFormatForAssemble(OclocArgHelper *argHelper, const std::vector<std::string> &args) {
|
||||
auto it = std::find(args.begin(), args.end(), "-dump");
|
||||
std::string dump = (it != args.end() && (it + 1) != args.end()) ? *(it + 1) : "dump/";
|
||||
addSlash(dump);
|
||||
auto sectionsInfoFilepath = dump + ZebinManipulator::sectionsInfoFilename.str();
|
||||
const bool usesZebin = argHelper->fileExists(sectionsInfoFilepath);
|
||||
if (usesZebin) {
|
||||
@@ -167,6 +169,11 @@ ErrorCode ZebinDecoder<numBits>::decode() {
|
||||
}
|
||||
}
|
||||
|
||||
// Create dump directory if we are not using virtual filesystem
|
||||
if (false == argHelper->outputEnabled()) {
|
||||
Directory::createDirectory(arguments.pathToDump);
|
||||
}
|
||||
|
||||
auto sectionsInfo = dumpElfSections(elf);
|
||||
dumpSectionInfo(sectionsInfo);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user