mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-06 10:26:29 +08:00
Allow ocloc to link files
Added 'link' option to ocloc CLI, which allows linking of several IR files to single output file. Supported formats of output file are ELF and LLVM BC. Related-To: NEO-6163 Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
504b49effa
commit
53482e6821
@@ -1,11 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2020-2021 Intel Corporation
|
||||
* Copyright (C) 2020-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/offline_compiler/source/offline_compiler.h"
|
||||
#include "shared/offline_compiler/source/offline_linker.h"
|
||||
#include "shared/offline_compiler/source/utilities/linux/safety_guard_linux.h"
|
||||
#include "shared/source/os_interface/os_library.h"
|
||||
|
||||
@@ -17,3 +18,10 @@ int buildWithSafetyGuard(OfflineCompiler *compiler) {
|
||||
|
||||
return safetyGuard.call<int, OfflineCompiler, decltype(&OfflineCompiler::build)>(compiler, &OfflineCompiler::build, retVal);
|
||||
}
|
||||
|
||||
int linkWithSafetyGuard(OfflineLinker *linker) {
|
||||
SafetyGuardLinux safetyGuard{};
|
||||
int returnValueOnCrash{-1};
|
||||
|
||||
return safetyGuard.call(linker, &OfflineLinker::execute, returnValueOnCrash);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2020 Intel Corporation
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -8,6 +8,8 @@
|
||||
#pragma once
|
||||
namespace NEO {
|
||||
class OfflineCompiler;
|
||||
}
|
||||
class OfflineLinker;
|
||||
} // namespace NEO
|
||||
|
||||
extern int buildWithSafetyGuard(NEO::OfflineCompiler *compiler);
|
||||
extern int buildWithSafetyGuard(NEO::OfflineCompiler *compiler);
|
||||
extern int linkWithSafetyGuard(NEO::OfflineLinker *linker);
|
||||
@@ -1,11 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2020-2021 Intel Corporation
|
||||
* Copyright (C) 2020-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/offline_compiler/source/offline_compiler.h"
|
||||
#include "shared/offline_compiler/source/offline_linker.h"
|
||||
#include "shared/offline_compiler/source/utilities/windows/safety_guard_windows.h"
|
||||
|
||||
using namespace NEO;
|
||||
@@ -15,3 +16,10 @@ int buildWithSafetyGuard(OfflineCompiler *compiler) {
|
||||
int retVal = 0;
|
||||
return safetyGuard.call<int, OfflineCompiler, decltype(&OfflineCompiler::build)>(compiler, &OfflineCompiler::build, retVal);
|
||||
}
|
||||
|
||||
int linkWithSafetyGuard(OfflineLinker *linker) {
|
||||
SafetyGuardWindows safetyGuard{};
|
||||
int returnValueOnCrash{-1};
|
||||
|
||||
return safetyGuard.call(linker, &OfflineLinker::execute, returnValueOnCrash);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user